Skip to content

Commit 8bb357c

Browse files
committed
test
1 parent 9ed2ea2 commit 8bb357c

File tree

3 files changed

+103
-79
lines changed

3 files changed

+103
-79
lines changed

packages/react-native/React/Base/RCTUtils.m

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -576,12 +576,10 @@ BOOL RCTRunningInTestEnvironment(void)
576576
return isTestEnvironment;
577577
}
578578

579-
#if !TARGET_OS_OSX // [macOS]
580579
BOOL RCTRunningInAppExtension(void)
581580
{
582581
return [[[[NSBundle mainBundle] bundlePath] pathExtension] isEqualToString:@"appex"];
583582
}
584-
#endif // [macOS]
585583

586584
RCTUIApplication *__nullable RCTSharedApplication(void) // [macOS]
587585
{
@@ -597,11 +595,11 @@ BOOL RCTRunningInAppExtension(void)
597595

598596
RCTPlatformWindow *__nullable RCTKeyWindow(void) // [macOS]
599597
{
600-
#if !TARGET_OS_OSX // [macOS]
601598
if (RCTRunningInAppExtension()) {
602599
return nil;
603600
}
604601

602+
#if !TARGET_OS_OSX // [macOS]
605603
NSSet<UIScene *> *connectedScenes = RCTSharedApplication().connectedScenes;
606604

607605
UIScene *foregroundActiveScene;

packages/react-native/React/CoreModules/RCTDevMenu.mm

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -515,18 +515,44 @@ - (void)setDefaultJSBundle
515515
[RCTPresentedViewController() presentViewController:_actionSheet animated:YES completion:nil];
516516

517517
#else // [macOS
518-
NSMenu *menu = [self menu];
519-
NSWindow *window = [NSApp keyWindow];
520-
NSEvent *event = [NSEvent mouseEventWithType:NSEventTypeLeftMouseUp
521-
location:CGPointMake(0, 0)
522-
modifierFlags:0
523-
timestamp:NSTimeIntervalSince1970
524-
windowNumber:[window windowNumber]
525-
context:nil
526-
eventNumber:0
527-
clickCount:0
528-
pressure:0.1];
529-
[NSMenu popUpContextMenu:menu withEvent:event forView:[window contentView]];
518+
NSString *bridgeDescription = _bridge.bridgeDescription;
519+
NSString *description = bridgeDescription.length > 0 ? [NSString stringWithFormat:@"Running %@", bridgeDescription] : @"React Native Development";
520+
521+
NSString *devMenuType = [_bridge isKindOfClass:RCTBridge.class] ? @"Bridge" : @"Bridgeless";
522+
NSString *devMenuTitle = [NSString stringWithFormat:@"React Native Dev Menu (%@)", devMenuType];
523+
524+
NSAlert *alert = [NSAlert new];
525+
[alert setMessageText:devMenuTitle];
526+
[alert setInformativeText:description];
527+
[alert setAlertStyle:NSAlertStyleInformational];
528+
529+
NSArray<RCTDevMenuItem *> *items = [self _menuItemsToPresent];
530+
531+
// Store menu items for completion handler
532+
NSMutableArray<RCTDevMenuItem *> *menuItems = [NSMutableArray new];
533+
534+
// Add buttons for each dev menu item
535+
for (RCTDevMenuItem *item in items) {
536+
[alert addButtonWithTitle:item.title];
537+
[menuItems addObject:item];
538+
}
539+
540+
// Add Cancel button last
541+
[alert addButtonWithTitle:@"Cancel"];
542+
543+
NSWindow *window = RCTKeyWindow() ?: [NSApp mainWindow] ?: [[NSApp windows] firstObject];
544+
[alert beginSheetModalForWindow:window completionHandler:^(NSModalResponse response) {
545+
// Button responses are NSAlertFirstButtonReturn, NSAlertSecondButtonReturn, etc.
546+
// The last button (Cancel) will have response = NSAlertFirstButtonReturn + menuItems.count
547+
NSInteger buttonIndex = response - NSAlertFirstButtonReturn;
548+
549+
if (buttonIndex >= 0 && buttonIndex < menuItems.count) {
550+
// Execute the corresponding menu item
551+
RCTDevMenuItem *selectedItem = menuItems[buttonIndex];
552+
[selectedItem callHandler];
553+
}
554+
// If buttonIndex == menuItems.count, it's the Cancel button - do nothing
555+
}];
530556
#endif // macOS]
531557

532558
[_callableJSModules invokeModule:@"RCTNativeAppEventEmitter" method:@"emit" withArgs:@[ @"RCTDevMenuShown" ]];

packages/rn-tester/Podfile.lock

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2053,7 +2053,7 @@ SPEC CHECKSUMS:
20532053
boost: cea1d4f90a3a59537f3deb03ff5656489d7133dd
20542054
DoubleConversion: d31b1eb37f6d6f456530c4fd9124b857d6889cab
20552055
fast_float: 5596a99716f77fe44b617183d4db34777538174d
2056-
FBLazyVector: c3d0c3eb45c5a3c5985c4cdbe037b1530a7eef2d
2056+
FBLazyVector: 371dea3e0ed4d4cea588bd96900f2de33a74f611
20572057
fmt: 24e7591456deb60b4a77518f83d9a916ac84223f
20582058
glog: 0b31c25149b9d350b2666c7d459229861a00ec07
20592059
hermes-engine: 9b033746b84dd3782beba1ee78de2d8ce709e5e1
@@ -2063,72 +2063,72 @@ SPEC CHECKSUMS:
20632063
OSSLibraryExample: d57a46a4520f0964e36b3ac349cb37404a469ae3
20642064
RCT-Folly: 957ce397c08be7a9a91bb9245e57e69fa5255ec5
20652065
RCTDeprecation: 3808e36294137f9ee5668f4df2e73dc079cd1dcf
2066-
RCTRequired: dcedfb7f34fb38066e52e1cab957c57ccd7db9ad
2067-
RCTTypeSafety: 2c91e5de653d7c3b23201e16d633bbe86e1a68b6
2068-
React: af07878ea8559b32d8b065186c2928675788bd6e
2069-
React-callinvoker: 10b8534fbdbbf1c0c109aebfa03bdde4bdd98398
2070-
React-Core: 73c734a1cb66fc59f69e4966c52586bddf85531f
2071-
React-CoreModules: 1e50e62facd501e3f81a69c3f279f6c2a0785e41
2072-
React-cxxreact: dbe209231951c184f8fc785699aca4e4792beef8
2073-
React-debug: 02e3133cf01637dffc89c62deae2c881c27486dc
2074-
React-defaultsnativemodule: bd35f550f11cbf5c6dc72e5abe8b4f7afa41d14c
2075-
React-domnativemodule: 349bffb2ccd4cdd058b623e4f6d69729d430a482
2076-
React-Fabric: 5428224da0383007e2ad070289ad0f5e2e19fb36
2077-
React-FabricComponents: 542e573dac1ce367ecf916167c2cb7bf84c64835
2078-
React-FabricImage: 23799abf2c5f0bdce9ffb3bcc26dafe97bc6cdee
2079-
React-featureflags: 60c98ff6dea8def99600224c3f6f70dfc694a242
2080-
React-featureflagsnativemodule: f2c6690d9b26b802613f7c42fdb1967f6506f47a
2081-
React-graphics: da87e874689b2b4154b68f7a4dfa4814f8b13290
2082-
React-hermes: 434a2f81b1f0b827a60deb7ac187721523d39123
2083-
React-idlecallbacksnativemodule: 4ae844826cc8a8805fa50bcd8ffb15d89bce53e3
2084-
React-ImageManager: 8f9670e145e307b031c36db00fe18503afbef8ae
2085-
React-jserrorhandler: 734bc5d129478ab1f4aa601f05d63b60f636174a
2086-
React-jsi: d0915ece43c59ecdb8b64e4fb372a9c1ad45d23d
2087-
React-jsiexecutor: 2107bcf79b1345263f88c808b1c18e22741d02d1
2088-
React-jsinspector: 326fb8dd123a835532a702e85b9b3e92a8a91ce7
2089-
React-jsinspectortracing: 0da6865c91ffcb6074a7a918075f1e16af40b379
2090-
React-jsitooling: c1391fe5eee3b55df9bbe238e8b1ad0da4802be9
2091-
React-jsitracing: 2859fb1906371bb6a3ca037d05f25ffa9edb75d5
2092-
React-logger: f22a76c45f743c1bb5d9d8fa8cfd7b0114dc4b35
2093-
React-Mapbuffer: 49d322ddf11ffa8973463d484836d0c2b059b1ce
2094-
React-microtasksnativemodule: 1f39febc6ecea57b1d75ba88d77d081e2689b8a8
2095-
React-NativeModulesApple: ff4068eae18729a5689b0ee67638245db9a20751
2096-
React-oscompat: d5a3795b18b684c669546d619fe37daad9682b8f
2097-
React-perflogger: 65216186ecadcd7c1ae7d664163d51c0d87391db
2098-
React-performancetimeline: 31f83c222133d3eff1fb34fe5593bbfa44e20dd3
2099-
React-RCTActionSheet: b8fa8dc5462eeb5d6bf07de5c6205748625df025
2100-
React-RCTAnimation: 06aabab19321735d02619d56d370d66cd7dfa724
2101-
React-RCTAppDelegate: 5e27b038a0de10535cc17ee5eb0f9fb5ea8f05ff
2102-
React-RCTBlob: e5a049f652a015b59a44313879539325274d1fc0
2103-
React-RCTFabric: e012c85f94a07dd63f2bb98831bfc514ffb80814
2104-
React-RCTFBReactNativeSpec: f3b0131b2f651ba4272f5f41ee508db7cca9a715
2105-
React-RCTImage: 07f34ba290ef73e1c7905197365eb0424ae24979
2106-
React-RCTLinking: 65a5cf6bb17d8b056719206e62adf00d1b587d19
2107-
React-RCTNetwork: 754630d124eace3ecb7e8c5d79f4f98fa8be1f6c
2108-
React-RCTPushNotification: f688a11d989f643b9581b48b762fa2aaed36e8b0
2109-
React-RCTRuntime: d05f4ca1afba2d3b0ab92cb538f9acc58737ac6e
2110-
React-RCTSettings: e47018e632656bfbd7298c2d1becc2dfa914309b
2111-
React-RCTTest: f16c68419017c74b94bb3a61b8541c0352603e4b
2112-
React-RCTText: 41bc42eb95f304f797a3cc6f2ec3618d25df0c75
2113-
React-RCTVibration: 49c58ededff60875d03d519a9e1f36f9616eed1e
2114-
React-rendererconsistency: ce698aa83e253467df7f3de853eb9cf975ab833a
2115-
React-renderercss: 5956a051ae04e2bbb1550e30f01361fed05d7649
2116-
React-rendererdebug: ea93c790b40731bd6fedab213a0bca8d48e82752
2117-
React-rncore: dddfbb3e510df07ea24a3d31432a114856ffebb4
2118-
React-RuntimeApple: 9f9013c5ac7675ada7c4ea74250e77c87c131c82
2119-
React-RuntimeCore: 2644fe75ab6889bfa23f3e097ddf5b2ede9372bb
2120-
React-runtimeexecutor: 693ad2e64732b5bce44b6fcc90eabe494dfc595a
2121-
React-RuntimeHermes: 2a30129486526ac5d53334f48fbe38875964ef01
2122-
React-runtimescheduler: 1338928f41e96f431a85c7bbc78a4994b11f21b5
2123-
React-timing: eb7eb17a751191160f60b886f4d57afe06a99c06
2124-
React-utils: 63603fc28423587c8e36241b854fafc8996bbb71
2125-
ReactAppDependencyProvider: 83ef076ee1b1457ea3ab8beaecc79f953db5be41
2066+
RCTRequired: 653bab07a1f4f0cf76ba2e5f6922cedd04424179
2067+
RCTTypeSafety: ba4702c1f0737dad5aef4af7f9a870499cd0a2ad
2068+
React: f3d2c9c263a7461910bc7e4b2535d967c8864361
2069+
React-callinvoker: 08931279df3397a2655897a9b7a13553fcab1fdb
2070+
React-Core: ec3c631d0ce4c9512b13006c1bbc377a03796fcc
2071+
React-CoreModules: 82faa978827a6e06737cbd2779830a0b3f68212f
2072+
React-cxxreact: 3d650b4ac27e39fa4c6d693716490e3e71efe89e
2073+
React-debug: 30e7cc075724352336f15ccb18f89021427c07f7
2074+
React-defaultsnativemodule: 4058b8c420d68ed987127023e15239f7c8daf456
2075+
React-domnativemodule: d3144d7c9467b4f2db94c15c54baac471f10ca0f
2076+
React-Fabric: 5e6d7e26418435c82d01c6dbb4c107550b556055
2077+
React-FabricComponents: 0bc15850eee9d67afeccde309068f737c2affb0b
2078+
React-FabricImage: 49f1f91ae195fbf57541373dc3dbc4177d482509
2079+
React-featureflags: c44c5a7e267d3b2db4febbde1c83d9dc914dd22c
2080+
React-featureflagsnativemodule: 98ca0f2580d574e419a325f592fb02d74cb8ccd9
2081+
React-graphics: 353581396574c30b3e1569bec40d329c0b226af5
2082+
React-hermes: ada1991262563ada3302e5e097eae31b86b699c1
2083+
React-idlecallbacksnativemodule: f31b0219ea5c1af4dd433db149243eb6ac962461
2084+
React-ImageManager: 22ce07abf0ed19aeeedba57b02e0f3b32a69be59
2085+
React-jserrorhandler: cf97f05e25f304e7c1aff5120152adbbedf98f9c
2086+
React-jsi: c2c5f2b9e029beb6b03ab7bf3215efab18c54bde
2087+
React-jsiexecutor: 0ebefccfa710cc10fe9f3d7ccada5a1da464f9a3
2088+
React-jsinspector: bf465fb147f0f55502bfde927511cb517b1d3c14
2089+
React-jsinspectortracing: 2ba20f2ec0b3beb647821d32148fc2ca03fa3992
2090+
React-jsitooling: 60000aa3ce283f32ec32b276cd26f742b7ede04f
2091+
React-jsitracing: 38e27984054cea22b64b44c9967fe0fb5cb8c828
2092+
React-logger: db3fcfc61b55eec5badc0507cdd700aa1a888d05
2093+
React-Mapbuffer: 3a86c623f64b67ab3d82d64d50fd1a2dbcca962e
2094+
React-microtasksnativemodule: fdecef9947110349df5513fcc427af083b7b5134
2095+
React-NativeModulesApple: 5b7f4901fc9b9488e535340f3e129958550dc504
2096+
React-oscompat: 3ecdb0f74a83166a5cd85c3a646b6fb1c570e83f
2097+
React-perflogger: 8b8a29c932ccd3fa3229ac703dadfdd2c914cbb9
2098+
React-performancetimeline: bd7d89083cfa9cc0b0411234ca72043b5e783e84
2099+
React-RCTActionSheet: 97ce1bed7c310857b4e1dcacf8a33ef3ca6b0c35
2100+
React-RCTAnimation: 8649979ab34ff744c715dadabc88000f72901dc1
2101+
React-RCTAppDelegate: 4cb6ef86fdc8b966a4f2f2bc9e4db87b96369a6b
2102+
React-RCTBlob: 83d98aff9dc9e41e6330f12e8f76d44a9fd24053
2103+
React-RCTFabric: 5acd3c67ee6aa1c0827694c0b48295165a27b2ca
2104+
React-RCTFBReactNativeSpec: 79ad7fbf42dc981ea8a63ff50ea713abd1f7faee
2105+
React-RCTImage: 66f9f443c8af067ea789226f1196c9984997473f
2106+
React-RCTLinking: 29904d876c1f47e69598ebbcabd827c609dc7fde
2107+
React-RCTNetwork: 660257a9c27b905278b4ff4bc1a9d445fd974bac
2108+
React-RCTPushNotification: f1e580c1cde553b6608679f3daa99d45802c8f59
2109+
React-RCTRuntime: abc0182c3e43532f8c5b15d0885de91a8307bd10
2110+
React-RCTSettings: d7adf2b2d4b0b467b90a0028e6dd499c6471e260
2111+
React-RCTTest: 90172f9fef66ce2025e26946cee413655c62ad83
2112+
React-RCTText: aeb51d5c10cf5f2b7a522e7c1a8a934fb7bded0b
2113+
React-RCTVibration: f619b8e52e9b60b797110f45ff46ff82c47bc349
2114+
React-rendererconsistency: 16ca1e473642465c231d9d51b2c54ba86e9b36d4
2115+
React-renderercss: 8ddd29597448cef9060d8549ab7d7e00f0011738
2116+
React-rendererdebug: d2e891f94de09e432a1e4be57a9f277df18ececf
2117+
React-rncore: 22ab7540fa2525cb62171adabf0cd3d1a6520956
2118+
React-RuntimeApple: ce804519bb973666f8fc2212d4ed79681400bb8f
2119+
React-RuntimeCore: 3d30075a0f7bdf06218e4887a4ddce5687706d05
2120+
React-runtimeexecutor: 8595dc37804d9c5150eb0002e899d9b926b0d643
2121+
React-RuntimeHermes: 832db5972687685a2409f6b83706f252d3e25fed
2122+
React-runtimescheduler: e0adf344dea2445e618c5f8920689ddb7dce32e1
2123+
React-timing: a66a07952b3253e4f47e049fadf24f4f1a243728
2124+
React-utils: 9e98f8925ff491b9ba7f61ea8b37dae510c2a0e4
2125+
ReactAppDependencyProvider: ccaef435641c887512526673ca4e7ce0de3c97c3
21262126
ReactCodegen: 0082198e27eef7ce13bf03680eb9d15bbde56601
2127-
ReactCommon: 4b3b727acbd08deb6d3c318a2925f25c1cfa3cf5
2128-
ReactCommon-Samples: 4281d6886e7c27ec967a2a9392a3836edfc110ca
2127+
ReactCommon: 91dbff43738318327f7ec94daa84954371794066
2128+
ReactCommon-Samples: f31cda8512b84c106b0f652d61705060c60b4c12
21292129
ScreenshotManager: c96f07e207c96f5d91080e408aff95df63875dae
21302130
SocketRocket: a1845ec01e17d55e3da5df40600892972afb45e1
2131-
Yoga: deb1f9afd79094c9e76d19fa2e312428a74ba934
2131+
Yoga: 547c3245fc362a81d2693796100168d345c54af6
21322132

21332133
PODFILE CHECKSUM: 07eddbe098f0e50aff590a91207f692788a9fe4c
21342134

0 commit comments

Comments
 (0)