Skip to content

fix: recover an already active Funnel - #79

Merged
RyleaStark merged 2 commits into
mainfrom
fix/tailscale-recover-active-funnel
Aug 18, 2026
Merged

fix: recover an already active Funnel#79
RyleaStark merged 2 commits into
mainfrom
fix/tailscale-recover-active-funnel

Conversation

@RyleaStark

Copy link
Copy Markdown
Owner

Root cause

After the update finally completed, Tailscale Funnel was already active on the correct RC35+ alias but the durable registry still said tailnet_lock. Continuation always invoked Funnel enablement before reading current provider state, so stale pending rows could time out despite the exact desired Funnel already being live.

Fix

  • inspect provider-native Funnel state after exact identity, approval, and prerequisite validation
  • when the current route already matches the deployment origin, persist the connection as connected without replaying provider side effects
  • preserve normal enablement when no matching route exists
  • prepare immutable 0.4.0.rc38

Validation

  • durable approval recovery with an existing exact Funnel performs zero enable calls and becomes connected
  • ordinary fresh onboarding still invokes enable
  • disabled prerequisites clear the fake provider state before later re-enable
  • failed post-enable reconciliation remains fail-closed
  • 52 focused Tailscale service tests and Ruff pass

@RyleaStark
RyleaStark merged commit 648ed30 into main Aug 18, 2026
5 checks passed
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