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

bug: Refresher is not visible in CDK virtual scroll list with multiple instances #25495

Open
4 of 7 tasks
WillooWisp opened this issue Jun 16, 2022 · 11 comments
Open
4 of 7 tasks
Labels
package: angular @ionic/angular package type: bug a confirmed bug report

Comments

@WillooWisp
Copy link

WillooWisp commented Jun 16, 2022

Prerequisites

Ionic Framework Version

  • v4.x
  • v5.x
  • v6.x
  • Nightly

Current Behavior

Refresher only works, gets visible, on active page upon reload.

Expected Behavior

Expects refresher to be visible on every page upon refresh, even if not active page upon refresh.

Steps to Reproduce

Use the tabs sample. Add a cdk virtual scroll list with refresher to each single tab page. Refresher only works on one of the pages, the one being active upon refresh in browser.

Code Reproduction URL

https://stackblitz.com/edit/ionic6-angular13-bat2vm

Ionic Info

Ionic:

Ionic CLI : 6.19.0 (npm\node_modules@ionic\cli)
Ionic Framework : @ionic/angular 6.1.9
@angular-devkit/build-angular : 14.0.1
@angular-devkit/schematics : 13.3.5
@angular/cli : 14.0.1
@ionic/angular-toolkit : 6.1.0

Capacitor:

Capacitor CLI : 3.5.1
@capacitor/android : 3.5.1
@capacitor/core : 3.5.1
@capacitor/ios : 3.5.1

Utility:

cordova-res : 0.15.2
native-run : 1.5.0

System:

NodeJS : v14.17.5 (C:\Program Files\nodejs\node.exe)
npm : 7.22.0
OS : Windows 10

Additional Information

This issue #25318 solved the problem where the refresher got visible too often, not sure if this bug fix actually causes this new problem.

@ionitron-bot ionitron-bot bot added the triage label Jun 16, 2022
@TimGels
Copy link

TimGels commented Jun 17, 2022

I also noticed this. For me the refresher has this issue in iOS mode where the refresher isnt visible on the second (or any other aside from the first loaded) page I try to use the refresher. It does fire the refresh event but the animation is not visible. On md mode the refresher appears to be working for me on all my pages.

@liamdebeasi liamdebeasi added the ionitron: needs reproduction a code reproduction is needed from the issue author label Jun 17, 2022
@ionitron-bot
Copy link

ionitron-bot bot commented Jun 17, 2022

Thanks for the issue! This issue has been labeled as needs reproduction. This label is added to issues that need a code reproduction.

Please reproduce this issue in an Ionic starter application and provide a way for us to access it (GitHub repo, StackBlitz, etc). Without a reliable code reproduction, it is unlikely we will be able to resolve the issue, leading to it being closed.

If you have already provided a code snippet and are seeing this message, it is likely that the code snippet was not enough for our team to reproduce the issue.

For a guide on how to create a good reproduction, see our Contributing Guide.

@ionitron-bot ionitron-bot bot removed the triage label Jun 17, 2022
@WillooWisp
Copy link
Author

Here is a sample reproducing the problem, https://stackblitz.com/edit/ionic6-angular13-bat2vm.
Make sure to toggle device toolbar, device view, and select an Android device for example. Refresh now only shows up for the view that was visible, active route, upon refresh.

@averyjohnston averyjohnston added triage and removed ionitron: needs reproduction a code reproduction is needed from the issue author labels Jun 21, 2022
@sean-perkins sean-perkins changed the title bug: bug: Refresher is not visible in CDK virtual scroll list with multiple instances Jun 23, 2022
@sean-perkins sean-perkins added the package: angular @ionic/angular package label Jun 23, 2022
@ionitron-bot ionitron-bot bot removed the triage label Jun 23, 2022
@sean-perkins
Copy link
Contributor

@WillooWisp thanks for the reproduction. The refresher appears to be attaching to the scroll events from the ionRefresh event firing, but the element is not visible.

I'm not exactly sure why multiple instances would effect the refresher's visibility, but we can capture as a bug and investigate in an upcoming sprint.

@sean-perkins sean-perkins added the type: bug a confirmed bug report label Jun 23, 2022
@WillooWisp
Copy link
Author

Any progress solving this?

@sean-perkins
Copy link
Contributor

We are in active 6.2 feature development, this bug has not been prioritized in our backlog yet.

Would gladly welcome further debugging from the community or a PR if someone identifies the problematic code and has a proposed resolution.

@sean-perkins
Copy link
Contributor

Hello @WillooWisp!

Can you test with this dev-build and let me know if you run into any issues?

6.2.2-dev.11660183625.1a3e60c7

fbalbinoribeiro pushed a commit to MEDGRUPOGIT/ionic-framework that referenced this issue Aug 16, 2022
@WillooWisp
Copy link
Author

@sean-perkins looks very promising so far!

@WillooWisp
Copy link
Author

@sean-perkins it works in browser on desktop, but not on actual Android device, all refresher are rendered completely black and not visible.

@sean-perkins
Copy link
Contributor

@WillooWisp can you share more about your environment?

I tested with this dev-build: 6.2.4-dev.11660836281.1a11712b due to this issue: #25782

On emulator with a Pixel 5 (API 32), pull to refresh works as expected with no black/invisible state.

@WillooWisp
Copy link
Author

@sean-perkins tested again now, with 6.2.3 and it works in dark mode I saw now, but the incorrect look is shown in light mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package: angular @ionic/angular package type: bug a confirmed bug report
Projects
None yet
Development

No branches or pull requests

5 participants