Repository navigation
cmux-imessage: review follow-ups (date-ordered previews, NULL rows, stderr drain, terminal error code) - #33219
Conversation
…32923 - a thread's preview is its newest message by date, not by rowid (iCloud backfill) - rows with NULL item_type / associated_message_type count as visible - since() returns a message joined to two chats once - the terminal AppleScript error code decides, not one quoted in the message - SystemRunner reads stderr past the pipe buffer without stalling Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f62148d989879feda740
Reader: a thread's preview and order come from its newest visible message by date (rowid breaks ties), NULL item_type / associated_message_type count as a plain message, and since() returns a message joined to several chats once. Send: SystemRunner drains stderr on a thread while the child runs, so a noisy failure no longer stalls into the two-minute timeout, and the error mapping reads only the terminal AppleScript code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f62148d989879feda740
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Shipped in:
|
|
Found 1 test failure on Blacksmith runners: Failure
|
|
Review (codex, router-review): SHIP at bc62ef1 Reviewer: codex gpt-6.1-sol xhigh, fast tier. Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward. SHIP at bc62ef1
SQLite probes passed; a process probe confirmed the inherited-pipe behavior. Rust tests were unavailable because this box has no Rust toolchain. Follow-ups:
|
A newer verdict blocks 6c726d8 (no independent SHIP at the head).
|
Red triage: the clippy panic ratchet red is this PR's own: |
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
The panic ratchet starts a new crate panic-free; terminal_error_code sliced &str with [..] (string_slice). It now uses str::get, which cannot panic. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-9bf3963ac29d9d619047
|
Review (codex, router-review): SHIP at 8a80e42 Reviewer: codex gpt-6.1-sol xhigh, fast tier. Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward. SHIP at 8a80e42
Follow-ups:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes the review follow-ups of the Messages mirror reader and sender: #32896 (from the review of #32891) and #32923 (from the review of #32919). The changes stay inside
cmux-tui/crates/cmux-imessage, and its public API is unchanged.What changes
item_typeorassociated_message_type(older databases) count as plain messages instead of disappearing.since(): a message joined to more than one chat (an iMessage/SMS pair) comes back once.SystemRunnerdrains stderr on a thread while the child runs. A failure that writes more than the pipe buffer no longer stalls until the two-minute timeout. Stop condition: the thread ends when the pipe closes, after the child exits or is killed and reaped.... (-1743)) decides it, so a code quoted inside a chat id can't turninvalid_chatintonot_permitted.Left open in #32896, as design changes rather than fixes: paging messages by date instead of rowid, showing stickers and app messages, and live updates for edits and unsends.
Tests
Two commits: the failing tests first (the reader's 3 new tests red on Linux CI; the send tests are red by construction against the old code), then the fixes. Green: 13 reader and 7 send tests, clippy
-D warningsclean, rustfmt clean. The stderr test runs a realshchild that writes 300 KB to stderr.Agent session: agent session
🤖 Generated with Claude Code
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes review follow-ups from #32896 and #32923 in the Messages mirror reader and sender. The public API is unchanged.
Reader
item_typeandassociated_message_typecolumns now count as plain messages instead of disappearing.since()returns a message joined to more than one chat once.Sender
SystemRunnerdrains stderr on a thread while the child runs, so a failure writing past the pipe buffer no longer stalls until the two-minute timeout.invalid_chatintonot_permitted.Written for commit 8a80e42. Summary will update on new commits.