From a3ad8daed6d2bc867dd496b57c84692dc1c21a7b Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Fri, 9 Aug 2024 15:32:17 -0700 Subject: perf(files): Prevent extraneous requests when tree children are loading Signed-off-by: Christopher Ng --- apps/files/src/views/folderTree.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'apps/files/src') 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 => { // @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 -- cgit v1.2.3