diff --git a/backend/src/websocket/rdp.ts b/backend/src/websocket/rdp.ts index 81064a5..904ae0e 100644 --- a/backend/src/websocket/rdp.ts +++ b/backend/src/websocket/rdp.ts @@ -157,8 +157,19 @@ export async function rdpWebsocket(fastify: FastifyInstance) { 'enable-drive': 'false', 'create-drive-path': 'false', 'enable-printing': 'false', + 'disable-glyph-caching': 'true', + 'resize-method': 'display-update', }; + // Acknowledge whichever VERSION_x_y_z guacd advertises. + // Without this echo, guacd runs in legacy compatibility mode which + // can cause FreeRDP to crash on modern Windows targets. + for (const name of argNames) { + if (name.startsWith('VERSION_')) { + rdpParams[name] = name; + } + } + // 3. Connect with values guacd requested const argValues = argNames.map((name) => rdpParams[name] ?? ''); guacd.write(buildInstruction('connect', ...argValues)); diff --git a/docker-compose.yml b/docker-compose.yml index 1e98bc4..13a99ab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: retries: 10 guacd: - image: guacamole/guacd:1.5.4 + image: guacamole/guacd:latest restart: unless-stopped environment: GUACD_LOG_LEVEL: debug