- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: FullWindowOverlay not working with dynamic frameworks #2769
fix: FullWindowOverlay not working with dynamic frameworks #2769
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's great, thank you. Mark the PR as ready for view
when you're ready & tag me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
@kkafar done! There is one failing check - Test iOS e2e |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that is a great catch.
What actually stuns me, that despite this method being defined in wrong class there was no issue when running the FabricExample
(our local example app) using USE_FRAMEWORKS=dynamic
.
The CI failure is not connected to this PR.
I'll release patch version in ~30 mins |
## Description <!-- Description and motivation for this PR. Include Fixes #<number> if this is fixing some issue. --> Fixes #2652 The `RNSFullWindowOverlay` component was not used with dynamic frameworks, leading to the incorrect use of a placeholder component. As highlighted in [this React Native PR](facebook/react-native#37274), all Fabric components must implement the `load` method to be correctly resolved. Although `RNSFullWindowOverlay.mm` already included this method, it was mistakenly placed in `RNSFullWindowOverlayContainer` instead of `RNSFullWindowOverlay`, where it should have been implemented. After correcting this placement, the reported issue is no longer reproducible 🎉. ## Changes <!-- Please describe things you've changed here, make a **high level** overview, if change is simple you can omit this section. For example: --> - moved `load` method from `RNSFullWindowOverlayContainer` to `RNSFullWindowOverlay` class ## Screenshots / GIFs ### Before  ### After  ## Test code and steps to reproduce <!-- Please include code that can be used to test this change and short description how this example should work. This snippet should be as minimal as possible and ready to be pasted into editor (don't exclude exports or remove "not important" parts of reproduction example) --> ## Checklist - [x] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes Co-authored-by: war-in <war-in@users.noreply.github.com> (cherry picked from commit abb1e36)
Description
Fixes #2652
The
RNSFullWindowOverlay
component was not used with dynamic frameworks, leading to the incorrect use of a placeholder component.As highlighted in this React Native PR, all Fabric components must implement the
load
method to be correctly resolved.Although
RNSFullWindowOverlay.mm
already included this method, it was mistakenly placed inRNSFullWindowOverlayContainer
instead ofRNSFullWindowOverlay
, where it should have been implemented.After correcting this placement, the reported issue is no longer reproducible 🎉.
Changes
load
method fromRNSFullWindowOverlayContainer
toRNSFullWindowOverlay
classScreenshots / GIFs
Before
After
Test code and steps to reproduce
Checklist