polish(app): align desktop updates copy and labeling
This commit is contained in:
@@ -24,7 +24,7 @@ export function DesktopPermissionsSection() {
|
||||
return (
|
||||
<View style={styles.section}>
|
||||
<View style={styles.permissionSectionHeader}>
|
||||
<Text style={styles.sectionTitle}>Desktop permissions</Text>
|
||||
<Text style={styles.sectionTitle}>Desktop Permissions</Text>
|
||||
<Pressable
|
||||
style={({ pressed }) => [
|
||||
styles.permissionRefreshButton,
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
buildDaemonUpdateDiagnostics,
|
||||
findLikelyLocalDaemonHost,
|
||||
formatVersionWithPrefix,
|
||||
isLikelyLocalHost,
|
||||
isVersionMismatch,
|
||||
runLocalDaemonUpdate,
|
||||
shouldShowDesktopUpdateSection,
|
||||
@@ -32,6 +33,7 @@ export function DesktopUpdatesSection({ appVersion }: DesktopUpdatesSectionProps
|
||||
|
||||
const appVersionText = formatVersionWithPrefix(appVersion);
|
||||
const localDaemonHost = useMemo(() => findLikelyLocalDaemonHost(daemons), [daemons]);
|
||||
const hasLikelyLocalDaemon = isLikelyLocalHost(localDaemonHost);
|
||||
const localDaemonServerId = localDaemonHost?.serverId ?? null;
|
||||
const localDaemonVersion = useSessionStore(
|
||||
useCallback(
|
||||
@@ -44,6 +46,14 @@ export function DesktopUpdatesSection({ appVersion }: DesktopUpdatesSectionProps
|
||||
);
|
||||
const localDaemonVersionText = formatVersionWithPrefix(localDaemonVersion);
|
||||
const daemonVersionMismatch = isVersionMismatch(appVersion, localDaemonVersion);
|
||||
const daemonVersionTitle = hasLikelyLocalDaemon
|
||||
? "Local daemon version"
|
||||
: "Connected daemon version";
|
||||
const daemonHostHint = localDaemonHost
|
||||
? hasLikelyLocalDaemon
|
||||
? `Connected host: ${localDaemonHost.label}`
|
||||
: `No local daemon detected. Showing connected host: ${localDaemonHost.label}.`
|
||||
: "No local daemon detected yet.";
|
||||
|
||||
const {
|
||||
isDesktop: isDesktopUpdaterAvailable,
|
||||
@@ -195,12 +205,8 @@ export function DesktopUpdatesSection({ appVersion }: DesktopUpdatesSectionProps
|
||||
</View>
|
||||
<View style={[styles.audioRow, styles.audioRowBorder]}>
|
||||
<View style={styles.audioRowContent}>
|
||||
<Text style={styles.audioRowTitle}>Local daemon version</Text>
|
||||
<Text style={styles.updateHintText}>
|
||||
{localDaemonHost
|
||||
? `Connected host: ${localDaemonHost.label}`
|
||||
: "No local daemon detected yet."}
|
||||
</Text>
|
||||
<Text style={styles.audioRowTitle}>{daemonVersionTitle}</Text>
|
||||
<Text style={styles.updateHintText}>{daemonHostHint}</Text>
|
||||
</View>
|
||||
<Text style={styles.aboutValue}>{localDaemonVersionText}</Text>
|
||||
</View>
|
||||
|
||||
@@ -140,16 +140,22 @@ export function findLikelyLocalDaemonHost(daemons: HostProfile[]): HostProfile |
|
||||
return null
|
||||
}
|
||||
|
||||
const localhostDaemon = daemons.find((daemon) =>
|
||||
daemon.connections.some(
|
||||
(connection) =>
|
||||
connection.type === 'direct' && isLikelyLocalDirectEndpoint(connection.endpoint)
|
||||
)
|
||||
)
|
||||
const localhostDaemon = daemons.find((daemon) => isLikelyLocalHost(daemon))
|
||||
|
||||
return localhostDaemon ?? daemons[0] ?? null
|
||||
}
|
||||
|
||||
export function isLikelyLocalHost(host: HostProfile | null | undefined): boolean {
|
||||
if (!host) {
|
||||
return false
|
||||
}
|
||||
|
||||
return host.connections.some(
|
||||
(connection) =>
|
||||
connection.type === 'direct' && isLikelyLocalDirectEndpoint(connection.endpoint)
|
||||
)
|
||||
}
|
||||
|
||||
export function buildDaemonUpdateDiagnostics(result: LocalDaemonUpdateResult): string {
|
||||
const stdout = result.stdout.length > 0 ? result.stdout : '(empty)'
|
||||
const stderr = result.stderr.length > 0 ? result.stderr : '(empty)'
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { useCallback, useRef, useState } from 'react'
|
||||
import {
|
||||
checkDesktopAppUpdate,
|
||||
formatVersionWithPrefix,
|
||||
installDesktopAppUpdate,
|
||||
shouldShowDesktopUpdateSection,
|
||||
type DesktopAppUpdateCheckResult,
|
||||
@@ -57,7 +58,7 @@ function formatStatusText(input: {
|
||||
|
||||
if (status === 'available') {
|
||||
if (availableUpdate?.latestVersion) {
|
||||
return `Update available: ${availableUpdate.latestVersion}`
|
||||
return `Update available: ${formatVersionWithPrefix(availableUpdate.latestVersion)}`
|
||||
}
|
||||
return 'An app update is available.'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user