diff --git a/React/Base/RCTBridge.m b/React/Base/RCTBridge.m index 3cfb3ab8228..949932604be 100644 --- a/React/Base/RCTBridge.m +++ b/React/Base/RCTBridge.m @@ -354,11 +354,9 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init) Class bridgeClass = self.bridgeClass; - #if RCT_DEV RCTExecuteOnMainQueue(^{ RCTRegisterReloadCommandListener(self); }); - #endif // Only update bundleURL from delegate if delegate bundleURL has changed NSURL *previousDelegateURL = _delegateBundleURL; diff --git a/React/Base/RCTReloadCommand.h b/React/Base/RCTReloadCommand.h index 30abcb336e0..1fcee9a85f7 100644 --- a/React/Base/RCTReloadCommand.h +++ b/React/Base/RCTReloadCommand.h @@ -24,6 +24,6 @@ RCT_EXTERN void RCTRegisterReloadCommandListener(id listener); /** - * Triggers a reload for all current listeners. + * Triggers a reload for all current listeners. Replaces [_bridge reload]. */ RCT_EXTERN void RCTTriggerReloadCommandListeners(void); diff --git a/React/CoreModules/RCTExceptionsManager.mm b/React/CoreModules/RCTExceptionsManager.mm index bd4f3ff55e0..31d64dca540 100644 --- a/React/CoreModules/RCTExceptionsManager.mm +++ b/React/CoreModules/RCTExceptionsManager.mm @@ -12,6 +12,7 @@ #import #import #import +#import #import #import "CoreModulesPlugins.h" @@ -58,7 +59,7 @@ RCT_EXPORT_METHOD(reportFatalException:(NSString *)message static NSUInteger reloadRetries = 0; if (!RCT_DEBUG && reloadRetries < _maxReloadAttempts) { reloadRetries++; - [_bridge reload]; + RCTTriggerReloadCommandListeners(); } else { NSString *description = [@"Unhandled JS Exception: " stringByAppendingString:message]; NSDictionary *errorInfo = @{ NSLocalizedDescriptionKey: description, RCTJSStackTraceKey: stack }; diff --git a/React/CxxBridge/RCTCxxBridge.mm b/React/CxxBridge/RCTCxxBridge.mm index 47e63e3290f..68fe766376b 100644 --- a/React/CxxBridge/RCTCxxBridge.mm +++ b/React/CxxBridge/RCTCxxBridge.mm @@ -24,6 +24,7 @@ #import #import #import +#import #import #import #import @@ -1009,7 +1010,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithBundleURL:(__unused NSURL *)bundleUR if (!_valid) { RCTLogWarn(@"Attempting to reload bridge before it's valid: %@. Try restarting the development server if connected.", self); } - [_parentBridge reloadWithReason:@"Unknown from cxx bridge"]; + RCTTriggerReloadCommandListeners(); } - (void)reloadWithReason:(NSString *)reason @@ -1017,7 +1018,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithBundleURL:(__unused NSURL *)bundleUR if (!_valid) { RCTLogWarn(@"Attempting to reload bridge before it's valid: %@. Try restarting the development server if connected.", self); } - [_parentBridge reloadWithReason:reason]; + RCTTriggerReloadCommandListeners(); } - (Class)executorClass diff --git a/React/DevSupport/RCTDevMenu.h b/React/DevSupport/RCTDevMenu.h index 5f16f0ded72..4808a7f2992 100644 --- a/React/DevSupport/RCTDevMenu.h +++ b/React/DevSupport/RCTDevMenu.h @@ -61,7 +61,7 @@ RCT_EXTERN NSString *const RCTShowDevMenuNotification; - (void)show; /** - * Deprecated, use -[RCTBRidge reload] instead. + * Deprecated, use `RCTReloadCommand` instead. */ - (void)reload DEPRECATED_ATTRIBUTE; diff --git a/React/DevSupport/RCTDevMenu.m b/React/DevSupport/RCTDevMenu.m index 17dd7db4021..f77691aac94 100644 --- a/React/DevSupport/RCTDevMenu.m +++ b/React/DevSupport/RCTDevMenu.m @@ -13,6 +13,7 @@ #import #import #import +#import #import #if RCT_DEV_MENU @@ -200,7 +201,7 @@ RCT_EXPORT_MODULE() [[RCTBundleURLProvider sharedSettings] resetToDefaults]; self->_bridge.bundleURL = [[RCTBundleURLProvider sharedSettings] jsBundleURLForFallbackResource:nil fallbackExtension:nil]; - [self->_bridge reloadWithReason:@"Dev menu - reset to default"]; + RCTTriggerReloadCommandListeners(); } - (NSArray *)_menuItemsToPresent @@ -214,7 +215,7 @@ RCT_EXPORT_MODULE() [items addObject:[RCTDevMenuItem buttonItemWithTitle:@"Reload" handler:^{ - [bridge reloadWithReason:@"Dev menu - reload"]; + RCTTriggerReloadCommandListeners(); }]]; if (!devSettings.isProfilingEnabled) { @@ -373,7 +374,7 @@ RCT_EXPORT_MODULE() fallbackResource:nil] : [strongBridge.delegate sourceURLForBridge:strongBridge]; strongBridge.bundleURL = bundleURL; - [strongBridge reloadWithReason:@"Dev menu - apply changes"]; + RCTTriggerReloadCommandListeners(); } }]]; [alertController addAction:[UIAlertAction actionWithTitle:@"Reset to Default" @@ -460,7 +461,7 @@ RCT_EXPORT_METHOD(show) RCT_EXPORT_METHOD(reload) { WARN_DEPRECATED_DEV_MENU_EXPORT(); - [_bridge reloadWithReason:@"Unknown from JS"]; + RCTTriggerReloadCommandListeners(); } RCT_EXPORT_METHOD(debugRemotely : (BOOL)enableDebug) diff --git a/React/Modules/RCTDevSettings.mm b/React/Modules/RCTDevSettings.mm index 072e2319e4c..0e15b452f9b 100644 --- a/React/Modules/RCTDevSettings.mm +++ b/React/Modules/RCTDevSettings.mm @@ -14,6 +14,7 @@ #import "RCTEventDispatcher.h" #import "RCTLog.h" #import "RCTProfile.h" +#import "RCTReloadCommand.h" #import "RCTUtils.h" #import @@ -171,7 +172,7 @@ RCT_EXPORT_MODULE() if (params != (id)kCFNull && [params[@"debug"] boolValue]) { weakBridge.executorClass = objc_lookUpClass("RCTWebSocketExecutor"); } - [weakBridge reloadWithReason:@"Global hotkey"]; + RCTTriggerReloadCommandListeners(); } queue:dispatch_get_main_queue() forMethod:@"reload"]; @@ -246,13 +247,12 @@ RCT_EXPORT_MODULE() RCT_EXPORT_METHOD(reload) { - [self.bridge reloadWithReason:@"Unknown From JS"]; + RCTTriggerReloadCommandListeners(); } RCT_EXPORT_METHOD(reloadWithReason : (NSString *) reason) { - [self.bridge reloadWithReason:reason]; - + RCTTriggerReloadCommandListeners(); } RCT_EXPORT_METHOD(onFastRefresh) @@ -390,7 +390,7 @@ RCT_EXPORT_METHOD(addMenuItem:(NSString *)title) } self.bridge.executorClass = executorClass; - [self.bridge reloadWithReason:@"Custom executor class reset"]; + RCTTriggerReloadCommandListeners(); } } diff --git a/React/Modules/RCTRedBox.m b/React/Modules/RCTRedBox.m index ae227b25c8d..c978d03e0f8 100644 --- a/React/Modules/RCTRedBox.m +++ b/React/Modules/RCTRedBox.m @@ -14,6 +14,7 @@ #import "RCTEventDispatcher.h" #import "RCTJSStackFrame.h" #import "RCTRedBoxExtraDataViewController.h" +#import "RCTReloadCommand.h" #import "RCTUtils.h" #import @@ -646,7 +647,7 @@ RCT_EXPORT_METHOD(dismiss) if (_overrideReloadAction) { _overrideReloadAction(); } else { - [_bridge reloadWithReason:@"Redbox"]; + RCTTriggerReloadCommandListeners(); } [self dismiss]; }