Skip to content

feat(identity): 展示名与头像以官网为权威源,桌面端可改昵称头像,用户名退成内部标识(dev-board#564-567) - #797

Merged
zeweihan merged 2 commits into
masterfrom
claude/identity-display-source
Sep 10, 2026
Merged

feat(identity): 展示名与头像以官网为权威源,桌面端可改昵称头像,用户名退成内部标识(dev-board#564-567)#797
zeweihan merged 2 commits into
masterfrom
claude/identity-display-source

Conversation

@zeweihan

Copy link
Copy Markdown
Owner

背景

手机号注册账户用户名是随机串、展示名是打码手机号(线上 14/25);案件库与桌面端各抄一份不再同步;版本时间线与文档批注/修订作者直接写用户名。维护者裁决见 docs/superpowers/specs/2026-09-10-identity-display-source-design.md。官网侧 zeweihan/aiworkdeck_website#171 已合并部署。卡:zeweihan/dev-board#564 #565 #566 #567

改动

  • 案件库:桥接与名录回查刷新展示名(username 永不动);参与人列表头像走 avatarUrlFor(桥接用户取官网);版本作者改 displayName。
  • 桌面端后端GET/PUT /api/account/profilePOST/DELETE /api/account/avatar 经 Bearer 透传官网;AccountIdentitySync 在连接/status/写入后把官网身份同步到本机 User 行与 account.json;官网不可达静默跳过。
  • 桌面端前端:个人设置头像可传可删、昵称可编辑(自建服务器保持只读);默认名引导;去掉所有把 username 当名字显示的地方;tests/identity 契约测试进 CI(允许名单五条各带理由)。
  • 文档:licensing-billing.md / version-control.md 同步。

验证

  • 后端 mvn -B test:3572 项,0 失败;目标集 149 项。
  • 前端 test:identity 10、test:member-invite 27、check:nav:full / check:locales / check:emitsbuild:h5 全绿;七个 SFC 编译通过。
  • multipart 编码用 jshell 打到 Node Request.formData() 解析器:字段 file、文件名清洗、image/png、3000 字节、sha 一致,Bearer 在。
  • 破坏性核对:去掉 resolveUser 的展示名刷新 → 2 用例转红;参与人行放回 || m.username → 契约测试转红。
  • 未做:真渲染走查(随集中发版前做);四个本地端点未对真实桌面后端端到端跑。

上线

合并后案件库换 jar(展示名刷新与参与人头像立刻生效)。桌面端随集中发版。

🤖 Generated with Claude Code

zeweihan and others added 2 commits September 10, 2026 12:11
…#565 #566 #567)

案件库:AwdkLoginService.resolveUser 与 CollaboratorAdmission 每次桥接/名录回查刷新展示名(username 不动);
参与人列表头像改用 avatarUrlFor(桥接用户取官网 /api/avatar/{accountId});版本作者 userName 改 displayName。

桌面端后端(local-mode):新增 GET/PUT /api/account/profile、POST/DELETE /api/account/avatar,经 Bearer 透传官网
(PUT→PATCH,multipart 编码已对真实 formData 解析器验过);AccountIdentitySync 在连接、status、每次写入后把官网
displayName/avatarUrl 同步到本机 User 行与 account.json,官网不可达静默跳过;account.json 增 accountId。

桌面端前端:个人设置「基本信息」头像可传可删、昵称内联可编辑(local-mode 且已连接账户走官网,自建服务器保持只读
与本机头像上传);displayNameIsDefault 时给「填写你的姓名」引导(内联 + 连接后弹一次,按 accountId 记已读);
去掉侧栏与新建项目页的 @用户名、参与人列表与页面上的 username 回落、LibreOfficeEditor 作者名不再回落 username;
新增 tests/identity 契约测试(源码扫描 + 允许名单带理由)并进 CI。

验证:后端全量 3572 项零失败;前端 test:identity 10 / member-invite 27 / build:h5 绿;multipart 用 jshell 对 Node
formData 解析器验证字段名、文件名、类型、大小、哈希一致。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@zeweihan
zeweihan enabled auto-merge (squash) September 10, 2026 04:46
@zeweihan
zeweihan merged commit d596ea2 into master Sep 10, 2026
7 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant