J_N
(J N)
May 18, 2025, 6:54am
1
I can confirm this issue. Also, the left-most sidebar can’t be collapsed with the hamburger button, and scaling doesn’t work well when resizing the window with Stage Manager:
1 Like
craftzdog
(Takuya Matsuyama)
May 19, 2025, 6:28am
2
Hi @J_N
Thanks for reporting.
These recent regressions are mostly from migrating to the new architecture of the React Native framework
I found a bug in the framework and reported:
opened 06:03AM - 19 May 25 UTC
Needs: Triage
### Description
When the app is starting, it tries to observe the frame changes… of the main window here:
```objc
RCTUnsafeExecuteOnMainQueueSync(^{
[RCTKeyWindow() addObserver:self forKeyPath:kFrameKeyPath options:NSKeyValueObservingOptionNew context:nil];
});
```
However, `RCTKeyWindow()` returns `nil`, so the window size can't be updated.
### Steps to reproduce
1. Create a new project
2. Run it on iPad
3. Resize the window
4. Check `Dimension.get('window')` not updated
### React Native Version
0.79.2
### Affected Platforms
Runtime - iOS
### Output of `npx @react-native-community/cli info`
```text
❯ npx @react-native-community/cli info
npm info using npm@11.3.0
npm info using node@v23.6.1
npm warn Unknown user config "arch". This will stop working in the next major version of npm.
npm warn Unknown user config "node-linker". This will stop working in the next major version of npm.
info Fetching system and libraries information...
System:
OS: macOS 15.4.1
CPU: (16) arm64 Apple M3 Max
Memory: 174.86 MB / 64.00 GB
Shell:
version: 4.0.1
path: /opt/homebrew/bin/fish
Binaries:
Node:
version: 23.6.1
path: ~/.local/share/mise/installs/node/23.6.1/bin/node
Yarn:
version: 3.6.4
path: /opt/homebrew/bin/yarn
npm:
version: 11.3.0
path: ~/.local/share/mise/installs/node/23.6.1/bin/npm
Watchman:
version: 2025.04.14.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.4
- iOS 18.4
- macOS 15.4
- tvOS 18.4
- visionOS 2.4
- watchOS 11.4
Android SDK:
API Levels:
- "29"
- "30"
- "31"
- "32"
- "33"
- "34"
- "35"
Build Tools:
- 30.0.2
- 30.0.3
- 31.0.0
- 32.0.0
- 33.0.0
- 34.0.0
- 35.0.0
- 35.0.0
- 36.0.0
System Images:
- android-32 | Google APIs ARM 64 v8a
- android-34 | Google Play ARM 64 v8a
- android-36 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2024.2 AI-242.23726.103.2422.12816248
Xcode:
version: 16.3/16E140
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.1
path: /usr/bin/javac
Ruby:
version: 3.4.1
path: /Users/nora/.local/share/mise/installs/ruby/3.4.1/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 18.0.0
wanted: 18.0.0
react:
installed: 19.0.0
wanted: 19.0.0
react-native:
installed: 0.79.2
wanted: 0.79.2
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
```
### Stacktrace or Logs
```text
Thread 1 Queue : com.apple.main-thread (serial)
#0 0x000000010838bec4 in RCTKeyWindow at /Developments/inkdrop/mobile/node_modules/react-native/React/Base/RCTUtils.m:595
#1 0x000000010830bcb4 in __62-[RCTKeyWindowValuesProxy startObservingWindowSizeIfNecessary]_block_invoke at /Developments/inkdrop/mobile/node_modules/react-native/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.mm:62
#2 0x000000010838b3ac in RCTUnsafeExecuteOnMainQueueSync at /Developments/inkdrop/mobile/node_modules/react-native/React/Base/RCTUtils.m:292
#3 0x000000010830bba8 in -[RCTKeyWindowValuesProxy startObservingWindowSizeIfNecessary] at /Developments/inkdrop/mobile/node_modules/react-native/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.mm:61
#4 0x00000001082f6758 in invocation function for block in RCTInitializeUIKitProxies() at /Developments/inkdrop/mobile/node_modules/react-native/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm:21
#5 0x00000001024e9798 in _dispatch_client_callout ()
#6 0x00000001024d2d00 in _dispatch_once_callout ()
#7 0x00000001082f6658 in RCTInitializeUIKitProxies [inlined] _dispatch_once(long*, void () block_pointer) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk/usr/include/dispatch/once.h:85
#8 0x00000001082f6638 in RCTInitializeUIKitProxies at /Developments/inkdrop/mobile/node_modules/react-native/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm:17
#9 0x000000010894d9fc in -[RCTHost createSurfaceWithModuleName:mode:initialProperties:] at /Developments/inkdrop/mobile/node_modules/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm:252
#10 0x000000010894dce8 in -[RCTHost createSurfaceWithModuleName:initialProperties:] at /Developments/inkdrop/mobile/node_modules/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm:267
#11 0x0000000108767cac in -[RCTRootViewFactory viewWithModuleName:initialProperties:launchOptions:] at /Developments/inkdrop/mobile/node_modules/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm:147
#12 0x0000000108763590 in -[RCTReactNativeFactory startReactNativeWithModuleName:inWindow:initialProperties:launchOptions:] at /Developments/inkdrop/mobile/node_modules/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm:83
#13 0x000000010876347c in -[RCTReactNativeFactory startReactNativeWithModuleName:inWindow:launchOptions:] at /Developments/inkdrop/mobile/node_modules/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm:75
#14 0x0000000107ded7b8 in AppDelegate.application(_:didFinishLaunchingWithOptions:) at /Developments/inkdrop/mobile/ios/Inkdrop/AppDelegate.swift:29
#15 0x0000000107dedf1c in @objc AppDelegate.application(_:didFinishLaunchingWithOptions:) ()
#16 0x0000000185bcb5f4 in -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] ()
#17 0x0000000185bccab8 in -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] ()
#18 0x0000000185bd1e30 in -[UIApplication _runWithMainScene:transitionContext:completion:] ()
#19 0x00000001851d4360 in -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] ()
#20 0x000000018577962c in _UIScenePerformActionsWithLifecycleActionMask ()
#21 0x00000001851d4c6c in __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke ()
#22 0x00000001851d47c8 in -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] ()
#23 0x00000001851d4aa0 in -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] ()
#24 0x00000001851d44b8 in -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] ()
#25 0x00000001851df3e4 in __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke ()
#26 0x00000001856688c8 in +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:completion:] ()
#27 0x0000000185791c2c in _UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion ()
#28 0x00000001851df0f0 in -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] ()
#29 0x000000018500f3bc in __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.201 ()
#30 0x000000018500e160 in -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] ()
#31 0x000000018500f03c in -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] ()
#32 0x0000000185bd0a38 in -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] ()
#33 0x00000001856922ec in -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] ()
#34 0x0000000187bfb03c in __95-[FBSScene _callOutQueue_didCreateWithTransitionContext:alternativeCreationCallout:completion:]_block_invoke ()
#35 0x0000000187bfb3fc in -[FBSScene _callOutQueue_coalesceClientSettingsUpdates:] ()
#36 0x0000000187bfaebc in -[FBSScene _callOutQueue_didCreateWithTransitionContext:alternativeCreationCallout:completion:] ()
#37 0x0000000187c22318 in __93-[FBSWorkspaceScenesClient _callOutQueue_sendDidCreateForScene:transitionContext:completion:]_block_invoke.156 ()
#38 0x0000000187c06c18 in -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] ()
#39 0x0000000187c20944 in -[FBSWorkspaceScenesClient _callOutQueue_sendDidCreateForScene:transitionContext:completion:] ()
#40 0x00000001024e9798 in _dispatch_client_callout ()
#41 0x00000001024d3d0c in _dispatch_block_invoke_direct ()
#42 0x0000000187c3dfb8 in __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ ()
#43 0x0000000187c3de94 in -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] ()
#44 0x0000000187c692ac in -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] ()
#45 0x00000001804284b8 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#46 0x0000000180428400 in __CFRunLoopDoSource0 ()
#47 0x0000000180427be4 in __CFRunLoopDoSources0 ()
#48 0x0000000180422584 in __CFRunLoopRun ()
#49 0x0000000180421e3c in CFRunLoopRunSpecific ()
#50 0x0000000190f62d00 in GSEventRunModal ()
#51 0x0000000185bcec98 in -[UIApplication _run] ()
#52 0x0000000185bd3064 in UIApplicationMain ()
#53 0x0000000184f9ad6c in UIKit.UIApplicationMain(Swift.Int32, Swift.Optional<Swift.UnsafeMutablePointer<Swift.UnsafeMutablePointer<Swift.Int8>>>, Swift.Optional<Swift.String>, Swift.Optional<Swift.String>) -> Swift.Int32 ()
#54 0x0000000107def15c in static UIApplicationDelegate.main() ()
#55 0x0000000107def0cc in static AppDelegate.$main() ()
#56 0x0000000107defcbc in main ()
#57 0x00000001025cd3d8 in start_sim ()
#58 0x0000000102826b4c in start ()
```
### MANDATORY Reproducer
https://github.com/craftzdog/rn79-bugreport
### Screenshots and Videos

I hope they will fix it soon!
1 Like
craftzdog
(Takuya Matsuyama)
May 28, 2025, 1:43am
3
Found a workaround that can avoid the framework bug mentioned above.
Released v5.6.5:
Bugfixes
Fix a bug where the editor occasionally keeps displaying ‘<Missing>’ in the notebook picker
Fix the heading toolbar button is not working properly
Responsive layout is not working in iPadOS (Thanks @J_N )
Thank you so much for helping me solve these issues!
Download
Thanks again for reporting!
1 Like
J_N
(J N)
May 28, 2025, 8:23am
4
Cool. Works as expected. There seems to be a flicker when changing notes: it’s like the old note remains on screen for a split second before the selected one appears, and it looks like it’s designed that way; the old note seems to sweep upwards to reveal the selected one. Anyway, a minor thing, the main thing is that it works now
1 Like
craftzdog
(Takuya Matsuyama)
May 30, 2025, 6:18am
5
Yeah, the layout transition may have a flicker at the moment, which is hard to solve.
Thanks for the feedback!