Repository navigation
Quitting right after work saves quietly and never branches bookkeeping - #2001
Merged
Merged
Conversation
A quit straight after a finished task could report "could not save", leave its hold behind and make the other computer see this one as offline. The drive's closing step cancelled a publish the relay had already accepted, then retried it with the old head and got a conflict from itself. Close now joins the publish in flight, publishes the newest head, and releases. The saving wait also stopped at the ordinary ten-second call deadline while saying "up to 30s", so a save that went on to succeed was reported as failed. Close and detach now use the shared saving bound, and a reply that never came says the save is still finishing rather than that it failed. Each launch sealed an empty turn onto the chat, even one held elsewhere, and a later take turned those turns plus late cost records into a branch chat nobody typed. A launch no longer seals an empty turn, a viewer never seals, and accounting-only history is adopted on a take instead of kept as edits. A removed computer's quit saves locally and prints nothing. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
AbirAbbas
marked this pull request as ready for review
October 27, 2026 14:45
The quit's finishing flag was set and read under a lock released by hand, which turns an absorbed panic into a deadlock. Both now go through small helpers that unlock from a defer, as the rest of this file does. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
The last real PC + Mac round (round 11, published dev build
dev-20261027-644a38e6b403) passed every step except one: quitting codeaf right after a background task finished.What was wrong
/quitright after a task printedcodeaf could not save this chat …, left the hold behind, and the other computer saw this one as offline. The drive's closing step cancelled a publish the relay had already accepted, then retried it with the old head and conflicted with itself (409).up to 30s. The close and detach calls used the ordinary 10 s call deadline, and the save then succeeded after the failure had been printed.… 1 turn · <computer>on the other computer's Home).What changes
Proof
Hosted-path tests through the real engine host and native engine, one per behaviour. Each fails on
644a38e6band passes here. A PC + Mac round on this branch follows before merge.🤖 Generated with Claude Code