-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
area:frontendFrontend/UI codeFrontend/UI codearea:networkConnections and client networkingConnections and client networkingarea:uxUser experience and interaction designUser experience and interaction designenhancementNew feature or requestNew feature or request
Description
Problem\nWhen the browser tab loses its connection to tmux-mobile, the UI can still appear interactive. Users can keep trying to type/tap in terminals even though those interactions cannot succeed, which is confusing and feels broken.\n\n## Proposal\nAdd a prominent "Connecting…" overlay whenever the client is disconnected from the backend/control+terminal websocket(s), and prevent futile interaction until connectivity is restored.\n\n## Requirements\n- Detect disconnected state for terminal/control connectivity in the frontend.\n- Show a clear blocking overlay (for example: "Connecting…") above the terminal UI while disconnected.\n- Disable/ignore terminal interactions while disconnected (typing, taps/clicks that trigger terminal actions, compose sends, etc. as appropriate).\n- Implement active reconnection logic (retry with backoff/jitter) rather than waiting for manual reload.\n- Remove overlay and restore interactivity automatically once reconnected and authenticated/synced.\n\n## Acceptance criteria\n- Turning off backend connectivity (or dropping websocket connections) causes the overlay to appear quickly and reliably.\n- During disconnection, user input no longer appears to "work" locally in a misleading way.\n- Client attempts reconnection automatically and repeatedly until success (within sane retry limits/backoff behavior).\n- On successful reconnect, terminal state returns to usable without full page refresh.\n- Add/update tests to cover disconnected -> reconnect flow and interaction blocking behavior.\n\n## Notes\nGiven App.tsx currently owns websocket/session UI state, this likely touches connection state management there and related integration/e2e tests.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:frontendFrontend/UI codeFrontend/UI codearea:networkConnections and client networkingConnections and client networkingarea:uxUser experience and interaction designUser experience and interaction designenhancementNew feature or requestNew feature or request