fix(claude): finish compaction in ready state - #161
Conversation
devswha
left a comment
There was a problem hiding this comment.
Reviewed the full diff at head 69dd58c and verified locally on the PR branch: focused tests pass (external-session-activity 20/20, MessageComponent 8/8), CI green, base is current main. Server side classifies isCompactSummary user records as waiting_user without a reply-completion notification and skips local-command wrapper records during activity detection; client renders compact summaries as a collapsed disclosure with the Markdown body mounted only on open; messageTypes.compactSummary added across all 10 locales; regression coverage on both sides. isCompactSummary propagation was already on main (claude-sessions.provider), so this PR only adds classification, rendering, i18n, and tests. No action-boundary or identity changes — display/activity only. Merging.
## Summary Prepares the v1.11.0 release. Version bookkeeping only - no runtime code changes. - `package.json` version -> 1.11.0 - both `package-lock.json` version fields -> 1.11.0 - exact `packaging/release/update-compatibility.json` entry for 1.11.0 ## Schema generation and rollback The migration registry is unchanged since v1.9.2 (`git diff v1.9.2 main -- server/modules/database` is empty). Schema generation stays at 20 and rollback stays exact, carrying forward every version declared by 1.10.0 plus 1.10.0 itself: 1.8.17, 1.8.18, 1.8.19, 1.9.0, 1.9.1, 1.9.2, 1.10.0. `npm run release:check-metadata` passes with exactly this declaration. ## Release contents since v1.10.0 - #158 - feat(codex): answer asynchronous Codex questions from ChatMux - #161 - fix(claude): finish compaction in ready state Minor bump (1.10.0 -> 1.11.0) because #158 lands a user-facing feature, matching the 1.9.2 -> 1.10.0 precedent. ## Verification - `npm run release:check-metadata` passed locally for 1.11.0 (schema generation 20; 7 rollback-compatible versions) - package-lock diff touches only the two ChatMux version fields (the third 1.10.0 match is the shell-quote dependency's own version)
Problem
Claude writes
/compactcompletion as a synthetic user summary followed by local-command wrapper records. ChatMux treated the wrapper output as a new user prompt, so an idle compacted session stayedRUN, and rendered the full generated summary directly in the conversation.Changes
waiting_userwithout generating a reply-completion notificationVerification
waiting_user, terminal outcomenonenpm run verify