ionic-team / ionic-framework

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
https://ionicframework.com
MIT License
51.03k stars 13.51k forks source link

Vertical scrolling not working on BlackBerry10 #2170

Closed oliversalzburg closed 9 years ago

oliversalzburg commented 10 years ago

Occasionally vertical scrolling will no longer work on BlackBerry10. I'm unable to scroll lists or pages in general. Slide to refresh doesn't work either.

However, opening a side navigation menu by sliding horizontally still works.

Restarting the app usually fixes the problem.

adamdbradley commented 10 years ago

Would you be able to test this with the nightly build? I'm curious if one of our recent fixes also fixed this: http://code.ionicframework.com/#nightly

thanks

oliversalzburg commented 10 years ago

@adamdbradley I've switched our build to use #v1.0.0-beta.11-nightly-432 Sadly I have no idea what is/was causing this problem so I can't really test if it's fixed.

I'll see if it happens again and report back.

oliversalzburg commented 10 years ago

@adamdbradley It's not fixed in the nightly. I was able to gather more information though.

keyboardPreventDefault is triggered when touchmove is fired. It will then .preventDefault(), which causes the behavior I'm seeing.

adamdbradley commented 10 years ago

Would you be able to create fork one of these codepens and describe exactly how to replicate the issue? And this is happening on a Blackberry 10 device, not an emulator?

oliversalzburg commented 10 years ago

No, I can't, because I don't know how to replicate it yet. It just happens randomly. It does happen several times a day, but, so far, I've not been able to see a pattern.

And, yes, this is an actual BlackBerry 10 device (z10).

alexbainbridge commented 10 years ago

@oliversalzburg I don't suppose you are showing a keyboard at any point?

oliversalzburg commented 10 years ago

@alexbainbridge Well, we have forms which cause the keyboard to be shown when used. But we're not activating the keyboard programmatically, if that's what you're asking.

perrygovier commented 10 years ago

Any luck finding a way to consistently reproduce it?

oliversalzburg commented 10 years ago

@perrygovier I just ran a couple of tests on my z10 and am able to reliably reproduce the issue.

When you first open our app, you have two text inputs and a "register" button. The user will fill in the two text inputs and press the button. This will cause an $ionicLoading spinner to show during the registration operation. Upon completion of that process, the user is redirected (via $location) to the main application page. The user is then unable to scroll.

Restarting the application will fix the problem. I couldn't reproduce the problem by simply using other text inputs in our app, so there has to be something specific about this process.

Hopefully the described process will already give you an idea on where to look, constructing a pen would take me some time.

oliversalzburg commented 10 years ago

Manually calling cordova.plugins.Keyboard.disableScroll( false ); on our main application page fixes this issue. Yay

perrygovier commented 10 years ago

ah, that makes sense. I don't believe the keyboard plugin works for Blackberry.

So the todo is to set it so it's disabled by default on the blackberry platform.

Ionitron commented 9 years ago

Greetings @oliversalzburg!

I'm sorry, but my sensors indicate that this issue may no longer apply to recent versions of Ionic.

If you are still experiencing this issue, please feel free to reopen it by creating a new issue and provide the following information, so that I may assist you:

Additionally, providing a codepen that replicates the issue is extremely helpful.

If you wish to get help using the framework itself, I recommended visiting the forum. There are many humans there who can offer sage advice.

Thank you for allowing me to assist you.