fix(lib/modules/metro): run initialized subscriptions after modifying flags

This commit is contained in:
PalmDevs 2026-04-07 22:35:27 +07:00
parent 7b651154a2
commit 76a6072582
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA
2 changed files with 4 additions and 6 deletions

View file

@ -8,10 +8,7 @@ import {
metroImportDefault,
metroRequire,
} from './runtime'
import {
executeInitializeSubscriptions,
executeRequireSubscriptions,
} from './subscriptions/_internal'
import { executeRequireSubscriptions } from './subscriptions/_internal'
import type { Metro, RevengeMetro } from '../types'
export let mInitializingId: Metro.ModuleID | undefined
@ -129,8 +126,6 @@ function handleFactoryCall(
cacheBlacklistedModule(mInitializingId)
}
}
executeInitializeSubscriptions(mInitializingId, exports)
} catch (e) {
if (__DEV__) {
callBridgeMethodSync('revenge.alertError', [

View file

@ -6,6 +6,7 @@
*/
import { mList } from './patches'
import { executeInitializeSubscriptions } from './subscriptions/_internal'
import type { Metro } from '../types'
export const Initialized = 1 << 0
@ -41,6 +42,8 @@ export const metroRequire = (moduleId => {
mod.flags = (flags & NotInitializedOrInitializingMask) | Initialized
executeInitializeSubscriptions(moduleId, moduleObject.exports)
return moduleObject.exports
} catch (e) {
mod.flags = (flags & NotInitializedOrInitializingMask) | HasError