Connect Chrome extension to desktop VAV’s built-in daemon - #30
Merged
Conversation
Desktop now starts the loopback web bridge on the embedded daemon (and in-process when there is no child). The side panel auto-discovers it, and a pasted Connect URI or local http/ws URL attaches to the same secret. Co-authored-by: Oboo Cheng <oboochin@gmail.com>
…dge. Electron e2e now boots with VAVD_SPAWN, waits for /discover on 4752–4762, and completes a phone hello over /vav. Co-authored-by: Oboo Cheng <oboochin@gmail.com>
Desktop 1.19.0 users open the app, then the side panel — or paste the Connect vav-daemon:// line. Cover both against a desktop-style spawned vavd (web on 4752) through a real Chrome extension turn. Co-authored-by: Oboo Cheng <oboochin@gmail.com>
runtime.onMessage ignored type=pair, so pasted Connect lines never reached the service worker. Accept that message, take the host name from welcome, and assert auto-discover plus vav-daemon:// paste against a uniquely named desktop-style vavd. Co-authored-by: Oboo Cheng <oboochin@gmail.com>
Obooman
marked this pull request as ready for review
September 6, 2026 04:18
Keep the phone-ui side panel from main. Keep this branch’s desktop-daemon pairing tests, now using the shared 420×800 launch helper and desktop session layout assertion. Co-authored-by: Oboo Cheng <oboochin@gmail.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.
Problem
The Chrome extension looked for standalone
vavdon127.0.0.1:4752. Desktop VAV 1.19.0 already embedsvavd, but spawned it with--no-web, so auto-discover failed. Pasting a Connectvav-daemon://…line or anhttp://URL also failed: the extension treated URLs as secrets and still required/discover.Change
/discover+ws://…/vav) on the embedded daemon — same secret as Connect.--no-vavd/ e2e), it starts the same bridge on the in-process hub.npx vavd.vav-daemon://…,http(s)://…, andws(s)://…, then attaches even if scan missed the port.runtime.onMessagenow handlespair(side panel port already did).Tests
vav-daemon://, http/ws, raw secret) — CIspawnLocalVavd({ noWeb: false })serves/discover— CIvav-daemon://paste each complete a stub turntest:e2e:vavdpassedCI: macos-14 and windows-latest green on
842539d.You need a desktop build from this branch (released 1.19.0 still starts
--no-web). After that, open VAV, then the extension — no separatevavd.