feat: control PC scanning through forwarding - #167
Merged
Merged
Conversation
enaboapps
marked this pull request as ready for review
September 13, 2026 18:44
This was referenced Sep 13, 2026
Closed
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.
Adds capability-negotiated Switchify scanning profiles to Forwarding. PC-configured switch slots use the existing Android bridge. Cancelled/replaced presses and safety stops never send a selecting release; scanning profiles require explicit restart and acknowledged edges. Older PCs keep existing catalog requests and ordinary forwarding profiles.
Queued edges are attempt-scoped, restart waits for previous cleanup, and each sync snapshots held state at enqueue time. Deferred-acknowledgement regression tests cover cancellation and sync ordering.
Closes #166. Companion PC PR: switchifyapp/switchify-pc#750.
Validation: npm run validate passed on Node 24, including lint, TypeScript, 593 tests and all 21 Expo Doctor checks after installing the existing lockfile. Independent review of latest head efffa02 found no actionable issues after ordering fixes. All latest-head CI checks passed, including validate and Android/iOS native-project builds. Accessibility, protocol and physical-smoke docs updated.
Physical end-to-end Android/PC validation remains outstanding. Only the main Switchify app is installed on the available emulator. Native configuration and release versions are unchanged. This PR remains draft as required by this repository's handoff guidance.