Files
Jyotisha/docs/tasks/PROGRESS-session-list-single-source-20260917.md
T
jesse-ux e4e73f56c0
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 9m33s
fix(web): 四个页面共用一份会话列表,空会话不入列
对话、星盘、星历、报告进同一 (app) 外壳,列表只拉一次。服务端不再列出空咨询;新建复用已有空会话。新标题改成「生时校正 · M月D日」,侧栏副标题用创建时间。
2026-09-17 21:27:40 +08:00

2.3 KiB

PROGRESS · 会话列表单一数据源(2026-09-17)

工作树:.worktrees/session-list-single-source-20260917
分支:codex/session-list-single-source-20260917
基线:origin/staging @ e60a3a4d(T1 已合入)后继续 T2–T4。任务书更新为常驻外壳 layout(f6db3c77)。

任务状态

任务 状态 说明
T1 多键排序 BUG-926 完成 已合入 e60a3a4d
T2 常驻外壳 layout BUG-927 完成 (app) 路由组 + SessionListProvider;首页 useHomeShellRegistration 注册全部 controls(让步:元数据操作未上移到 provider,次级页只读)
T3 空会话不入列 BUG-928 完成(让步) 服务端列表排除空 messages;启动/新建复用已有空咨询。延迟落库见 BLOCKED.md
T4 标题副标题 BUG-929 完成 生时校正 · M月D日;删除 uniquify;共用 toSidebarSessionRow
T5 记录 完成

T2 让步

任务书允许第一步只做「路由组 + layout 常驻 + provider 拥有列表 + 首页注册全部控制」,元数据操作上移作第二步。本轮按此交付:改名/置顶/删除仍由首页注册,未挂载首页时侧栏只读(与改前次级页一致)。列表所有者已是 provider,切页不重拉。

T3 让步

延迟到第一问才 POST /api/sessions 未做(深链 ?c=、刷新恢复牵动过大)。改为服务端过滤 + 复用已有空咨询。

page.tsx 行数:T2 开工约 1831,抽出 useHomeShellRegistration1825Home() useState 34(帽 36),useRef 37(帽 37)。

测试

结果
tsc --noEmit 0 错
npm run lint 0 error(既有 warning 未动)
定向 session-list / sidebar / agent-reply / chat-session-authority / local-postgres-or / home-shell-growth 等 26 + 先前 114/115(已修列表 messages 断言)
Python test_session_management_entrypointstest_supabase_user_data_contract 过。test_daily_and_rectification_entrypoints 两条找 daily-starlanguage-card / birth-rectification-cardT1 基线 e60a3a4d 已红(前端测试明确断言这两类名已删除),不是本轮引入
test:db 无 Docker,见 BLOCKED.md
next build 本 worktree node_modules 是 junction,未核 / Static,见既有 BLOCKED