Skip to content

fix(desktop): separate LAN and Tailscale pairing endpoints - #217

Merged
leoisadev1 merged 2 commits into
mainfrom
fix/lan-tailscale-pairing
Sep 13, 2026
Merged

leoisadev1 merged 2 commits into
mainfrom
fix/lan-tailscale-pairing

Conversation

@leoisadev1

Copy link
Copy Markdown
Member

Problem

When Tailscale is enumerated before Wi-Fi, desktop pairing advertises the tailnet address as both Local network and Tailscale IP.

Fix

Automatic LAN discovery now skips tailnet addresses. Tailscale-only machines stay network-accessible, and explicit host overrides still win. The bootstrap warning for a missing LAN host only fires when exposure actually fell back to local-only.

Adaptation

Reviewed port of pingdotgg/t3code#9882. Hosted relay was not added.

Scope

This PR is pairing endpoint advertisement only. Cookie isolation is #208. SSH runner ownership is #215. Zed remote open is a separate PR.

Verification

  • vp test run apps/desktop/src/backend/DesktopServerExposure.test.ts: 10 passed, including Tailscale-first enumeration and Tailscale-only network-accessible hosts.
  • vp run --filter @t3tools/desktop typecheck exited 0.
  • Targeted lint reported no errors.

No live bot/group UI changed. Native two-device pairing over LAN and Tailscale was not exercised on this Linux host.

Implemented with Grok 4.6 High in Grok Build via Orca.

When Tailscale is enumerated before Wi-Fi, desktop pairing advertised the
tailnet address as both Local network and Tailscale. Automatic LAN discovery
now skips tailnet addresses while Tailscale-only machines stay
network-accessible.

Adapted from pingdotgg#9882.

Implemented with Grok 4.6 High in Grok Build via Orca.
@vercel

vercel Bot commented Sep 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
akeru-bot-landing Building Building Preview Sep 10, 2026 5:44pm UTC

Request Review

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S labels Sep 10, 2026
@greptile-apps

greptile-apps Bot commented Sep 10, 2026

Copy link
Copy Markdown

Greptile Summary

The PR separates automatically discovered LAN and Tailscale pairing endpoints while preserving network access on Tailscale-only machines.

  • Excludes Tailscale IPv4 addresses from automatic LAN-host selection.
  • Keeps Tailscale-only machines bound for network access and advertises their Tailscale endpoint independently.
  • Restricts the missing-LAN bootstrap warning to actual local-only fallback.
  • Adds focused coverage and documents the endpoint-selection behavior.

Confidence Score: 5/5

Safe to merge.

There are no accepted new findings or outstanding previous findings affecting merge safety.

Reviews (2): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile

@leoisadev1
leoisadev1 merged commit 76a0e32 into main Sep 13, 2026
11 checks passed
@leoisadev1
leoisadev1 deleted the fix/lan-tailscale-pairing branch September 13, 2026 23:27
This was referenced Sep 13, 2026

This branch was successfully deployed

1 active deployment
Preview 398e5776 Deployed Sep 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant