Skip to content

Split IndexedDB bootstrap below the MSVC literal limit - #307

Merged
wieslawsoltes merged 1 commit into
mainfrom
fix/indexeddb-bootstrap-literal-301
Sep 17, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
fix/indexeddb-bootstrap-literal-301

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Problem

The IndexedDB compatibility bootstrap is one 19,859-byte raw C++ literal. MSVC rejects individual string-literal tokens above its C2026 limit, which breaks the Windows native package before any IndexedDB tests can run.

Change

  • split the bootstrap at an existing JavaScript boundary into 7,963-byte and 11,896-byte adjacent raw literal tokens
  • retain the compiled std::string_view byte-for-byte
  • extend the portable bootstrap regression to enforce the per-token limit and the complete-source SHA-256
  • preserve the service-worker literal contract added by the preceding Stream and cache admitted Code OSS webview resources #266 stack

Validation

  • Windows 11 ARM64 VM, Visual Studio 2026 Build Tools MSVC: /std:c++20 /W4 /WX header compile passed with the exact header blob in this rebased commit
  • bootstrap literal contracts: 3/3 passed
  • extracted IndexedDB JavaScript: Node syntax check passed
  • AppleClang strict header compile and 19,859-byte static assertion passed
  • exact full-source SHA-256 remains a3c907644e9b6c9d63eddfbd6a591802e99bbd3249a3b1437788ce4eb1c73b64
  • git diff --check

This fixes the independent Windows C2026 package failure and does not change IndexedDB behavior.

Closes #301

@wieslawsoltes
wieslawsoltes merged commit a7af5e6 into main Sep 17, 2026
4 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Keep the IndexedDB bootstrap below the MSVC literal limit

1 participant