mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-08-02 12:54:32 +00:00
* feat(web-shell): support mutable default mid-turn messages * fix(serve): register mid-turn removal telemetry route * test(serve): update telemetry route totals * fix(test): add session_mid_turn_message_mutation to expected features list * fix(webui): forward clientId on cross-session mid-turn removal (#8229) - Forward the session clientId in the cross-session removeMidTurnMessage branch so the bridge's exact-originator match can succeed; without it the removal resolved to an undefined originator and could never remove the message stamped at enqueue. - Strip a misaligned/malformed messageIds from mid_turn_message_injected in asKnownDaemonEvent instead of rejecting the whole event, mirroring the sidechannel parser so a buggy daemon can't silently lose the injection signal. - Log a mid-turn removal miss in the bridge like the enqueue/pending-removal siblings, to make removal races diagnosable from daemon logs. * fix(web-shell): exclude annotations from mid-turn path and harden idle cleanup (#8229) * fix(web-shell): add container-type to .queuedPrompts so @container query applies (#8229) * fix(web-shell): harden mid-turn dedupe and capability gate per review (#8229) - removeInjectedFromQueue now matches by id first (position-independent) and falls back to text only when no id match exists, so two same-text sends can't remove the wrong row and double-deliver. - Thread canMutateMidTurn into useQueuedPrompts and gate the mid-turn delete/edit mutation on it, so the keyboard path can't hit a DELETE route the daemon doesn't advertise. - asMidTurnMessageInjectedData omits a malformed messageIds key instead of leaving a present undefined, matching the sidechannel parser. - Narrow MidTurnQueueItem.midTurnState, document the load-bearing effect order, and make clearQueuedPrompts return false on a no-op clear. * fix: harden mid-turn removal per review (log escape, cross-session client id) (#8229) - Escape the caller-controlled messageId (and sessionId) in the mid-turn removal-miss stderr line to prevent log injection (CWE-117). - Forward the target session's persisted client id on cross-session mid-turn removal so the bridge's exact-originator match no longer rejects valid removals after a session switch with per-session client ids. - Strengthen tests: distinct-id independence for two queued messages, deferred removal proving the composer waits for daemon removal, and the active-turn delete failed-action flag. --------- Co-authored-by: 钉萁 <dingqi.jww@alibaba-inc.com> Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com> Co-authored-by: Qwen Code Autofix <qwen-code-autofix@users.noreply.github.com> Co-authored-by: Qwen Code Bot <qwen-code-bot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| daemonSessionMappers.ts | ||
| useAnimationFrameTranscriptBlocks.test.tsx | ||
| useAnimationFrameTranscriptBlocks.ts | ||
| useAnimationFrameValue.ts | ||
| useAtMentionMenu.test.tsx | ||
| useAtMentionMenu.ts | ||
| useBackgroundTasks.test.tsx | ||
| useBackgroundTasks.ts | ||
| useComposerCore.dom.test.tsx | ||
| useComposerCore.mobile.dom.test.tsx | ||
| useComposerCore.test.ts | ||
| useComposerCore.ts | ||
| useDelayedGlobalKeyDown.ts | ||
| useFilterInput.test.tsx | ||
| useFilterInput.ts | ||
| useInputHistory.ts | ||
| useIsLargeScreen.test.tsx | ||
| useIsLargeScreen.ts | ||
| useIsTouchComposer.test.tsx | ||
| useIsTouchComposer.ts | ||
| useListboxKeyboard.test.tsx | ||
| useListboxKeyboard.ts | ||
| useMessages.test.ts | ||
| useMessages.ts | ||
| useNewSessionSuggestion.test.tsx | ||
| useNewSessionSuggestion.ts | ||
| useOtherWorkspaceSessions.test.tsx | ||
| useOtherWorkspaceSessions.ts | ||
| usePrefersReducedMotion.test.tsx | ||
| usePrefersReducedMotion.ts | ||
| useQueuedPrompts.dom.test.tsx | ||
| useQueuedPrompts.test.ts | ||
| useQueuedPrompts.ts | ||
| useScopedSessions.test.tsx | ||
| useScopedSessions.ts | ||
| useSessionArtifacts.test.tsx | ||
| useSessionArtifacts.ts | ||
| useShallowMemo.ts | ||
| useSharedNow.ts | ||
| useStreamingLoadingMetrics.ts | ||