Files
Jyotisha/docs/tasks/PROGRESS-account-dialog-inert-20260918.md
T
jesse-ux bdf027a063
Independent Staging Quality Gate / validate (push) Successful in 12m8s
Independent Staging Quality Gate / publish (push) Successful in 8m40s
docs(bugs): 回填 BUG-968/969 修复版本 824ecff0
2026-09-18 19:16:34 +08:00

37 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PROGRESS · 账户弹窗 inert + 校正快照不再静默(2026-09-18)
工作树:`.worktrees/account-dialog-inert-20260918`
分支:`codex/account-dialog-inert-20260918`
基线:`origin/staging` @ `e760b1d6`(任务书写 `1061514f`,开工时 staging 已快进到此)
合入提交:`824ecff0`
任务书:`docs/tasks/TASK-account-dialog-inert-20260918.md`
## 任务状态
| 任务 | 状态 | 说明 |
| --- | --- | --- |
| 3.1 BUG-968 弹窗移出 inert | 完成 | 选 (a) `createPortal(..., document.body)`。账户弹窗与 onboarding 付费墙都挂到 `document.body`。`SidebarInset` 的 `inert={modalOpen}` 保留,移动端抽屉分支不动。 |
| 3.2.1 GET 非 200 记 warn | 完成 | `warnRectificationCaseGet`:401/400/409/404/503 及 supabase 配置失败都打 JSON(`event` / `case_id` / `status` / `code` / `reason`),不含用户资料。 |
| 3.2.2 客户端失败不静默 | 完成 | `loadCaseSnapshot` 非 2xx / 网络错误写入 `snapshotFailure`;校正面「这一问还没读到。」+「重新读取」。hydrate 带 `failure.status`。`refreshRectificationCase` 失败走 composer notice。Abort 不当失败。 |
| 3.2.3 确定性回复带题干 | 完成 | 下一题是可渲染选择题时,`persistApplied` 与 `persistCollectDenialTurn` 用 `composeCollectSpokenAssistantText` 追加题干并随流发出。口述采集仍只 stream ack(BUG-525)。`attachQuestionsToTurns` 去重。 |
## 方案选择(3.1)
选 **(a) createPortal 到 document.body**,不选 (b) 把节点交给 AppShell。
原因:现有 overlay 的 DOM、焦点圈禁(`overlayRef` + `keepFocusWithin`)、Esc 关闭都不用改;不必扩展 `registerShellControls`。SSR 走 `typeof document === "undefined"` 的原树,现有 `renderToString` 合同继续看见 dialog。
## 让步
无。3.1 与 3.2 的 1→2→3 都做完。BUG-969 快照失败的根因仍未由线上日志证实,状态写 **mitigated**,不得写 resolved。
## 测试
| 项 | 结果 |
| --- | --- |
| `tsc --noEmit` | 0 错 |
| `npm run lint` | **0 error** / 120 warning(未顺手修 warning) |
| 定向 | `account-dialog-inert-20260918` 4/4;overlay / surface-state / surface-contract / collect-stall / question-in-message / membership / sidebar-contract / a11y / home-shell-growth / answer-choice **全绿** |
| 全量 `npm test` | 3480 条,3402 绿,**78 红**。失败清单是 Windows 无 Docker / skill symlink `EPERM` / Unix 部署脚本,与本机近期口径一致;新增 4 条全绿,被改过的 discriminator 断言已按三栏改完。Linux 门禁基线仍是 31 红。 |
| `Home()` 冻结 | useState / useRef 未增长 |