diff --git a/src/screens/GlobalSearchScreen/hooks/useGlobalSearch.ts b/src/screens/GlobalSearchScreen/hooks/useGlobalSearch.ts index 25b1cb7a9..3df9dc9cb 100644 --- a/src/screens/GlobalSearchScreen/hooks/useGlobalSearch.ts +++ b/src/screens/GlobalSearchScreen/hooks/useGlobalSearch.ts @@ -100,21 +100,33 @@ export const useGlobalSearch = ({ defaultSearchText }: Props) => { ); (async () => { - for (let _plugin of filteredSortedInstalledPlugins) { - while (running >= globalSearchConcurrency || !isFocused.current) { - await new Promise(resolve => setTimeout(resolve, 100)); + if (globalSearchConcurrency > 1) { + for (let _plugin of filteredSortedInstalledPlugins) { + while (running >= globalSearchConcurrency || !isFocused.current) { + await new Promise(resolve => setTimeout(resolve, 100)); + } + if (!isMounted.current) { + break; + } + running++; + searchInPlugin(_plugin) + .then(() => { + running--; + }) + .catch(() => { + running--; + }); } - if (!isMounted.current) { - break; + } else { + for (let _plugin of filteredSortedInstalledPlugins) { + if (!isMounted.current) { + break; + } + while (!isFocused.current) { + await new Promise(resolve => setTimeout(resolve, 100)); + } + await searchInPlugin(_plugin); } - running++; - searchInPlugin(_plugin) - .then(() => { - running--; - }) - .catch(() => { - running--; - }); } })(); };