Skip to content

[MeshCentral - 4]. Session end & error states. Remote desktop: visible connection lifecycle states - #250

Open
romanivan-flamingo wants to merge 1 commit into
mainfrom
hotfix/remote-session-states
Open

[MeshCentral - 4]. Session end & error states. Remote desktop: visible connection lifecycle states#250
romanivan-flamingo wants to merge 1 commit into
mainfrom
hotfix/remote-session-states

Conversation

@romanivan-flamingo

Copy link
Copy Markdown
Contributor

Summary

Part of the Remote Access Approval Flow epic (ClickUp 86agfp8w9), subtask [Admin FE] Session end & error states (86ajx04dg) - the BE-independent scope.

  • New page-level connectionStatus (connecting | connected | reconnecting | failed) driven by tunnel state changes; toasts stay, but the page now shows the state itself:
    • Reconnecting: translucent overlay ("Connection lost - attempting to reconnect...") above the last received frame
    • Failed (reconnect exhausted, initial connect failure, offline device): terminal "Connection lost" screen with Back and Retry; Retry re-initializes the control client + tunnel from scratch
  • Fixes along the way: an initial tunnel.start() failure used to leave a silent dead canvas; connected is now set on any state-3 transition, not only after a reconnect.

Out of scope (blocked on BE session lifecycle spec): the "Session ended by user" screen - needs the REMOTE_SESSION_ENDED event.

Test plan (verified live on localhost against real agents)

  • Offline device -> failed overlay with Back/Retry; Retry -> connecting spinner -> failed again
  • Online device (Windows VM) -> normal stream, no overlays, no regressions
  • DevTools Network Offline for ~5s during a live session -> reconnecting overlay, then automatic recovery ("Reconnected" toast, stream resumes) - verified by the reviewer
  • Back during an active session tears the tunnel down as before

🤖 Generated with Claude Code

Connection state is now reflected on the page itself instead of
toast-only feedback: a reconnect shows a translucent "Connection lost -
attempting to reconnect" overlay above the last frame, and a failed or
never-established session shows a terminal "Connection lost" screen
with Back and Retry buttons (Retry fully re-initializes the control
client and tunnel). Previously a failed session left a dead black
canvas behind a transient toast, and an initial connect failure was
silent.

The "Session ended by user" screen is intentionally not included - it
needs the REMOTE_SESSION_ENDED backend event from the session
lifecycle spec.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@romanivan-flamingo
romanivan-flamingo requested a review from a team as a code owner August 18, 2026 16:27
@romanivan-flamingo
romanivan-flamingo requested a review from a team August 18, 2026 16:27
@romanivan-flamingo romanivan-flamingo changed the title Remote desktop: visible connection lifecycle states [MeshCentral - 4] Session end & error states. Remote desktop: visible connection lifecycle states Aug 19, 2026
@romanivan-flamingo romanivan-flamingo changed the title [MeshCentral - 4] Session end & error states. Remote desktop: visible connection lifecycle states [MeshCentral - 4]. Session end & error states. Remote desktop: visible connection lifecycle states Aug 19, 2026
@romanivan-flamingo romanivan-flamingo self-assigned this Aug 19, 2026
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.

1 participant