diff --git a/src/vpn/VpnScreen.tsx b/src/vpn/VpnScreen.tsx index 433e244..b1e8a00 100644 --- a/src/vpn/VpnScreen.tsx +++ b/src/vpn/VpnScreen.tsx @@ -1325,12 +1325,20 @@ export const VpnScreen = ({ embedded, onShowCredits, wordmark, wordmarkLight }: What belongs here is the whole-app reset: forget every connection at once. - Gated on anything indicating a node exists, NOT on `registered` alone. That flag is written - by the app and stays false on the Tailscale path, so a fully connected node offered no - reset at all — invisible precisely when it applied. + NOT GATED AT ALL, and that is the point. + + It was shown only when `registered || connected || profiles.length > 0` — evidence that + something had worked. But a reset is what you reach for when nothing has worked, and the + state it was reading is exactly the state that breaks: a half-finished sign-in leaves no + profile, no registration and no connection, so all three were false and the only way out + of the app was to delete it from the home screen. + + That happened, on a real phone, at one in the morning. The previous version of this gate + had the same shape and the comment above it said the same thing about a different case, + which is the tell: any condition here is a bet that the app knows its own state, and this + button exists for when it does not. */} - {vm.registered || vm.connected || vm.profiles.length > 0 ? ( - { @@ -1349,15 +1357,12 @@ export const VpnScreen = ({ embedded, onShowCredits, wordmark, wordmarkLight }: {vm.busy ? 'Forgetting…' : 'Forget all connections'} - - ) : null} - {vm.registered || vm.connected || vm.profiles.length > 0 ? ( - - Removes this device from every tailnet it has joined and returns OffScale to setup. Each - one disappears from its admin panel; signing in again registers a new device. To leave - just one, sign out of it from its row on the main screen. - - ) : null} + + + Removes this device from every tailnet it has joined and returns OffScale to setup. Each + one disappears from its admin panel; signing in again registers a new device. To leave + just one, sign out of it from its row on the main screen. + } >