diff --git a/React/Base/RCTBridge.m b/React/Base/RCTBridge.m index 98f4a497240..e0d6c76f520 100644 --- a/React/Base/RCTBridge.m +++ b/React/Base/RCTBridge.m @@ -287,6 +287,8 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init) * Any thread */ dispatch_async(dispatch_get_main_queue(), ^{ + // WARNING: Invalidation is async, so it may not finish before re-setting up the bridge, + // causing some issues. TODO: revisit this post-Fabric/TurboModule. [self invalidate]; [self setUp]; }); diff --git a/React/CxxBridge/RCTCxxBridge.mm b/React/CxxBridge/RCTCxxBridge.mm index 74ec4ec0325..645c13bb680 100644 --- a/React/CxxBridge/RCTCxxBridge.mm +++ b/React/CxxBridge/RCTCxxBridge.mm @@ -357,7 +357,9 @@ struct RCTInstanceCallback : public InstanceCallback { dispatch_group_leave(prepareBridge); } onProgress:^(RCTLoadingProgress *progressData) { #if RCT_DEV && __has_include("RCTDevLoadingView.h") - RCTDevLoadingView *loadingView = [weakSelf moduleForClass:[RCTDevLoadingView class]]; + // Note: RCTDevLoadingView should have been loaded at this point, so no need to allow lazy loading. + RCTDevLoadingView *loadingView = [weakSelf moduleForName:RCTBridgeModuleNameForClass([RCTDevLoadingView class]) + lazilyLoadIfNecessary:NO]; [loadingView updateProgress:progressData]; #endif }];