-
Notifications
You must be signed in to change notification settings - Fork 2.2k
fix: one crash-safe owner for durable state writes #2035
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from 17 commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
81910f9
feat: one crash-safe owner for durable state writes
snimu 1884b9d
fix: settings first-write races and auth-migration ordering
snimu fbe6ec4
fix: rename-based bootstrap lock via one shared dir-lock helper
snimu 6fae8af
fix: repair crash-damaged session files at open
snimu 13b7ebe
fix: session leases survive Windows errnos and unreadable owners
snimu 8818734
fix: atomic harness-state saves in the Python runtime
snimu bbac378
fix: harden the atomic-write owner per review
snimu c734fd3
test: pin symlink-alias repair with preserved mode
snimu 382f1a0
fix: close round-two persistence gaps
snimu 2974016
fix: strict pid parse in the dir-lock owner check
snimu 4184a03
docs: state the fully-formed lock-publish invariant
snimu 3278cd3
style(coding-agent): fix test indentation
snimu 79ba09b
Merge remote-tracking branch 'origin/main' into fix/atomic-persistenc…
snimu 99549de
fix: link-published lock file, suspicion-gated repair, symlink write …
snimu 0306213
fix: lock hygiene - unreadable owners, cleanup masking, moved-entry type
snimu bbb08a2
fix: sweep abandoned lock candidates on acquire
snimu b4ac0f2
chore: dedupe two literal comment pairs
snimu 3abb3d9
fix: restore no-silent-catch comments and survive a swept candidate
snimu f9a2dd1
fix: end the error-collapse class in the lock probes
snimu db23008
fix: symlink parity for the settings cleanup and dangling aliases
snimu 6748a9d
fix: immutable inode identity for the lock reclaim
snimu 107e90f
fix: pid-reuse pin and physical-parent resolution for dangling links
snimu 2a57e9e
fix: restore by the moved entry's own shape; lost-reply falls to verify
snimu 7637cc5
fix: link-only restore for unreadable shapes; fd-pin the judged inode
snimu a63c81a
fix: umask-proof auth init, blank-tail gate, dangling migration target
snimu f0f02d2
refactor: consolidate pins and tighten comments
snimu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| - Made every durable JSON/JSONL state write crash-safe through one shared atomic-write owner (temp file + rename, Windows rename retry): auth.json is no longer written in place (an interrupted write can no longer log you out everywhere), the auth migration writes its destination before destroying its sources, racing first-time settings writers no longer silently discard each other, and the kernel bootstrap lock can no longer be stolen mid-reclaim. Session files now repair crash damage (torn tails, zero-filled records) at open instead of silently losing the next message, and a session lease whose owner file is momentarily unreadable is no longer treated as stale and destroyed. | ||
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.