diff --git a/apps/web/tests/chat-flow-layout.e2e.ts b/apps/web/tests/chat-flow-layout.e2e.ts index d3d5e999ac..117693f380 100644 --- a/apps/web/tests/chat-flow-layout.e2e.ts +++ b/apps/web/tests/chat-flow-layout.e2e.ts @@ -54,7 +54,18 @@ it.each(['turn-tail-actions', 'goal-multi-turn-actions', 'present'] as const)( const { top, bottom } = seat.getBoundingClientRect() return { top, bottom } }) - expect(answerBounds.top).toBe(await process.evaluate(element => element.getBoundingClientRect().bottom) + 16) + const processBottom = await process.evaluate(element => element.getBoundingClientRect().bottom) + if (scenario === 'present') { + expect(answerBounds.top).toBe(processBottom + 16) + } else { + // Every reply stays visible: the intermediate reply follows the folded control at the 12px reply gap. + const leadTop = await page.getByText('Reading the workspace now.', { exact: true }).evaluate((element) => { + const seat = element.closest('[data-chat-flow-kind="assistant-step"]') + if (seat === null) throw new Error('intermediate reply has no Chat seat') + return seat.getBoundingClientRect().top + }) + expect(leadTop).toBe(processBottom + 12) + } if (scenario === 'present') { const geometry = await page.locator('[data-presented-files-row]').evaluate((grid) => { const root = grid.parentElement diff --git a/apps/web/tests/expected/desktop-locale/automatic.expected.md b/apps/web/tests/expected/desktop-locale/automatic.expected.md index b24ebca8d2..84a652e494 100644 --- a/apps/web/tests/expected/desktop-locale/automatic.expected.md +++ b/apps/web/tests/expected/desktop-locale/automatic.expected.md @@ -24,6 +24,8 @@ - button "标准" - text: 工作步骤收起时机 选择何时自动收起工作步骤 - button "回答结束后" + - text: 收起后显示的回复 工作步骤收起后,保留哪些助手回复 + - button "全部回复" - text: 显示代码工作视图 开启后,显示轨迹、本轮代码差异,可选择完整的 Agent 预设切换 - switch "显示代码工作视图" [checked] - text: 快捷键 diff --git a/apps/web/tests/expected/desktop-locale/selected.expected.md b/apps/web/tests/expected/desktop-locale/selected.expected.md index 801a3d9a5d..865390f104 100644 --- a/apps/web/tests/expected/desktop-locale/selected.expected.md +++ b/apps/web/tests/expected/desktop-locale/selected.expected.md @@ -24,6 +24,8 @@ - button "Standard" - text: When to Collapse Work Details Choose when to automatically collapse work details - button "On completion" + - text: Replies After Collapse Choose which assistant replies stay visible when work details collapse + - button "All replies" - text: Show coding view Shows trajectory, code diffs, and all Agent presets - switch "Show coding view" [checked] - text: Keyboard shortcuts diff --git a/apps/web/tests/expected/settings-chrome/dialog-en.expected.md b/apps/web/tests/expected/settings-chrome/dialog-en.expected.md index 13cd42f9d7..e36458f98a 100644 --- a/apps/web/tests/expected/settings-chrome/dialog-en.expected.md +++ b/apps/web/tests/expected/settings-chrome/dialog-en.expected.md @@ -24,6 +24,8 @@ - button "Detailed" - text: When to Collapse Work Details Choose when to automatically collapse work details - button "On completion" + - text: Replies After Collapse Choose which assistant replies stay visible when work details collapse + - button "All replies" - text: Show coding view Shows trajectory, code diffs, and all Agent presets - switch "Show coding view" - text: Keyboard shortcuts diff --git a/apps/web/tests/expected/settings-chrome/dialog-no-browser.expected.md b/apps/web/tests/expected/settings-chrome/dialog-no-browser.expected.md index 13cd42f9d7..e36458f98a 100644 --- a/apps/web/tests/expected/settings-chrome/dialog-no-browser.expected.md +++ b/apps/web/tests/expected/settings-chrome/dialog-no-browser.expected.md @@ -24,6 +24,8 @@ - button "Detailed" - text: When to Collapse Work Details Choose when to automatically collapse work details - button "On completion" + - text: Replies After Collapse Choose which assistant replies stay visible when work details collapse + - button "All replies" - text: Show coding view Shows trajectory, code diffs, and all Agent presets - switch "Show coding view" - text: Keyboard shortcuts diff --git a/apps/web/tests/expected/settings-chrome/dialog.expected.md b/apps/web/tests/expected/settings-chrome/dialog.expected.md index df60e07cde..9f9c6ee85e 100644 --- a/apps/web/tests/expected/settings-chrome/dialog.expected.md +++ b/apps/web/tests/expected/settings-chrome/dialog.expected.md @@ -24,6 +24,8 @@ - button "详细" - text: 工作步骤收起时机 选择何时自动收起工作步骤 - button "回答结束后" + - text: 收起后显示的回复 工作步骤收起后,保留哪些助手回复 + - button "全部回复" - text: 显示代码工作视图 开启后,显示轨迹、本轮代码差异,可选择完整的 Agent 预设切换 - switch "显示代码工作视图" - text: 快捷键 diff --git a/apps/web/tests/turn-tail-actions.e2e.ts b/apps/web/tests/turn-tail-actions.e2e.ts index 0f3128d92a..0d17a3c144 100644 --- a/apps/web/tests/turn-tail-actions.e2e.ts +++ b/apps/web/tests/turn-tail-actions.e2e.ts @@ -249,9 +249,10 @@ describe('web e2e: assistant IconActions wait for the turn to end', () => { expect(await process.evaluate(element => getComputedStyle(element).borderBottomWidth)).toBe('1px') const processBottom = await process.evaluate(element => element.closest('[data-chat-flow-kind="turn-process"]')?.getBoundingClientRect().bottom) - const answerTop = await page.getByText('DONE', { exact: true }).evaluate(element => + // Every reply stays visible: the intermediate reply follows the folded control at the 12px reply gap. + const leadTop = await page.getByText('Reading the workspace now.', { exact: true }).evaluate(element => element.closest('[data-chat-flow-kind="assistant-step"]')?.getBoundingClientRect().top) - expect(answerTop).toBe((processBottom ?? 0) + 16) + expect(leadTop).toBe((processBottom ?? 0) + 12) await process.focus() const completed = await captureStableAria(page, '[class*="centerCol"]', scaffold!.workspaceCwd) await compareOrRefreshGolden(COMPLETED_EXPECTED, completed, MODE) diff --git a/snapshots/web/goal-multi-turn-actions/ui.expected.md b/snapshots/web/goal-multi-turn-actions/ui.expected.md index 505a067cbb..5256392267 100644 --- a/snapshots/web/goal-multi-turn-actions/ui.expected.md +++ b/snapshots/web/goal-multi-turn-actions/ui.expected.md @@ -40,6 +40,26 @@ - time: {{clock}} - status: Completed - button "Completed in {{duration}}" +- paragraph: + - strong: Turn 2 / 2 + - text: — 随机选中的包: + - code: packages/llm/token-meter + - text: 📦 +- text: Code block +- button "Wrap lines" [pressed] +- button "Copy" +- code: token-meter ├── README.md ├── package.json ├── src │ └── index.ts └── tests └── token-meter.spec.ts +- text: Code block +- button "Wrap lines" [pressed] +- button "Copy" +- code: "token-meter/ ├── README.md # 包说明文档 ├── package.json # 包元数据与依赖声明 ├── src/ │ └── index.ts # 入口,导出公共 API(token 计量逻辑) └── tests/ └── token-meter.spec.ts # 单元测试" +- paragraph: + - text: 两个 turn 都完成了(turn 1: + - code: session-reference + - text: ,turn 2: + - code: token-meter + - text: )。这一轮到此结束。 +- paragraph: 两个 turn 均已完成,目标达成,标记 goal 为完成。 - paragraph: 两个 turn 都完成了 ✅ - paragraph: - strong: 总结: diff --git a/snapshots/web/plan-review/approved.expected.md b/snapshots/web/plan-review/approved.expected.md index bab8040ae6..a9c2ff2a1d 100644 --- a/snapshots/web/plan-review/approved.expected.md +++ b/snapshots/web/plan-review/approved.expected.md @@ -9,6 +9,10 @@ - button "Copy" - status: Completed - button "Completed in {{duration}}" +- paragraph: + - text: Since the user has explicitly asked me not to read or write any files and to go straight to planning, I'll proceed with + - code: exit_plan_mode + - text: . - paragraph: DONE - 'button "Open plan: Add `--greeting` flag to CLI"': "Add `--greeting` flag to CLI Plan · Markdown Open" - button "Copy" diff --git a/snapshots/web/turn-tail-actions/completed.expected.md b/snapshots/web/turn-tail-actions/completed.expected.md index 5d309edf46..f36f05d886 100644 --- a/snapshots/web/turn-tail-actions/completed.expected.md +++ b/snapshots/web/turn-tail-actions/completed.expected.md @@ -10,6 +10,7 @@ - button "Copy" - status: Completed - button "Completed in {{duration}}" +- paragraph: Reading the workspace now. - paragraph: DONE - button "Copy" - button "Good response" diff --git a/snapshots/web/turn-tail-actions/usage-expanded.expected.md b/snapshots/web/turn-tail-actions/usage-expanded.expected.md index 791695b15c..076114e666 100644 --- a/snapshots/web/turn-tail-actions/usage-expanded.expected.md +++ b/snapshots/web/turn-tail-actions/usage-expanded.expected.md @@ -10,6 +10,7 @@ - button "Copy" - status: Completed - button "Completed in {{duration}}" +- paragraph: Reading the workspace now. - paragraph: DONE - button "Copy" - button "Good response"