Skip to content

Commit 61108e0

Browse files
Delete dead RCTBridge public API and skipped logging tests
Summary: Remove `RCTBridge` declarations with zero callers: `enqueueJSCall`, module lookup, `delegate`, `moduleClasses`, reload, and batch APIs, plus their stub implementations. Keep `bundleURL`, still read by Expo Dev Menu, and the TurboModule-registry hooks the proxy forwards through, all marked deprecated. Delete skipped `RCTLoggingTests`, the only `enqueueJSCall` caller. Changelog: [iOS][Removed] - Remove unused `RCTBridge` reload, module-lookup, and JS-callback APIs [iOS][Deprecated] - Deprecate `RCTBridge.bundleURL`, `setRCTTurboModuleRegistry:`, and `bridgeModuleDecorator` Reviewed By: andrewdacenko Differential Revision: D127265582
1 parent 8c4af1f commit 61108e0

7 files changed

Lines changed: 6 additions & 282 deletions

File tree

‎packages/react-native/React/Base/RCTBridge.h‎

Lines changed: 6 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -112,17 +112,6 @@ RCT_EXTERN_C_END
112112
launchOptions:(NSDictionary *)launchOptions
113113
__deprecated_msg("This API will be removed along with the legacy architecture.");
114114

115-
/**
116-
* This method is used to call functions in the JavaScript application context.
117-
* It is primarily intended for use by modules that require two-way communication
118-
* with the JavaScript code. Safe to call from any thread.
119-
*/
120-
- (void)enqueueJSCall:(NSString *)moduleDotMethod args:(NSArray *)args;
121-
- (void)enqueueJSCall:(NSString *)module
122-
method:(NSString *)method
123-
args:(NSArray *)args
124-
completion:(dispatch_block_t)completion;
125-
126115
/**
127116
* This method registers the file path of an additional JS segment by its ID.
128117
*
@@ -147,50 +136,29 @@ RCT_EXTERN_C_END
147136
* When a NativeModule performs a lookup for a TurboModule, we need to query
148137
* the TurboModuleRegistry.
149138
*/
150-
- (void)setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry>)turboModuleRegistry;
139+
- (void)setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry>)turboModuleRegistry
140+
__deprecated_msg("This API will be removed along with the legacy architecture.");
151141

152142
/**
153143
* This hook is called by the TurboModule infra with every ObjC module that's created.
154144
* It allows the bridge to attach properties to ObjC modules that give those modules
155145
* access to Bridge APIs.
156146
*/
157-
- (RCTBridgeModuleDecorator *)bridgeModuleDecorator;
158-
159-
/**
160-
* Convenience method for retrieving all modules conforming to a given protocol.
161-
* Modules will be synchronously instantiated if they haven't already been,
162-
* potentially blocking both the calling thread and main thread for a short time.
163-
*/
164-
- (NSArray *)modulesConformingToProtocol:(Protocol *)protocol;
165-
166-
/**
167-
* Test if a module has been initialized. Use this prior to calling
168-
* `moduleForClass:` or `moduleForName:` if you do not want to cause the module
169-
* to be instantiated if it hasn't been already.
170-
*/
171-
- (BOOL)moduleIsInitialized:(Class)moduleClass;
172-
173-
/**
174-
* All registered bridge module classes.
175-
*/
176-
@property (nonatomic, copy, readonly) NSArray<Class> *moduleClasses;
147+
- (RCTBridgeModuleDecorator *)
148+
bridgeModuleDecorator __deprecated_msg("This API will be removed along with the legacy architecture.");
177149

178150
/**
179151
* URL of the script that was loaded into the bridge.
180152
*/
181-
@property (nonatomic, strong, readonly) NSURL *bundleURL;
153+
@property (nonatomic, strong, readonly)
154+
NSURL *bundleURL __deprecated_msg("This API will be removed along with the legacy architecture.");
182155

183156
/**
184157
* The class of the executor currently being used. Changes to this value will
185158
* take effect after the bridge is reloaded.
186159
*/
187160
@property (nonatomic, strong) Class executorClass;
188161

189-
/**
190-
* The delegate provided during the bridge initialization
191-
*/
192-
@property (nonatomic, weak, readonly) id<RCTBridgeDelegate> delegate;
193-
194162
/**
195163
* The launch options that were used to initialize the bridge.
196164
*/
@@ -211,29 +179,9 @@ RCT_EXTERN_C_END
211179
*/
212180
@property (nonatomic, readonly, strong) RCTPerformanceLogger *performanceLogger;
213181

214-
/**
215-
* Reload the bundle and reset executor & modules. Safe to call from any thread.
216-
*/
217-
- (void)reload __deprecated_msg("Use RCTReloadCommand instead");
218-
219-
/**
220-
* Reload the bundle and reset executor & modules. Safe to call from any thread.
221-
*/
222-
- (void)reloadWithReason:(NSString *)reason __deprecated_msg("Use RCTReloadCommand instead");
223-
224182
/**
225183
* Handle notifications for a fast refresh. Safe to call from any thread.
226184
*/
227185
- (void)onFastRefresh;
228186

229-
/**
230-
* Inform the bridge, and anything subscribing to it, that it should reload.
231-
*/
232-
- (void)requestReload __deprecated_msg("Use RCTReloadCommand instead");
233-
234-
/**
235-
* Says whether bridge has started receiving calls from JavaScript.
236-
*/
237-
- (BOOL)isBatchActive;
238-
239187
@end

‎packages/react-native/React/Base/RCTBridge.mm‎

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -231,17 +231,6 @@ - (instancetype)initWithBundleURL:(NSURL *)bundleURL
231231
return self;
232232
}
233233

234-
- (void)enqueueJSCall:(NSString *)moduleDotMethod args:(NSArray *)args
235-
{
236-
}
237-
238-
- (void)enqueueJSCall:(NSString *)module
239-
method:(NSString *)method
240-
args:(NSArray *)args
241-
completion:(__strong dispatch_block_t)completion
242-
{
243-
}
244-
245234
- (void)registerSegmentWithId:(NSUInteger)segmentId path:(NSString *)path
246235
{
247236
}
@@ -270,37 +259,10 @@ - (RCTBridgeModuleDecorator *)bridgeModuleDecorator
270259
return nil;
271260
}
272261

273-
- (NSArray *)modulesConformingToProtocol:(Protocol *)protocol
274-
{
275-
return @[];
276-
}
277-
278-
- (BOOL)moduleIsInitialized:(Class)moduleClass
279-
{
280-
return NO;
281-
}
282-
283-
- (void)reload __attribute__((deprecated("Use RCTReloadCommand instead")))
284-
{
285-
}
286-
287-
- (void)reloadWithReason:(NSString *)reason __attribute__((deprecated("Use RCTReloadCommand instead")))
288-
{
289-
}
290-
291262
- (void)onFastRefresh
292263
{
293264
}
294265

295-
- (void)requestReload __attribute__((deprecated("Use RCTReloadCommand instead")))
296-
{
297-
}
298-
299-
- (BOOL)isBatchActive
300-
{
301-
return NO;
302-
}
303-
304266
- (void)enqueueCallback:(NSNumber *)cbID args:(NSArray *)args
305267
{
306268
}

‎packages/rn-tester/RNTesterIntegrationTests/RCTLoggingTests.m‎

Lines changed: 0 additions & 146 deletions
This file was deleted.

‎scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api‎

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -652,28 +652,18 @@ interface RCTBlobManager : public NSObject <RCTBridgeModule, RCTURLRequestHandle
652652
interface RCTBridge : public NSObject <RCTInvalidating> {
653653
public @property (assign, readonly) BOOL loading;
654654
public @property (assign, readonly) BOOL valid;
655-
public @property (copy, readonly) NSArray<Class>* moduleClasses;
656655
public @property (copy, readonly) NSDictionary* launchOptions;
657656
public @property (strong) Class executorClass;
658657
public @property (strong, readonly) NSURL* bundleURL;
659658
public @property (strong, readonly) RCTPerformanceLogger* performanceLogger;
660-
public @property (weak, readonly) id<RCTBridgeDelegate> delegate;
661-
public virtual BOOL isBatchActive();
662-
public virtual BOOL moduleIsInitialized:(Class moduleClass);
663-
public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol);
664659
public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator();
665660
public virtual id moduleForClass:(Class moduleClass);
666661
public virtual id moduleForName:(NSString* moduleName);
667662
public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad);
668663
public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions);
669664
public virtual instancetype initWithDelegate:launchOptions:(id<RCTBridgeDelegate> delegate, NSDictionary* launchOptions);
670-
public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args);
671-
public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion);
672665
public virtual void onFastRefresh();
673666
public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path);
674-
public virtual void reload();
675-
public virtual void reloadWithReason:(NSString* reason);
676-
public virtual void requestReload();
677667
public virtual void setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry> turboModuleRegistry);
678668
}
679669

‎scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api‎

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -661,28 +661,18 @@ interface RCTBlobManager : public NSObject <RCTBridgeModule, RCTURLRequestHandle
661661
interface RCTBridge : public NSObject <RCTInvalidating> {
662662
public @property (assign, readonly) BOOL loading;
663663
public @property (assign, readonly) BOOL valid;
664-
public @property (copy, readonly) NSArray<Class>* moduleClasses;
665664
public @property (copy, readonly) NSDictionary* launchOptions;
666665
public @property (strong) Class executorClass;
667666
public @property (strong, readonly) NSURL* bundleURL;
668667
public @property (strong, readonly) RCTPerformanceLogger* performanceLogger;
669-
public @property (weak, readonly) id<RCTBridgeDelegate> delegate;
670-
public virtual BOOL isBatchActive();
671-
public virtual BOOL moduleIsInitialized:(Class moduleClass);
672-
public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol);
673668
public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator();
674669
public virtual id moduleForClass:(Class moduleClass);
675670
public virtual id moduleForName:(NSString* moduleName);
676671
public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad);
677672
public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions);
678673
public virtual instancetype initWithDelegate:launchOptions:(id<RCTBridgeDelegate> delegate, NSDictionary* launchOptions);
679-
public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args);
680-
public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion);
681674
public virtual void onFastRefresh();
682675
public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path);
683-
public virtual void reload();
684-
public virtual void reloadWithReason:(NSString* reason);
685-
public virtual void requestReload();
686676
public virtual void setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry> turboModuleRegistry);
687677
}
688678

‎scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api‎

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -652,28 +652,18 @@ interface RCTBlobManager : public NSObject <RCTBridgeModule, RCTURLRequestHandle
652652
interface RCTBridge : public NSObject <RCTInvalidating> {
653653
public @property (assign, readonly) BOOL loading;
654654
public @property (assign, readonly) BOOL valid;
655-
public @property (copy, readonly) NSArray<Class>* moduleClasses;
656655
public @property (copy, readonly) NSDictionary* launchOptions;
657656
public @property (strong) Class executorClass;
658657
public @property (strong, readonly) NSURL* bundleURL;
659658
public @property (strong, readonly) RCTPerformanceLogger* performanceLogger;
660-
public @property (weak, readonly) id<RCTBridgeDelegate> delegate;
661-
public virtual BOOL isBatchActive();
662-
public virtual BOOL moduleIsInitialized:(Class moduleClass);
663-
public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol);
664659
public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator();
665660
public virtual id moduleForClass:(Class moduleClass);
666661
public virtual id moduleForName:(NSString* moduleName);
667662
public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad);
668663
public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions);
669664
public virtual instancetype initWithDelegate:launchOptions:(id<RCTBridgeDelegate> delegate, NSDictionary* launchOptions);
670-
public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args);
671-
public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion);
672665
public virtual void onFastRefresh();
673666
public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path);
674-
public virtual void reload();
675-
public virtual void reloadWithReason:(NSString* reason);
676-
public virtual void requestReload();
677667
public virtual void setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry> turboModuleRegistry);
678668
}
679669

0 commit comments

Comments
 (0)