Openingen the virtual keyboard on Android resizes the browser window and hence also the ThinLinc session. Unfortunately this resize can trigger events in applications that screws up the input you were trying to do. Example 1, gnome shell: 1. Click activities 2. Click the search field 3. Open the virtual keyboard The screen will resize, and gnome will drop out of the activities view. And the device might be too crowded to open activities again with the keyboard up. Not sure how to solve this. Perhaps we can emulate iOS behaviour of not resizing the browser when they keyboard appears. Or perhaps we can make panning and zooming good enough that we can turn of resizing.
Problem with iOS and Windows' approach: bug 6069
https://github.com/novnc/noVNC/issues/1667
In some scenarios I think the iOS approach is less confusing despite there not being any specific problems in play. It feels more natural in my opinion.
The "viewport" meta tag is supposed to be able to control this behaviour: https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag#the_effect_of_interactive_ui_widgets Unfortunately, there is no information about browser support for this feature.
The new viewport units might also be a way to resolve this issue: https://developer.mozilla.org/en-US/docs/Web/CSS/length#relative_length_units_based_on_viewport
Something seems to have changed on Android here, at least in some cases. Opening the on-screen keyboard does not cause a resize on my phone (S23 Ultra). I am using Chrome 114, Android 13 and the default Samsung keyboard.
Chrome 108 changed the default "interactive-widget" value to "resizes-visual": https://chromestatus.com/feature/6145225857171456 https://bugs.chromium.org/p/chromium/issues/detail?id=1353728 If we want to ensure consistent behavior across platforms, we should specify a value ourselves.
Firefox also changed to the same default in Firefox 132.