mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-08-23 23:55:50 +00:00
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>
|
||
|---|---|---|
| .. | ||
| dialogs | ||
| messages | ||
| panels | ||
| Editor.keymap.test.ts | ||
| Editor.module.css | ||
| Editor.test.ts | ||
| Editor.tsx | ||
| InsightProgress.module.css | ||
| InsightProgress.tsx | ||
| InsightReady.tsx | ||
| MessageItem.tsx | ||
| MessageList.module.css | ||
| MessageList.test.ts | ||
| MessageList.tsx | ||
| MessageTimestamp.module.css | ||
| MessageTimestamp.test.tsx | ||
| MessageTimestamp.tsx | ||
| PromptChevron.tsx | ||
| ShortcutsPanel.module.css | ||
| ShortcutsPanel.tsx | ||
| StatusBar.module.css | ||
| StatusBar.tsx | ||
| StreamingStatus.module.css | ||
| StreamingStatus.tsx | ||
| Tips.module.css | ||
| Tips.tsx | ||
| ToastHost.module.css | ||
| ToastHost.tsx | ||
| WelcomeHeader.module.css | ||
| WelcomeHeader.tsx | ||