diff --git a/apps/desktop/src/components/device-confirm-dialog.tsx b/apps/desktop/src/components/device-confirm-dialog.tsx index 81420891..4b49aaad 100644 --- a/apps/desktop/src/components/device-confirm-dialog.tsx +++ b/apps/desktop/src/components/device-confirm-dialog.tsx @@ -15,6 +15,7 @@ interface DeviceMeta { userAgent?: string platform?: string language?: string + clientName?: string } interface PendingConfirm { @@ -55,9 +56,11 @@ export function DeviceConfirmDialog() { ? parseUserAgent(pending.meta.userAgent) : null - const deviceLabel = parsed - ? `${parsed.browser} on ${parsed.os}` - : pending?.deviceId + const deviceLabel = pending?.meta?.clientName + ? pending.meta.clientName + : parsed + ? `${parsed.browser} on ${parsed.os}` + : pending?.deviceId return ( diff --git a/apps/desktop/src/components/device-list.tsx b/apps/desktop/src/components/device-list.tsx index 5e5bc897..76183e16 100644 --- a/apps/desktop/src/components/device-list.tsx +++ b/apps/desktop/src/components/device-list.tsx @@ -44,9 +44,11 @@ function DeviceItem({ ? parseUserAgent(device.meta.userAgent) : null - const displayName = parsed - ? `${parsed.browser} on ${parsed.os}` - : device.deviceId + const displayName = device.meta?.clientName + ? device.meta.clientName + : parsed + ? `${parsed.browser} on ${parsed.os}` + : device.deviceId const handleRevoke = async () => { setRevoking(true) diff --git a/apps/desktop/src/hooks/use-devices.ts b/apps/desktop/src/hooks/use-devices.ts index 3a7c2936..1e93a72b 100644 --- a/apps/desktop/src/hooks/use-devices.ts +++ b/apps/desktop/src/hooks/use-devices.ts @@ -4,6 +4,7 @@ export interface DeviceMeta { userAgent?: string platform?: string language?: string + clientName?: string } export interface DeviceEntry { diff --git a/packages/sdk/src/actions/rpc.ts b/packages/sdk/src/actions/rpc.ts index ddbc78f7..5fd587d3 100644 --- a/packages/sdk/src/actions/rpc.ts +++ b/packages/sdk/src/actions/rpc.ts @@ -133,6 +133,7 @@ export interface DeviceMeta { userAgent?: string; platform?: string; language?: string; + clientName?: string; } /** verify - request params */ diff --git a/src/gateway/telegram/telegram.service.ts b/src/gateway/telegram/telegram.service.ts index 6d4372ea..66e4742b 100644 --- a/src/gateway/telegram/telegram.service.ts +++ b/src/gateway/telegram/telegram.service.ts @@ -204,7 +204,9 @@ export class TelegramService implements OnModuleInit { connectionInfo.token, { platform: "telegram", - userAgent: `Telegram ${telegramUserId} @${msg?.from?.username ?? ""} ${msg?.from?.first_name ?? ""}`.trim(), + clientName: msg?.from?.username + ? `Telegram @${msg.from.username}` + : `Telegram ${msg?.from?.first_name ?? telegramUserId}`, } ); diff --git a/src/hub/device-store.ts b/src/hub/device-store.ts index 97f54aff..0b1d31b3 100644 --- a/src/hub/device-store.ts +++ b/src/hub/device-store.ts @@ -14,6 +14,7 @@ export interface DeviceMeta { userAgent?: string; platform?: string; language?: string; + clientName?: string; } export interface DeviceEntry {