Describe the bug
The "Compacting context" and "Context compacted" system messages are not rendered correctly in the Desktop app's transcript.
Issues
-
Rendering — These compaction lifecycle events do not display as proper visual dividers in the chat transcript. They may flash briefly but don't appear as persistent status indicators between turns.
-
Persistence on session load — When a session is saved and later reloaded (session resume), the compaction events are not replayed from the rollout file. This means users see a gap in the conversation history where compaction occurred, without any visual indicator.
Affected components
apps/desktop/src/renderer/atoms/actions/event-processor.ts — event processing
apps/desktop/src/renderer/components/chat/compaction-status-divider.tsx — compaction divider component
crates/core/src/conversation/records.rs — rollout record types for compaction events
crates/core/src/durable_record.rs — ContextCompactionStarted and ContextCompactionCompleted record types
Expected behavior
- Compaction status should be clearly visible in the transcript as a divider between turns
- When loading a saved session, compaction events should be replayed from rollout records so the user can see where compaction happened
Describe the bug
The "Compacting context" and "Context compacted" system messages are not rendered correctly in the Desktop app's transcript.
Issues
Rendering — These compaction lifecycle events do not display as proper visual dividers in the chat transcript. They may flash briefly but don't appear as persistent status indicators between turns.
Persistence on session load — When a session is saved and later reloaded (session resume), the compaction events are not replayed from the rollout file. This means users see a gap in the conversation history where compaction occurred, without any visual indicator.
Affected components
apps/desktop/src/renderer/atoms/actions/event-processor.ts— event processingapps/desktop/src/renderer/components/chat/compaction-status-divider.tsx— compaction divider componentcrates/core/src/conversation/records.rs— rollout record types for compaction eventscrates/core/src/durable_record.rs—ContextCompactionStartedandContextCompactionCompletedrecord typesExpected behavior