Skip to content

Stabilize connections and refresh desktop apps - #5

Merged
onderaktas54 merged 1 commit into
masterfrom
agent/linux-desktop-ui
Jul 16, 2026
Merged

Stabilize connections and refresh desktop apps#5
onderaktas54 merged 1 commit into
masterfrom
agent/linux-desktop-ui

Conversation

@onderaktas54

Copy link
Copy Markdown
Owner

What changed

  • adds a real Avalonia desktop application for Linux while keeping the headless CLI
  • redesigns the Windows Host and Client interfaces with the shared modern dark theme
  • makes TCP heartbeat state authoritative and treats UDP as best-effort
  • ignores stale, malformed, or transient UDP datagrams instead of ending a healthy session
  • aligns the default Host TCP port with the documented protocol (7201)
  • packages a Linux desktop launcher and updates the Linux documentation

Root cause

The Linux Client waited for either its TCP or UDP receive task to finish. One late packet from a previous encrypted session—or any transient UDP receive/decrypt error—ended the UDP task, which then tore down an otherwise healthy TCP session and forced a reconnect. The Windows Client had the related failure mode of permanently stopping UDP reception after one invalid datagram.

TCP now owns session health because it carries the heartbeat. UDP errors are handled per datagram and no longer kill the session or mouse stream.

Validation

  • Linux tests: 8 passed
  • Core tests: 20 passed
  • Windows Host Release build: succeeded, 0 warnings
  • Windows Client Release build: succeeded, 0 warnings
  • Linux self-contained linux-x64 single-file publish: succeeded
  • Linux desktop UI launched and visually checked on Wayland

@onderaktas54
onderaktas54 marked this pull request as ready for review July 16, 2026 20:14
@onderaktas54
onderaktas54 merged commit e220613 into master Jul 16, 2026
2 checks passed
@onderaktas54
onderaktas54 deleted the agent/linux-desktop-ui branch July 16, 2026 20:15
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