feat(android): QR pairing — scan, deep link, one-step auto-login
Companion side of docs/companion-pairing-qr.md (v1 contract): - Connect screen lands on Scan Node's QR / Enter Manually; NESMenu gains an add-server-by-QR icon button - QrScannerOverlay: CameraX + ZXing core (pinned, on-device, no ML Kit) - ServerQrParser: archipelago://pair?v=1&url=..[&pw=..]; unknown major v -> 'update the app'; upsert by origin so re-scans never duplicate - archipelago:// deep link registered (singleTask + onNewIntent) for the modal's 'Open in companion app' button - WebView auto-fills and submits Login.vue's password form when a stored password exists — demo QR is one step to a logged-in session - Web modal + handoff doc copy synced to the real label: Scan Node's QR - v0.4.13 (versionCode 17) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -42,9 +42,9 @@ Examples the web UI actually emits:
|
||||
|
||||
## Companion app requirements
|
||||
|
||||
1. **Scan entry point:** a "Scan node code" action (screen-2 copy in the web UI
|
||||
says: *"In the companion app, choose 'Scan node code' and point your phone
|
||||
here"* — keep that wording or tell me the real label so I update the modal).
|
||||
1. **Scan entry point:** the app's action is labeled **"Scan Node's QR"**
|
||||
(implemented 2026-07-17; the modal copy in CompanionIntroOverlay.vue was
|
||||
updated to match).
|
||||
2. **Parse the URI** (from camera scan AND from an OS deep-link intent —
|
||||
register the `archipelago://` scheme so the "Open in companion app" button on
|
||||
phones works).
|
||||
|
||||
Reference in New Issue
Block a user