-
Notifications
You must be signed in to change notification settings - Fork 10.9k
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
[FIX] Apps page loading indefinitely if no Markeplace data #18274
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this solves the underlying problem.
If the request to the Marketplace errors out, it will throw and the code will go to the catch clause, leaving the table in loading state.
But even if it didn't, the provider still waits for the Marketplace request to finish before it shows the installed apps. This makes the wait time longer to see data that is not that useful in the Apps
page, for instance.
The best solution would be to decouple both requests, and prioritize the local apps list instead of the Marketplace one. In this way, the screen would quickly show results in the list while the Marketplace request (which takes longer to complete) finishes and complements the data being shown later.
This is even more beneficial to the Apps
page, in which the Marketplace data for the apps is less relevant than the actual list of installed apps.
As a further note, this hurts us @RocketChat/apps during our development of Apps-Engine features, because we usually install the local version of the Apps-Engine, causing an error in the Marketplace request. Thus, our installed apps list does not appear 😞 |
I made a PR before #16258 for the non-react version. The thought is to lazy-load category labels and renders apps list first. Besides rendering local apps first, lazy-loading category labels is needed for apps installed from the marketplace here too. |
Proposed changes
Issue(s)
How to test or reproduce
Screenshots
Types of changes
Checklist
Changelog
Further comments