polish(app): align desktop updates copy and labeling

This commit is contained in:
Mohamed Boudra
2026-02-22 12:05:00 +07:00
parent 409a3ac5df
commit 88f7763430
4 changed files with 27 additions and 14 deletions
@@ -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.'
}