diff options
author | Christopher Ng <chrng8@gmail.com> | 2024-08-09 15:32:17 -0700 |
---|---|---|
committer | Christopher Ng <chrng8@gmail.com> | 2024-08-09 15:32:17 -0700 |
commit | a3ad8daed6d2bc867dd496b57c84692dc1c21a7b (patch) | |
tree | e2ab418c70eaa51c533ec181a50b40463fa4277c /apps/files/src | |
parent | 90742357caa1bc4bfa1bee426dd9d175635dbf64 (diff) | |
download | nextcloud-server-a3ad8daed6d2bc867dd496b57c84692dc1c21a7b.tar.gz nextcloud-server-a3ad8daed6d2bc867dd496b57c84692dc1c21a7b.zip |
perf(files): Prevent extraneous requests when tree children are loading
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Diffstat (limited to 'apps/files/src')
-rw-r--r-- | apps/files/src/views/folderTree.ts | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/apps/files/src/views/folderTree.ts b/apps/files/src/views/folderTree.ts index 4ae07c0d79b..4224012cd5b 100644 --- a/apps/files/src/views/folderTree.ts +++ b/apps/files/src/views/folderTree.ts @@ -31,6 +31,7 @@ const isFolderTreeEnabled = loadState('files', 'config', { folder_tree: true }). const Navigation = getNavigation() const queue = new PQueue({ concurrency: 5, intervalCap: 5, interval: 200 }) + const registerQueue = new PQueue({ concurrency: 5, intervalCap: 5, interval: 200 }) const registerTreeNodes = async (path: string = '/') => { @@ -44,16 +45,12 @@ const registerTreeNodes = async (path: string = '/') => { const getLoadChildViews = (node: TreeNode | Folder) => { return async (view: View): Promise<void> => { // @ts-expect-error Custom property on View instance - if (view.loaded) { + if (view.loading || view.loaded) { return } // @ts-expect-error Custom property view.loading = true - try { - await registerTreeNodes(node.path) - } catch (error) { - // Skip duplicate view registration errors - } + await registerTreeNodes(node.path) // @ts-expect-error Custom property view.loading = false // @ts-expect-error Custom property |