在 PR #670 的 dogfood 浏览器验证中实测发现(17.0.0-rc.2)。Filed unassigned by the PM loop。 ## 症状 活动类 action(log_call / log_meeting 等)写入的 `sys_activity` 行,`actor_name` 是裸 user id(如 `grDEyLoIgnunJ2M7Y2muLgcuQbDUT0s2`)而不是 `Dev Admin` —— 时间线上显示一串不透明 id。 ## 已知信息 - 写入点是共享的 `logActivityAction` 体系(#569 确立),body 里取 `ctx.user?.name`;在 QuickJS action sandbox 里该表达式解析不到显示名。 - 疑似**早于 #670**(case 上的既有活动动作走同一 helper),#670 只是把受影响面从 case 扩到了五个对象。分诊时先确认:sandbox 的 `ctx.user` 到底暴露哪些字段(平台契约),再决定是 app 侧补一次 `sys_user` 查询,还是上游应在 sandbox 上下文里提供显示名(后者更符合「声明即强制」—— `ctx.user.name` 这个键存在就该兑现)。若是平台侧,上报 objectstack 并在此记录链接。 ## 验收 - 从任一活动动作写出的 `sys_activity.actor_name` 是人类可读显示名; - 时间线(record Activity tab)不再出现裸 id; - 有一条测试钉住该行为。
在 PR #670 的 dogfood 浏览器验证中实测发现(17.0.0-rc.2)。Filed unassigned by the PM loop。
症状
活动类 action(log_call / log_meeting 等)写入的
sys_activity行,actor_name是裸 user id(如grDEyLoIgnunJ2M7Y2muLgcuQbDUT0s2)而不是Dev Admin—— 时间线上显示一串不透明 id。已知信息
logActivityAction体系(fix(actions): resolve the declared nameField for record_label, unify the log_call/log_meeting twins #569 确立),body 里取ctx.user?.name;在 QuickJS action sandbox 里该表达式解析不到显示名。ctx.user到底暴露哪些字段(平台契约),再决定是 app 侧补一次sys_user查询,还是上游应在 sandbox 上下文里提供显示名(后者更符合「声明即强制」——ctx.user.name这个键存在就该兑现)。若是平台侧,上报 objectstack 并在此记录链接。验收
sys_activity.actor_name是人类可读显示名;