现象
在中文(zh-CN)工作区,收到一条「分配给你」的站内消息,整条链路都是英文且未读状态无法清除。复现见截图:消息中心里显示 sys_file "repro.png" assigned to you(英文 + 裸对象 API 名),点击后进入 sys_file 详情页也是英文(FILE ID、SCOPE、Pending Upload / Committed / Deleted 状态条),且该消息点击后始终保持未读。
三个独立缺陷
协作通知标题未国际化(framework / @objectstack/plugin-audit)
audit-writers.ts 里 assignment(collab.assignment)与 @mention(collab.mention)的铃铛标题是硬编码英文字面量,且直接拼对象 API 名(sys_file 而非显示标签)。
sys_file / sys_upload_session 无翻译包(framework / @objectstack/service-storage)
这两个对象从未提供 i18n bundle,导致文件详情页的字段标签与状态选项(待上传/已提交/已删除)在任何 locale 都渲染英文。
未读状态永远无法清除(objectui / @object-ui/app-shell)
ADR-0103 把 sys_notification_receipt 改为引擎自持(enable.apiMethods = get/list),铃铛点击时仍用通用数据接口直接 create/update 回执,写入被拒且异常被静默吞掉,10s 轮询把行刷回未读。
预期
- 通知标题按接收人 locale 显示(如「系统文件"repro.png" 已分配给你」),对象名用翻译后的显示标签。
- 文件详情页字段/状态条显示中文。
- 点击通知后未读状态持久清除。
修复落点
- framework:
plugin-audit(新增 messages.assignedToYou/mentionedYou/mentionedYouAnonymous 四语言 + 按接收人 locale 渲染)、service-storage(新增 ADR-0029 D8 翻译包,kernel:ready 注册)。 - objectui:
app-shell 铃铛已读改走 POST /api/v1/notifications/read[/all]。
注:①③ 生效需新版 framework + console 一起部署;历史英文通知行不会被回写,仅新通知生效。
现象
在中文(zh-CN)工作区,收到一条「分配给你」的站内消息,整条链路都是英文且未读状态无法清除。复现见截图:消息中心里显示
sys_file "repro.png" assigned to you(英文 + 裸对象 API 名),点击后进入sys_file详情页也是英文(FILE ID、SCOPE、Pending Upload / Committed / Deleted 状态条),且该消息点击后始终保持未读。三个独立缺陷
协作通知标题未国际化(framework /
@objectstack/plugin-audit)audit-writers.ts里 assignment(collab.assignment)与 @mention(collab.mention)的铃铛标题是硬编码英文字面量,且直接拼对象 API 名(sys_file而非显示标签)。sys_file/sys_upload_session无翻译包(framework /@objectstack/service-storage)这两个对象从未提供 i18n bundle,导致文件详情页的字段标签与状态选项(待上传/已提交/已删除)在任何 locale 都渲染英文。
未读状态永远无法清除(objectui /
@object-ui/app-shell)ADR-0103 把
sys_notification_receipt改为引擎自持(enable.apiMethods = get/list),铃铛点击时仍用通用数据接口直接 create/update 回执,写入被拒且异常被静默吞掉,10s 轮询把行刷回未读。预期
修复落点
plugin-audit(新增messages.assignedToYou/mentionedYou/mentionedYouAnonymous四语言 + 按接收人 locale 渲染)、service-storage(新增 ADR-0029 D8 翻译包,kernel:ready注册)。app-shell铃铛已读改走POST /api/v1/notifications/read[/all]。注:①③ 生效需新版 framework + console 一起部署;历史英文通知行不会被回写,仅新通知生效。