Repository navigation
Add stable server sorting and managed dialing policies - #230
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b8b2c3aa11
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
… dialing Upstream added a server sort order (default, name, latency) and a device-wide server dialing setting (Advanced → Xray): IPv4/IPv6 preference, Happy Eyeballs, and bootstrap DNS servers that resolve the nodes' own domains outside the tunnel. The default compiles to AsIs and changes nothing. Fork changes on top: - Dialing binds sockopt.interface only where the tunnel needs it (requiresInterface); upstream bound it in system proxy mode too. - Outbounds that dial loopback (minewire engines) are left alone: Windows refuses a loopback dial bound to the interface. - MinewireRuntime.applyTcpDns leaves the bootstrap resolvers on UDP; they go out direct. - The sort button sits next to the fork's search field. With dialing on, the bootstrap DNS lists the nodes' domains, so a node switch changes the DNS section and restarts the Core instead of switching live. It is opt-in; the default keeps live switching. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… unchecked Remnawave with a real panel, the v2rayN User-Agent on existing subscriptions, leastPing and DNS from YuanDevTeam#220, server dialing from YuanDevTeam#230, the live switch with mode checks, layout details and the release build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Keep server lists stable when latency measurements change, and add configurable address-family selection and Happy Eyeballs for App-managed connections.
Evidence
After: default ordering remains stable, and two consecutive dialing-setting reconnects in the same native process returned the expected HTTP response with Happy Eyeballs enabled and then disabled.
Merge Danger
Door: two-way
No database schema or backup-format migration. Device preferences remain local, and default dialing preserves the existing system-resolution path.
Blast Radius: connections
Changes shared server display ordering, managed connection compilation, and Android VPN socket protection. Explicit dialing settings also affect bootstrap DNS and physical endpoint resolution.