Repository navigation
fix: tell a teammate's browser whose host it opened instead of reconnecting forever - #660
Merged
Merged
Conversation
…ecting forever Why: apps/host/src/gateway.ts#function team | a plain GET to /ws without an upgrade is the app asking why its socket was refused; it must get the browser's answer (403 naming the owner for a teammate), never be treated as a peer
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.
A browser signed in as someone other than the host's owner now reads "This is 's host. Open Ace from your own host." instead of "Disconnected from your host. Reconnecting…" forever.
The app already asks the host over plain HTTP why its socket was refused (a browser hides a WebSocket's status). On the team listener that request has no Origin and no upgrade, so it was treated as a peer socket and got
400 Upgrade failed— the 400 seen in the pair study's console. Now a non-upgrade request to/wsis answered as a browser: a teammate gets the 403, which names the host's owner, and the app shows its text.Fixes #630
Map: ^798 (https://ace-map.iamnbutler.pages.nexthub.sh/devices.html#798)
Smoke: own
ACE_HOMEhost on port 4951 run withACE_USER=teammate-w5, opened from headless Chrome over the tailnet name. The banner reads "This is teammate-w5's host. Open Ace from your own host." The same host run as the real owner still connects and shows Welcome to Ace.Built in Ace
No. Made from Claude Code (fix-train worker), with headless Chrome for the browser smoke. Dogfooding gaps are tracked in #5.