You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix: connection stability — stop node reconnect storms, fix bootstrap token handling
Critical fixes for connection management bugs introduced in PR #272:
1. Node reconnect storm during pairing (WindowsNodeClient)
- Added ShouldAutoReconnect() override with _pairingBlocked flag
- Flag survives OnDisconnected() (which clears _isPendingApproval)
- Added rate-limit detection for terminal auth errors
- Marked _pairingBlocked/_rateLimited as volatile for thread safety
- Clear _rateLimited on successful hello-ok (transient, not permanent)
2. Backoff jitter (WebSocketClientBase)
- Added 0-25% random jitter to prevent thundering herd when
operator + node clients reconnect simultaneously
3. Client leak on reinitialize (App.xaml.cs)
- Added _gatewayClient?.Dispose() before creating new client
- Old clients were keeping reconnect loops alive as zombies
4. Bootstrap token not saved as Settings.Token
- Setup code decoder no longer persists bootstrap to Settings.Token
- Prevents reconnect storms on app restart with stale bootstrap token
- TestConnection skips writing bootstrap value to Settings.Token
- InitializeGatewayClient falls back to BootstrapToken for bootstrap flow
5. Token PasswordBox → TextBox
- Users can see what they pasted (SetupWizardWindow + ConnectionPage)
6. Clear stale tray data on disconnect
- Sessions/channels/nodes/models cleared when disconnected/error
- Tray menu no longer shows old data alongside 'Disconnected'
7. Onboarding UX fixes
- Removed disruptive auto-paste-on-focus from setup code field
- Setup code state only updates on valid decode (prevents focus loss)
- Added 'Relaunch First-Run Setup' button to Debug page
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* test: increase PowerShell echo test timeout to 30s for slow CI runners
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0 commit comments