[ 
https://issues.apache.org/jira/browse/GUACAMOLE-883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16960413#comment-16960413
 ] 

Mike Jumper edited comment on GUACAMOLE-883 at 10/26/19 6:57 PM:
-----------------------------------------------------------------

The origin of the lines in question trace back to the 0.9.1 release of 
Guacamole from prior to the migration to AngularJS and prior to the move to the 
ASF:

https://jira.glyptodon.com/browse/GUAC-694

>From the above:

{quote}
When text input is enabled, and the input field is focussed, the iOS browsers 
scrolls the screen up (obnoxiously) to move the fixed-position input field and 
make room for the on-screen keyboard, even though the input field is 
technically removed from document flow by virtue of being fixed-position.

Overall, this means the screen becomes extremely difficult to see, and almost 
impossible to use. Something needs to be done to combat this and ensure the 
display remains visible regardless of browser scroll state and window size.
{quote}

The workaround which resulted from the above (always checking scroll state and 
automatically scrolling the viewport to undo unexpected scrolling) has been the 
source of similar issues in the past. For example, it was known to cause Safari 
within iOS 8 to crash outright (https://jira.glyptodon.com/browse/GUAC-924):

>From that:

{quote}
When using Guacamole on Safari on a device running iOS 8, the browser tab 
inexplicably crashes after a few seconds. Safari then automatically reloads the 
page, but also clears all cookies, logging the user out of Guacamole in all 
tabs.

This is caused by the following code introduced in 
-[GUAC-694|https://jira.glyptodon.com/browse/GUAC-694]-:

{code:none}
// Anchor main to top-left of viewport, sized to fit above bottom
var main = GuacUI.Client.main;
main.style.top = document.body.scrollTop + "px";
main.style.left = document.body.scrollLeft + "px";
main.style.width = main_width + "px";
main.style.height = main_height + "px";
{code}

On past releases of iOS, this code simply anchors the main div to the viewport, 
as CSS fixed positioning does not work properly on iOS 7 and older.

As of iOS 8, this code causes the browser viewport to scroll infinitely 
downward, increasing the size of the viewport until the tab crashes entirely.
{quote}

It may be that all current, non-EOL versions of iOS and Safari no longer have 
bugs in fixed positioning that require these workarounds. If so, this will need 
to be verified. Historically, we have not been able to rely on fixed 
positioning for the client interface, and the above scroll workaround was 
necessary to ensure all components of the interface were within view.


was (Author: mike.jumper):
The origin of the lines in question trace back to the 0.9.1 release of 
Guacamole from prior to the migration to AngularJS and prior to the move to the 
ASF:

https://jira.glyptodon.com/browse/GUAC-694

>From the above:

{quote}
When text input is enabled, and the input field is focussed, the iOS browsers 
scrolls the screen up (obnoxiously) to move the fixed-position input field and 
make room for the on-screen keyboard, even though the input field is 
technically removed from document flow by virtue of being fixed-position.

Overall, this means the screen becomes extremely difficult to see, and almost 
impossible to use. Something needs to be done to combat this and ensure the 
display remains visible regardless of browser scroll state and window size.
{quote}

The workaround which resulted from the above (always checking scroll state and 
automatically scrolling the viewport to undo unexpected scrolling) has been the 
source of similar issues in the past. For example, it was known to cause Safari 
within iOS 8 to crash outright (https://jira.glyptodon.com/browse/GUAC-924:

>From that:

{quote}
When using Guacamole on Safari on a device running iOS 8, the browser tab 
inexplicably crashes after a few seconds. Safari then automatically reloads the 
page, but also clears all cookies, logging the user out of Guacamole in all 
tabs.

This is caused by the following code introduced in 
-[GUAC-694|https://jira.glyptodon.com/browse/GUAC-694]-:

{code:none}
// Anchor main to top-left of viewport, sized to fit above bottom
var main = GuacUI.Client.main;
main.style.top = document.body.scrollTop + "px";
main.style.left = document.body.scrollLeft + "px";
main.style.width = main_width + "px";
main.style.height = main_height + "px";
{code}

On past releases of iOS, this code simply anchors the main div to the viewport, 
as CSS fixed positioning does not work properly on iOS 7 and older.

As of iOS 8, this code causes the browser viewport to scroll infinitely 
downward, increasing the size of the viewport until the tab crashes entirely.
{quote}

It may be that all current, non-EOL versions of iOS and Safari no longer have 
bugs in fixed positioning that require these workarounds. If so, this will need 
to be verified. Historically, we have not been able to rely on fixed 
positioning for the client interface, and the above scroll workaround was 
necessary to ensure all components of the interface were within view.

> Touch mouse emulation no longer works as of iOS 13
> --------------------------------------------------
>
>                 Key: GUACAMOLE-883
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-883
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole-client
>    Affects Versions: 1.0.0
>            Reporter: Thomas
>            Priority: Minor
>
> With devices running iOS 13, it is no longer possible to interact with remote 
> desktops using touch-driven mouse emulation. The specific reason for this is 
> not yet known. Older releases of iOS work correctly.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to