qwen-code/packages/web-shell/client/utils
易良 bd85599139
feat: visualize ordinary-session plan execution (#7580)
* feat: visualize ordinary session plan execution

* fix(web-shell): complete plan workflow rendering

* fix: preserve authoritative plan state

* fix(core): isolate teammate todo state

* fix: reject ambiguous empty plan snapshots

* test(web-shell): cover workflow dialog wiring

* feat(web-shell): preview workflow before execution

* feat(web-shell): inspect workflow step details

* feat(web-shell): preserve session workflow history

* test: align failing CI tests with plan-isolation behavior

SubAgentTracker: the emitter now guards subagent TodoWrite results
(tool-call-emitter emitResult early-returns on subagentMeta), so a
subagent todo no longer promotes into a session-level plan. Flip the
stale assertion to expect no plan emission, mirroring the dedicated
guard test in tool-call-emitter.test.ts.

HistoricalPlanExecution: the pagination fixture's onLoadOlderHistory
returned Promise<void>, but PlanExecutionHistoryProvider requires
Promise<boolean> and throws 'Unable to load earlier session history'
on a falsy resolution. Production wires loadOlderHistory (resolves
true after layout); return true in the fixture to model a successful
load.

* refactor: simplify session plan execution workflow

* fix(web-shell): preserve split plan approval workflow

---------

Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
2026-08-01 10:48:30 +00:00
..
ansi.test.ts fix(web-shell): parse 256-color and truecolor SGR sequences in parseAnsi (#7620) 2026-07-26 02:25:20 +00:00
ansi.ts fix(web-shell): parse 256-color and truecolor SGR sequences in parseAnsi (#7620) 2026-07-26 02:25:20 +00:00
askUserPermission.test.ts feat(tui): Ctrl+O frozen transcript view and unified tool output rendering (#5666) 2026-07-09 23:40:29 +00:00
askUserPermission.ts feat(web-shell): add Session Overview panel and in-window split view (#6400) 2026-07-07 02:44:18 +00:00
commandDisplay.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
composerInputState.test.ts fix(web-shell): optionally restart SSE after prompt admission (#7080) 2026-07-17 16:13:39 +00:00
composerInputState.ts fix(web-shell): optionally restart SSE after prompt admission (#7080) 2026-07-17 16:13:39 +00:00
composerModels.ts feat(web-shell): restore the full composer in split-view panes (#6510) 2026-07-08 07:01:36 +00:00
composerTag.test.ts fix(web-shell): restore context tags in queued and recalled prompts (#7312) 2026-07-21 12:59:29 +00:00
composerTag.ts fix(web-shell): restore context tags in queued and recalled prompts (#7312) 2026-07-21 12:59:29 +00:00
composerTasks.test.ts fix(web-shell): sync background agent status (#7561) 2026-07-23 06:35:04 +00:00
composerTasks.ts fix(web-shell): sync background agent status (#7561) 2026-07-23 06:35:04 +00:00
copyCommand.test.ts fix(web-shell): make /copy with a bare index work (#7789) 2026-07-28 05:35:58 +00:00
copyCommand.ts fix(web-shell): make /copy with a bare index work (#7789) 2026-07-28 05:35:58 +00:00
cssUrlVar.test.ts feat(web-shell): support icon chips for mention tags (#6337) 2026-07-05 13:25:32 +00:00
cssUrlVar.ts feat(web-shell): support icon chips for mention tags (#6337) 2026-07-05 13:25:32 +00:00
dialogLabels.ts refactor(web-shell): restructure chat UI (#5775) 2026-06-23 22:43:19 +08:00
dom.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
errorDetail.ts feat(serve): add workspace MCP management (#6954) 2026-07-16 02:24:07 +00:00
escapeIntent.test.ts feat(web-shell): friendlier Esc interruption + queued-prompt UX (#6025) 2026-06-30 01:27:16 +00:00
escapeIntent.ts feat(web-shell): friendlier Esc interruption + queued-prompt UX (#6025) 2026-06-30 01:27:16 +00:00
formatRelativeTime.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
formatRuntime.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
formatTokenCount.ts feat(web-shell): add token-usage analytics dashboard to Daemon Status (#6388) 2026-07-06 13:43:41 +00:00
goalCondition.test.ts feat(web-shell): add a workspace Goals page, and stop losing /goal on daemon resume (#6561) 2026-07-18 08:52:07 +00:00
goalCondition.ts feat(web-shell): add a workspace Goals page, and stop losing /goal on daemon resume (#6561) 2026-07-18 08:52:07 +00:00
localCommandQueue.test.ts feat(web-shell): queue prompts while turns are running (#6005) 2026-06-30 14:51:28 +00:00
localCommandQueue.ts feat(web-shell): queue prompts while turns are running (#6005) 2026-06-30 14:51:28 +00:00
modelDisplay.ts feat(web-shell): polish chat UI (#5893) 2026-06-26 15:38:23 +00:00
modelEncoding.test.ts fix(web-shell): encode vision model picker selection & polish dispatch (#6236) 2026-07-03 13:51:47 +00:00
modelEncoding.ts fix(web-shell): encode vision model picker selection & polish dispatch (#6236) 2026-07-03 13:51:47 +00:00
modelSwitchMessages.test.ts feat(web-shell): polish chat UI (#5893) 2026-06-26 15:38:23 +00:00
modelSwitchMessages.ts feat(web-shell): polish chat UI (#5893) 2026-06-26 15:38:23 +00:00
monitorTasks.test.ts feat(web-shell): add monitor task details (#7817) 2026-07-27 12:30:17 +00:00
monitorTasks.ts feat(web-shell): add monitor task details (#7817) 2026-07-27 12:30:17 +00:00
queueDrain.test.ts feat(web-shell): friendlier Esc interruption + queued-prompt UX (#6025) 2026-06-30 01:27:16 +00:00
queueDrain.ts feat(web-shell): friendlier Esc interruption + queued-prompt UX (#6025) 2026-06-30 01:27:16 +00:00
sentinelMessage.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
sessionErrors.test.ts feat(web-shell): add contextual task panels (#7929) 2026-07-30 13:45:30 +00:00
sessionErrors.ts feat(web-shell): add contextual task panels (#7929) 2026-07-30 13:45:30 +00:00
sessionPath.test.ts fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
sessionPath.ts fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
sessionPreparation.test.ts feat(web-shell): add git mode selector for new session creation (#7471) 2026-07-24 03:48:43 +00:00
sessionPreparation.ts feat(web-shell): add git mode selector for new session creation (#7471) 2026-07-24 03:48:43 +00:00
slash-command-action.ts feat(web-shell): support custom slash command actions (#7267) 2026-07-20 11:23:55 +00:00
slashSectionPlan.test.ts feat(web-shell): improve slash command discovery (taller menu, group counts, fuzzy search) (#6267) 2026-07-03 14:56:06 +00:00
slashSectionPlan.ts feat(web-shell): improve slash command discovery (taller menu, group counts, fuzzy search) (#6267) 2026-07-03 14:56:06 +00:00
splitUrl.test.ts fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
splitUrl.ts fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
systemInfo.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
timeAgo.test.ts feat(web-shell): add read-only GitHub pull requests panel (#7683) 2026-07-25 02:44:50 +00:00
timeAgo.ts feat(web-shell): add read-only GitHub pull requests panel (#7683) 2026-07-25 02:44:50 +00:00
todos.test.ts feat: visualize ordinary-session plan execution (#7580) 2026-08-01 10:48:30 +00:00
todos.ts feat: visualize ordinary-session plan execution (#7580) 2026-08-01 10:48:30 +00:00
workspace.test.ts feat: support workspace display names (#7179) 2026-07-20 15:16:44 +00:00
workspace.ts feat: support workspace display names (#7179) 2026-07-20 15:16:44 +00:00
workspaceColor.test.ts feat(web-shell): color-code each split pane by workspace (#6971) 2026-07-16 02:38:58 +00:00
workspaceColor.ts feat(web-shell): color-code each split pane by workspace (#6971) 2026-07-16 02:38:58 +00:00