-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Persist profile state in SQLite with a durable background writer #22612
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
Merged
+41,284
−3,479
Merged
Changes from all commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
ff494c6
Replace profile JSON persistence with a SQLite authority
95f5e46
Reduce SQLite profile allocations and write only transferred domains
a29e17b
Accelerate large profile recovery copies on macOS
dbb154e
Remove duplicate profile checkpoint work and batch recovery copies
96a793c
Persist live profile SQLite state in a dedicated worker
64e8b86
Harden profile restart and protected-setting persistence
5a0445b
Harden profile migration and rollback while simplifying persistence l…
1c058af
Finish SQLite recovery startup and base PR regression coverage
814cd95
Fix SSH output routing across durable reconnect binding
831e444
Retire durable bindings for terminals that exit during spawn
a2aab44
Keep successful spawn publication synchronous
2c4961f
Retain database and startup evidence for crash restart failures
eb030ed
Persist terminal activity before acknowledging a pane binding
c0a762c
Keep crash hydration regression outside renderer compilation
c977d29
fix: fence pending profile retirement and recovery work
f7540ca
test: use portable CLI source paths
82a12f9
refactor: reuse profile recovery and settings validation
bbc581e
fix: drain admitted terminal mutations and restore failed retirements
1312d98
refactor: simplify deployment command forwarding
e5319cf
fix: recover profile maintenance and preserve shutdown compatibility
f46d73a
fix: await durable automation writes before dispatch and acknowledgement
9512a92
fix: reconcile manual automation requests interrupted before launch
c6dc315
fix: keep profile saving active after terminal close refusals
ab7db3b
test: remove compatibility exports after clean profile shutdown
c277cda
test: observe SQLite authority in restart and startup journeys
d40b7b8
Coalesce queued profile durability snapshots
4248fee
Keep profile writer usable after export preparation failures
01ea72a
fix: preserve getter edits across coalesced profile flushes
b394819
fix: preserve profile saving through cancellation and recovery failures
b94142b
fix: keep cloned host identities from reclaiming live profile owners
59bae52
test: await durable state in pane restart integration
18f1c41
fix: show Linux startup failures after Electron is ready
9325aa1
fix: require live orphan evidence before adopting a terminal
6924559
test: close heartbeat clients before removing browser globals
5ceeae4
test: distinguish transient relay descriptors from accumulation
92b1ded
fix: withhold orphan claims until terminal spawn admission settles
0013333
test: wait for terminal mount before synthetic background events
8cfb592
fix: route SSH reconnects after early connect replies
5f0ee15
fix: preserve profile saving and terminal ownership through recovery
19057c7
test: qualify persistence fixes independently of Bun
7034db2
fix: preserve live terminals through failed binding saves
ca8620e
refactor(persistence): simplify store setup and name flush policies
80e8a86
test(e2e): retry collected startup evaluation promises
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
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
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.