Base solution for your next web application
Open Closed

Mobile app crashes when scrolling/refreshing the users list #4706


User avatar
0
yachea created

Hello,

I tried this a couple of times , it crashes the app inevitably after (quick) successive multiple scrolls/refreshes of the users list .

1 - Start the mobile version for IOS (I didn't test with Android yet) (Any IPone version, I tried 7, 8 , 10) 2- Make sure to have enough users (I have 11) for the same Tenant (I use Default) 3- Open the main user list on your mobile either using IOS Simulator on an IPhone device
4 - As soon you scroll completely to the bottom down and get back up to the top of the list, things start to get messy. You have multiple "loading wheels" showing up at the same time. Plus if you continue "refreshing" the list successively (by dragging the list down with you thumb or mouse) the app ends up by crashing eventually.

After a new deployment the app is slightly more stable (so you have to try out a couple of quick scrolls/refreshes around 12~15 times or so)

After the first crash of the app, the subsequent tests will crash much more quickly (3~4 scrolls/refreshes )

Hint: I think it have to do with how RefreshUsersAsync() is called and the default PageSize of 10 witch doesn't seems to work correctly if your total number of user is more then 10. (11 in my case)

Thank for your advice,


9 Answer(s)
  • User Avatar
    0
    alper created
    Support Team

    hi, just created an issue for this. will try to repro... track it here <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero-core/issues/827">https://github.com/aspnetzero/aspnet-ze ... issues/827</a>

  • User Avatar
    0
    yachea created

    Great! I'll be flowing it on Github then. Thank you very much

  • User Avatar
    0
    alper created
    Support Team

    Hi I couldn't reproduce the issue

    [attachment=0:2p2kkkah]IOS_Scroll_Problem_TryOut.gif[/attachment:2p2kkkah]

  • User Avatar
    0
    yachea created

    Hello ,

    It it very easy to reproduce actually. Maybe I miss expressed the steps to follow.

    What you should do first is to go the <ins>last element in the list.</ins>

    In other words:

    1 - Scroll down (which means move the list up with your mouse until your reach the last element of the list)

    at this step the list starts to refresh it self ( from the fact that you reached the bottom side. But doesn't necessarily crash yet) 2 - Scroll back the opposite side (move the list down with your mouse until you see the top element - exactly as what you are doping in your reply video ) and continue to do so let say 5 - 10 times max

    After you make it crash once. It will crash much more quickly the subsequent times (until just one repetition would crash the app)

    Please don't forget to have more than 10+ users in your list.

    *** Please see the attached gif in my replay on github thread (too large to be attached here)

    <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero-core/issues/827">https://github.com/aspnetzero/aspnet-ze ... issues/827</a>

    Thank your very much

  • User Avatar
    0
    ismcagdas created
    Support Team

    Thanks @yachea, we will check it again.

  • User Avatar
    0
    yachea created

    Please let me know if you have any update on this.

    PS : This bug is making the app very unstable and thus not viable to use.

  • User Avatar
    0
    ismcagdas created
    Support Team

    @yachea we have moved related issue to v5.5 milestone. We still couldn't reproduce and fix the problem.

    You will be notified when the issue is resolved.

  • User Avatar
    0
    yachea created

    Hello,

    I just fixed the issue at my level as I mentioned on Github : <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero-core/issues/827">https://github.com/aspnetzero/aspnet-ze ... issues/827</a>

    Mainly you should set the IsPullToRefreshEnabled value to "true" instead of binding it to "{Binding IsNotBusy}" in the UsersView.xaml file.

    Also I fixed the other big annoying issue: "Erratic jumps to the top of the list when lazy-loading new records" (see GitHub post)

    Finally I would highly recommend to flow the following implementation of ListView scrolling using behaviors, (instead of the current hack that uses code behind binding)

    here is the link :

    <a class="postlink" href="http://rasmustc.com/blog/Infinite-ListView-Scrolling-With-Behaviors/">http://rasmustc.com/blog/Infinite-ListV ... Behaviors/</a>

    Thank you very much

  • User Avatar
    0
    alper created
    Support Team

    hi,

    Thanks for your feedback. I will definitely check it out ;)