- When there are over a configurable amount of resources to display in a list force the user to select a single namespace and use it to fetch resources related to the list
- Disabled by default, this can be enabled via the usual Global Settings --> Performance setting as usual
Functional Comments
- Gates for forcing the filter (count, resource type is namespaced, etc) apply only to the resources shown in the list.
- For example PV's aren't namespaced, so no enforced filtering. However they fetch PVC's which are namespaced
- For example we could have 10 resources to show in the list, but the resource types list component fetches 10000 other resources. The secondary resources are not taken in to account
- If we're under the threshold and have fetched all resources, if in that session we go over the threshold we won't fetch NS specific resources (because we have them all already)
- If we're over the threshold and have fetched namespaced resources, if in that session we go under the threshold we will fetch all resources
- If we're over the threshold and have fetched namespaced resources, going to a page that needs them all will result in us fetching them all (for instance from `events` to `cluster dashboard`)
- Deselecting a namespace and selecting it again should not kick off another http request
General Commit Comments
- The threshold to enforce the filter is set at 1500 as per manual fresh and incremental loading
- Optimised some code in ResourceList, resource-fetch and $loadingResources
* removing check for restriction of types on incremental+manual + update masthead to incorportate directly the ResourceLoadingIndicator so that it can used by list views with custom mastheads + move catalog.clusterrepo typedescription to its rightful component and delete custom list view + updating custom list views to use resource-fetch mixin
* continue updating custom list views to use resource-fetch mixin
* finish updating custom list views to use resource-fetch mixin + prevent error on loadAdd mutation where type is not set in store yet + code cleanup
* address PR comments
* update all custom list views to use loading prop on ResourceTable rather than Loading component + use getter to get incremental updates propagated from the store into the table itself + other minor fixes
* revert changes to mutation loadAdd as check is not needed
* revert all changes to shell/list/harvesterhci.io.management.cluster.vue
* revert deletion of clusterrepo due to CI/CD validation of plugin
* add manual + refresh to namespaces list + fix issue where switching between workspaces results in the manual refresh button continually spinning
* move rows and loading flag to resource-fetch and do necessary changes to custom lists to minimize code changes for the future
* Minor fixes
- Match existing loading check in projectnamespace list (had a check for currentCluster, probably not needed but added just in case)
- Fixed masthead loading indicator for management users and features
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Richard Cox <richard.cox@suse.com>
* add logic to login function to make sure incremental loading is enabled by default for all users who dont have the setting yet populated
* lower default threshold for performance settings to 1500
* simplify way we enable incremental loading by default when no setting is set
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
- Following UX review this is the first set of changes
- The text on the settings page has been improved
- The background of the incremental loader has been removed
- Fixed a typo (`UI_PERFORNMANCE`)
- Add manual refresh experimental feature to specific list views
- Add incremental loading experimental feature to specific list views
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Richard Cox <richard.cox@suse.com>