[Bugfix #451] Replace intrusive reconnect overlay with status dot + fix premature give-up#452
Merged
waleedkadous merged 1 commit intomainfrom Feb 19, 2026
Conversation
…t + fix premature give-up Two fixes: 1. UX: Replace the yellow "Reconnecting..." overlay (which covered terminal content) with a small status dot in the terminal controls area. Yellow pulsing = reconnecting, red = disconnected. No dot when connected. 2. Bug: Remove the flawed rapidFailures mechanism that caused premature reconnect give-up. When the server was temporarily unreachable, each failed WebSocket connection (which fails in <2s) was counted as a "rapid failure" regardless of backoff delay. After just 5 such failures (~15s), reconnect gave up permanently — even though a page reload would succeed. Now uses only MAX_ATTEMPTS (increased from 15 to 50, giving ~20 minutes of retry with 30s backoff cap).
waleedkadous
added a commit
that referenced
this pull request
Feb 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes two issues with the terminal reconnect feature (PR #445):
Fixes #451
Root Cause
UX issue: The
terminal-reconnecting-overlaydiv was positioned absolutely over the terminal content, obscuring output during reconnection attempts.Premature give-up: The
rapidFailurescounter counted WebSocket connections that closed within 2 seconds of creation. When the server was temporarily unreachable, each failed connection attempt (which fails in <2s by definition) was counted as a "rapid failure" — regardless of the backoff delay between attempts. After just 5 such failures (~15 seconds), the reconnect permanently gave up, even though the session was still alive on the server (page reload would succeed).Fix
Status dot: Added a small colored dot to the
TerminalControlscomponent:Reconnect logic: Removed the flawed
rapidFailuresmechanism entirely. IncreasedMAX_ATTEMPTSfrom 15 to 50 (with 30s backoff cap, gives ~20 minutes of retry). Exponential backoff alone is sufficient for graceful degradation.Test Plan