atlassian / pragmatic-drag-and-drop

Fast drag and drop for any experience on any tech stack
https://atlassian.design/components/pragmatic-drag-and-drop
Other
9.19k stars 205 forks source link

Android + Chrome@128 not working? #112

Open inventorgg opened 2 weeks ago

inventorgg commented 2 weeks ago

We use Pragmatic Drag and Drop for tree-style D&D throughout our product and have received a number of reports of drag and drop failing to 'start' a drag across multiple Android phones. It seems to change the state of the target item as if a drag had started, but doesn't create the floating item or properly show the indicator state.

We've been able to reproduce the report on a test device (against both our site and the examples site), and are not currently aware of a mitigation/fix. The issue seems to also occur with many (if not all of) the official examples available at https://atlassian.design/components/pragmatic-drag-and-drop/examples so we do not believe the issue is specific to our implementation.

The issue seems to have started a few days to a week ago, without any dependency or implementation changes on our end. Everything seems to work on a device with Chrome version 127.0.6533, so we believe it may be caused by a change in Chrome/Chromium version 128.

We're aware of the issue occurring with Chrome and Brave on these device configurations (and expect other chromium-based android browsers to be affected as well):

This screencap shows the issue on our site (loosely based on the tree example): https://github.com/user-attachments/assets/c0c06f32-74cf-4f77-ab1d-ae8e668d9dab

This screncap shows the issue on the examples site: https://github.com/user-attachments/assets/7b7c8e33-8c79-4807-b545-22a116aa4c50

We also received this video from an affected end-user. The first portion is Brave (Chromium v128), the second browser is Kiwi, which works as expected and uses Chromium v124. https://imgur.com/bDMEOTe

alexreardon commented 1 week ago

I am currently unable to verify this issue as I don't have access to Chrome@128 on Android (Chrome@127 is the latest available to me).

If you have access to Chrome@128 on Android, can you please validate whether this minimal case works?

alexreardon commented 1 week ago

I've downloaded some newer versions of Chrome on my Android device. I have found no issues with with the standalone platform drag and drop example or with our pdnd board example on any of the versions I tried 🤔

Tested on a Pixel 5 running Android@14

inventorgg commented 1 week ago

That's really strange. Just tried the minimal standalone demo on a Pixel 8 Pro (Android 14) with:

It isn't working on any of those versions, but works on the exact same device with Chrome 127.0.6533.106.

inventorgg commented 1 week ago

Worked with some affected users and a test device to collect more info specifically about that standalone demo:

Working:

Not working:

A21/A22 are on Android 12, Galaxy S21 is on Android 14.

alexreardon commented 1 week ago

Thanks so much for looking into this. Sounds like it's time to raise a bug with Chrome.

Cheers

inventorgg commented 1 week ago

Thanks for your help! Just created the issue at https://issues.chromium.org/u/0/issues/363930156

alexreardon commented 1 week ago

Thank you 🫡

ColonelThirtyTwo commented 1 week ago

I'm not able to interact with any of the examples on https://atlassian.design/components/pragmatic-drag-and-drop/examples/ using touch. Touches just scroll the page. I've tested it on Firefox and Chrome on Android, as well as Firefox's and Chromium's touch emulation on Linux.

Here's a video I took on Firefox for Android. I was attempting to drag the handles, and you can occasionally see one of them briefly highlight from hovering, but the screen scrolls instead of moving the items.

https://github.com/user-attachments/assets/28d90863-44c7-4dc0-b2fa-83f198ea28b4

EDIT: Apparently FF not working is filed as #14 ... I'm frustrated that there's no touch event fallback.

goodjobjohn commented 3 days ago

+1 Chrome 128.0.6613.127 firefox nightly 132.0a1 (Build #2016043439) android 12

gibtree commented 1 day ago

I'm not sure if this helps, but I can also reproduce this failure on Desktop on both Firefox and Chrome (on Linux) by using their Mobile emulation devtools. The touch events don't seem to be picked up at all by the examples page on a browser.

Version 128.0.6613.137 (Official Build) (64-bit) for Chrome.

Screencast from 09-13-2024 09:46:45 PM.webm