Files
Jyotisha/docs/tasks/PROGRESS-chat-subject-picker-20260922.md
T

2.7 KiB
Raw Blame History

进度 · 开始聊天选择人物(2026-09-22)

基线:6d06fca0d878403dc1fab646a20c5b8ef7447fd5(开工时 origin/staging)。分支 codex/chat-subject-picker-20260922。未推送,未部署。

做了什么

  • 普通咨询顶栏的静态人名改成 ChatProfilePicker。读屏名称是「当前星盘:人物名」,看见的字只有当前人物名。
  • 新对话默认本人,不读 activeChartId。空会话里点另一个人,只改这一段还没开口的绑定。还没落库的空会话把 id 留在本地,第一条消息的 POST /api/sessions 带上它,姓名和角色由服务端填写。已经落库、仍没有消息的空会话只 PATCH id 和角色,不提交客户端姓名,再读回服务端姓名。
  • 已经有消息的会话不改绑。点另一个人只有「新建会话并使用此人物」。回答还在进行时这个动作不执行。
  • 打开历史会话不再把该人物写回账户级 activeChartId。深链和刷新仍只用库里的绑定。
  • 人物列表加载中或失败时不创建绑定,也不把缺列表说成「资料已删除」。资料确认已删除后,旧会话还能看,发送被挡住,不退回本人。资料改名后,选择器显示资料里的现名,不改写已锁定会话的快照。
  • 报告、每日星语入口和生时校正不挂这个选择器。校正顶栏仍是原来的静态 chip。

断言变更

没有改既有断言的期望值,也没有删测试名。chart-library-sessionsession-open-preserves-identitychat-session-writechat-session-authority 各加了一条,原断言仍在。

测试 原值 新值 原因
本轮只加断言,没有把旧期望改松

验证

  • tsc --noEmit:通过。
  • npm run lint0 error。既有 warning 未改。
  • npx tsx --test 定向:chat-profile-picker 10、chart-library-session 6、session-open-preserves-identity 5、chat-session-write 17、chat-session-authority 10、home-shell-growth-contract 4,加上同批的 chat-session-urlcomposer-isolation-contractconsultation-subject-binding。合计 79 pass / 0 fail;收尾再跑前六个文件 52 pass / 0 fail。
  • 未跑全量 npm test,未跑 next build
  • Home()useState 34(上限 36),useRef 37(上限 37),都没有新增调用。page.tsx 1844 行,低于 1846 + 150 的粗护栏。
  • 没有登录态。浏览器点击未验收,见 docs/testing/chat-subject-picker-20260922.mdBLOCKED.md

没动

  • starter-home.tsx、starter-entry CSS、consult/route.tsdocs/tasks/README.md
  • 没有改表,没有改服务端 resolver 的失败即关闭语义。