Skip to content

feat(symbian): package private mass-storage data - #186

Merged
doodlewind merged 1 commit into
mainfrom
feat/symbian-mass-storage-data
Jul 25, 2026
Merged

feat(symbian): package private mass-storage data#186
doodlewind merged 1 commit into
mainfrom
feat/symbian-mass-storage-data

Conversation

@doodlewind

Copy link
Copy Markdown
Collaborator

What changed

  • add --mass-storage-data-root <dir> for application-specific Symbian cores
  • stage a deterministic regular-file tree inside the serialized build transaction
  • reject symlinks, unsafe paths, case-insensitive collisions, special files, empty trees, and canonical source/payload overlap
  • revalidate the exact file set, byte counts, and SHA-256 digests in the offline container
  • install data to E:\private\<UID>\data\<relative> and record {path, bytes, sha256} in receipt schema 3
  • document the custom-core boundary and include the new hermetic tests in the governed test command

Why

Large native assets must not be embedded in app.pak: the Symbian host and QuickJS can otherwise duplicate the full pack in the E7's small process heap. This gives custom native cores a generic, receipt-pinned data channel while keeping the stock runtime and launcher contracts unchanged.

Impact

Existing apps continue to receive an empty data array. Only callers that explicitly combine --core-library with --mass-storage-data-root install external files, and the native core remains responsible for opening them.

Validation

  • bun node_modules/typescript/bin/tsc --noEmit
  • bash -n tools/symbian/container/pocketjs-symbian-build-app
  • bun test tests/symbian-data.test.ts — 3/3
  • bun test tests/symbian-runtime.test.ts — 13/13
  • bun test tests/symbian-toolchain.test.ts --test-name-pattern '^(?!.*CODA launch wire)' — 13/13
  • bun test tests/npm-package.test.ts — 3/3
  • git diff --check

The excluded existing CODA launch fixture is locally blocked before test logic because endpoint security stalls its compiled executable in dyld; the mass-storage patch does not touch CODA.

@doodlewind
doodlewind marked this pull request as ready for review July 25, 2026 23:46
@doodlewind
doodlewind merged commit f9a721f into main Jul 25, 2026
@doodlewind
doodlewind deleted the feat/symbian-mass-storage-data branch July 25, 2026 23:46
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.

1 participant