tkem / mopidy-mobile

Mopidy Web client extension and hybrid app for mobile devices
Apache License 2.0
78 stars 14 forks source link

Scrolling while reordering playlist in mobile browsers is almost unusable #243

Open dreamlayers opened 1 year ago

dreamlayers commented 1 year ago

I have Mopidy 3.3.0-1 installed on a Raspberry Pi 2 B running Raspbian Bullseye. There I have Mopidy_Mobile 1.10.0 installed via pip. Usually I use it from a desktop web browser, and that works fine. Today I tried reordering a playlist using mobile browsers on my Samsung Galaxy S5 running LineageOS 18.1 Android 11. This was almost impossible.

Using both Samsung browser 19.0.3.12 and Firefox 107.2.0, the problem is that once scrolling starts, both the playlist and the item I'm trying to move move together in most of the screen. So, the item stays on top of the same position on the playlist, and that cannot be used to move the item. It is possible to reposition the item by going to the top or bottom of the screen and alowing the playlist to scroll while the item cannot go any farther. But that is hard to control precisely. In Samsung browser it is possible to move the first item in the playlist with the playlist staying stationary, but once I move it far enough down to cause scrolling, both the item and list move together.

Furthermore, Firefox has the problem that the item can get stuck at the top or bottom of the screen for some time. It seems like scroll events get queued, and then the item is stuck until those events perform their action.

I installed the Mopidy Mobile app version 1.10.0 from Google Play, and this problem does not occur there. Furthermore, in both Samsung browser and Firefox, if I request desktop site, the item and list moving together problem does not occur. The font becomes too small in both browsers, but that's easy to fix by turning my phone sideways, into landscape orientation. Firefox still has the problem with scroll events getting queued, but that's not a big problem when scrolling isn't the only way to reposition items.