fix(preview): open local environment ports on localhost - #7300
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Approved 541e423 Straightforward bug fix that maps local loopback addresses (127.0.0.1, ::1) to 'localhost' for better Chromium dual-stack compatibility. Uses an existing utility function, limited to local development environments, and includes test coverage. You can customize Macroscope's approvability policy. Learn more. |
A Vite server bound to ::1 or 127.0.0.1 was advertised as that exact host, so a dual-stack Chromium guest often failed to load the other stack. Environment-port URLs now use localhost so the guest can reach either bind.
541e423 to
694d783
Compare
…quit shortcut, pingdotgg#7300 preview ports, pingdotgg#7385 GitHubPullRequestCli refactor
## What's Changed * refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli by @aoright in pingdotgg/t3code#7385 * fix(preview): open local environment ports on localhost by @gbarros-dev in pingdotgg/t3code#7300 * fix(desktop): prevent quit shortcut spillover by @Bil0000 in pingdotgg/t3code#7397 * fix(desktop): stop overwriting a custom dock icon on launch by @Rishet11 in pingdotgg/t3code#7125 **Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260818.1126...v0.0.34-nightly.20260818.1127 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260818.1127
(cherry picked from commit a87f691)
* test(web): remove duplicate lookup assertion (pingdotgg#7364) * fix(mobile): show structured input option descriptions (pingdotgg#7321) * fix(orchestration): do not revive idle tasks from status-free progress (pingdotgg#7172) * refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (pingdotgg#7385) Signed-off-by: aoright <102943475+aoright@users.noreply.github.com> * fix(preview): open local environment ports on localhost (pingdotgg#7300) * fix(desktop): prevent quit shortcut spillover (pingdotgg#7397) * fix(desktop): stop overwriting a custom dock icon on launch (pingdotgg#7125) * feat(web): show project location in new thread picker (pingdotgg#7392) Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> * fix(packaging): install AUR launcher icons where icon themes look (pingdotgg#7421) * fix(web): label pull request merge actions (pingdotgg#7381) * fix(server): avoid PRs inherited from default upstreams (pingdotgg#7317) * fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (pingdotgg#7437) * feat(desktop): mute a browser tab (pingdotgg#7252) * fix(web): improve disconnected composer placeholder (pingdotgg#7122) Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com> * fix(desktop): throttle hidden preview rendering (pingdotgg#7445) Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com> * fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (pingdotgg#7459) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> * fix(desktop): boot the main window unthrottled so cold start paints at full speed (pingdotgg#7460) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> * fix(threads): a merged PR settles its thread only once (pingdotgg#7454) * feat(cli): npx t3 triage hands broken installs to your own coding agent (pingdotgg#6563) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> * fix(marketing): Safari gets the arm64 Mac download (pingdotgg#7473) * feat(web): add shortcuts to the surface dropdown (pingdotgg#7318) * fix(marketing): never serve the Intel build to Apple Silicon Macs (pingdotgg#7477) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> * fix(web): animate command palette when closing (pingdotgg#5169) * fix(desktop): upgrade Clerk OAuth transport (pingdotgg#7479) * feat(server): run the background service on macOS via launchd (pingdotgg#6286) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> * fix(web): align sidebar statuses with project names (pingdotgg#7491) Co-authored-by: GPT-5.6 <noreply@openai.com> * fix(desktop): close the window before quit cleanup (pingdotgg#6562) * fix(desktop): stop automatic passkey prompts (pingdotgg#7522) * docs(user): document phoenix triage and macOS background service The 2026-08-19 upstream sync added the triage command with no docs/user entry, and the docs index still called the background service Linux-only after launchd support landed. Found by PR #61 code review. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Signed-off-by: aoright <102943475+aoright@users.noreply.github.com> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Nick Anisimov <n.anisimov.23@gmail.com> Co-authored-by: Maslin Edwin <maslinje@gmail.com> Co-authored-by: aoright <102943475+aoright@users.noreply.github.com> Co-authored-by: Guilherme Barros <gbarros1095@gmail.com> Co-authored-by: Bilal Bakr <62337003+Bil0000@users.noreply.github.com> Co-authored-by: Rishet11 <154429365+Rishet11@users.noreply.github.com> Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> Co-authored-by: Augie <augie@luebbers.email> Co-authored-by: Taras <Taras.Fomin@gmail.com> Co-authored-by: Gianmarco <gianmarcosimone89@gmail.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Chris Deeming <chris@xenforo.com> Co-authored-by: Inaya Yousfi <zied.essaber@gmail.com> Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Rakshith Bhat <88523594+RakshithBhat03@users.noreply.github.com> Co-authored-by: GPT-5.6 <noreply@openai.com>
A Vite server bound to
::1or127.0.0.1was advertised as that exact host. A dual-stack Chromium guest often failed to load the other stack.Environment-port URLs now resolve to
localhostso the guest can reach either bind.Split out of closed #7127.
Tests:
vp test run apps/web/src/browser/browserTargetResolver.test.tsImplemented with Grok 4.6 through Grok CLI.
Note
Low Risk
Small, localized change to preview URL resolution for local dev; no auth or data-path impact.
Overview
Environment-port preview URLs for loopback-backed environments (
127.0.0.1,::1, etc.) now resolve tohttp://localhost:<port>/...instead of keeping the literal loopback host inresolvedUrl.In
resolveEnvironmentPortTarget, loopback detection viaisLocalLoopbackHostdrives that host rewrite so Chromium’s dual-stack resolution can reach dev servers bound only on::1or127.0.0.1. Remote private hosts (e.g. Tailscale/LAN) are unchanged.Tests expect
localhostfor IPv6::1and IPv4127.0.0.1environment bases, including paths.Reviewed by Cursor Bugbot for commit 694d783. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Fix local environment ports to resolve to
localhostinstead of loopback IPIn
resolveEnvironmentPortTarget, when the environment host is a loopback address (e.g.127.0.0.1or::1), the resolved URL now useslocalhostas the host. Previously, the literal loopback address was used, which could cause issues with dual-stack environments. Behavioral Change: loopback-hosted environments that previously resolved tohttp://127.0.0.1:<port>/...orhttp://[::1]:<port>/...now resolve tohttp://localhost:<port>/....Macroscope summarized 694d783.