Skip to content

fix: stale-auth recovery in PCP client and tunnel delete UX#156

Merged
mattdjenkinson merged 1 commit into
mainfrom
fix/stale-auth-recovery-and-tunnel-delete-ux
May 14, 2026
Merged

fix: stale-auth recovery in PCP client and tunnel delete UX#156
mattdjenkinson merged 1 commit into
mainfrom
fix/stale-auth-recovery-and-tunnel-delete-ux

Conversation

@mattdjenkinson
Copy link
Copy Markdown
Contributor

@mattdjenkinson mattdjenkinson commented May 14, 2026

Summary

  • Project control plane client now preflight-refreshes the auth token and surfaces a structured Unauthorized error. Heartbeat, connector list, and tunnel CRUD log the user out on persistent kube auth failures so the UI falls back to the login screen instead of silently failing in the background.
  • ProxiesList: tombstone deleted tunnel IDs locally for one poll cycle so a still-terminating HTTPProxy doesn't reappear with the toggle "flipped off", which was forcing users to click Delete twice. Tombstones are reconciled away once the API stops returning the ID.
  • Surface list_active errors inline at the top of the tunnels view instead of silently clearing the cache on failure.

Ref: #153

- Project control plane client now preflight-refreshes the auth token
  and surfaces a structured Unauthorized error; heartbeat, connector
  list, and tunnel CRUD log the user out on persistent kube auth
  failures so the UI falls back to the login screen instead of
  silently failing in the background.
- ProxiesList: tombstone deleted tunnel IDs locally for one poll
  cycle so a still-terminating HTTPProxy doesn't reappear with the
  toggle "flipped off", which was forcing users to click Delete
  twice. Tombstones are reconciled away once the API stops returning
  the ID.
- Surface list-active errors inline at the top of the tunnels view
  instead of silently clearing the cache on failure.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mattdjenkinson mattdjenkinson merged commit a067264 into main May 14, 2026
10 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.

2 participants