Skip to content

fix(mac): stabilize Tailscale status timeout - #707

Merged
steipete merged 1 commit into
mainfrom
fix/tailscale-status-timeout
Jul 3, 2026
Merged

fix(mac): stabilize Tailscale status timeout#707
steipete merged 1 commit into
mainfrom
fix/tailscale-status-timeout

Conversation

@steipete

@steipete steipete commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Keep Tailscale CLI status timeouts independent from Swift cooperative-executor availability.
  • Preserve TERM followed by the existing SIGKILL fallback for unresponsive commands.
  • Replace the CPU-burning timeout fixture with a sleeping process that still ignores TERM.

Closes #706

Root cause

fetchStatus blocked a detached task while waiting for process output, then scheduled timeout enforcement on another Swift concurrency task. Under the heavily parallel Release test suite, executor saturation could delay that timeout task beyond the test's bound. The fixture's busy loop increased the same contention.

Proof

  • Exact nightly Test Release Configuration command passed on commit 1b9caddcf0a650630b581c97f470359914299f77 with code coverage enabled.
  • TailscaleCLITests.statusCommandTimesOut completed in 0.242 seconds within the full parallel Release suite.
  • The focused timeout test passed 10 consecutive Release runs.
  • SwiftFormat and strict SwiftLint passed on both touched Swift files.
  • Structured autoreview: no accepted or actionable findings; patch correct, confidence 0.87.
  • Public Model Identifier Gate: PASS; no model-bearing identifiers introduced in the candidate, test output, generated result metadata, or this public proof.

Risk

Low. The change preserves the existing timeout, TERM, and SIGKILL behavior while moving only timeout scheduling off the cooperative executor.

@claude

claude Bot commented Jul 3, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

🔍 Code Quality Report

This comment is automatically updated with linting results from CI.

Node.js Biome Formatting ✅ Status: Passed

Node.js Biome Linting ✅ Status: Passed

Node.js TypeScript Type Checking ✅ Status: Passed

Node.js Build ✅ Status: Passed

Node.js Tests ✅ Status: Passed

Node.js Security Audit ✅ Status: Passed

Node.js Test Coverage ✅ Status: Passed

Client Coverage:
• Lines: 45.4%
• Functions: 40.44%
• Branches: 35.6%
• Statements: 45.52%

Server Coverage:
• Lines: 33.38%
• Functions: 40.11%
• Branches: 27.72%
• Statements: 32.96%

Mac Formatting (SwiftFormat) ✅ Status: Passed

Mac Linting (SwiftLint) ✅ Status: Passed

@steipete
steipete merged commit a563c49 into main Jul 3, 2026
7 checks passed
@steipete
steipete deleted the fix/tailscale-status-timeout branch July 3, 2026 10:52
@mintlify

mintlify Bot commented Jul 3, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
vibetunnel 🔴 Failed Jul 3, 2026, 10:58 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

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.

Nightly Release Build Failed - 2026-07-03

1 participant