diff --git a/lib/modules/src/metro/patches.ts b/lib/modules/src/metro/patches.ts index 32e5bc6..58b4b7a 100644 --- a/lib/modules/src/metro/patches.ts +++ b/lib/modules/src/metro/patches.ts @@ -5,7 +5,6 @@ import { metroImportDefault, metroRequire, } from './runtime' -import { executeRequireSubscriptions } from './subscriptions/_internal' import type { Metro, RevengeMetro } from '../types' export let mInitializingId: Metro.ModuleID | undefined @@ -148,8 +147,6 @@ function handleFactoryCall( const prevId = mInitializingId mInitializingId = moduleObject.id! - executeRequireSubscriptions(mInitializingId) - try { factory( global, diff --git a/lib/modules/src/metro/runtime.ts b/lib/modules/src/metro/runtime.ts index 19e0a99..5e7cbf1 100644 --- a/lib/modules/src/metro/runtime.ts +++ b/lib/modules/src/metro/runtime.ts @@ -9,7 +9,10 @@ import { callNativeMethodSync } from '@revenge-mod/modules/native' import { getErrorStack } from '@revenge-mod/utils/error' import { FullVersion } from '~constants' import { loadModuleFromSegment, mInitializingId, mList } from './patches' -import { executeInitializeSubscriptions } from './subscriptions/_internal' +import { + executeInitializeSubscriptions, + executeRequireSubscriptions, +} from './subscriptions/_internal' import type { Metro } from '../types' export const mErrorChain: Metro.ModuleID[] = [] @@ -48,6 +51,8 @@ export const metroRequire = (moduleId => { id: moduleId, } + executeRequireSubscriptions(moduleId) + try { const { factory } = mod mod.factory = undefined