fix(server): open the IPv4 loopback the server binds (Windows IPv6 fix)#15
Open
urbanlama wants to merge 1 commit into
Open
fix(server): open the IPv4 loopback the server binds (Windows IPv6 fix)#15urbanlama wants to merge 1 commit into
urbanlama wants to merge 1 commit into
Conversation
The dashboard server binds 127.0.0.1 (IPv4 loopback only, by design) but opened/reported http://localhost:<port>. On Windows `localhost` resolves to ::1 (IPv6) first, where nothing listens, so the browser hangs in SYN_SENT and the dashboard "almost never" opens when launched from the widget. Single-source the loopback host (DASHBOARD_HOST) for both the bind hostname and the opened URL so they can never drift again, and expose the resolved URL on ServerHandle so callers stop reconstructing it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.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 dashboard server binds
127.0.0.1(IPv4 loopback only, by design —/api/datais unauthenticated) but opened/reportedhttp://localhost:<port>. On Windowslocalhostresolves to::1(IPv6) first, where nothing listens, so the browser hangs inSYN_SENTand the dashboard "almost never" opens when launched from the widget.Fix
DASHBOARD_HOST) for both the bind hostname and the opened URL, so they can never drift again.urlonServerHandleso callers stop reconstructing it from a host string (that reconstruction was the bug).127.0.0.1literal and is actually reachable (HTTP 200).Test plan
npm run test— newsrc/server.test.tsguards the regression🤖 Generated with Claude Code
@