Skip to content

feat(firefox): add JSPI live terminal stdin - #56

Merged
kbuffardi merged 1 commit into
mainfrom
feature/firefox-jspi-stdin
Aug 1, 2026
Merged

feat(firefox): add JSPI live terminal stdin#56
kbuffardi merged 1 commit into
mainfrom
feature/firefox-jspi-stdin

Conversation

@kbuffardi

@kbuffardi kbuffardi commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • add Firefox 153+ live, line-buffered terminal stdin through WebAssembly JSPI
  • negotiate JSPI from the compiler worker and route session-scoped stdin data and EOF messages
  • preserve the existing Chromium SharedArrayBuffer/Atomics path as the first transport
  • retain the pre-supplied buffered fallback for Firefox 140-152 and runtimes without JSPI
  • document manual Firefox runtime acceptance; persistent folder write-back remains out of scope

Verification

Passed:

  • npm ci
  • npm run fetch-clang
  • npm run lint
  • npm run build
  • npm run test:e2e (177 tests)
  • npm run test:preflight-clang
  • npm run test:browser:firefox (0 errors; 15 existing web-ext warnings)
  • npm run version:check
  • npm run release:check-version

Inconclusive/manual:

  • npm run test:browser:chrome passed preflight but the browser smoke produced no completion or diagnostic after an extended wait and was terminated
  • real Firefox 153+ extension execution is not covered by the packaging smoke; follow docs/firefox-stdin-runtime-acceptance.md before release

Scope

Persistent Firefox folder write-back and directory-handle restoration are intentionally unchanged.

Closes #55

Requested by @kbuffardi: "implement this plan and raise a pr"

Implemented by Codex (GPT-5).

Add a session-scoped message stdin transport for Firefox 153+ and suspend WASI reads through WebAssembly JSPI. Keep Chromium on the existing SharedArrayBuffer path and retain buffered input when JSPI is unavailable.\n\nExpand contract, runtime, UI, compatibility, and release coverage for issue #55.
@kbuffardi
kbuffardi marked this pull request as draft July 31, 2026 22:18
@kbuffardi
kbuffardi marked this pull request as ready for review August 1, 2026 03:19
@kbuffardi
kbuffardi merged commit 1d7bdb4 into main Aug 1, 2026
2 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.

feat(firefox): add JSPI live terminal stdin on Firefox 153+

1 participant