-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Android: Fast drag with single frame not trigger checkOpacityAttr() #154
Comments
My hack for the issue can be found here: I did not raise the PR for my fix, because it is not fixing the cause of the issue (why |
Hello @ebhsgit Content is visible when i drag pane. I miss some step ? |
Hi @roman-rr Here's the video of the issue To reproduce, you have to drag the pane as soon as the app starts. Because, the issue exists only during the map loading phase. I was able to confirm this by delaying the map load to after 3 seconds after page load (ie: setTimeout(() => loadMap(), 3000)). |
Here's the map delayed load example to show the issue is related to something that occurs during cordova google map loading. The drag action has to occur after "starting map", but before "map load complete" toast. |
@ebhsgit I have a few things to discuss regarding your issue.
|
For 1. How are you running/emulating the app? For 2. & 3. I was having bug reports from users saying that the pane was blank and I was never able to reproduce it. And looking through all the code, everything seems fine. So I am reporting the issue so that you and others are made aware that there are issues using the 2 packages together (and possible others packages that would be doing the same or other DOM changes - since we don't know what changes causes the issue) It would great if we can determine exactly what type of DOM changes causes touch event to be lost, so that we can either fix the issue or document the assumptions. Even if the issue can't be fix, there are a few of work arounds developers could do in their app. (I'll use Google map as an example, but could be replaced with any other package that has compatibility issue with this package).
|
Additionally, in my investigation of the issue. I found a SO that talks about touch events being lost if DOM element is removed. From what I understand, the events in NOTE I didn't find any thing in the Maybe the |
Thank you for investigation @ebhsgit |
Let me know if I can be any help :) |
Hello @ebhsgit let's continue.
|
Hi @roman-rr Very good eyes. I didn't notice the pane opened in 1 frame in the video. Answers to your question:
|
Hello @ebhsgit Even if it's "fast drag", transition must be visible to next breakpoint. If Thank you. |
Thanks @roman-rr I can confirm that I can still reproduce it with It is easier to reproduce when the test app has the Google Map API Key set in the config.xml |
Another video captured using my phone recording the laptop screen. 20210823_162013_1.mp4The pane seems to complete the transition between bottom to top over a few frames. |
@ebhsgit Thank you for helps, it is definitely make pane better in common. And this is why i personally like apple devices, for high responsible gestures. |
Describe the bug
The setup
A page has a cupertino pane and google maps.
The pane has initial position set to bottom, and has middle breakpoint enabled, and top disabled. And UpperThanTop is set to false.
There is content to be shown in the middle breakpoint. The content html element has the
hide-on-bottom
attribute.On page load, both the pane and google map are created/displayed at the same time.
While the google map is still loading, when the user drag the pane to above the top position to open the pane to show the content.
The content is blank, but clickable (opacity = 0)
Dragging the pane again will result in showing the content (opacity = 1)
To Reproduce
Create a app with the setup as described
Steps to reproduce the behavior:
Demo src code that can reproduce the issue
https://github.com/ebhsgit/cupertino-pane-test/tree/bug-content_not_visible
NOTE:
If you want actual map to show, you need to change google map API key in
config.xml
Expected behavior
The content should be visible.
Screenshots
Issue
Expected
Smartphone (please complete the following information):
Additional context
The problem is caused by
TouchMove
event not firing while the pane is being dragged.Only the last event where the touchEvent position is above the
topper
. Which results intouchMove()
exiting without executingcheckOpacityAttr()
andcheckOverflowAttr()
I don't know what causes the
touchMove
events to be lost.The text was updated successfully, but these errors were encountered: