Repository navigation
NEXT iOS: keep offline agent drafts with Retry - #27304
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-0f809599a55c277b10d7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-0f809599a55c277b10d7
|
Found 1 test failure on Blacksmith runners: Failure
|
|
Bead |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-0f809599a55c277b10d7
|
Fleet iOS receipts for head Compile: passes. Demo simulator app Tests (full CmuxMobileKit suite on the simulator): 1399 passed, 1 failed, 1 skipped (227 s, exit 65).
Screenshots (
Before: the prompt is sent into the void. The composer clears, and the generic "Claude is on Mac. Connect to it to see this chat." error appears with no retry. After: the text comes back to the composer with "Mac offline. Not sent." and Retry, and the send button is live. No transcript turn is created in either case. Captured over SSH on a fleet simulator Mac (iPhone 17 Pro, iOS 26.5), because the fleet step route can't run scene captures today. Agent session: agent session |
|
release-notary / Guard status fail the same way on base and are listed as non-blocking base reds, so no per-assertion evidence is needed. The failure is in highlight docs this PR doesn't touch (computer-use-live-preview.md, computer-use-target-guard.md). With the exact-head SHIP and the focused suites green, this lands. |
|
Focused fleet tests at 2896c7e: 33 passed, 0 failed. Step The ref was
The compile and the before/after captures at this head are in #27304 (comment). Agent session: agent session |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-0f809599a55c277b10d7
|
Final-head validation request: e3d7acd incorporates base 299ebaa. The sole conflict retains the preference-aware cmuxMobileSensoryFeedback modifier and the offline Retry handler. Please run the simulator compile and focused DisconnectedAgentSourceTests, PromptResendTests, and WorkspaceTabsSourceTests at this head. Previous head passed all 33 focused tests; screenshots remain representative. Independent review is being retried after its process exited without a verdict. The internal message relay currently refuses delivery, so this request records the remaining work here. |
|
Review (codex-review-box/gpt-6-astra high, lane-place): SHIP at e3d7acd SHIP No blocking findings. Reviewed the diff and surrounding send, draft-restoration, and retry paths. Swift tests could not run because Swift is unavailable in this box. |
|
Simulator failures in run 40960222486 at e3d7acd are all MacHomeFeedTests, each |
|
Review (codex-review-box/gpt-6-astra high, lane-place): SHIP at e3d7acd SHIP No blocking findings. Tests could not be run because the box has no Swift toolchain. |
|
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)
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by |
Fleet iOS evidence at e3d7acd (base 299ebaa)The GitHub kit job 123750745721 exited 65 with no crash. It had 8 failures in suites this PR does not touch (the PR changes only CmuxMobileAgentChat, DemoDriver and AgentMockRemovalTests):
Focused fleet reruns on iPhone 17 Pro, iOS 26.5, Xcode 26.6:
Both suites pass at head and base, so they are timing flakes under load (MacHomeFeedTests is the known flake from #27286), not this PR's reds. No other check failed. The exact-head SHIP is #27304 (comment). Landing next, pinned to e3d7acd. |
|
The GitHub kit reds at e3d7acd are not this PR's own. One focused fleet run, head vs base
The full kit job (run 40960222486, job 123750745721) failed 8 tests. None of them crashed.
All eight pass on the fleet at both head and base, and the PR doesn't touch either suite. The same MacHomeFeedTests failures also show up on GitHub for unrelated PRs (#27286, #27300, #27295), so they're runner timing flakes. Agent session: agent session |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40993667266 at f809a7a failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40993775806 at a90490c failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
Shipped in:
|
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)




Sending an agent-chat prompt with no Mac connection now returns the text and attachments to the composer and shows “Mac offline. Not sent.” with Retry. Retry uses the normal composer send path, preserving queue/steer behavior and prompt deduplication. Other errors remain dismissible.
Leo’s request:
Addresses B2 and the offline-send part of C4. Chief and the upstream shared packages are unchanged. Risk: the retry action reuses the existing send and returned-draft handling; failed sends never create a transcript turn.
Validation at
2896c7ef7e14eb442f8d0904246f612985a7e9f0: fleet simulator compile and launch pass, independent SHIP, and 33 focused tests pass: DisconnectedAgentSourceTests 3/0, PromptResendTests 5/0, WorkspaceTabsSourceTests 25/0. This reruns the workspace assertion from the original full-kit failure; it is not excused as a base red.Updated head
e3d7acdfd7989932d67fc44efdc95c1ae0a5c8f9incorporates base299ebaa7980c. The sole conflict was the composer's haptic modifier: retained the preference-awarecmuxMobileSensoryFeedbackand the Retry handler. New focused fleet validation and independent review are pending at this head. The product diff remains six files and passesgit diff --checkagainst the updated base.Screenshots use
-cmux-mobile-demo offline-send. Before is baseba6bbf43e28b3d49f431d9438855650c90089347with only the DEBUG demo hooks; after is2896c7ef7e14. The subsequent base update preserves this UI. Capture method and fleet receipts.Apple HIG consulted: Feedback, keeping actionable failure feedback next to the composer. The SwiftUI Retry observation lives with the composer and is removed when the view disappears. The DEBUG demo task sends once and finishes; SwiftUI cancels it if the view disappears. No new timer or animation loop.
Agent session: agent session
🤖 Generated with Claude Code