Follow-up of #1381 / PR #1442.
The desktop now paints a durable "Part of this response was not captured (HH:MM:SS–HH:MM:SS)" row where the Claude proxy transport lost live output. The phone receives the transport-gap channel (WebSocketSessionFeed.onSessionTransportGap, wire.ts FeedChannel), but its TranscriptStore neither subscribes nor reads SessionHistoryChunk.transportGaps from its initial history load. The phone feed therefore still shows the stitched answer with no row.
Fix shape:
- the TranscriptStore holds
transportGaps the way the desktop runtime does (merged by record id);
- it passes them as
RuntimeRenderInput.transportGaps;
- the shared ledger and Feed pipeline already render the row.
🤖 Generated with Claude Code
Follow-up of #1381 / PR #1442.
The desktop now paints a durable "Part of this response was not captured (HH:MM:SS–HH:MM:SS)" row where the Claude proxy transport lost live output. The phone receives the
transport-gapchannel (WebSocketSessionFeed.onSessionTransportGap, wire.ts FeedChannel), but its TranscriptStore neither subscribes nor readsSessionHistoryChunk.transportGapsfrom its initial history load. The phone feed therefore still shows the stitched answer with no row.Fix shape:
transportGapsthe way the desktop runtime does (merged by record id);RuntimeRenderInput.transportGaps;🤖 Generated with Claude Code