Skip to content
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(iOS): invalid orientation of contained modals #2011

Merged
merged 5 commits into from
Jan 24, 2024

Conversation

tboba
Copy link
Member

@tboba tboba commented Jan 16, 2024

Description

On iOS there's a bug with contained (and contained transparent) modals, where the modal does not change its orientation when the whole interface (and/or device) is being rotated.
That's because contained modals will keep its orientation when the interface is being rotated, as their controllers don't update the bounds -> viewDidLayoutSubviews and updateBounds methods were not called at the moment of changing the orientation.

This PR fixes this bug by updating the bounds when layoutSubviews method from RNSScreenStack is being called, meaning that no matter if there were previously any modals that have been dismissed or not, screen stack will always update the bounds of the modal views.

Fixes #2006.

Changes

  • Fixed the problem with invalid orientation of contained modals by updating their bounds.

Screenshots / GIFs

Before

8mb.video-1Oi-0fHprj2y.mp4

After

8mb.video-Hei-ldwCztX5.mp4

Test code and steps to reproduce

You can use Test2008 from TestsExample and FabricTestExample to test the change from this PR.

Checklist

  • Included code example that can be used to test this change
  • Ensured that CI passes

@tboba tboba requested a review from kkafar January 16, 2024 10:28
@tboba tboba self-assigned this Jan 16, 2024
@tboba tboba requested a review from WoLewicki January 17, 2024 12:06
@tboba tboba merged commit d460f1d into main Jan 24, 2024
5 checks passed
@tboba tboba deleted the @tboba/fix-contained-modal-orientation branch January 24, 2024 21:25
@Gongreg
Copy link

Gongreg commented Mar 12, 2024

Hello. Thank you for fixing the issue! We've bumped into it, and I wanted to ask when could we expect react-native-screens release with this fix?

@tboba
Copy link
Member Author

tboba commented Mar 12, 2024

Hi @Gongreg, I think we should release a new version in about ~1-2 weeks!

github-merge-queue bot referenced this pull request in valora-inc/wallet Apr 13, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[react-native-screens](https://togithub.com/software-mansion/react-native-screens)
| [`^3.29.0` ->
`^3.30.1`](https://renovatebot.com/diffs/npm/react-native-screens/3.29.0/3.30.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-native-screens/3.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-native-screens/3.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-native-screens/3.29.0/3.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-native-screens/3.29.0/3.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>software-mansion/react-native-screens
(react-native-screens)</summary>

###
[`v3.30.1`](https://togithub.com/software-mansion/react-native-screens/releases/tag/3.30.1)

[Compare
Source](https://togithub.com/software-mansion/react-native-screens/compare/3.30.0...3.30.1)

Patch release addressing an issue with building a package due to the
missing submodule from `postinstall` command.

#### 🔢 Miscellaneous

- Remove postinstall step from package.json by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2081](https://togithub.com/software-mansion/react-native-screens/pull/2081)

**Full Changelog**:
software-mansion/react-native-screens@3.30.0...3.30.1

###
[`v3.30.0`](https://togithub.com/software-mansion/react-native-screens/releases/tag/3.30.0)

[Compare
Source](https://togithub.com/software-mansion/react-native-screens/compare/3.29.0...3.30.0)

Minor release including custom screen transitions, adding support for
VisionOS, supporting `slide_from_left` animation on iOS and fixing other
aspects (including wrong targets for touchable components on Fabric).
Thanks for following along! 💙

**Note**: Please note that support for React Native versions lower than
0.68 have been **dropped**. Older versions may still continue to work
with this and newer releases of react-native-screens, but bugs from
deprecated versions will not be considered for repair.

#### What's Changed

#### 👍 Improvements

- **Custom screen transitions** - In 3.30.0, we've introduced a support
for custom transition animations while making a "go back" gesture. Made
by [@&#8203;piaskowyk](https://togithub.com/piaskowyk) and
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1913](https://togithub.com/software-mansion/react-native-screens/pull/1913)

- **Support for VisionOS is here!** - From now, react-native-screens
offers bundled support for VisionOS platform. Made by
[@&#8203;okwasniewski](https://togithub.com/okwasniewski) in
[https://github.com/software-mansion/react-native-screens/pull/2025](https://togithub.com/software-mansion/react-native-screens/pull/2025)

- **`slide_from_left` transition on iOS** - You can use
`slide_from_left` animation that will be used for pushing or popping a
new screen. Made by
[@&#8203;kirillzyusko](https://togithub.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/2057](https://togithub.com/software-mansion/react-native-screens/pull/2057)

- Add `cancelSearch` command on SearchBar by
[@&#8203;Jasonzj](https://togithub.com/Jasonzj) in
[https://github.com/software-mansion/react-native-screens/pull/1987](https://togithub.com/software-mansion/react-native-screens/pull/1987)

- Fixed Android screen stack animation by
[@&#8203;janicduplessis](https://togithub.com/janicduplessis) in
[https://github.com/software-mansion/react-native-screens/pull/2019](https://togithub.com/software-mansion/react-native-screens/pull/2019)

#### 🐛 Bug fixes

- Not working hitslop for headerRight/Left views by
[@&#8203;kkafar](https://togithub.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1995](https://togithub.com/software-mansion/react-native-screens/pull/1995)
- App freeze when navigating back from any modal nested in contained
modal by [@&#8203;kkafar](https://togithub.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1996](https://togithub.com/software-mansion/react-native-screens/pull/1996)
- Incorrect safe area on transparent modals using landscape orientation
by [@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2008](https://togithub.com/software-mansion/react-native-screens/pull/2008)
- Invalid orientation of contained modals by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2011](https://togithub.com/software-mansion/react-native-screens/pull/2011)
- Modify the decorFitsSystemWindow parameter in setNavigationBarHidden
by [@&#8203;jiyong1](https://togithub.com/jiyong1) in
[https://github.com/software-mansion/react-native-screens/pull/1988](https://togithub.com/software-mansion/react-native-screens/pull/1988)
- Avoid race condition related to state on the new arch by
[@&#8203;j-piasecki](https://togithub.com/j-piasecki) in
[https://github.com/software-mansion/react-native-screens/pull/2024](https://togithub.com/software-mansion/react-native-screens/pull/2024)
- Check for multiple screens while changing screen orientation by
[@&#8203;uzegonemad](https://togithub.com/uzegonemad) in
[https://github.com/software-mansion/react-native-screens/pull/2035](https://togithub.com/software-mansion/react-native-screens/pull/2035)
- Fix setting incorrect measure with native header by
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) and
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2028](https://togithub.com/software-mansion/react-native-screens/pull/2028)
- Add notifying for header height change, fix header height values by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2075](https://togithub.com/software-mansion/react-native-screens/pull/2075)
- Change context while running `runOnUiQueueThread` on 0.73 with
Bridgeless by [@&#8203;cortinico](https://togithub.com/cortinico) in
[https://github.com/software-mansion/react-native-screens/pull/2022](https://togithub.com/software-mansion/react-native-screens/pull/2022)
- Use reactApplicationContext in onScreenChanged by
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/2046](https://togithub.com/software-mansion/react-native-screens/pull/2046)
- Remove calculating status bar height in useAnimatedHeaderHeight when
header is not shown by [@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2033](https://togithub.com/software-mansion/react-native-screens/pull/2033)
- Handle setting `display` for `_viewConfig` attribute by
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) and
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2071](https://togithub.com/software-mansion/react-native-screens/pull/2071)
- Fix crash with searchResultsController in RNSSearchBar by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2004](https://togithub.com/software-mansion/react-native-screens/pull/2004)
- Add constraints for velocity in `goBackGesture` screen transition by
[@&#8203;piaskowyk](https://togithub.com/piaskowyk) in
[https://github.com/software-mansion/react-native-screens/pull/2061](https://togithub.com/software-mansion/react-native-screens/pull/2061)
- Add view check for getting StackView in `goBackGesture` by
[@&#8203;piaskowyk](https://togithub.com/piaskowyk) in
[https://github.com/software-mansion/react-native-screens/pull/2060](https://togithub.com/software-mansion/react-native-screens/pull/2060)
- Change default value of context of ScreenGestureDetector, add warning
for goBackGesture by [@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2013](https://togithub.com/software-mansion/react-native-screens/pull/2013)
- Move GHContext from gesture-handler to native-stack by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2017](https://togithub.com/software-mansion/react-native-screens/pull/2017)
- Change default gesture from Tap to Fling, fix failing CI by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2023](https://togithub.com/software-mansion/react-native-screens/pull/2023)

#### 🔢 Miscellaneous

- **Drop React Native 0.64 - 0.67 since 3.30.0** by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2036](https://togithub.com/software-mansion/react-native-screens/pull/2036)
- Remove mixed CJS/ESM, refactorize index.native.tsx by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1982](https://togithub.com/software-mansion/react-native-screens/pull/1982)
- Add react-navigation as submodule & use it in test applications by
[@&#8203;kkafar](https://togithub.com/kkafar) and
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1993](https://togithub.com/software-mansion/react-native-screens/pull/1993)
- Unify member-field naming convention in Kotlin by
[@&#8203;kkafar](https://togithub.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1999](https://togithub.com/software-mansion/react-native-screens/pull/1999)
- Update compatibility table with supported RN versions with Fabric by
[@&#8203;kkafar](https://togithub.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/2001](https://togithub.com/software-mansion/react-native-screens/pull/2001)
- Change name of `headerBackButtonClicked` event by
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/2015](https://togithub.com/software-mansion/react-native-screens/pull/2015)
- Stabilize Android E2E tests by
[@&#8203;kirillzyusko](https://togithub.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/2062](https://togithub.com/software-mansion/react-native-screens/pull/2062)
- Update Podfiles in Example projects, update RN in FabricExample to
0.73 by [@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1989](https://togithub.com/software-mansion/react-native-screens/pull/1989)
- Update React Native to 0.73.4, change Cocoapods version by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2032](https://togithub.com/software-mansion/react-native-screens/pull/2032)
- Configure yarn version in package.json by
[@&#8203;bakkerjoeri](https://togithub.com/bakkerjoeri) in
[https://github.com/software-mansion/react-native-screens/pull/2077](https://togithub.com/software-mansion/react-native-screens/pull/2077)
- Bump ip from 1.1.8 to 1.1.9 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/2038](https://togithub.com/software-mansion/react-native-screens/pull/2038)
- Bump ip from 1.1.8 to 1.1.9 in example apps by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2044](https://togithub.com/software-mansion/react-native-screens/pull/2044)

#### New Contributors

- [@&#8203;jiyong1](https://togithub.com/jiyong1) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1988](https://togithub.com/software-mansion/react-native-screens/pull/1988)
- [@&#8203;Jasonzj](https://togithub.com/Jasonzj) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1987](https://togithub.com/software-mansion/react-native-screens/pull/1987)
- [@&#8203;j-piasecki](https://togithub.com/j-piasecki) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/2024](https://togithub.com/software-mansion/react-native-screens/pull/2024)
- [@&#8203;cortinico](https://togithub.com/cortinico) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/2022](https://togithub.com/software-mansion/react-native-screens/pull/2022)
- [@&#8203;okwasniewski](https://togithub.com/okwasniewski) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/2025](https://togithub.com/software-mansion/react-native-screens/pull/2025)
- [@&#8203;uzegonemad](https://togithub.com/uzegonemad) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/2035](https://togithub.com/software-mansion/react-native-screens/pull/2035)
- [@&#8203;bakkerjoeri](https://togithub.com/bakkerjoeri) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/2077](https://togithub.com/software-mansion/react-native-screens/pull/2077)

#### 🙌 Thank you for your contributions!

**Full Changelog**:
software-mansion/react-native-screens@3.29.0...3.30.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 5pm,every weekend" in timezone
America/Los_Angeles, Automerge - "after 5pm,every weekend" in timezone
America/Los_Angeles.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/valora-inc/wallet).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: valora-bot <[email protected]>
shottah referenced this pull request in zed-io/kolektivo May 15, 2024
…inc#5239)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[react-native-screens](https://togithub.com/software-mansion/react-native-screens)
| [`^3.29.0` ->
`^3.30.1`](https://renovatebot.com/diffs/npm/react-native-screens/3.29.0/3.30.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-native-screens/3.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-native-screens/3.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-native-screens/3.29.0/3.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-native-screens/3.29.0/3.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>software-mansion/react-native-screens
(react-native-screens)</summary>

###
[`v3.30.1`](https://togithub.com/software-mansion/react-native-screens/releases/tag/3.30.1)

[Compare
Source](https://togithub.com/software-mansion/react-native-screens/compare/3.30.0...3.30.1)

Patch release addressing an issue with building a package due to the
missing submodule from `postinstall` command.

#### 🔢 Miscellaneous

- Remove postinstall step from package.json by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2081](https://togithub.com/software-mansion/react-native-screens/pull/2081)

**Full Changelog**:
software-mansion/react-native-screens@3.30.0...3.30.1

###
[`v3.30.0`](https://togithub.com/software-mansion/react-native-screens/releases/tag/3.30.0)

[Compare
Source](https://togithub.com/software-mansion/react-native-screens/compare/3.29.0...3.30.0)

Minor release including custom screen transitions, adding support for
VisionOS, supporting `slide_from_left` animation on iOS and fixing other
aspects (including wrong targets for touchable components on Fabric).
Thanks for following along! 💙

**Note**: Please note that support for React Native versions lower than
0.68 have been **dropped**. Older versions may still continue to work
with this and newer releases of react-native-screens, but bugs from
deprecated versions will not be considered for repair.

#### What's Changed

#### 👍 Improvements

- **Custom screen transitions** - In 3.30.0, we've introduced a support
for custom transition animations while making a "go back" gesture. Made
by [@&#8203;piaskowyk](https://togithub.com/piaskowyk) and
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1913](https://togithub.com/software-mansion/react-native-screens/pull/1913)

- **Support for VisionOS is here!** - From now, react-native-screens
offers bundled support for VisionOS platform. Made by
[@&#8203;okwasniewski](https://togithub.com/okwasniewski) in
[https://github.com/software-mansion/react-native-screens/pull/2025](https://togithub.com/software-mansion/react-native-screens/pull/2025)

- **`slide_from_left` transition on iOS** - You can use
`slide_from_left` animation that will be used for pushing or popping a
new screen. Made by
[@&#8203;kirillzyusko](https://togithub.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/2057](https://togithub.com/software-mansion/react-native-screens/pull/2057)

- Add `cancelSearch` command on SearchBar by
[@&#8203;Jasonzj](https://togithub.com/Jasonzj) in
[https://github.com/software-mansion/react-native-screens/pull/1987](https://togithub.com/software-mansion/react-native-screens/pull/1987)

- Fixed Android screen stack animation by
[@&#8203;janicduplessis](https://togithub.com/janicduplessis) in
[https://github.com/software-mansion/react-native-screens/pull/2019](https://togithub.com/software-mansion/react-native-screens/pull/2019)

#### 🐛 Bug fixes

- Not working hitslop for headerRight/Left views by
[@&#8203;kkafar](https://togithub.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1995](https://togithub.com/software-mansion/react-native-screens/pull/1995)
- App freeze when navigating back from any modal nested in contained
modal by [@&#8203;kkafar](https://togithub.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1996](https://togithub.com/software-mansion/react-native-screens/pull/1996)
- Incorrect safe area on transparent modals using landscape orientation
by [@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2008](https://togithub.com/software-mansion/react-native-screens/pull/2008)
- Invalid orientation of contained modals by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2011](https://togithub.com/software-mansion/react-native-screens/pull/2011)
- Modify the decorFitsSystemWindow parameter in setNavigationBarHidden
by [@&#8203;jiyong1](https://togithub.com/jiyong1) in
[https://github.com/software-mansion/react-native-screens/pull/1988](https://togithub.com/software-mansion/react-native-screens/pull/1988)
- Avoid race condition related to state on the new arch by
[@&#8203;j-piasecki](https://togithub.com/j-piasecki) in
[https://github.com/software-mansion/react-native-screens/pull/2024](https://togithub.com/software-mansion/react-native-screens/pull/2024)
- Check for multiple screens while changing screen orientation by
[@&#8203;uzegonemad](https://togithub.com/uzegonemad) in
[https://github.com/software-mansion/react-native-screens/pull/2035](https://togithub.com/software-mansion/react-native-screens/pull/2035)
- Fix setting incorrect measure with native header by
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) and
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2028](https://togithub.com/software-mansion/react-native-screens/pull/2028)
- Add notifying for header height change, fix header height values by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2075](https://togithub.com/software-mansion/react-native-screens/pull/2075)
- Change context while running `runOnUiQueueThread` on 0.73 with
Bridgeless by [@&#8203;cortinico](https://togithub.com/cortinico) in
[https://github.com/software-mansion/react-native-screens/pull/2022](https://togithub.com/software-mansion/react-native-screens/pull/2022)
- Use reactApplicationContext in onScreenChanged by
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/2046](https://togithub.com/software-mansion/react-native-screens/pull/2046)
- Remove calculating status bar height in useAnimatedHeaderHeight when
header is not shown by [@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2033](https://togithub.com/software-mansion/react-native-screens/pull/2033)
- Handle setting `display` for `_viewConfig` attribute by
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) and
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2071](https://togithub.com/software-mansion/react-native-screens/pull/2071)
- Fix crash with searchResultsController in RNSSearchBar by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2004](https://togithub.com/software-mansion/react-native-screens/pull/2004)
- Add constraints for velocity in `goBackGesture` screen transition by
[@&#8203;piaskowyk](https://togithub.com/piaskowyk) in
[https://github.com/software-mansion/react-native-screens/pull/2061](https://togithub.com/software-mansion/react-native-screens/pull/2061)
- Add view check for getting StackView in `goBackGesture` by
[@&#8203;piaskowyk](https://togithub.com/piaskowyk) in
[https://github.com/software-mansion/react-native-screens/pull/2060](https://togithub.com/software-mansion/react-native-screens/pull/2060)
- Change default value of context of ScreenGestureDetector, add warning
for goBackGesture by [@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2013](https://togithub.com/software-mansion/react-native-screens/pull/2013)
- Move GHContext from gesture-handler to native-stack by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2017](https://togithub.com/software-mansion/react-native-screens/pull/2017)
- Change default gesture from Tap to Fling, fix failing CI by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2023](https://togithub.com/software-mansion/react-native-screens/pull/2023)

#### 🔢 Miscellaneous

- **Drop React Native 0.64 - 0.67 since 3.30.0** by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2036](https://togithub.com/software-mansion/react-native-screens/pull/2036)
- Remove mixed CJS/ESM, refactorize index.native.tsx by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1982](https://togithub.com/software-mansion/react-native-screens/pull/1982)
- Add react-navigation as submodule & use it in test applications by
[@&#8203;kkafar](https://togithub.com/kkafar) and
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1993](https://togithub.com/software-mansion/react-native-screens/pull/1993)
- Unify member-field naming convention in Kotlin by
[@&#8203;kkafar](https://togithub.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1999](https://togithub.com/software-mansion/react-native-screens/pull/1999)
- Update compatibility table with supported RN versions with Fabric by
[@&#8203;kkafar](https://togithub.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/2001](https://togithub.com/software-mansion/react-native-screens/pull/2001)
- Change name of `headerBackButtonClicked` event by
[@&#8203;WoLewicki](https://togithub.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/2015](https://togithub.com/software-mansion/react-native-screens/pull/2015)
- Stabilize Android E2E tests by
[@&#8203;kirillzyusko](https://togithub.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/2062](https://togithub.com/software-mansion/react-native-screens/pull/2062)
- Update Podfiles in Example projects, update RN in FabricExample to
0.73 by [@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1989](https://togithub.com/software-mansion/react-native-screens/pull/1989)
- Update React Native to 0.73.4, change Cocoapods version by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2032](https://togithub.com/software-mansion/react-native-screens/pull/2032)
- Configure yarn version in package.json by
[@&#8203;bakkerjoeri](https://togithub.com/bakkerjoeri) in
[https://github.com/software-mansion/react-native-screens/pull/2077](https://togithub.com/software-mansion/react-native-screens/pull/2077)
- Bump ip from 1.1.8 to 1.1.9 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/2038](https://togithub.com/software-mansion/react-native-screens/pull/2038)
- Bump ip from 1.1.8 to 1.1.9 in example apps by
[@&#8203;tboba](https://togithub.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/2044](https://togithub.com/software-mansion/react-native-screens/pull/2044)

#### New Contributors

- [@&#8203;jiyong1](https://togithub.com/jiyong1) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1988](https://togithub.com/software-mansion/react-native-screens/pull/1988)
- [@&#8203;Jasonzj](https://togithub.com/Jasonzj) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1987](https://togithub.com/software-mansion/react-native-screens/pull/1987)
- [@&#8203;j-piasecki](https://togithub.com/j-piasecki) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/2024](https://togithub.com/software-mansion/react-native-screens/pull/2024)
- [@&#8203;cortinico](https://togithub.com/cortinico) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/2022](https://togithub.com/software-mansion/react-native-screens/pull/2022)
- [@&#8203;okwasniewski](https://togithub.com/okwasniewski) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/2025](https://togithub.com/software-mansion/react-native-screens/pull/2025)
- [@&#8203;uzegonemad](https://togithub.com/uzegonemad) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/2035](https://togithub.com/software-mansion/react-native-screens/pull/2035)
- [@&#8203;bakkerjoeri](https://togithub.com/bakkerjoeri) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/2077](https://togithub.com/software-mansion/react-native-screens/pull/2077)

#### 🙌 Thank you for your contributions!

**Full Changelog**:
software-mansion/react-native-screens@3.29.0...3.30.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 5pm,every weekend" in timezone
America/Los_Angeles, Automerge - "after 5pm,every weekend" in timezone
America/Los_Angeles.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/valora-inc/wallet).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: valora-bot <[email protected]>
ja1ns pushed a commit to WiseOwlTech/react-native-screens that referenced this pull request Oct 9, 2024
)

## Description

On iOS there's a bug with contained (and contained transparent) modals,
where the modal does not change its orientation when the whole interface
(and/or device) is being rotated.
That's because contained modals will keep its orientation when the
interface is being rotated, as their controllers don't update the bounds
-> `viewDidLayoutSubviews` and `updateBounds` methods were not called at
the moment of changing the orientation.

This PR fixes this bug by updating the bounds when `layoutSubviews`
method from RNSScreenStack is being called, meaning that no matter if
there were previously any modals that have been dismissed or not, screen
stack will always update the bounds of the modal views.

Fixes software-mansion#2006.

## Changes

- Fixed the problem with invalid orientation of contained modals by
updating their bounds.

## Screenshots / GIFs

### Before


https://github.com/software-mansion/react-native-screens/assets/23281839/069a2df7-ebb6-4de5-b8be-d5e1d045421b


### After


https://github.com/software-mansion/react-native-screens/assets/23281839/c3cbd102-4c68-4749-b2a0-4eaba6b8703f

## Test code and steps to reproduce

You can use Test2008 from TestsExample and FabricTestExample to test the
change from this PR.

## Checklist

- [X] Included code example that can be used to test this change
- [x] Ensured that CI passes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Orientation Bugs with transparentModal and containedTransparentModal
3 participants