wraith/backend/src/rdp
Vantz Stockwell 34bea52e0b fix(rdp): TCP stream buffering + error surfacing for guacd pipeline
Three bugs fixed:

1. TCP stream fragmentation — guacd→browser data pipe treated each TCP
   chunk as a complete instruction. TCP is a stream protocol; instructions
   WILL be split across chunks (especially display/image data). Added
   instruction buffer that accumulates data and only forwards complete
   instructions (terminated by ';').

2. Missing client.onerror — when guacd fails the RDP connection (NLA,
   auth, TLS), it sends a Guacamole error instruction. No handler was
   registered, so errors were silently swallowed. User saw blank canvas
   with no feedback. Now surfaces errors via console and gateway callback.

3. Missing client.onstatechange — no connection state tracking. Added
   state transition logging for diagnostics.

Also improved CONNECT handshake logging to surface connection parameters
(host, port, user, domain, security mode) without exposing passwords.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 06:17:32 -04:00
..
guacamole.service.ts fix(rdp): TCP stream buffering + error surfacing for guacd pipeline 2026-03-14 06:17:32 -04:00
rdp.gateway.ts fix(rdp): TCP stream buffering + error surfacing for guacd pipeline 2026-03-14 06:17:32 -04:00
rdp.module.ts feat: RDP backend — Guacamole TCP tunnel to guacd over WebSocket 2026-03-12 17:27:09 -04:00