Custom build: RDP file transfer, WOL broadcast, FreeRDP fix, clipboar…#1141
Custom build: RDP file transfer, WOL broadcast, FreeRDP fix, clipboar…#1141diaverso wants to merge 13 commits intognmyt:mainfrom
Conversation
|
Just given this a small test drive building direct, The File transfer works great expect because it's going to "/tmp/nexterm-drives/<>" it's wiped on every single session, Would it make more sense to move this to say /app/data/rdpdrive or something similar? That way it will be consistent across sessions as I said over on: #942 |
Changes made, thank you for your contribution. |
|
It worked !!! |
- GuacdClient: fix false-positive error detection by anchoring regex to instruction boundaries ((?:^|;)\d+\.error,) to avoid matching .error, inside filenames or batched data; forward data to client before closing - GuacamoleRenderer: add auto-reconnect (up to 3 attempts, 2s delay) on disconnect instead of immediately removing session from UI - GuacamoleRenderer: fix clipboard interval leak by saving ref and clearing on cleanup; add error logging for clipboard write failures - GuacamoleRenderer: fix uploadFileToRemote to handle server ACK errors via writer.onack and prevent double-settle with settled flag Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previously checkClipboardPermission() only checked for "granted" state and returned false for "prompt", so the polling never started and no dialog was shown. Now calling navigator.clipboard.readText() directly when state is "prompt" triggers the native browser permission dialog. Also handles the case where the permissions API itself is unsupported. Fixes gnmyt#1207 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Addresses SonarCloud warning: prefer RegExp.exec() over String.match() Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fixes SonarCloud warning: 'config.wolBroadcastAddress' is missing in props validation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Extract startClipboardPolling and initClipboardPolling out of handleClipboardEvents to keep nesting at max 4 levels deep. Fixes SonarCloud: Refactor this code to not nest functions more than 4 levels deep. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|



📋 Description
This PR adds several enhancements to the Nexterm custom build focused on RDP file transfer support, Wake-on-LAN improvements, FreeRDP compatibility fixes, and clipboard paste functionality for Guacamole sessions.
RDP File Transfer: Enables drag-and-drop file upload and file download through Guacamole's drive redirection (SFTP). Files can be uploaded by dragging them onto the RDP session, and the shared drive is accessible from within the remote desktop.
WOL Broadcast Address: Adds a configurable broadcast address field for Wake-on-LAN, allowing users to specify a custom broadcast IP instead of the default
255.255.255.255. This is essential for WOL across different subnets/VLANs.FreeRDP Fix: Updates the Dockerfile to use
alpine:3.19and switches fromfreerdp2-devtofreerdp-dev freerdp, fixing compatibility issues with the FreeRDP build and plugin loading.Clipboard Paste: Fixes Ctrl+V paste in Guacamole RDP sessions by sending proper key events, enabling clipboard content to be pasted into remote desktop applications.
🚀 Changes made to ...
✅ Checklist
🔗 Related Issues