aeharding/voyager

Context menu prevents image navigation mouse/trackpad gestures from working on iPad

Open

#423 opened on Jul 13, 2023

View on GitHub
 (0 comments) (0 reactions) (0 assignees)TypeScript (174 forks)auto 404
bughelp wantediOS

Repository metrics

Stars
 (1,798 stars)
PR merge metrics
 (PR metrics pending)

Description

After a right click style context menu is opened in Voyager, the mouse and trackpad image zoom and escape navigation gestures stop working. The type of context menu I am referring to, is what pops up when tapping (or clicking) and holding on an image in iOS. The issue only occurs when the accessibility feature AssistiveTouch is not enabled.

Image context menu: 922e9020166e409e9bf612468246b2b3c8b239e4dbaaf218f71021d6f023c02f

The normal behaviour when navigating an image post using a mouse/trackpad is as follows: • First click opens the image in the gallery • Next click will zoom into the image (if large) • Next click zooms out • A click and drag down, or a click in the blank area surrounding the image will escape the gallery

Once a context menu pops up the zooming and escaping gestures stop registering. The context menu can be generated by tapping and holding, left clicking and holding or right clicking on an image.

Another context menu which causes this issue is when right clicking in text boxes, such as search or replying to a post. This context menu could also be launched with two finger tap on touchpad, but I could not open it with screen taps only.

Text context menu: ff96e93f930fe2b15f3704ba7826654da2d924e48f66a41aefdcf74208d32749

When browsing to a webpage, a right click / two finger touchpad launch a similar context menu, but they do not break the image gesturing.

While in the broken state, the first click to open the image and clicking the X in the top left both still work.

Once the issue occurs the app must be quit and relaunched before all gestures will start working again.

In testing the issue I found that iPhone do not have native mouse support, but it can be enabled through Settings > Accessibility > Touch > AssistiveTouch > On.

However AssistiveTouch changes the gesture behaviour: zooming is done via double click, and clicking in the blank area does note escape the image. Clicking and dragging down still works. Opening a context menu did not break navigation.

This same behaviour with AssistiveTouch applied to iPad, including the fact context menus did not break the AssistiveTouch navigation.

The issues occurred whether Voyager was installed to the homescreen, or run in browser.

The issue did not occur on laptop running Windows 11 / Edge.

Test devices with issues: iPad Pro 2018, iPadOS 16.5.1, Safari, Voyager 0.21.0 installed Logitech MX Master 3 Logitech Combo Touch Keyboard Case with Trackpad

Test devices which were inconclusive: iPhone 11 Pro, iOS 16.5.1, Safari, Voyager 0.21.0 installed

Test devices with no issues: Dell XPS 13, Windows 11, Edge, Voyager 0.21.0 installed

Please let me know if I can provide any more information or testing to assist further.

Contributor guide