-
-
Notifications
You must be signed in to change notification settings - Fork 616
Comparing changes
Open a pull request
base repository: software-mansion/react-native-screens
base: 7f6e4cf
head repository: software-mansion/react-native-screens
compare: 8f80ca3
- 8 commits
- 18 files changed
- 5 contributors
Commits on Feb 2, 2026
-
feat(Android, Stack v5): nested stack uses childFragmentManager of pa…
…rent container (#3597) ## Description Closes <software-mansion/react-native-screens-labs#921> `StackScreen` implements now `FragmentProviding` interface. This causes `StackContainer` of nested stack to use `childFragmentManager` of parent container instead of reusing `supportFragmentManager`. ## Changes N/A ## Visual documentation N/A ## Test plan Not a fix or change in behavior, this is just new behavior. To verify you need to attach a debugger in `StackContainer` and verify that it uses `childFragmentManager` of parent container. I've added test example for this use case that I'll likely follow developing in next PRs.
Configuration menu - View commit details
-
Copy full SHA for b6d053c - Browse repository at this point
Copy the full SHA b6d053cView commit details -
chore(deps): bump tar from 7.5.6 to 7.5.7 (#3604)
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.6 to 7.5.7. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb"><code>4a37eb9</code></a> 7.5.7</li> <li><a href="https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46"><code>f4a7aa9</code></a> fix: properly sanitize hard links containing ..</li> <li>See full diff in <a href="https://github.com/isaacs/node-tar/compare/v7.5.6...v7.5.7">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~isaacs">isaacs</a>, a new releaser for tar since your current version.</p> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/software-mansion/react-native-screens/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 523a736 - Browse repository at this point
Copy the full SHA 523a736View commit details -
fix(Android, Stack v5): update stack model after native pop (#3599)
## Description Currently when doing native pop, the `stackModel` stored in `StackContainer` is never updated, therefore leading to an incorrect state held (natively dismissed fragments are never removed from the state). This PR changes that. ## Changes Currently I remove them from the state in `onFragmentDestroyView`, and it seems to work, however I'm not sure, this is the perfect place timing-wise. This callback is called only after fragment's view is destroyed, which might be pretty late in component lifecycle, and we might execute container operations still taking into consideration possibly removed screens. We need to look into that later. ## Before & after - visual documentation N/A ## Test plan Only sensible way to test this is to add logging in `StackContainer` and dismiss few screens natively, and see that the state is updated (with this fix). ## Checklist - [x] Ensured that CI passes
Configuration menu - View commit details
-
Copy full SHA for ec86230 - Browse repository at this point
Copy the full SHA ec86230View commit details -
chore(examples): fix import path for tests in apps/App.tsx (#3605)
After <#3528> The commented import is no longer up to date. This PR fixes it.
Configuration menu - View commit details
-
Copy full SHA for c3f7cb1 - Browse repository at this point
Copy the full SHA c3f7cb1View commit details -
feat(Android, Stack v5): allow for native navigation in nested stacks (…
…#3601) ## Description This commit refactors *StackContainer* code. Achieved functional effect boils down to support for native-pop in nested stack, and in outer stack after closing the nested one. Closes software-mansion/react-native-screens-labs#821 ## Changes I've added abstraction over *FragmentManager* operations. This is done mostly to structure and better manage container update code complexity. The *FragmentManager* facing code is now moved into `FragmentOperationExecutor` class. Now *FragmentManager* reference is cleaned up in `onDetachedFromWindow`. The *StackContainer* is now `OnBackStackChangedListener`. This is done to better time & detect that a screen has been dismissed. This callback is invoked mid-transaction execution by fragment manager, not after all animations finish & the UI disappears. It seems like much more appropriate place to keep the *StackContainer* possibly up-to-date. Please note, that *StackScreen* still emits `onDismiss` event much later, after the UI hides & fragment is destroyed. I've changed it a bit here. Earlier it has been emitted in `onDestroyView`, now I emit it in `onDestroy`. I've changed that to prevent incorrect emitting when fragment moves to *STARTED* lifecycle state but is not detached from fragment manager - such situation might happen when we use `FragmentTransaction.detach`, which is planned. This commit also adds basic *primaryNavigationFragment* management. This is necessary for native navigation in nested stacks to work. If we do not set it correctly, then *childFragmentManager* (used by nested stack) won't handle `backPressed` at all. This responsibility will be delegated to the *supportFragmentManager* and whole nested stack will be popped immediately, instead of only single screen. Important thing to note here is that we need to run additional fragment manager operations when we detect that a fragment has been natively popped. `FragmentManager.primaryNavigationFragment` state seems to not be updated automatically once written to, hence unless we update it, we will encounter a crash where *FragmentManager* attempts to delegate back handling to already detached fragment. ## Visual documentation Push, Pop, Native pop work nicely, even when popping nested stack. The same action via JS popping should not work yet & will be handled separately. https://github.com/user-attachments/assets/43f6f3e4-35f7-4bfc-bd23-674d97ceca76 There is no "before" video. This is initial implementation. ## Test plan TestStackNesting ## Checklist - [ ] Included code example that can be used to test this change. - [ ] Updated / created local changelog entries in relevant test files. - [ ] For visual changes, included screenshots / GIFs / recordings documenting the change. - [ ] For API changes, updated relevant public types. - [ ] Ensured that CI passes
Configuration menu - View commit details
-
Copy full SHA for 82ce103 - Browse repository at this point
Copy the full SHA 82ce103View commit details
Commits on Feb 3, 2026
-
fix(iOS): Respect all screen orientations on iPad (#3609)
## Description On iPad, SDK 55 router app would remain in landscape layout when the iPad was turned upside down. This was because `RNSScreen.mm` had the `UIInterfaceOrientationMaskAllButUpsideDown` set for allowed screen rotations. ## Changes Detect when running on iPad, and change the allowed screen orientations to `UIInterfaceOrientationMaskAll`. On non-iPad devices, behavior is unchanged. ## Test plan Tested on iPad simulator. --------- Co-authored-by: Kacper Kafara <kacperkafara@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ac6d8e3 - Browse repository at this point
Copy the full SHA ac6d8e3View commit details -
fix:
updateSelectedTabremoving unowned fragments (#3608)## Description Fixes `updateSelectedTab` removing unowned fragments (fragments that were created by other libraries) ## Changes - Made sure that the code will only remove `TabScreenFragment` ## Test plan This change was tested using the new Expo template in the preview version of Expo Go. Before, the `react-native-screens` removed the fragment created by `expo-dev-menu`. With this fix, everything seems to work.
Configuration menu - View commit details
-
Copy full SHA for 441e1d8 - Browse repository at this point
Copy the full SHA 441e1d8View commit details -
This release brings some additional fixes for downstream solutions. Additionally, we've landed further development PRs for native stack v5
Configuration menu - View commit details
-
Copy full SHA for 8f80ca3 - Browse repository at this point
Copy the full SHA 8f80ca3View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 7f6e4cf...8f80ca3