On Fri, Aug 22, 2025 at 5:24 AM 冰红糖 <[email protected]> wrote:
> *Issue description:*
> When I resize the browser window, the remote desktop screen does *not
> change size at all*. There is no scaling, resizing, or partial update —
> the display remains at the original size.
>
> *Observations:*
>
> 1.
>
> On the frontend, guac.sendSize(width, height) is being called
> correctly. For example, console logs show messages like:
>
> 4.size,4.1920,3.1080
>
>
> 2.
>
> On the guacd side, the log shows:
>
> Resize method: display-update
> Display update channel will be used for display size changes
>
> …but there are *no logs indicating that a display size change was
> received or processed*, such as:
>
> RDPDR: Display update: 1920x1080rdp_disp: Received display update request ...
>
>
> 3.
>
> Java server-side configuration:
>
> GuacamoleConfiguration configuration = new GuacamoleConfiguration();
> configuration.setParameter("resize-method", "display-update");
>
>
> 4.
>
> Frontend resize handling code (React + Guacamole client):
>
> const handleResize = _.debounce(() => {
> if (guac) {
> const display = guac.getDisplay();
> const clientWidth = window.innerWidth * (window.devicePixelRatio ||
> 1);
> const clientHeight = window.innerHeight * (window.devicePixelRatio ||
> 1);
> const minScale = Math.min(clientWidth / display.getWidth(),
> clientHeight / display.getHeight());
> const maxScale = Math.min(minScale, 3);
> const scale = display.getScale();
> if (scale <= minScale || guac.autoFit) {
> display.scale(minScale);
> } else {
> display.scale(maxScale);
> }
> display.onresize = (e) => { console.log(e); };
> }
> }, 1000);
>
>
Where is your call to "sendSize()"?
> *Additional info:*
>
> -
>
> guacd was built from source.
> -
>
> Logs are set to trace level.
> -
>
> Frontend WebSocket messages for resize are visible, but guacd does not
> log any processing of them.
>
>
Visible where? On the JavaScript console? Are you sure they're actually
being sent from the client down to the Tomcat server?
-Nick