Repository navigation
feat(devices): opt-in encrypted LAN phone pairing (#2599) - #2600
Conversation
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
⛔ Files ignored due to path filters: 1
📒 Files selected for processing: 62
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Use an explicit OkHttp Dns implementation and match React DOM types to the installed Expo 58 / React 19.3 runtime. Issue: #2599 Agent-Task: codex/local/01a1639d-a211-7a30-a976-b6f6416ca9b1
|
Validation update for
|
Issue: #2599 Agent-Task: codex/local/01a1639d-a211-7a30-a976-b6f6416ca9b1
|
CLI qualification follow-up at The pairing process previously waited for approval without exposing its own public-key fingerprint. It now writes one public fingerprint status to stderr, while Red/green coverage at the CLI seam, 14 focused regressions, typecheck, lint and build passed. Both source reviewers found no remaining issue in the follow-up. Current-head CI is pending; native phone and Human acceptance remain separate queued gates. The queue and local explainer were updated to this head. The HTML remains local only. |
|
Android build qualification PASS — 2026-10-22: exact main
Both use Final strict post-CNG Android fingerprint, including the generated native directory: UNTESTED: installation/cold launch of these APKs, encrypted LAN pairing/offline Feed/DM/restart/revoke/disable, performance/FPS, screenshots and iOS. No app install, Host, Metro or phone UI/settings/pairing/reverse changes occurred. Only designated POCO Android 16/API36 identity/ABI/OS was read. Own processes/listeners were cleared and lease released at |
Refs #2599 · Parent #2598 · Agent claim
Task:
codex/local/01a1639d-a211-7a30-a976-b6f6416ca9b1Why the change
Let an installed phone pair with a computer over encrypted local Wi-Fi without a Connect account, Tailscale, certificates or a typed IP address.
Special things to note
013bf12abpassed all three full test shards and isolated Host smoke; current-head static checks, mobile verification, docs build and isolated DSH Host smoke passed; Android native module tests and full shards are still running (Doctor 20/20 locally; 14 CLI fingerprint follow-up regressions passed). The Windows full suite was not green; nine Marketplace cleanup failures also reproduce on the base revision.Change outline
The pairing CLI emits its locally derived public fingerprint once on stderr before approval;
devices.pendingKeys[].fingerprintenables an independent full comparison. Final stdout remains one JSON result. The integration test uses the real pairing database, restricted listener, encrypted gateway and mobile carrier to prove key approval, ciphertext transport and revocation; its upstream response is a fixture, not a real Host Feed or model reply. Android validates frame lengths before OkHttp allocation, including fragmented-message totals. Lifecycle logs carry initiator, phase, duration and coded refusal.UI evidence blocker and runnable review path: the shared device owner has not cut this native build into a batch; this task has not claimed a phone or QA Host. The queued runner builds this branch, starts the dedicated QA Host using
dev-instance.mjs, opens computer Devices, enables Local network access, scans from the installed phone’s Wi-Fi option, approves the exact phone key, verifies offline Host Feed, then separately verifies DM/reply, revocation and disablement. Capture matched base/head Devices and pairing chooser/scanner states in light/dark and the required text sizes; redact QR contents and private addresses. Feature journey · LAN contract