Skip to content
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

VirtualScroll Issue Round Up #8744

Closed
ghenry22 opened this issue Oct 17, 2016 · 58 comments
Closed

VirtualScroll Issue Round Up #8744

ghenry22 opened this issue Oct 17, 2016 · 58 comments
Assignees
Labels
ionitron: v3 moves the issue to the ionic-v3 repository

Comments

@ghenry22
Copy link

ghenry22 commented Oct 17, 2016

I have run through all open tickets relating to virtualscroll and have compiled this list. Those tickets that still need action (unless otherwise noted) can still be reproduced. I have clearly listed duplicate tickets and tickets for issues that I can no longer reproduce with ionic2 RC1.

Hopefully this helps to clean up the open issues and can be used as a focus to target those virtualscroll issues that still exist. Most of these issues relate to ios uiwebview, although some are across all platforms.

Issues Confirmed Still Present in 3.4.2
#7734 - virtualscroll shows blank screen when used inside an ion-segment (or other conditional such as *ngIf)
#9765 - refresher component does not work with virtualscroll lists (with ionic 3.4.2 refresher cannot even be triggered if there is a virtual scroll list, cannot pull down properly)
#9975 - ScrollToTop and ScrollTo(x,y) does not work on virtualscroll list with uiwebview. create a list, add a button that will scroll to top or a to a specific location. Scroll down the list and hit the button. The display of the list will either flicker or show part of the items at the scroll destination. As soon as you try to scroll again the list display refreshes to be back where you were before pressing the button. So essential scrollTo functions do nothing. (uiwebview). This was closed but is still definitely present.
#9935 - filtering a virtualscroll list does not refocus the view port on the new list content. This issue is still present but has slightly different symptoms. I have updated the ticket with testing from v3.4.2
#12649 - using ItemSliding with VirtualScroll causes multilpe items to be slid open at once

To be confirmed (I haven't had time to test this one yet)
#11788 - When using virtual scroll with infinite scroll, when infinite scroll appends new items to the end of the list the list flickers and jumps slightly up or down.

Issue Confirmed Fixed/cannot reproduce in 3.4.2 (issues that can be closed)

Click on Details to see the fixed issues

#6999 - I believe this should be the same issue as #8267, until there is a small extra scroll not all items render after scrolling stops.
#8142 - Can be closed, tags not present, adding resolved the issue.
#8032 - Can be closed, references issue #7734, otherwise I have tested and custom components do work in virtual scroll as of RC0, image rendering of avatars inside virtualscroll is also logged under #6983 which addresses all points referenced here.
#7135 - Can be closed, virtualscroll list overlapped by header and footer. Cannot reproduce in RC0
#7116 - Can be closed, there were commits by @manucorporat which resolved this already, I can confirm that I use sliding items in large virtual scroll list and they animate and work nicely currently in RC0.
#6883 - Can be closed, initial scroll performance greatly improved, remaining issues with scroll acceleration covered in #6984
#6984 - Referred to above, also closed for scroll related performance. Issue related to ion-refresher is logged under #9765
#8267 - virtualscroll update after scrolling stops (otherwise a blank screen is shown until a small further movement is made)
#6961 - Can be closed, cannot reproduce on either ios, android or browser in RC0
#8037, #7056, #7024, #6423 (duplicates) - virtualscroll automatically scrolls to top of list on data change. Position should remain the same with the removed or added item included.
#7947 - virtualscroll inside modal not contained to viewport on iOS, long lists run off the screen
#6984 - virtualscroll on ios9 or earlier, refresher conflicts with scroll, when swiping down refresher is always triggered regardless of position in list. Means you can only scroll in one direction. Scroll acceleration also feels VERY slow compared to other platforms. No issue on android, also no issue with wkwebview and slightly better on ios10 with UIWebview.
#6983 - ion-img in virtualscroll with ion-avatar results in corrupted image display.
#6881 - custom component as virtualItem in virtualScroll leads to corrupted layout. There is a work around stated in the comments on this issue which could be added to the docs to address this.
#6974 - virtualscroll inside ion-slide results in incorrect layout (I have not been able to test this one personally)
#6512 - virtualscroll does not redraw when the list is updated to be empty. ie when search filter returns 0 results the list is not updated to show an empty list.
#6394 - ios list does not bounce when using virtualscroll. Makes it feel VERY non-native. ngfor or static lists bounce as expected.

@jgw96
Copy link
Contributor

jgw96 commented Oct 17, 2016

@ghenry22 This is awesome! Thanks for putting this together. I am going over this now.

@jgw96 jgw96 added the v2 label Oct 17, 2016
@manucorporat
Copy link
Contributor

@ghenry22 thanks so much!!! this is amazing, I will start working on this and picker/datetime once all the mayor navigation issues are fixed

@comfortme
Copy link

great work! virtual scoll has so much performance potential yet is not cared enough.

@ghenry22
Copy link
Author

@manucorporat @jgw96 No problem I thought I would try and help clean up some of the open issues and make it easier to focus on what is outstanding with virtualscroll.

@ghenry22
Copy link
Author

ghenry22 commented Nov 7, 2016

@manucorporat @jgw96 could this please get pulled into either RC3 or RC4?

I know it's pre-release but virtualscroll has been very broken on ios since it was released as a feature. It would be really great to get it at least usable and close to on par with android.

@jgw96
Copy link
Contributor

jgw96 commented Nov 7, 2016

Hello @ghenry22 ! We have added #8267 to the rc3 milestone and will be working through these issues as we get closer to stable and after stable. Thanks!

@Ritzlgrmft
Copy link
Contributor

I just (re-)opened an issue concerning virtual scroll: #9247

@Ritzlgrmft
Copy link
Contributor

Another virtual scroll issue: #9350

@ghenry22
Copy link
Author

ghenry22 commented Dec 19, 2016

Just started testing virtualscroll with RC4 as I saw there were some commits related to it. Unfortunately a lot of these issues still remain and some are even worse.

Scroll acceleration is now horrible in UIWebview on IOS. Very laggy and slow, far worse than in rc3.

Conflict with ion-refresher is still present on UIWebview on IOS. At any point if you swipe down (regardless of position in list) the refresher triggers. Previously this was annoying as it would reload the list data. In rc4, the whole app becomes unresponsive, it uses up all the memory available and then crashes.

So for an app using iOS with ion-refresher and virtualscroll it is still not possible to scroll a list up and down in RC4. Surely when talking about ionic components, nothing unusual and in RC stage this level of issue should be considered quite major? I know it's still pre-release and that's no problem. I'd just love to be able to start testing my app on ios properly and sharing the beta with people.

I would love to help the ionic team to get virtualscroll playing nice. I am happy to test changes or new builds against my app as fast as they can be released, I will spend as much of my time as needed to help.

Can someone PLEASE, PLEASE, PLEASE work on this?

@AmitMY
Copy link
Contributor

AmitMY commented Feb 20, 2017

Any update on this? Just tried using it today, and had many many problems

@ghenry22
Copy link
Author

unfortunately I have not seen any updates to virtual scroll since about RC4. Hopefully the team will be able to put some focus onto in soon as it is driving me a bit nuts. It makes it really hard to get an ionic2 app live in a state that doesn't generate negative feedback with unpredictable list handling.

@ghenry22
Copy link
Author

@manucorporat did make an awesome update to the wkwebview plugin though which allows you to access locally stored persistent storage so I was able to move to using that which resolved some of the harsher issues so I could actually publish my app in a reasonable state.

@zakton5
Copy link
Contributor

zakton5 commented Feb 22, 2017

Virtual scroll definitely needs some attention. As you said, @ghenry22, it is very difficult to release an ionic2 app that handles a lot of data with long lists without it. Could the ionic team give some updates on virtual scrolling in general, perhaps a road map? @jgw96 @manucorporat @danbucholtz

@ghenry22
Copy link
Author

ghenry22 commented Mar 9, 2017

@manucorporat @jgw96 Hi Guys, any chance we could get a bit of focus onto fixing up virtualscroll in an upcoming version? There is a huge list of bugs here related to it and there are many more besides this since I compiled this list. Many over lap or dupe things already here.

Primarily I think if the below 4 issues were cleared up then many of the current virtualscroll issues could be closed out as lots relate to this behaviour or a variant of this behaviour. There is a PR hanging which may address the segments/conditional bug already as well.

If you can get some fixes in I am happy to put the time updating this list and doing basic testing and triage on related issues for you.

Virtualscroll inside a conditional (ie an ngif or in a segment)
Virtualscroll with refresher component (particularly on UIWebview)
Virtualscroll blank page when filtering/updating a list when not at the top of the list.
Virtualscroll page bounce needs to be enabled on iOS otherwise it feels very non-native.

@faraazc
Copy link

faraazc commented Mar 9, 2017

@ghenry22 adding to the list is the issue related to infinite-scroll with virtualscroll. This is a show stopper for using ionic. As it is basic requirement, because we cannot make an app similar to fb or twitter. This is the age for big data and ionic should fix this and make this as priority. @mhartington @adamdbradley @jgw96 @mlynch @brandyscarney @manucorporat

@brandyscarney brandyscarney added this to the 2.3.0 milestone Mar 9, 2017
@brandyscarney
Copy link
Member

We will be discussing this issue internally at our meeting tomorrow morning and will update this issue once we have a timeline for this. Thank you!

@JustasKuizinas
Copy link

@brandyscarney Virtual scroll is very important for fb,tw like apps, hope bugs will be fixed soon

@ghenry22
Copy link
Author

@brandyscarney thanks for the update. As mentioned I am more than happy to donate time testing and cleaning up open issues related to virtualscroll so you guys can focus more on fixes for it! Just let me know if I can help in any way.

@agrt56
Copy link

agrt56 commented Mar 10, 2017

Another virtualscroll issue introduced with rc4: #9660

@frederikschubert
Copy link

Most of these issues come from the fact that the views in the virtual scroll are created outside the angular zone. See #10451

@manucorporat manucorporat added this to the 2.4.0 milestone Mar 16, 2017
@ghenry22
Copy link
Author

@manucorporat @jgw96

Guys could you please allocate some time to fixing this laundry list of virtualscroll issues? This is getting very frustrating.

It honestly makes it so hard to publish an ionic app for iOS in usable condition with all these issues around virtualscroll lists. Virtualscroll is a great selling point for ionic 2 as it gives the user the ability to have fast and responsive lists from large datasets but it has to work better than how it is.

@JustasKuizinas
Copy link

JustasKuizinas commented May 25, 2017

@ghenry22 Good point we are also getting to the finish with our app and if virtual scroll bugs won't be fixed we can't publish it. I think virtual scroll scroll is the key point in most apps these days, unless you are publishing barcode scanner app.

@naveedahmed1
Copy link

@ghenry22 it seems that the below issues have been resolved, please take a look and update the list:

#8267
#6999
#8037
#7056
#7024
#6423
#7947
#6984
#6983
#6881

@ghenry22
Copy link
Author

ghenry22 commented Jun 2, 2017

@naveedahmed1 I am working through this list and will then go through any other newer virtual scroll issues logged. I am updating the lists of those currently present and those still outstanding in the first post gradually. It will take a few days at least to work through and validated issues again with the latest version of ionic.

@djstomp
Copy link

djstomp commented Jun 9, 2017

same issue here, which only happens on iOS in standalone mode
#10082

@masimplo
Copy link
Contributor

@ghenry22 Just opened some issues present in 3.3.0, maybe you want to add them to the list
#12034
#12035
#12036

@petermm
Copy link

petermm commented Jun 15, 2017

#12047 as well - difficult to say if it's a duplicate, given the amount of issues relating to virtualScroll.

@JustasKuizinas
Copy link

JustasKuizinas commented Jun 19, 2017

Maybe anyone use some kind of alternative to virtual scroll? I love ionic but it's virtual scroll is far far away from production use :)

@ghenry22
Copy link
Author

@manucorporat @jgw96 I have updated this list for v3.4.2 and will review through new tickets over the coming week and add them in gradually as I have time to verify them. Would really appreciate if you could allocate some time to working on the confirmed issues.

@HugoHeneault
Copy link

@manucorporat @jgw96 Any updates planned on VirtualScroll for the upcoming 3.5.0? I'm about to start using it but if nothing's planned for the weeks to come I'll have to find some workaround and wait before using VirtualScroll. :(
If you have some time to get back to us so we can know if we'll have to wait for some months could be great!
Thanks for your great work guys, just keep going!

@HugoHeneault
Copy link

Could we have some news from the ionic team? At least a "wait for a few days/weeks/months" would be much appreciated. 👍

@jgw96
Copy link
Contributor

jgw96 commented Jul 17, 2017

Hello all! Just an update on this. We are currently working on getting ionic-angular v4 ready which is going to bring some very nice improvements to our loading performance, which is something we have been working on a while. So, while we do not plan on having any virtual scroll specific fixes in the next release, we do have this issue in our priority queue and will be fixing the remaining issues. In the meantime, if one of the issues that are listed as still an issue in the latest release affects your use case, i would recommend infinite scroll as a good alternative. Also, for iOS i would recommend installing our wkwebview plugin to get the best virtual scroll experience.
TLDR: We have this issue in our priority queue and plan on fixing the issues listed, but right now this issue is behind some other higher priority issues, like bundle size and load time.

@HugoHeneault
Copy link

Thank you very much @jgw96 for this good news! One quick thought: what about #12194? It seems to fix some of the most annoying issues and it's already done, it just needs some review. :-)
Do you guys have any ideas about the v4 ETA?
Thanks for all your great work!

@HugoHeneault
Copy link

HugoHeneault commented Jul 18, 2017

I've just added a new issue about VirtualScroll about VS slowing down the page with big a tree layout inside it: #12392

@zakton5
Copy link
Contributor

zakton5 commented Jul 20, 2017

I am still seeing that #6512 is an issue in 3.5.3

@leandroz
Copy link

One issue thats happening to me is the mixed of WKWebView + Sliding Items.
Basically what happens is that the sliding does not happen and I see in the console:
CDVWKWebViewEngine: handleStopScroll

The only moment where it works, its if I do the gesture before the handleStopScroll appears in the console.

@zk118
Copy link

zk118 commented Jan 5, 2018

Can someone help me with this VirtualScroll issue?

#13772

@pitamash
Copy link

pitamash commented Sep 7, 2018

Also not working with ion-slide.

@adamdbradley adamdbradley added the ionitron: v3 moves the issue to the ionic-v3 repository label Nov 1, 2018
@imhoffd imhoffd removed the ionitron: v3 moves the issue to the ionic-v3 repository label Nov 28, 2018
@Ionitron Ionitron added the ionitron: v3 moves the issue to the ionic-v3 repository label Nov 28, 2018
@ionitron-bot
Copy link

ionitron-bot bot commented Nov 28, 2018

This issue has been automatically identified as an Ionic 3 issue. We recently moved Ionic 3 to its own repository. I am moving this issue to the repository for Ionic 3. Please track this issue over there.

If I've made a mistake, and if this issue is still relevant to Ionic 4, please let the Ionic Framework team know!

Thank you for using Ionic!

@ionitron-bot
Copy link

ionitron-bot bot commented Nov 28, 2018

Issue moved to: ionic-team/ionic-v3#135

@ionitron-bot ionitron-bot bot closed this as completed Nov 28, 2018
@ionitron-bot ionitron-bot bot locked and limited conversation to collaborators Nov 28, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
ionitron: v3 moves the issue to the ionic-v3 repository
Projects
None yet
Development

No branches or pull requests