Skip to content

fix(desktop): 显示可读的本机设备名称 - #3312

Merged
MagicLizi merged 1 commit into
mainfrom
dash/readable-local-device-name
Aug 24, 2026
Merged

fix(desktop): 显示可读的本机设备名称#3312
MagicLizi merged 1 commit into
mainfrom
dash/readable-local-device-name

Conversation

@dashhuang

Copy link
Copy Markdown
Member

这次改了什么

摘要

下载手机版弹窗原来把本机内部 deviceId 作为“本机 · …”展示,用户看到的是不可读的设备 UUID。现在改为复用远程连接设置页同一份设备列表中的可读 self.name,并同步更新五种语言的 i18n key。

变更类型

  • fix 缺陷修复
  • feat 新功能
  • refactor / perf 重构或性能优化
  • docs / test / chore 文档、测试或工程维护

范围

  • 关联 Issue / 需求:用户反馈下载手机版弹窗显示本机 UUID,不易理解。
  • 本 PR 包含:Desktop 下载手机版弹窗的本机设备名称展示、五语 i18n key、相关渲染测试。
  • 明确不包含:device-link 协议、IPC、设备命名服务端逻辑、Mobile 原生代码。
  • 用户可见变化:底部设置卡片显示“本机 · 可读设备名”,不再显示 UUID。
  • 是否存在 breaking change:无。

UI 变化

  • 引用的设计规范:docs/design-rules/DESIGN.md §3 Typography Rules(等宽字体只用于代码内容,设备名使用普通 UI 字体);§4 Dialog & Modal(沿用现有弹窗容器与间距);§10 Light / Dark Dual-Mode Delivery Gate(继续使用语义颜色 token,亮色与暗色布局共用)。
  • 截图:未附,本次沿用现有弹窗布局,仅替换设备标识字段与字体语义。

怎么验证的

自动验证

pnpm --filter desktop exec vitest run src/renderer/__tests__/mobileDownloadDialog.test.tsx
结果:通过,26/26。

pnpm --filter desktop typecheck
结果:通过。

pnpm check:i18n
结果:通过,5 种语言 8145 个 key 一致;仅有仓库既有警告。

pnpm check:i18n-glossary
结果:通过;仅有仓库既有 proposed 术语警告。

pnpm check:dco
结果:通过,1 个 commit 已签名。

bash /Users/dash/Code/XD/dash/Skills/git/scripts/run-unit-gate.sh /Users/dash/Code/Cindy/cindy-readable-local-device-name
结果:未全绿。Desktop 2125 个测试文件中 2124 个通过,2 条失败均来自未改动的 `src/main/cindy-brain/__tests__/ghostInstallReceipt.test.ts`;失败断言为既有 receipt 校验返回 `state: invalid`。Mobile 与其它 packages 通过。

手工验证

未执行 Desktop 实机启动;已通过 jsdom 渲染测试覆盖设备名展示。

未执行的验证

未在 macOS / Windows 实机分别目检弹窗;改动只使用现有语义 token 与布局,不涉及平台特有代码。

风险

风险分类

  • 无已知功能风险
  • SQLite / migration
  • system prompt
  • 协议兼容
  • 权限 / 安全 / 用户数据
  • 存量插件兼容(批准状态 / 指纹 / manifest 校验 / 安装布局 / 包格式)
  • 原生层 / fingerprint / OTA
  • 跨平台差异
  • 其他:本地统一 unit gate 被未改动的 GhostInstallReceipt 基线测试阻塞,详见验证结果。

影响与回滚

  • 影响范围:Desktop 侧栏“下载 Cindy 移动端”弹窗中的本机信息副标题。
  • 回滚 / 降级方式:回退本 PR commit 即恢复原展示逻辑;不涉及数据迁移或协议变化。

提交前检查

  • 已 review 完整 diff
  • 每个 commit 都带 DCO 签名(git commit -s,见 DCO
  • UI 改动已在「UI 变化」注明引用的设计规范章节
  • 未提交凭证、令牌或授权文件
  • 已补充必要文档
  • 已确认测试结果或说明未执行原因

Signed-off-by: Dash <125997726+dashhuang@users.noreply.github.com>
@dashhuang
dashhuang requested a review from a team as a code owner August 23, 2026 23:51
@greptile-apps

greptile-apps Bot commented Aug 23, 2026

Copy link
Copy Markdown

Greptile Summary

此 PR 将 Desktop 下载手机版弹窗中的本机 UUID 替换为设备列表提供的可读设备名,并同步调整五种语言的翻译键与渲染测试。

  • 展示模型由 selfDeviceId 改为 selfDeviceName
  • 本机信息改用普通 UI 字体显示可读名称
  • 五种语言统一由 deviceId 翻译键迁移到 deviceName
  • 测试更新为验证设备名、翻译键及标题属性

Confidence Score: 5/5

此 PR 未发现阻塞或非阻塞问题,当前实现可以安全合并。

设备名称来自现有设备快照的规范化结果,缺少可读名称时已有非空回退;组件、五种语言翻译键和测试也保持一致。

Important Files Changed

Filename Overview
apps/desktop/src/renderer/components/sidebar/MobileDownloadDialog.tsx 从已规范化的设备快照读取本机名称并替代 UUID 展示,当前数据链路可保证名称具有非空回退值。
apps/desktop/src/renderer/tests/mobileDownloadDialog.test.tsx 测试模型及渲染断言已同步到新的设备名称展示行为。
apps/desktop/src/renderer/i18n/locales/en/common.json 英文翻译键及插值参数已与组件调用一致地更新。
apps/desktop/src/renderer/i18n/locales/ja/common.json 日文翻译键及插值参数已与组件调用一致地更新。
apps/desktop/src/renderer/i18n/locales/ko/common.json 韩文翻译键及插值参数已与组件调用一致地更新。
apps/desktop/src/renderer/i18n/locales/zh-CN/common.json 简体中文翻译键及插值参数已与组件调用一致地更新。
apps/desktop/src/renderer/i18n/locales/zh-TW/common.json 繁体中文翻译键及插值参数已与组件调用一致地更新。

Reviews (1): Last reviewed commit: "fix(desktop): 显示可读的本机设备名称" | Re-trigger Greptile

@MagicLizi MagicLizi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

按维护者指示批准;合并仍需通过 review-pr 的代码审查与其余安全门。

@MagicLizi MagicLizi added the touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示) label Aug 24, 2026
@MagicLizi
MagicLizi merged commit 5163c73 into main Aug 24, 2026
25 of 27 checks passed
@MagicLizi
MagicLizi deleted the dash/readable-local-device-name branch August 24, 2026 10:21
@MagicLizi

Copy link
Copy Markdown
Contributor

合了。下载框里终于写的是人能认出来的本机名字,不用再对着一串 id 猜这是哪台电脑。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants