qwen-code/packages/web-shell/client/components
ytahdn 9be731ce75
feat(cli,web-shell): persist goal status in daemon transcript events (#5098)
Previously /goal state lived only in frontend memory — page refresh or
multi-device sessions lost the active goal. Now the CLI emits goal status
updates as structured daemon events (_meta.goalStatus), which flow through
the transcript as status blocks (source: 'goal', data: {...}). The web-shell
rebuilds goal state from transcript blocks on connect, making goal status
survivable across page refreshes and syncable across devices.

- CLI: emitGoalStatus on goal set/clear, pass outputHistoryItems through
  nonInteractiveCliCommands, add setAt to goalCommand output
- SDK: widen DaemonUiStatusEvent source/data types, preserve them in
  transcript blocks
- webui: normalize _meta.goalStatus in DaemonSessionProvider, replace
  sentinel-prefix text encoding with structured data
- web-shell: derive activeGoal from transcript blocks (getLatestActiveGoalFromBlocks),
  remove optimistic client-side goal dispatch, parse structured goal data
  in GoalStatusMessage/SystemMessage
- Tests: cover emitGoalStatus, outputHistoryItems passthrough, transcript
  block serialization, DaemonSessionProvider event conversion
- Also: harden McpDialog restart result type check with isRestartEntriesResult

Co-authored-by: ytahdn <ytahdn@gmail.com>
2026-06-14 21:08:06 +08:00
..
dialogs feat(cli,web-shell): persist goal status in daemon transcript events (#5098) 2026-06-14 21:08:06 +08:00
messages feat(cli,web-shell): persist goal status in daemon transcript events (#5098) 2026-06-14 21:08:06 +08:00
panels feat(web-shell): revamp floating todo panel interactions (#5069) 2026-06-13 11:51:03 +08:00
Editor.keymap.test.ts feat(web-shell): add Option+Enter and Cmd+Enter newline shortcuts (#5005) 2026-06-12 13:07:56 +08:00
Editor.module.css feat(web-shell): make input shortcuts discoverable and clickable (#5096) 2026-06-14 16:41:37 +08:00
Editor.test.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
Editor.tsx feat(web-shell): make input shortcuts discoverable and clickable (#5096) 2026-06-14 16:41:37 +08:00
InsightProgress.module.css feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
InsightProgress.tsx feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
InsightReady.tsx feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
MessageItem.tsx feat(cli,web-shell): persist goal status in daemon transcript events (#5098) 2026-06-14 21:08:06 +08:00
MessageList.module.css feat(web-shell): revamp floating todo panel interactions (#5069) 2026-06-13 11:51:03 +08:00
MessageList.test.ts feat(web-shell): show time on parallel-agents box and sub-agent tools (#5084) 2026-06-14 00:46:42 +08:00
MessageList.tsx feat(web-shell): show time on parallel-agents box and sub-agent tools (#5084) 2026-06-14 00:46:42 +08:00
MessageTimestamp.module.css feat(web-shell): show message time on hover (#5079) 2026-06-13 15:30:44 +08:00
MessageTimestamp.test.tsx feat(web-shell): show message time on hover (#5079) 2026-06-13 15:30:44 +08:00
MessageTimestamp.tsx feat(web-shell): show message time on hover (#5079) 2026-06-13 15:30:44 +08:00
PromptChevron.tsx feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
ShortcutsPanel.module.css feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
ShortcutsPanel.tsx feat(web-shell): make input shortcuts discoverable and clickable (#5096) 2026-06-14 16:41:37 +08:00
StatusBar.module.css feat(web-shell): make input shortcuts discoverable and clickable (#5096) 2026-06-14 16:41:37 +08:00
StatusBar.tsx feat(web-shell): make input shortcuts discoverable and clickable (#5096) 2026-06-14 16:41:37 +08:00
StreamingStatus.module.css feat(web-shell): daemon web-shell improvements — token usage, settings, retry, streaming metrics, hidden commands (#5066) 2026-06-13 02:58:08 +00:00
StreamingStatus.tsx feat(web-shell): daemon web-shell improvements — token usage, settings, retry, streaming metrics, hidden commands (#5066) 2026-06-13 02:58:08 +00:00
Tips.module.css feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
Tips.tsx feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
ToastHost.module.css feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
ToastHost.tsx feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
WelcomeHeader.module.css feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
WelcomeHeader.tsx feat(web-shell): daemon web-shell improvements — token usage, settings, retry, streaming metrics, hidden commands (#5066) 2026-06-13 02:58:08 +00:00