Add durable IndexedDB storage for Code OSS browser profiles - #94
Merged
Merged
Conversation
Open
4 tasks
Collaborator
Author
|
Packaged Code OSS host verification is now green against the consolidated runtime containing this PR (
The host change is app-specific configuration only. It does not modify VS Code OSS or add a storage shim. Compact |
wieslawsoltes
force-pushed
the
feature/code-oss-indexeddb-persistence
branch
from
September 16, 2026 22:49
2b4d80b to
6355b23
Compare
wieslawsoltes
changed the base branch from
feature/code-oss-browser-compatibility
to
main
September 16, 2026 22:49
wieslawsoltes
marked this pull request as ready for review
September 16, 2026 22:49
wieslawsoltes
force-pushed
the
feature/code-oss-indexeddb-persistence
branch
from
September 16, 2026 22:51
6355b23 to
76282b7
Compare
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.
Code OSS falls back to in-memory user data when the native runtime has no IndexedDB implementation. This adds a host-configured durable storage subset with stable loopback profile identity, asynchronous atomic revisioned commits, quota and corruption errors, transaction rollback, cursor support, and the open/upgrade/versionchange flow used by the three VS Code web-state databases.
The change is reconstructed directly on current
mainat649c2b63(including the Web Crypto stack merged at1c18c70c) and retains the focused Code OSS-compatible slice. It does not include the consolidation branch from #76.The host supplies a private storage directory, stable application/profile partition key, and quota through Avalonia or Uno options. Storage remains absent unless the host opts in and the component manifest declares
storage.indexeddb; an unavailable durable backend is never presented as a successful in-memory implementation.Validation on macOS arm64 with pinned V8 15.3.10:
webscene_indexeddb_storage_testsandwebscene_native_indexeddb_contract: 2/2 passed against the linked current runtime.This advances #56. That issue remains open for durable Blob/File MIME and prototype restoration; indexes, key paths, key generators, and
IDBKeyRange; reverse and mutating cursors; complete transaction active-window semantics; broader cross-realm/process upgrade coordination; released-RID and Native AOT qualification; and packaged Frameforge media/project relaunch acceptance.