-
Notifications
You must be signed in to change notification settings - Fork 13.5k
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
Stuck scroll position #482
Comments
I can also verify that this happens on occasion. Difficult to reproduce reliably, but it's definitely something that needs attention as it's such a basic element of the framework. |
I see it from time to time too. However, it is not limited to PTR in my experience. |
Agree with calendee, it happens regardless of PTR. |
Yep, this needs to be fixed, I keep reproducing it myself. We will get this fixed next week! |
I've been able to recreate this reliably on IOS by taking the sample seed app (with the pets) and adding entries. If you one way fast (such that gravity scroll would take you off the end) and then scroll slightly back in opposite direction it freezes. It never freezes if you move within the scroll bounds. |
Thanks for the reports and ways to reproduce. It shouldn't get stuck anymore. Read the commit message if you're interested in why it was messing up. Test it out and let us know how it works! |
Terrific!! Will test now. Thanks guys!! |
Sadly I don't think this is fully fixed I can still get the content stuck fully off screen (not related to PTR I see, correcting my earlier thought on this) |
Hey @alexbainbridge! OK. Can you post the code and device that gives you problems? can you also give a screenshot? I think it can only bug if you have very specific scroll height combined with a specific acceleration of scroll. |
I just got it to happen on this codepen http://codepen.io/anon/pen/aKycF (from issue #425) |
I'm afraid I agree with @alexbainbridge... Content still occasionally sticks. Due to the difficulty in reproducing I can't tell whether the latest commit had made things better or not. Sorry guys, I think this issue needs to be reopened. |
OK, reopening! I have a few more ideas floating around at why zynga scroller is being funny. |
Ok @alexbainbridge @CoenWarmer would you guys mind testing this again (nightly build should be updated on cdn within 20 minutes of this post). I added a check that will always re-start the scroll if it stops beyond the boundaries. I am consistently unable no matter how hard I try now to get this to get stuck now. :-) |
Trying it out now- looks good so far @ajoslin! |
@ajoslin I hate to bear bad news but I'm afraid it's still there. It's getting really rare now but it's there. I've made a screen capture http://www.youtube.com/watch?v=extW9E2EcJc, after about 48 seconds of frantic scrolling the content does stick again. |
Thanks @CoenWarmer! I'll look into I some more. |
Hey @CoenWarmer - I just fixed something - I think the problem was when the scroll velocity was really low absolute value and below 0. I tried bouncing it for about a minute and couldn't get it to stick. But you seem to be the skilled one here at reproducing! Lemme know how it works for you! |
Ok I'm gonna try this as soon as I can. Thanks again for your determination in sorting this out @ajoslin ! |
Well @ajoslin there's good news and there's bad news. The bad: it still sticks sometimes. Here's the video of the latest nightly: http://www.youtube.com/watch?v=jnb7bej2MgU I can reproduce the behavior by tapping and pushing upwards (I think downwards works too) twice in very rapid succession. If you do this fast enough, the content sticks. Other issues that were fixed relatively recently such as the click handler firing twice if you tap it fast enough come to mind when looking at this bug. Could it be related to that in some way? |
After some further research on an actual iOS device I have found it might actually a bit different than I previously thought. On device I can't get it to stick in the same way by frantically pushing upward. My new hypothesis is this:
The time spent on touch on the second motion could be related to the content sticking, but I'm not sure. I'm currently thinking it has more to do with the speed of the content nearly being zero when initiating a second movement. |
Thanks @CoenWarmer! I'll look into it some more. |
OK @CoenWarmer! Great research! Helped me a lot. I found out that my check to see if the scroll was stopped was sometimes checking if the scroll was <=0! It was: var isStoppedY = Math.abs(self.__decelerationVelocityY) <= self.__minDecelerationScrollTop; But __minDeceleratingScrollTop is dynamically calculated and is sometimes 0 :-) Now it's: var isStoppedY = Math.abs(self.__decelerationVelocityY) <= self.__minVelocityToKeepDecelerating; And __minVelocityToKeepDecelerating is always a positive number; it's the number used to check 'should we stop scrolling?' Lemme know how it works now! I was able to consistently reproduce given your explanation before the fix, and now I can't. |
YES!! @ajoslin I've been dragging my thumbs raw but I can't get the content to stick anymore! Thanks for your dedication in tracking this devious little (but crucial) bug down- you're the best. |
Fixed :-) |
I am facing this issues also now. I scroll a bit on the page and the scroll bar get stuck and starts producing the error: |
As per http://forum.ionicframework.com/t/default-scrolling-problem/536
This happens quite a lot and makes the scroll experience jumpy. What happens is that the scroll seems to go "off page" - and then stay there.
Specifically, this seems to happen on scrolling content that has pull to refresh active
The text was updated successfully, but these errors were encountered: