frontend icon indicating copy to clipboard operation
frontend copied to clipboard

Menu conflicts with Android back gesture

Open VNRARA opened this issue 2 years ago • 3 comments

Checklist

  • [X] I have updated to the latest available Home Assistant version.
  • [X] I have cleared the cache of my browser.
  • [X] I have tried a different browser to see if it is related to my browser.

Describe the issue you are experiencing

On Android we now have the gesture to go back (swiped from egde to middle). This not only conflicts with the menu opening, but also makes the menu open/close state sit in a limbo where you can't even scroll the dashboard (that goes behind the menu when open) when it's in this limbo state. Both in the android companion app as well as Chrome or any browser on mobile I can reproduce this bug.

Describe the behavior you expected

Disable swipe to open the menu on Android altogether when it's in gesture mode OR add a toggle to disable it in companion AND browser.

Steps to reproduce the issue

  1. Android phone must be in gesture navigation mode (https://www.androidpolice.com/how-to-use-gesture-navigation-on-android/)
  2. Swipe back to go back but don't let go. Cancel the arrow and gesture by going back with your finger untill the gesture aid (arrow) disspears again and let go.
  3. If you see a small lighter line (in dark mode) at the left, you did it correctly and it should not let you scroll.

https://user-images.githubusercontent.com/3942672/204366803-92cbb453-c2f9-4c22-acb2-3647a743543f.mp4

What version of Home Assistant Core has the issue?

2022.11.4

What was the last working version of Home Assistant Core?

No response

In which browser are you experiencing the issue with?

Multiple + Companion App

Which operating system are you using to run this browser?

Win 11 / android 13 (OneUi5)

State of relevant entities

No response

Problem-relevant frontend configuration

No response

Javascript errors shown in your browser console/inspector

No response

Additional information

No response

VNRARA avatar Nov 28 '22 19:11 VNRARA

Not sure if this is frontend related or more something for https://github.com/home-assistant/android

spacegaier avatar Nov 29 '22 23:11 spacegaier

Not sure if this is frontend related or more something for https://github.com/home-assistant/android

It's frontend as the user mentioned it's happening in chrome too, this is actually a duplicate of one that we moved previously.

It's actually very similar to

https://github.com/home-assistant/android/issues/3565

dshokouhi avatar Nov 30 '22 04:11 dshokouhi

How has this been a thing for a year. Pls just add a switch or detection for swipe gestures so at least we can disable it.

VNRARA avatar Dec 15 '22 23:12 VNRARA

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Mar 21 '23 00:03 github-actions[bot]

It's gotten worse. Making the whole app unresponsive without the menu being touched. I now have to swipe an invisible menu closed to get touch working in the rest of the app.

VNRARA avatar Mar 21 '23 17:03 VNRARA

swipe to open sidebar was removed

bramkragten avatar Jun 01 '23 09:06 bramkragten

swipe to open sidebar was removed

Personally (Android developer here 👋 ) I feel this is a regression 😢 . I for one used to open the sidebar work the swipe all the time. Could a setting be acceptable? I would consider adding such a setting if I knew it would be accepted.

catellie avatar Jun 18 '23 17:06 catellie

(Android developer here 👋 )

Never used gesture nav? It's very annoying if other elements/action happen when trying to do a system gesture. (This was a big issue pre-Android 10 iirc)...

VNRARA avatar Jun 20 '23 20:06 VNRARA

To be perfectly honest: I've used gesture nav a fair bit and I'm not super impressed. A classic rule of thumb is that a user interface should be very visible (in fact, Apple used to be one of the big promotors of that sentiment IIRC), but the gesture navigation is not at all visible (as a power user I can live with it if need be, less experienced users have more problems), and in my opinion it is also less precise (how much do you need to pull?) and occasionally less consistent (does left/right do the same thing between different apps?). Side note: have you considered accessibility? Blind users have various ways to navigate that are not particularly compatible with typical gestures. Also, if you are not on a touch device (say a TV, in a car or on an emulator) gestures are pretty much useless. Hence, any good app with ambitions to cater for the full audience should be able to do both. I'm also curious: assuming you are a gestures fan, don't you find it annoying to reach for the hamburger? Complex apps, such as Home Assistant make very good use of the side menu (some simple apps have less need) and personally I use it a fair amount - which is also why I find it really annoying to no longer be able to use the side swipe to open it.

catellie avatar Jun 21 '23 14:06 catellie

Speaking of popular and complex apps: You may have tried Slack? They had some "interesting" tailored navigation for a while, but have now returned to a side menu for workspace selection and IMHO it works perfectly - in fact, their swiping in the most recent "channel" sort of like a right side menu is pretty neat.

catellie avatar Jun 21 '23 14:06 catellie

Btw, the android app can implement the swipe gesture for the menu, even configurable, like the iOS app also does. Open a feature request for the android app.

bramkragten avatar Jun 21 '23 21:06 bramkragten

To be perfectly honest: I've used gesture nav a fair bit and I'm not super impressed.

Idc, but it works on Android.

A classic rule of thumb is that a user interface should be very visible (in fact, Apple used to be one of the big promotors of that sentiment IIRC), but the gesture navigation is not at all visible (as a power user I can live with it if need be, less experienced users have more problems), and in my opinion it is also less precise (how much do you need to pull?) and occasionally less consistent (does left/right do the same thing between different apps?).

That's for the OS to handle and in OneUi you can see a arrow when gesture is far enough. It's been working fine for most people on Android and iOS. Also Apple navigation using the top left arrows is shit. Every Apple user knows that. It's like reaching for the hamburgermenu for every little backaction.

Side note: have you considered accessibility? Blind users have various ways to navigate that are not particularly compatible with typical gestures.

Your point is moot: blind people use the same way of navigating as people on a pc do. Using seperate HID tools but on Android they can use the basic gestures: swipe up, down, left, right to select a items in an app to focus. Multi tap to input a click. Multi tap or swipe to do all the standard actions that do navigating.

VNRARA avatar Jun 29 '23 05:06 VNRARA

A classic rule of thumb is that a user interface should be very visible

That's for the OS to handle and in OneUi you can see a arrow when gesture is far enough.

Um, so now we're not talking "Android", but the specific Samsung bastardization where the buttons in question have always been rearranged in a backwards layout compared to the original? That certainly gives them an incentive to hide them... 🙈

Also Apple navigation using the top left arrows is shit. Every Apple user knows that. It's like reaching for the hamburgermenu for every little backaction.

I couldn't agree more, which is also exactly why the left swipe to open the hamburger makes a lot of sense - assuming you want to have the same, power user enabled interface on all layouts (desktop[mouse], chromebook[optional touch], tablet[touch] and phone). For simple apps it hardly matters.

Anyway, when I get some spare time I'll take a look into making this an option so that everyone can be happy.

Take care / Jonas

catellie avatar Jun 29 '23 06:06 catellie

For those interested in this: I started to look into this today, and found that a fair number of other users agree with me (unsurprisingly with a single very clear and vocal exception ...) in this issue: https://github.com/home-assistant/android/issues/3460 Also, there is already a good enough workaround outlined here: :tada: https://github.com/breakthestatic/hass-sidebar-swipe Hence, no immediate need for me to submit a patch, but at least I now have the repo ready for some other time :vulcan_salute: :

catellie avatar Jul 01 '23 14:07 catellie