The virtual keyboard on iOS does not resize the browser. Instead you are allowed to scroll your page to see the part obscured by the keyboard. In the HTML client you can do this by dragging on the toolbar. However some actions causes it to bounce back to the top scroll position. E.g. pushing one of the extra keys buttons. This is probably a side effect of us trying to restore focus to the keyboard, and the keyboard input element is located at the top of the page.
Perhaps we should move the input field to where the user clicked last. That should have a high likelihood of being where the input field is.
It is likely that this happens on Windows Mobile as well, since the keyboard seems to be working similarly to the one on iOS.
Possibly fixed via this upstream issue: https://github.com/novnc/noVNC/issues/1569
This might be fixed in the vendordrop, needs testing.
This problem seems to have been solved along the way, and I have been unable to reproduce it. Tested with jenkins build 2350 on Safari 15, and none of our extra keys buttons causes a bounce back. However, pressing the ctrl-alt-del button causes the keyboard to close, which may or may not be intended. As a side note, this issue might have been solved in this noVNC commit [1], which was included in ThinLinc 4.11. I also tried reproducing the issue with 4.10.1 but was unable to see it. [1]: https://github.com/novnc/noVNC/commit/a5aa8e12822a0b83f2521ed04911a03f3f33c192