Skip to content

Show this machine in the Tailscale machines list - #11706

Open
elpargo wants to merge 1 commit into
omacom:quattrofrom
elpargo:tailscale-show-this-machine
Open

elpargo wants to merge 1 commit into
omacom:quattrofrom
elpargo:tailscale-show-this-machine

Conversation

@elpargo

@elpargo elpargo commented Sep 13, 2026

Copy link
Copy Markdown

Summary

The Tailscale panel has no way to see or copy this machine's own IP. The machines list only shows peers, and the header shows just the hostname.

Before the panel rewrite in 67dd7a2, the old widget showed this machine's IP in its tooltip and header subtitle. The rewrite dropped both. selfIp is still parsed and asserted in tailscale-test.sh, but nothing renders it.

This lists this machine first in MACHINES, the way the macOS Tailscale menu does:

  • Built from Self with the same peerFromStatus() as peers, so it gets the OS icon, IPv4, IPv6 and DNS name
  • Subtitle reads this device · 100.x.y.z · host.tailnet.ts.net
  • The existing copy button, copy menu and c / n / d shortcuts work on it unchanged
  • No send button, since Taildrop can't target the sending machine (canSendFiles returns false for self)

peers itself is unchanged. The panel prepends self through a displayPeers binding, so exit nodes, peer counts and Taildrop target grading are not affected.

Tests

  • test/shell.d/tailscale-test.sh: new assertions that self is parsed with a copyable IP and DNS name, treated as online, kept out of peers, listed first by the panel, and excluded from Taildrop. All pass.
  • ./test/all: test/cli passes. In test/shell, the remaining failures are unrelated to this change:
    • bar-icon-geometry, config, snapper, unowned-system-paths fail identically on a clean checkout of quattro (they expect an omarchy-pkgs checkout and bar geometry fixtures)
    • locate fails only when an earlier test leaves bin/__pycache__/ behind, since it reads every file under bin/ as text; it passes once that directory is removed
    • bar-widget-contract fails intermittently on sandbox teardown (rm: cannot remove .../home/.cache: Directory not empty) and passes on rerun
  • Verified in the running shell against a live tailnet.

Screenshots

Before:

After:

🤖 Generated with Claude Code

https://claude.ai/code/session_01BXAPSwbFrVJTK85miCB98x

The panel rewrite dropped this machine's IP from view: Self sits beside
Peer in the status JSON, so it never reached the list, and selfIp was
parsed but never shown. List this machine first, marked as this device,
with the same copy menu as any peer. Taildrop to yourself isn't possible,
so its row gets no send button.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BXAPSwbFrVJTK85miCB98x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant