{"version":"2.1.292","anchor":"compaction-repeat-and-slack-turn-bridge-changes","canonical_anchor":"compaction-repeat-and-slack-turn-bridge-changes","heading":"Remote sessions repeat some rows after compaction; bridge handles unverified Slack turns","tier":"internal","area":"Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292\/e\/compaction-repeat-and-slack-turn-bridge-changes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292","markdown":"### Remote sessions repeat some rows after compaction; bridge handles unverified Slack turns\n\nIn remote sessions, some stored rows are now re-sent after a compaction event, and the bridge treats non-slash messages without a verified Slack human turn differently\n\n**Unclear.** It is not stated what the extra step does to messages that are not marked as verified Slack human turns.\n\n**What**\n\nCompaction is when Claude Code shortens a long conversation by summarising older parts so it fits in the model's memory. This release adds a way to keep certain rows of a remote session present after that happens:\n\n- The remote input\/output layer gets a `repeatAfterCompaction` setter.\n\n- When a compaction event is queued with no `session_agent_id`, the client appends extra rows from `rowsRepeatedAfterCompaction` in the same batch, each with a fresh uuid. Before, only the original events were sent.\n\n- Separately, the bridge's handler for incoming messages now calls a function for messages that are not slash commands and lack `verifiedSlackHumanTurn`.\n\n**Why**\n\nRows that a compaction would otherwise drop can stay in the stored session. These are internals of remote sessions, and what the Slack-turn handling does in practice is not described.\n\n- Area: Sessions\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}