Skip to content

Keep the IndexedDB bootstrap below the MSVC literal limit #301

Description

@wieslawsoltes

Parent capability: #56
Release epic: #227

Reproduction

The required Windows x64 runtime-package job fails on current main 70a2db4c in run 35254142552, job 105313709988:

webscene_indexeddb_compatibility.h(431,1): error C2026: string too big, trailing characters truncated

The same error predates #298 and reproduces in the PR #300 post-merge run 35252631301. #298's new FetchEvent bootstrap no longer emits its former C2026 after being split; the remaining diagnostic names only the IndexedDB bootstrap.

Required fix

  • Preserve the IndexedDB JavaScript source byte-for-byte while representing it as bounded compile-time parts below MSVC's literal limit.
  • Join parts once per realm without changing evaluation order, source URL, errors, or storage semantics.
  • Extend the fail-closed bootstrap extractor/portability contract so no generated or handwritten native bootstrap can silently exceed the MSVC bound again.
  • Do not weaken the runtime-package job or disable IndexedDB on Windows.

Acceptance

  • Exact source length and SHA-256 match before/after the representation change.
  • Portable bootstrap contract and native IndexedDB contracts pass.
  • Windows x64 runtime-package compile advances past webscene_indexeddb_compatibility.h; no C2026 remains in the exact job log.
  • Existing macOS/Linux IndexedDB open/upgrade/transaction/restart gates remain unchanged.
  • Record compile/runtime cost and prove no retained allocation across repeated realm creation/teardown.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingvscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions