Closed petrixh closed 5 years ago
The most likely root cause is the new "feature" in Chrome 74 described, e.g. here: https://venturebeat.com/2019/04/23/google-chrome-74/
"Motion sickness in the browser is a real thing. Android provides an accessibility option to reduce motion whenever possible, as shown above in the “remove animations” setting. Chrome is now taking that a step further so websites can limit motion sickness when users are viewing parallax scrolling, zooming, and other motion effects.
Chrome 74 introduces prefers-reduced-motion (part of Media Queries Level 5) that allows websites to honor when an operating system is set to limit motion effects. This might not seem like a big deal today, but it could be very useful if websites start abusing motion effects."
And in the implementation of Drag and Drop, the drag image is using animation, which is most likely blocked by this feature.
At least on macOS Mojave it doesn't seem to be an issue in Chrome 74 even if I turn on "Reduce motion" in the system preferences (Accessibility > Display > Reduce motion) and restart Chrome.
Apparently the corresponding setting in Win 10 is found in: Settings > Ease of Access > Display > Simplify and personalise Windows > Show animation in Windows. So maybe you could try if toggling that has any effect to rule it out.
I was able to do some further testing with touch enabled Windows 10 PC with latest Chrome 74+. It seems that the problem is not limited to multi-select DnD, but actually all DnD operations fail.
Apparently the corresponding setting in Win 10 is found in: Settings > Ease of Access > Display > Simplify and personalise Windows > Show animation in Windows.
I need to try that next, I was not able to find out the setting yesterday.
Settings > Ease of Access > Display > Simplify and personalise Windows > Show animation in Windows
The above has nothing to do with this.
However the following Chrome flags settings remedied the issue for me both for the Sampler and https://incubator.app.fi/incubator-dnd-autoscroll-demo/
Note, the settings mentioned in my earlier comment are needed only with PCs with real touch screen. They fix the situation where functionality is completely broken.
However, they do not fix the cosmetic issue of the missing drag image.
The same issue happens also with the latest Chrome version 75.0.3770.100
Tested with versio 76.0.3809.100 of Chrome, the DnD animation is still missing.
I am closing this as wont fix, since we do not have method to fix it right now.
After a recent chrome update (probably April 23, 2019) Chrome version got bumped from 73 to 74. During this update, multi-select DnD drag preview image in Chrome seems to have broken when running on Windows 10 (see screenshot). The same Chrome version on OS X works fine with DnD so seems to be OS specific. Customer also reports that the same issue is present in an "Acer ChromeBook & Chrome" (presumably also running Chrome 74).
The problem is easily reproducible in the Sampler: https://demo.vaadin.com/sampler/#ui/drag-drop/grid-reorder-rows-html5
as well as this demo application of an extension: https://incubator.app.fi/incubator-dnd-autoscroll-demo/
Quickly debugging, there isn't anything in the console that would indicate any errors happening on the client-side, almost like the dragStartEvent doesn't get triggered which therefore never renders the preview (or a change in how event.preventDefault/stopPropagation handling in chrome).
To make sure we can quickly validate and fix the bug, please provide as much as possible of the following information:
Vaadin Framework version Vaadin 8.7.1 (verified, but likely other versions as well)
Browser version Chrome 74.0.3729.108 (note Windows 10/Chromium OS only, Android will probably follow?)
Minimal reproducible example
1) Go to https://demo.vaadin.com/sampler/#ui/drag-drop/grid-reorder-rows-html5 2) enable multi-select and select at least 2 rows 3) Drag the two rows
Error: No drag preview with a count badge is shown
Expected: Drag preview with count badge should be visible just like before and on OS X
Possibly related to: https://github.com/vaadin/framework/issues/11219 However, reproducible on VirtualMachine without touch devices configured on it (i.e. not a hybrid device)