diff --git a/src/webpack/api.tsx b/src/webpack/api.tsx index cc99da19c..06f9bce11 100644 --- a/src/webpack/api.tsx +++ b/src/webpack/api.tsx @@ -631,8 +631,12 @@ export const _cacheFind = traceFunction("cacheFind", function _cacheFind(filter: const mod = cache[key]; if (!mod?.loaded || mod?.exports == null) continue; - if (filter.$$vencordIsFactoryFilter && filter(wreq.m[key])) { - return { result: mod.exports, id: key, exportKey: null, factory: wreq.m[key] }; + if (filter.$$vencordIsFactoryFilter) { + if (filter(wreq.m[key])) { + return { result: mod.exports, id: key, exportKey: null, factory: wreq.m[key] }; + } + + continue; } if (filter(mod.exports)) { @@ -686,8 +690,12 @@ export function cacheFindAll(filter: FilterFn) { const mod = cache[key]; if (!mod?.loaded || mod?.exports == null) continue; - if (filter.$$vencordIsFactoryFilter && filter(wreq.m[key])) { - ret.push(mod.exports); + if (filter.$$vencordIsFactoryFilter) { + if (filter(wreq.m[key])) { + ret.push(mod.exports); + } + + continue; } if (filter(mod.exports)) { @@ -754,11 +762,14 @@ export const cacheFindBulk = traceFunction("cacheFindBulk", function cacheFindBu const filter = filters[i]; if (filter == null) continue; - if (filter.$$vencordIsFactoryFilter && filter(wreq.m[key])) { - results[i] = mod.exports; - filters[i] = undefined; + if (filter.$$vencordIsFactoryFilter) { + if (filter(wreq.m[key])) { + results[i] = mod.exports; + filters[i] = undefined; + + if (++found === length) break outer; + } - if (++found === length) break outer; break; } diff --git a/src/webpack/patchWebpack.ts b/src/webpack/patchWebpack.ts index 493c09356..82020120a 100644 --- a/src/webpack/patchWebpack.ts +++ b/src/webpack/patchWebpack.ts @@ -202,9 +202,12 @@ function patchFactories(factories: Record