Repository navigation
fix(storage): prevent workspace data loss (#244) - #248
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Deploying markdownviewer with
|
| Latest commit: |
e9f7078
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://886b02cc.markdownviewer.pages.dev |
| Branch Preview URL: | https://fix-issue-244-data-loss.markdownviewer.pages.dev |
Closed
This branch was successfully deployed
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.
Fixes #244. cc @changbb.
Root cause
The confirmed losses came from treating stale or failed snapshots as authoritative: full-workspace writers inferred deletions, startup read failures could become an empty workspace, and normal/Secret metadata and content lacked revisioned atomicity. The post-fix audit also found desktop writes that could finish before their index transaction, collision-prone paths, silently skipped corrupt Secret records, and initialization waits that could make saved data inaccessible.
Changes
Verification
Verdict
SAFE WITH LIMITATIONS. No reproducible current application workflow was found that silently loses committed data after these fixes. Browser/site-data deletion, total device or storage loss, a hard crash before any asynchronous journal commit, intentionally ephemeral Private Mode edits, loss of a Secret Workspace key, and the intentional 30-day Trash expiry remain outside what the application can fully prevent.