Fix FreeRDP crash: echo VERSION param + upgrade guacd to latest
- rdp.ts: dynamically acknowledge guacd's VERSION_x_y_z parameter by echoing it back in the connect instruction. Without this, guacd 1.5+ runs in legacy mode which crashes FreeRDP on modern Windows targets. Also add disable-glyph-caching and resize-method params. - docker-compose: upgrade guacd from 1.5.4 to latest to get FreeRDP 3.x which fixes known crash bugs with Windows 11 22H2+ / Server 2022 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user