[Bug] B11: Companion app — 'open in external browser' apps don't work #18
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Apps meant to open in a new/external browser don't launch from the companion app; need the phone-default-browser request-modal pattern mobile apps use.
Tracked in repo: tests/production-quality/TRACKER.md
Implemented across the stack (live pairing test pending).
The relay was one-way (Android companion → kiosk browser), so an "open external" app's
window.openlanded on the kiosk where the phone never saw it. Added a reverse hop:external_open_txbroadcast channel. The kiosk publishes{"t":"o","url":"https://…"}on its/ws/remote-relaysocket; the server validates the URL (http/https only, ≤2048 chars — rejectsjavascript:/file:) and forwards it to the companion's/ws/remote-inputsocket.remote-relay.tsexposesrequestExternalOpen(url);appLauncher.tsroutes all four external-open sites through it — when a companion is active the URL goes to the phone, otherwise it opens locally as before.InputWebSocket.ktnow parses the inbound{"t":"o","url"}andRemoteInputScreen.ktlaunches it via anACTION_VIEWintent in the phone's default browser.Rust
cargo check+ frontendvue-tscpass. The Android module wasn't built here (no SDK in this env) — the Kotlin change is small and mirrors the existingopenExternalUrlintent pattern. Live test: pair a phone, tap an "open external" app from the companion, confirm it opens on the phone.