Skip to content

feat(pilot): add remote desktop groups and reliable connection recovery - #254

Merged
joeblau merged 2 commits into
mainfrom
fix/remote-desktop-connection-timeout
Sep 5, 2026
Merged

feat(pilot): add remote desktop groups and reliable connection recovery#254
joeblau merged 2 commits into
mainfrom
fix/remote-desktop-connection-timeout

Conversation

@joeblau

@joeblau joeblau commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Remote Desktop now organizes saved machines into renamable groups with a fixed 2×2 grid. Each group holds up to four machines; unused slots remain black, and moving or removing a machine preserves the other screen positions. Existing connections are assigned to groups automatically. Group names, selection, and positions persist locally, and all four visible sessions stay active together.

Connection attempts now time out after 20 seconds with an actionable error and Try Again. Cancel, failure, and replacement invalidate old callbacks and deadlines. Saved passwords survive cancel, timeout, and dropped connections and refill the retry form; only an explicit server credential rejection clears them (or opting out of password saving).

Validation:

  • 27 focused group, session lifecycle, credential, and session manager tests passed, including real loopback handshake stalls and Keychain retention checks.
  • Render checks passed at 1000×800 and 640×480; both layouts were visually inspected and empty cells verified black.
  • Strict Swift lint passed for all changed files, and the pinned XcodeGen reproduces the committed project.

@joeblau joeblau changed the title fix(pilot): time out stalled remote desktop connections feat(pilot): add remote desktop groups and reliable connection recovery Sep 5, 2026
@joeblau
joeblau merged commit d1d0d4d into main Sep 5, 2026
7 checks passed
@joeblau
joeblau deleted the fix/remote-desktop-connection-timeout branch September 5, 2026 23:19
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