Repository navigation
feat(gamepad): add focus-isolated runtime and Paja support - #297
Merged
Merged
Conversation
Co-Authored-By: Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
dskvr
added a commit
that referenced
this pull request
Oct 31, 2026
…r ranges (#365) * fix(deps): admit @napplet/nap 0.35.x and core 0.36.x in published peer ranges The llm domain first ships in @napplet/core@0.35.0 / @napplet/nap@0.35.0, and @napplet/nap@0.35.1 requires @napplet/core@^0.36.0. The old <0.35.0 cap made npm ERESOLVE and pnpm warn for any llm install. Peers become core >=0.32.0 <0.37.0 and nap >=0.32.0 <0.36.0; development stays on the 0.32.0 baseline. Guards now assert per-package ranges and that every docs package page lists the published peer rows. Closes #364 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: sync published @napplet peer ranges and llm subpath availability Package pages and READMEs still listed the pre-#297 <0.33.0 peers, and the llm docs claimed no published nap ships the llm subpath. Record the new ranges, add the missing cli peer table, and note that the services mirror is structurally identical to the @napplet/nap@0.35.1 export. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(planning): record quick task 261031-l9b (#364 peer ranges) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Add the proposed GAMEPAD runtime boundary: one host reader, focus/visibility-scoped snapshots, immediate subscription state, connection updates, neutral timestamps/buttons/axes for other windows, unavailable reasons, and polling/rate/session cleanup. Paja/playground frames deny native gamepad/HID/USB access before execution. The injected API caches validated parent state and preserves null slots and independent listeners.
SHELL is optional in the living specification. Bind trusted creation identity and frozen grants independently of readiness, preserve integrator prebound sessions, and expose SHELL only when selected. Retain the handshake-domain compatibility export as an empty array. Peer ranges accept the published 0.32 baseline and coordinated core/NAP 0.34 set.
Validation: build/type tasks pass; full unit suite passes 2110 tests, with updated peer metadata guards separately checked. Chromium proves real native API denial, two-frame focus isolation, host/tab focus loss, and connection updates using canonical host test samples. Core/NAP 0.34 tarball matrix passes build/types and 2105 behavior tests; distribution-only assertions appropriately reject the temporary unpublished overrides. Those overrides were removed. Docs gate and slop 100/100 pass. Three pre-existing relay timing tests now use a controlled clock with real crypto and unchanged packet/deadline vectors.
Changesets prepare services/shell 0.24.0, runtime 0.24.1, Paja 0.21.0, CLI 0.5.5, and ACL/firewall compatibility metadata patches. Publish this package set before the napplet CLI release selects CLI 0.5.5; conformance screenshots consume Paja 0.21.0.
The optional native getGamepads replacement is deferred: GAMEPAD permits it while NIP-5D limits injection to window.napplet. Required domain support and native denial are implemented without that replacement. No fabricated gamepad capability, haptics, raw device handle, or new handshake.
Living sources: napplet/naps#108 (0b28f77) and nostr-protocol/nips#2303 (020cb8b), rechecked unchanged.
Coordinated consumer PRs: napplet/boilerplate#7, napplet/nappagochi#1, napplet/migrate#1, napplet/cvm#1, napplet/.github#1.