mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Remove Flipper actions in Dev Menu, add new Open Debugger action (iOS) (#39124)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/39124 ## Context RFC: Decoupling Flipper from React Native core: https://github.com/react-native-community/discussions-and-proposals/pull/641 ## Changes - Removes Flipper-backed "Launch Debugger" and "Launch React DevTools" actions from the Dev Menu. - Adds replacement "Launch Debugger" action triggering the new one-click Hermes debugger flow for 0.73. Changelog: [iOS][Changed] Remove Flipper actions in Dev Menu, add new Open Debugger action Reviewed By: motiz88, blakef Differential Revision: D46220076 fbshipit-source-id: 7fd47dff4b4e29a8dda77fa98369cc7e5219fa7b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
d0531379d9
commit
5bfc507655
@@ -260,29 +260,16 @@ RCT_EXPORT_MODULE()
|
||||
if (!devSettings.isProfilingEnabled) {
|
||||
#if RCT_ENABLE_INSPECTOR
|
||||
if (devSettings.isDeviceDebuggingAvailable) {
|
||||
// For on-device debugging we link out to Flipper.
|
||||
// Since we're assuming Flipper is available, also include the DevTools.
|
||||
// Note: For parity with the Android code.
|
||||
// On-device JS debugging (CDP). Render action to open debugger frontend.
|
||||
[items addObject:[RCTDevMenuItem
|
||||
buttonItemWithTitleBlock:^NSString * {
|
||||
return @"Open Debugger";
|
||||
}
|
||||
handler:^{
|
||||
[RCTInspectorDevServerHelper
|
||||
openURL:@"flipper://null/Hermesdebuggerrn?device=React%20Native"
|
||||
withBundleURL:bundleManager.bundleURL
|
||||
withErrorMessage:@"Failed to open Flipper. Please check that Metro is running."];
|
||||
}]];
|
||||
|
||||
[items addObject:[RCTDevMenuItem
|
||||
buttonItemWithTitleBlock:^NSString * {
|
||||
return @"Open React DevTools";
|
||||
}
|
||||
handler:^{
|
||||
[RCTInspectorDevServerHelper
|
||||
openURL:@"flipper://null/React?device=React%20Native"
|
||||
withBundleURL:bundleManager.bundleURL
|
||||
withErrorMessage:@"Failed to open Flipper. Please check that Metro is running."];
|
||||
openDebugger:bundleManager.bundleURL
|
||||
withErrorMessage:
|
||||
@"Failed to open debugger. Please check that the dev server is running."];
|
||||
}]];
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
+ (RCTInspectorPackagerConnection *)connectWithBundleURL:(NSURL *)bundleURL;
|
||||
+ (void)disableDebugger;
|
||||
+ (void)openURL:(NSString *)url withBundleURL:(NSURL *)bundleURL withErrorMessage:(NSString *)errorMessage;
|
||||
+ (void)openDebugger:(NSURL *)bundleURL withErrorMessage:(NSString *)errorMessage;
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
||||
@@ -89,6 +89,26 @@ static void sendEventToAllConnections(NSString *event)
|
||||
}] resume];
|
||||
}
|
||||
|
||||
+ (void)openDebugger:(NSURL *)bundleURL withErrorMessage:(NSString *)errorMessage
|
||||
{
|
||||
NSString *appId = [[[NSBundle mainBundle] bundleIdentifier]
|
||||
stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];
|
||||
|
||||
NSURL *url = [NSURL
|
||||
URLWithString:[NSString stringWithFormat:@"http://%@/open-debugger?appId=%@", getServerHost(bundleURL), appId]];
|
||||
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
|
||||
[request setHTTPMethod:@"POST"];
|
||||
|
||||
[[[NSURLSession sharedSession]
|
||||
dataTaskWithRequest:request
|
||||
completionHandler:^(
|
||||
__unused NSData *_Nullable data, __unused NSURLResponse *_Nullable response, NSError *_Nullable error) {
|
||||
if (error != nullptr) {
|
||||
RCTLogWarn(@"%@", errorMessage);
|
||||
}
|
||||
}] resume];
|
||||
}
|
||||
|
||||
+ (void)disableDebugger
|
||||
{
|
||||
sendEventToAllConnections(kDebuggerMsgDisable);
|
||||
|
||||
Reference in New Issue
Block a user