fix(lib/modules/metro): handle all subscription tasks in runtime

This commit is contained in:
PalmDevs 2026-08-02 16:18:36 +07:00
parent 17bb26a2ea
commit e2dcc294e9
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA
2 changed files with 6 additions and 4 deletions

View file

@ -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,

View file

@ -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