Repository navigation
fix(mailbox): show thread status and conversation history on every client - #47
Merged
Merged
Conversation
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Mailbox thread selection offered settled threads during search, linked threads lacked current status, and the mobile sheet obscured titles and rendered incorrectly in dark mode. Users could not inspect the full exchange between two agents as a conversation.
Change
Keep existing links visible, restrict the new-link picker to unsettled threads, and derive current status from live thread shells. Web/desktop and native mobile now expose pair conversation history with delivery states, reply and sending-turn references, full-history search, and complete JSON export. Pair/search filters apply on the server before pagination, and mobile export uses the existing native share handoff.
Scope and approval
The fork maintainer requested mailbox status/mobile parity, approved the conversation audit improvement, and explicitly authorized committing and merging after green CI. This PR contains that mailbox work; release versioning follows separately.
Verification
73 focused tests passed: 19 server mailbox behavior tests, 20 shared filtering/presentation/export tests, 31 native attachment/export tests, and 3 actual WebSocket transport tests. Affected contracts, client-runtime, server, web, and mobile typechecks and scoped lint/format passed.
A real iOS simulator run verified linked settled-thread retention, full titles/status, explicit light/dark modes, settled/archived/deleted picker exclusions, link/unlink, pair history, literal search beyond the initial page, reply and sending-turn lookup, older-page navigation, and Dismiss/Restore with pending count 11 → 10 → 11. A native export with search active exactly matched all 65 stored chronological records; viewing/searching/exporting created no read acknowledgements.
Web/desktop visual verification was blocked by an unavailable Browser automation host. Android runtime verification was unavailable because the SDK is not installed. System-theme switching and relay/tunnel end-to-end runs were not verified.
Before/after screenshots use the same isolated iOS fixture and explicit dark appearance. The before image renders the original mailbox component from the base commit; the verified implementation was restored before committing.
Full verification report · Native export share sheet
Model: GPT-6.1-Sol. Harness: Codex in PseudoCode.