Skip to content

Commit 0db73f4

Browse files
Delete dead RCTBridge public API and skipped logging tests (#59429)
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` Differential Revision: D127265582
1 parent 300329f commit 0db73f4

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
@@ -124,17 +124,6 @@ RCT_EXTERN_C_END
124124
launchOptions:(NSDictionary *)launchOptions
125125
__deprecated_msg("This API will be removed along with the legacy architecture.");
126126

127-
/**
128-
* This method is used to call functions in the JavaScript application context.
129-
* It is primarily intended for use by modules that require two-way communication
130-
* with the JavaScript code. Safe to call from any thread.
131-
*/
132-
- (void)enqueueJSCall:(NSString *)moduleDotMethod args:(NSArray *)args;
133-
- (void)enqueueJSCall:(NSString *)module
134-
method:(NSString *)method
135-
args:(NSArray *)args
136-
completion:(dispatch_block_t)completion;
137-
138127
/**
139128
* This method registers the file path of an additional JS segment by its ID.
140129
*
@@ -159,50 +148,29 @@ RCT_EXTERN_C_END
159148
* When a NativeModule performs a lookup for a TurboModule, we need to query
160149
* the TurboModuleRegistry.
161150
*/
162-
- (void)setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry>)turboModuleRegistry;
151+
- (void)setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry>)turboModuleRegistry
152+
__deprecated_msg("This API will be removed along with the legacy architecture.");
163153

164154
/**
165155
* This hook is called by the TurboModule infra with every ObjC module that's created.
166156
* It allows the bridge to attach properties to ObjC modules that give those modules
167157
* access to Bridge APIs.
168158
*/
169-
- (RCTBridgeModuleDecorator *)bridgeModuleDecorator;
170-
171-
/**
172-
* Convenience method for retrieving all modules conforming to a given protocol.
173-
* Modules will be synchronously instantiated if they haven't already been,
174-
* potentially blocking both the calling thread and main thread for a short time.
175-
*/
176-
- (NSArray *)modulesConformingToProtocol:(Protocol *)protocol;
177-
178-
/**
179-
* Test if a module has been initialized. Use this prior to calling
180-
* `moduleForClass:` or `moduleForName:` if you do not want to cause the module
181-
* to be instantiated if it hasn't been already.
182-
*/
183-
- (BOOL)moduleIsInitialized:(Class)moduleClass;
184-
185-
/**
186-
* All registered bridge module classes.
187-
*/
188-
@property (nonatomic, copy, readonly) NSArray<Class> *moduleClasses;
159+
- (RCTBridgeModuleDecorator *)
160+
bridgeModuleDecorator __deprecated_msg("This API will be removed along with the legacy architecture.");
189161

190162
/**
191163
* URL of the script that was loaded into the bridge.
192164
*/
193-
@property (nonatomic, strong, readonly) NSURL *bundleURL;
165+
@property (nonatomic, strong, readonly)
166+
NSURL *bundleURL __deprecated_msg("This API will be removed along with the legacy architecture.");
194167

195168
/**
196169
* The class of the executor currently being used. Changes to this value will
197170
* take effect after the bridge is reloaded.
198171
*/
199172
@property (nonatomic, strong) Class executorClass;
200173

201-
/**
202-
* The delegate provided during the bridge initialization
203-
*/
204-
@property (nonatomic, weak, readonly) id<RCTBridgeDelegate> delegate;
205-
206174
/**
207175
* The launch options that were used to initialize the bridge.
208176
*/
@@ -223,29 +191,9 @@ RCT_EXTERN_C_END
223191
*/
224192
@property (nonatomic, readonly, strong) RCTPerformanceLogger *performanceLogger;
225193

226-
/**
227-
* Reload the bundle and reset executor & modules. Safe to call from any thread.
228-
*/
229-
- (void)reload __deprecated_msg("Use RCTReloadCommand instead");
230-
231-
/**
232-
* Reload the bundle and reset executor & modules. Safe to call from any thread.
233-
*/
234-
- (void)reloadWithReason:(NSString *)reason __deprecated_msg("Use RCTReloadCommand instead");
235-
236194
/**
237195
* Handle notifications for a fast refresh. Safe to call from any thread.
238196
*/
239197
- (void)onFastRefresh;
240198

241-
/**
242-
* Inform the bridge, and anything subscribing to it, that it should reload.
243-
*/
244-
- (void)requestReload __deprecated_msg("Use RCTReloadCommand instead");
245-
246-
/**
247-
* Says whether bridge has started receiving calls from JavaScript.
248-
*/
249-
- (BOOL)isBatchActive;
250-
251199
@end

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

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -253,17 +253,6 @@ - (instancetype)initWithBundleURL:(NSURL *)bundleURL
253253
return self;
254254
}
255255

256-
- (void)enqueueJSCall:(NSString *)moduleDotMethod args:(NSArray *)args
257-
{
258-
}
259-
260-
- (void)enqueueJSCall:(NSString *)module
261-
method:(NSString *)method
262-
args:(NSArray *)args
263-
completion:(__strong dispatch_block_t)completion
264-
{
265-
}
266-
267256
- (void)registerSegmentWithId:(NSUInteger)segmentId path:(NSString *)path
268257
{
269258
}
@@ -292,37 +281,10 @@ - (RCTBridgeModuleDecorator *)bridgeModuleDecorator
292281
return nil;
293282
}
294283

295-
- (NSArray *)modulesConformingToProtocol:(Protocol *)protocol
296-
{
297-
return @[];
298-
}
299-
300-
- (BOOL)moduleIsInitialized:(Class)moduleClass
301-
{
302-
return NO;
303-
}
304-
305-
- (void)reload __attribute__((deprecated("Use RCTReloadCommand instead")))
306-
{
307-
}
308-
309-
- (void)reloadWithReason:(NSString *)reason __attribute__((deprecated("Use RCTReloadCommand instead")))
310-
{
311-
}
312-
313284
- (void)onFastRefresh
314285
{
315286
}
316287

317-
- (void)requestReload __attribute__((deprecated("Use RCTReloadCommand instead")))
318-
{
319-
}
320-
321-
- (BOOL)isBatchActive
322-
{
323-
return NO;
324-
}
325-
326288
- (void)enqueueCallback:(NSNumber *)cbID args:(NSArray *)args
327289
{
328290
}

‎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
@@ -672,28 +672,18 @@ interface RCTBlobManager : public NSObject <RCTBridgeModule, RCTURLRequestHandle
672672
interface RCTBridge : public NSObject <RCTInvalidating> {
673673
public @property (assign, readonly) BOOL loading;
674674
public @property (assign, readonly) BOOL valid;
675-
public @property (copy, readonly) NSArray<Class>* moduleClasses;
676675
public @property (copy, readonly) NSDictionary* launchOptions;
677676
public @property (strong) Class executorClass;
678677
public @property (strong, readonly) NSURL* bundleURL;
679678
public @property (strong, readonly) RCTPerformanceLogger* performanceLogger;
680-
public @property (weak, readonly) id<RCTBridgeDelegate> delegate;
681-
public virtual BOOL isBatchActive();
682-
public virtual BOOL moduleIsInitialized:(Class moduleClass);
683-
public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol);
684679
public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator();
685680
public virtual id moduleForClass:(Class moduleClass);
686681
public virtual id moduleForName:(NSString* moduleName);
687682
public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad);
688683
public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions);
689684
public virtual instancetype initWithDelegate:launchOptions:(id<RCTBridgeDelegate> delegate, NSDictionary* launchOptions);
690-
public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args);
691-
public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion);
692685
public virtual void onFastRefresh();
693686
public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path);
694-
public virtual void reload();
695-
public virtual void reloadWithReason:(NSString* reason);
696-
public virtual void requestReload();
697687
public virtual void setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry> turboModuleRegistry);
698688
}
699689

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

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -681,28 +681,18 @@ interface RCTBlobManager : public NSObject <RCTBridgeModule, RCTURLRequestHandle
681681
interface RCTBridge : public NSObject <RCTInvalidating> {
682682
public @property (assign, readonly) BOOL loading;
683683
public @property (assign, readonly) BOOL valid;
684-
public @property (copy, readonly) NSArray<Class>* moduleClasses;
685684
public @property (copy, readonly) NSDictionary* launchOptions;
686685
public @property (strong) Class executorClass;
687686
public @property (strong, readonly) NSURL* bundleURL;
688687
public @property (strong, readonly) RCTPerformanceLogger* performanceLogger;
689-
public @property (weak, readonly) id<RCTBridgeDelegate> delegate;
690-
public virtual BOOL isBatchActive();
691-
public virtual BOOL moduleIsInitialized:(Class moduleClass);
692-
public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol);
693688
public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator();
694689
public virtual id moduleForClass:(Class moduleClass);
695690
public virtual id moduleForName:(NSString* moduleName);
696691
public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad);
697692
public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions);
698693
public virtual instancetype initWithDelegate:launchOptions:(id<RCTBridgeDelegate> delegate, NSDictionary* launchOptions);
699-
public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args);
700-
public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion);
701694
public virtual void onFastRefresh();
702695
public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path);
703-
public virtual void reload();
704-
public virtual void reloadWithReason:(NSString* reason);
705-
public virtual void requestReload();
706696
public virtual void setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry> turboModuleRegistry);
707697
}
708698

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

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -672,28 +672,18 @@ interface RCTBlobManager : public NSObject <RCTBridgeModule, RCTURLRequestHandle
672672
interface RCTBridge : public NSObject <RCTInvalidating> {
673673
public @property (assign, readonly) BOOL loading;
674674
public @property (assign, readonly) BOOL valid;
675-
public @property (copy, readonly) NSArray<Class>* moduleClasses;
676675
public @property (copy, readonly) NSDictionary* launchOptions;
677676
public @property (strong) Class executorClass;
678677
public @property (strong, readonly) NSURL* bundleURL;
679678
public @property (strong, readonly) RCTPerformanceLogger* performanceLogger;
680-
public @property (weak, readonly) id<RCTBridgeDelegate> delegate;
681-
public virtual BOOL isBatchActive();
682-
public virtual BOOL moduleIsInitialized:(Class moduleClass);
683-
public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol);
684679
public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator();
685680
public virtual id moduleForClass:(Class moduleClass);
686681
public virtual id moduleForName:(NSString* moduleName);
687682
public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad);
688683
public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions);
689684
public virtual instancetype initWithDelegate:launchOptions:(id<RCTBridgeDelegate> delegate, NSDictionary* launchOptions);
690-
public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args);
691-
public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion);
692685
public virtual void onFastRefresh();
693686
public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path);
694-
public virtual void reload();
695-
public virtual void reloadWithReason:(NSString* reason);
696-
public virtual void requestReload();
697687
public virtual void setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry> turboModuleRegistry);
698688
}
699689

0 commit comments

Comments
 (0)