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: use new rotation API for iOS 16 #1732

Merged

Conversation

kirillzyusko
Copy link
Contributor

Description

Fixes:

[Orientation] BUG IN CLIENT OF UIKIT: Setting UIDevice.orientation is not supported. Please use UIWindowScene.requestGeometryUpdate(_:)

for iOS 16+.

Changes were inspired by these threads:

Changes

  • added usage of new API for rotation management for iOS 16+ in RNSScreenWindowTraits.mm;

Screenshots / GIFs

Before

Screen.Recording.2023-03-09.at.13.14.36.mov

Test code and steps to reproduce

Just test a scenario when enforceDesiredDeviceOrientation is called on iOS 16. Every time when you call

[[UIDevice currentDevice] setValue:@(newOrientation) forKey:@"orientation"];

You will see a warning in XCode logger. If you rotate screen there may be a possibility that sometimes layout will be broken.

Checklist

@kkafar kkafar self-requested a review March 9, 2023 09:33
Copy link
Member

@kkafar kkafar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job so far, thanks!

The new approach (iOS 16 impl.) does enforce demanded interface orientation, but for some reason it does not preserve it between screen changes (see videos below). There are few more quirks like this.

I'm not yet sure what causes such strange behaviour. I'll be back once I've found something useful.

Old behavioiur

force_both_old.mp4

New behaviour

force_both_new.mp4
Code of the example I'm using
import React from "react";
import { createNativeStackNavigator, NativeStackNavigationProp } from "react-native-screens/native-stack";
import { NavigationContainer, ParamListBase } from "@react-navigation/native";
// import { NativeStackNavigationProp } from "@react-navigation/native-stack";
import { Button, View } from "react-native";

const Stack = createNativeStackNavigator();

function ButtonList(props: { navigation: NativeStackNavigationProp<ParamListBase>}): JSX.Element {
  return (
    <View>
      <Button title="PortraitUp" onPress={() => {
        console.log('Enforce PortraitUp')
        props.navigation.setOptions({screenOrientation: 'portrait_up'})
      }} />
      <Button title="LandscapeLeft" onPress={() => {
        console.log('Enforce LandscapeLeft')
        props.navigation.setOptions({screenOrientation: 'landscape_left'})
      }} />
      <Button title="LandscapeRight" onPress={() => {
        console.log('Enforce LandscapeRight')
        props.navigation.setOptions({screenOrientation: 'landscape_right'})
      }} />
    </View>

  );
}

function Second({ navigation }: { navigation: NativeStackNavigationProp<ParamListBase>}): JSX.Element {
  return (
    <View>
      <Button title="Go First" onPress={() => navigation.navigate("First")} />
      <ButtonList navigation={navigation} />
    </View>
  );
}

function First({ navigation }: { navigation: NativeStackNavigationProp<ParamListBase>}): JSX.Element {
  return (
    <View>
      <Button title="Go Second" onPress={() => navigation.navigate("Second")} />
      <ButtonList navigation={navigation} />
    </View>
  );
}

export default function App() {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="First" component={First} options={{
          fullScreenSwipeEnabled: true
        }} />
        <Stack.Screen name="Second" component={Second} options={{
          fullScreenSwipeEnabled: true
        }} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

@kkafar kkafar self-assigned this Mar 14, 2023
@kirillzyusko
Copy link
Contributor Author

@kkafar good point! Thank you for pointing it out! I will try to debug it on my end as well!

Copy link
Member

@kkafar kkafar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've spent some time debugging it & it seems that there are also issues on iOS < 16. I haven't been able to come up with a solution yet, as I do not really understand yet why the screen rotates in some cases even though rnscreens method enforceDesiredDeviceOrientation method is not called`. I'll have to spent some more time on it.

The changes you proposed seem fine, thank you!

@kkafar kkafar merged commit 79d516f into software-mansion:main Apr 12, 2023
@firofame
Copy link

@kkafar @kirillzyusko This change broke my app. reached here after an hour of debugging.

UIWindowSceneGeometryPreferencesIOS are newly added methods in UIKit and not supported in older versions of Xcode.

@kirillzyusko
Copy link
Contributor Author

@firofame what you mean by broke your app? This method is available starting from iOS 16, isn't it?

And in my code I'm using condition to execute this method only on iOS 16+ 🤷‍♂️

@firofame
Copy link

@kirillzyusko I get this error in Xcode 12.4:

Unknown type name 'UIWindowSceneGeometryPreferencesIOS'
Screenshot 2023-06-16 at 3 40 15 PM

this is the error i see in terminal when i run npx react-native run-ios --device:

The following build commands failed:
CompileC /Users/firozahmed/Library/Developer/Xcode/DerivedData/expressregmobile-bdphxgbfsvflgodjugfzxfgqssvh/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/RNScreens.build/Objects-normal/arm64/RNSScreenWindowTraits.o /Users/firozahmed/Desktop/vr/node_modules/react-native-screens/ios/RNSScreenWindowTraits.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Screenshot 2023-06-16 at 3 46 43 PM

fixed it by changing "react-native-screens": "^3.20.0" to "react-native-screens": "3.20.0" in package.json

@kirillzyusko
Copy link
Contributor Author

@firofame I think you'll need to update XCode 🙂 It was released 3 years ago... And I think this XCode doesn't support iOS 16 (or even iOS 15). So my recommendation is to update your XCode 🙂

But as a temporary solution - yes, you can downgrade RNS version 👍

@firofame
Copy link

@kirillzyusko I wish I could upgrade Xcode, but I am stuck with this version because of a dependency. this app is in production and works fine on iPad OS 16.X

would it make sense to increment react-native-screens version to 4.x if there are breaking changes?

@kirillzyusko
Copy link
Contributor Author

@firofame I don't think it's a breaking change. @kkafar can correct me if I'm wrong 👀

@kkafar
Copy link
Member

kkafar commented Jun 19, 2023

I guess the best solution would be to just ifdef the code for iOS 16 or higher for now.

@firofame let me know whether this:

fixes the problem for you.

You can install react-native-screens from branch by putting:

"react-native-screens": "software-mansion/react-native-screens/@kkafar/screen-rotation-ifdefs-for-ios-16"

in your package.json.

EDIT: We won't treat it as breaking change though, as this is a fixable bug & not intended API change. Version 3.21.0 & 3.21.1 will be broken for older toolchains & everything will be back to normal, hopefully, with release of 3.22.0.

kkafar added a commit that referenced this pull request Jun 20, 2023
## Description

Currently when XCode w/o support for iOS 16 is used the RNSScreens
compilation will most surely fail due to unrecognized symbols being
present in the `RNSScreenWindowTraints` code.
See [this
discussion](#1732 (comment)).

## Changes

Added compilation guards for iOS sdk version. When not present old
implementation is used.


## Test code and steps to reproduce

See #1732 & try to compile & test on different major versions of xcode
(e.g. 12 & 14)

## Checklist

- [ ] Ensured that CI passes
renovate bot referenced this pull request in valora-inc/wallet Oct 17, 2023
[![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://github.com/software-mansion/react-native-screens)
| [`^3.18.2` ->
`^3.25.0`](https://renovatebot.com/diffs/npm/react-native-screens/3.18.2/3.25.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-native-screens/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-native-screens/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-native-screens/3.18.2/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-native-screens/3.18.2/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v3.25.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.25.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.24.0...3.25.0)

#### What's Changed

Minor release focused on bug fixes & internals.

#### 🐛 Bug fixes

- iOS: Add missing call to super method in
`RNSScreenView#finalizeUpdates` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1855](https://github.com/software-mansion/react-native-screens/pull/1855)
- Android: Shorten alpha animation to 83ms on default enter-out by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1835](https://github.com/software-mansion/react-native-screens/pull/1835)
- iOS: Wrong title in back button menu for screens w/ hidden header by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1866](https://github.com/software-mansion/react-native-screens/pull/1866)
- iOS: Full window overlay cannot receive tap when modal is full screen
by
[@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway)
in
[https://github.com/software-mansion/react-native-screens/pull/1872](https://github.com/software-mansion/react-native-screens/pull/1872)

#### 🔢 Miscellaneous

- Reinstall deps & pods in example apps after release by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1862](https://github.com/software-mansion/react-native-screens/pull/1862)
- Fix typo in docs on `sheetCornerRadius` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1863](https://github.com/software-mansion/react-native-screens/pull/1863)
- Use `PlatformColor` instead of plain `string` for color related props
by [@&#8203;retyui](https://github.com/retyui) in
[https://github.com/software-mansion/react-native-screens/pull/1846](https://github.com/software-mansion/react-native-screens/pull/1846)
- Android: Migrate `replaceSystemWindowInsets` to
`Builder.setSystemWindowInsets` by
[@&#8203;kirillzyusko](https://github.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/1868](https://github.com/software-mansion/react-native-screens/pull/1868)

#### New Contributors

-
[@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway)
made their first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1872](https://github.com/software-mansion/react-native-screens/pull/1872)
- [@&#8203;retyui](https://github.com/retyui) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1846](https://github.com/software-mansion/react-native-screens/pull/1846)

**Full Changelog**:
software-mansion/react-native-screens@3.24.0...3.25.0

###
[`v3.24.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.24.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.23.0...3.24.0)

Minor release focused on fixing build issues reported in
[#&#8203;1859](https://github.com/software-mansion/react-native-screens/issues/1859).

#### What's Changed

#### 🐛 Bug fixes

- Bad parameter type in `toggleCancelButton` search bar command by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1854](https://github.com/software-mansion/react-native-screens/pull/1854)
- Add missing iOS API availbility checks by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1860](https://github.com/software-mansion/react-native-screens/pull/1860)

#### 🔢 Miscellaneous

- Update RN + other deps in example apps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1847](https://github.com/software-mansion/react-native-screens/pull/1847)
- Annotate `sheetExpandsWhenScrollingToEdge` prop as iOS specific by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1851](https://github.com/software-mansion/react-native-screens/pull/1851)
- Improve readability of C++ namespaced types by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1856](https://github.com/software-mansion/react-native-screens/pull/1856)

**Full Changelog**:
software-mansion/react-native-screens@3.23.0...3.24.0

###
[`v3.23.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.23.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.22.1...3.23.0)

#### What's Changed

#### 🐛 Bug fixes

- Headerheight incorrect on phones with dynamic island by
[@&#8203;dylancom](https://github.com/dylancom) in
[https://github.com/software-mansion/react-native-screens/pull/1784](https://github.com/software-mansion/react-native-screens/pull/1784)
- Buggy search bar / large title behaviour on Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1825](https://github.com/software-mansion/react-native-screens/pull/1825)
- Make RNSFullWindowOverlay a modal for accessibility by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1842](https://github.com/software-mansion/react-native-screens/pull/1842)
- Calculate large headers in `useHeaderHeight` hook by
[@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1844](https://github.com/software-mansion/react-native-screens/pull/1844)

#### 👍 Improvements

- Add onGestureCancel event by
[@&#8203;piaskowyk](https://github.com/piaskowyk) in
[https://github.com/software-mansion/react-native-screens/pull/1810](https://github.com/software-mansion/react-native-screens/pull/1810)
- Add support for search bar placement by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1843](https://github.com/software-mansion/react-native-screens/pull/1843)

#### 🔢 Miscellaneous

- Update `tough-cookie` and `semver` dependencies by
[@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1823](https://github.com/software-mansion/react-native-screens/pull/1823)
- Bump versions of RNScreens, FBReactNativeSpec and RCTAppDelegate deps
by [@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1827](https://github.com/software-mansion/react-native-screens/pull/1827)
- Update `word-wrap` by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1834](https://github.com/software-mansion/react-native-screens/pull/1834)
- Format code in test examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1812](https://github.com/software-mansion/react-native-screens/pull/1812)
- Unify class & method naming with respect to conventions by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1841](https://github.com/software-mansion/react-native-screens/pull/1841)

#### New Contributors

- [@&#8203;piaskowyk](https://github.com/piaskowyk) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1810](https://github.com/software-mansion/react-native-screens/pull/1810)
- [@&#8203;tboba](https://github.com/tboba) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1823](https://github.com/software-mansion/react-native-screens/pull/1823)

**Full Changelog**:
software-mansion/react-native-screens@3.22.1...3.23.0

###
[`v3.22.1`](https://github.com/software-mansion/react-native-screens/releases/tag/3.22.1)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.22.0...3.22.1)

Patch release bringing back old behaviour of `formSheet` modal on iOS
when using `@react-navigation/native-stack`.

#### What's Changed

##### Fixes

- fix: move setting default values of medium-detent related props to
`InnerScreen` by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1811](https://github.com/software-mansion/react-native-screens/pull/1811)

##### Internal

- chore: fix CI by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1803](https://github.com/software-mansion/react-native-screens/pull/1803)
- chore(deps): update selected deps in examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1807](https://github.com/software-mansion/react-native-screens/pull/1807)
- chore: fix typo in docs by
[@&#8203;aleqsio](https://github.com/aleqsio) in
[https://github.com/software-mansion/react-native-screens/pull/1808](https://github.com/software-mansion/react-native-screens/pull/1808)

#### New Contributors

- [@&#8203;aleqsio](https://github.com/aleqsio) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1808](https://github.com/software-mansion/react-native-screens/pull/1808)

**Full Changelog**:
software-mansion/react-native-screens@3.22.0...3.22.1

###
[`v3.22.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.22.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.21.1...3.22.0)

Minor release fixing some build issues that could happen on older Xcode
versions & with Android SDK 34.

#### What's Changed

- fix: canvas nullability in ScreenStack for Android SDK 34 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1795](https://github.com/software-mansion/react-native-screens/pull/1795)
- fix: ifdef orientation code that requries iOS 16 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1794](https://github.com/software-mansion/react-native-screens/pull/1794)
- chore: update & reinstall selected deps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1798](https://github.com/software-mansion/react-native-screens/pull/1798)

**Full Changelog**:
software-mansion/react-native-screens@3.21.1...3.22.0

###
[`v3.21.1`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.1)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.21.0...3.21.1)

Patch release adding internal `isNewBackTitleImplementation` constant
for use in `@react-navigation/native-stack`.

See
[#&#8203;1791](https://github.com/software-mansion/react-native-screens/issues/1791)
&
[https://github.com/react-navigation/react-navigation/pull/11423](https://github.com/react-navigation/react-navigation/pull/11423)
for details.

###
[`v3.21.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.20.0...3.21.0)

Minor release with support for React Native 0.72 on New Architecture,
fixing some bugs and adding new functionalities.

Please note that support for `react-navigation` v4 has been dropped with
this version and you can no longer use `native-stack` v4 starting from
this version. It might be considered a **BREAKING CHANGE** so be careful
with updating.

#### What's Changed

- chore: migrate codegen to TypeScript by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1600](https://github.com/software-mansion/react-native-screens/pull/1600)
- chore: update README on Fabric support by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1687](https://github.com/software-mansion/react-native-screens/pull/1687)
- feat(iOS): back button subview for Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1581](https://github.com/software-mansion/react-native-screens/pull/1581)
- fix(iOS): image loading for back button on Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1688](https://github.com/software-mansion/react-native-screens/pull/1688)
- chore: refactor medium detent iOS implementation by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1699](https://github.com/software-mansion/react-native-screens/pull/1699)
- feat(Android): add native default animations on Android 13 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1693](https://github.com/software-mansion/react-native-screens/pull/1693)
- chore: fix e2e detox tests & `Example` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1681](https://github.com/software-mansion/react-native-screens/pull/1681)
- fix(iOS): status bar does not respect app theme by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1708](https://github.com/software-mansion/react-native-screens/pull/1708)
- chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1709](https://github.com/software-mansion/react-native-screens/pull/1709)
- chore: change fabric flag by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1705](https://github.com/software-mansion/react-native-screens/pull/1705)
- chore(CI): extend timeout for Android e2e by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1711](https://github.com/software-mansion/react-native-screens/pull/1711)
- chore: update deps in examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1714](https://github.com/software-mansion/react-native-screens/pull/1714)
- chore: update library & examples dependencies by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1721](https://github.com/software-mansion/react-native-screens/pull/1721)
- fix: Android build for `compileSdk < 33` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1723](https://github.com/software-mansion/react-native-screens/pull/1723)
- feat: add imperative API for search bar by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1610](https://github.com/software-mansion/react-native-screens/pull/1610)
- chore(deps): bump shell-quote from 1.6.1 to 1.8.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1725](https://github.com/software-mansion/react-native-screens/pull/1725)
- chore: improve Android anim resource management by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1727](https://github.com/software-mansion/react-native-screens/pull/1727)
- chore: fix typo in build script by
[@&#8203;Jace-Samsung](https://github.com/Jace-Samsung) in
[https://github.com/software-mansion/react-native-screens/pull/1733](https://github.com/software-mansion/react-native-screens/pull/1733)
- chore: set library namespace in build script by
[@&#8203;Sprimage](https://github.com/Sprimage) in
[https://github.com/software-mansion/react-native-screens/pull/1717](https://github.com/software-mansion/react-native-screens/pull/1717)
- fix(iOS): back button not respecting style options by
[@&#8203;tyler-coleman](https://github.com/tyler-coleman) in
[https://github.com/software-mansion/react-native-screens/pull/1726](https://github.com/software-mansion/react-native-screens/pull/1726)
- chore: override `onCreate` in example apps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1736](https://github.com/software-mansion/react-native-screens/pull/1736)
- feat: add `setText` command on SearchBar by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1739](https://github.com/software-mansion/react-native-screens/pull/1739)
- chore(deps): bump activesupport from 6.1.4.6 to 7.0.4.3 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1744](https://github.com/software-mansion/react-native-screens/pull/1744)
- fix: do not apply namespace if it is not available in agp by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1749](https://github.com/software-mansion/react-native-screens/pull/1749)
- chore(deps): bump vm2 from 3.9.14 to 3.9.15 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1752](https://github.com/software-mansion/react-native-screens/pull/1752)
- fix: use new rotation API for iOS 16 by
[@&#8203;kirillzyusko](https://github.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/1732](https://github.com/software-mansion/react-native-screens/pull/1732)
- chore: improve Android 13 animations by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1756](https://github.com/software-mansion/react-native-screens/pull/1756)
- chore(deps): bump vm2 from 3.9.15 to 3.9.16 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1755](https://github.com/software-mansion/react-native-screens/pull/1755)
- fix: ScreenStackHeaderConfig type by
[@&#8203;tomekzaw](https://github.com/tomekzaw) in
[https://github.com/software-mansion/react-native-screens/pull/1760](https://github.com/software-mansion/react-native-screens/pull/1760)
- feat: remove v4 from repo by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1790](https://github.com/software-mansion/react-native-screens/pull/1790)
- fix:Compatible with version 0.72 by
[@&#8203;NiuGuohui](https://github.com/NiuGuohui) in
[https://github.com/software-mansion/react-native-screens/pull/1765](https://github.com/software-mansion/react-native-screens/pull/1765)
- fix: proper handling of header events on Fabric and bumping examples
to 0.72 by [@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1783](https://github.com/software-mansion/react-native-screens/pull/1783)
- feat: prevent native back button dismissal on iOS by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1773](https://github.com/software-mansion/react-native-screens/pull/1773)

#### New Contributors

- [@&#8203;Jace-Samsung](https://github.com/Jace-Samsung) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1733](https://github.com/software-mansion/react-native-screens/pull/1733)
- [@&#8203;Sprimage](https://github.com/Sprimage) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1717](https://github.com/software-mansion/react-native-screens/pull/1717)
- [@&#8203;tyler-coleman](https://github.com/tyler-coleman) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1726](https://github.com/software-mansion/react-native-screens/pull/1726)
- [@&#8203;NiuGuohui](https://github.com/NiuGuohui) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1765](https://github.com/software-mansion/react-native-screens/pull/1765)

**Full Changelog**:
software-mansion/react-native-screens@3.20.0...3.21.0

###
[`v3.20.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.20.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.19.0...3.20.0)

Minior release aimed at fixing
[#&#8203;1686](https://github.com/software-mansion/react-native-screens/issues/1686)
(change of default behaviour for `stackPresentation: 'formSheet'`).

No other changes were introduced with this release. Next "feature"
release is in preparation.

**Full Changelog**:
software-mansion/react-native-screens@3.19.0...3.20.0

###
[`v3.19.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.19.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.18.2...3.19.0)

Minor release with support for React Native 0.71

**Important**: Since this version, Fabric is only supported for React
Native 0.71+. Support for older versions has beed dropped.

#### 🐛 Bug fixes

- Try to apply pointer events behaviors in overlay by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1582](https://github.com/software-mansion/react-native-screens/pull/1582)
- Make enabling device orientation notifications internal by
[@&#8203;kacperkapusciak](https://github.com/kacperkapusciak) &
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1596](https://github.com/software-mansion/react-native-screens/pull/1596)
- Fix back button menu for headerBackTitleVisible prop by
[@&#8203;kacperkapusciak](https://github.com/kacperkapusciak) in
[https://github.com/software-mansion/react-native-screens/pull/1646](https://github.com/software-mansion/react-native-screens/pull/1646)
- Override requiresMainQueueSetup in RNSScreenManager by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1670](https://github.com/software-mansion/react-native-screens/pull/1670)

#### 👍 Improvements

- Support for React Native 0.71.0 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1631](https://github.com/software-mansion/react-native-screens/pull/1631)
- Clarify installation instructions for Android by
[@&#8203;evan1715](https://github.com/evan1715) in
[https://github.com/software-mansion/react-native-screens/pull/1633](https://github.com/software-mansion/react-native-screens/pull/1633)

#### 🔢 Miscellaneous

- Fix FabricTestExample fails to start due to new
`react-native.config.js` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1624](https://github.com/software-mansion/react-native-screens/pull/1624)
- Examples stopped to work after RN issue by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1632](https://github.com/software-mansion/react-native-screens/pull/1632)
- Exclude android/.settings file form repo by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1642](https://github.com/software-mansion/react-native-screens/pull/1642)
- Bump deps & fix tvOS build by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1667](https://github.com/software-mansion/react-native-screens/pull/1667)
- Unify CI between platforms by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1676](https://github.com/software-mansion/react-native-screens/pull/1676)

#### New Contributors

- [@&#8203;evan1715](https://github.com/evan1715) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1633](https://github.com/software-mansion/react-native-screens/pull/1633)

**Full Changelog**:
software-mansion/react-native-screens@3.18.2...3.19.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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: valora-bot <valorabot@valoraapp.com>
bakoushin referenced this pull request in valora-inc/wallet Oct 17, 2023
[![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://github.com/software-mansion/react-native-screens)
| [`^3.18.2` ->
`^3.25.0`](https://renovatebot.com/diffs/npm/react-native-screens/3.18.2/3.25.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-native-screens/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-native-screens/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-native-screens/3.18.2/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-native-screens/3.18.2/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v3.25.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.25.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.24.0...3.25.0)

#### What's Changed

Minor release focused on bug fixes & internals.

#### 🐛 Bug fixes

- iOS: Add missing call to super method in
`RNSScreenView#finalizeUpdates` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1855](https://github.com/software-mansion/react-native-screens/pull/1855)
- Android: Shorten alpha animation to 83ms on default enter-out by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1835](https://github.com/software-mansion/react-native-screens/pull/1835)
- iOS: Wrong title in back button menu for screens w/ hidden header by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1866](https://github.com/software-mansion/react-native-screens/pull/1866)
- iOS: Full window overlay cannot receive tap when modal is full screen
by
[@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway)
in
[https://github.com/software-mansion/react-native-screens/pull/1872](https://github.com/software-mansion/react-native-screens/pull/1872)

#### 🔢 Miscellaneous

- Reinstall deps & pods in example apps after release by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1862](https://github.com/software-mansion/react-native-screens/pull/1862)
- Fix typo in docs on `sheetCornerRadius` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1863](https://github.com/software-mansion/react-native-screens/pull/1863)
- Use `PlatformColor` instead of plain `string` for color related props
by [@&#8203;retyui](https://github.com/retyui) in
[https://github.com/software-mansion/react-native-screens/pull/1846](https://github.com/software-mansion/react-native-screens/pull/1846)
- Android: Migrate `replaceSystemWindowInsets` to
`Builder.setSystemWindowInsets` by
[@&#8203;kirillzyusko](https://github.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/1868](https://github.com/software-mansion/react-native-screens/pull/1868)

#### New Contributors

-
[@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway)
made their first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1872](https://github.com/software-mansion/react-native-screens/pull/1872)
- [@&#8203;retyui](https://github.com/retyui) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1846](https://github.com/software-mansion/react-native-screens/pull/1846)

**Full Changelog**:
software-mansion/react-native-screens@3.24.0...3.25.0

###
[`v3.24.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.24.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.23.0...3.24.0)

Minor release focused on fixing build issues reported in
[#&#8203;1859](https://github.com/software-mansion/react-native-screens/issues/1859).

#### What's Changed

#### 🐛 Bug fixes

- Bad parameter type in `toggleCancelButton` search bar command by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1854](https://github.com/software-mansion/react-native-screens/pull/1854)
- Add missing iOS API availbility checks by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1860](https://github.com/software-mansion/react-native-screens/pull/1860)

#### 🔢 Miscellaneous

- Update RN + other deps in example apps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1847](https://github.com/software-mansion/react-native-screens/pull/1847)
- Annotate `sheetExpandsWhenScrollingToEdge` prop as iOS specific by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1851](https://github.com/software-mansion/react-native-screens/pull/1851)
- Improve readability of C++ namespaced types by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1856](https://github.com/software-mansion/react-native-screens/pull/1856)

**Full Changelog**:
software-mansion/react-native-screens@3.23.0...3.24.0

###
[`v3.23.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.23.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.22.1...3.23.0)

#### What's Changed

#### 🐛 Bug fixes

- Headerheight incorrect on phones with dynamic island by
[@&#8203;dylancom](https://github.com/dylancom) in
[https://github.com/software-mansion/react-native-screens/pull/1784](https://github.com/software-mansion/react-native-screens/pull/1784)
- Buggy search bar / large title behaviour on Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1825](https://github.com/software-mansion/react-native-screens/pull/1825)
- Make RNSFullWindowOverlay a modal for accessibility by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1842](https://github.com/software-mansion/react-native-screens/pull/1842)
- Calculate large headers in `useHeaderHeight` hook by
[@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1844](https://github.com/software-mansion/react-native-screens/pull/1844)

#### 👍 Improvements

- Add onGestureCancel event by
[@&#8203;piaskowyk](https://github.com/piaskowyk) in
[https://github.com/software-mansion/react-native-screens/pull/1810](https://github.com/software-mansion/react-native-screens/pull/1810)
- Add support for search bar placement by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1843](https://github.com/software-mansion/react-native-screens/pull/1843)

#### 🔢 Miscellaneous

- Update `tough-cookie` and `semver` dependencies by
[@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1823](https://github.com/software-mansion/react-native-screens/pull/1823)
- Bump versions of RNScreens, FBReactNativeSpec and RCTAppDelegate deps
by [@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1827](https://github.com/software-mansion/react-native-screens/pull/1827)
- Update `word-wrap` by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1834](https://github.com/software-mansion/react-native-screens/pull/1834)
- Format code in test examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1812](https://github.com/software-mansion/react-native-screens/pull/1812)
- Unify class & method naming with respect to conventions by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1841](https://github.com/software-mansion/react-native-screens/pull/1841)

#### New Contributors

- [@&#8203;piaskowyk](https://github.com/piaskowyk) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1810](https://github.com/software-mansion/react-native-screens/pull/1810)
- [@&#8203;tboba](https://github.com/tboba) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1823](https://github.com/software-mansion/react-native-screens/pull/1823)

**Full Changelog**:
software-mansion/react-native-screens@3.22.1...3.23.0

###
[`v3.22.1`](https://github.com/software-mansion/react-native-screens/releases/tag/3.22.1)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.22.0...3.22.1)

Patch release bringing back old behaviour of `formSheet` modal on iOS
when using `@react-navigation/native-stack`.

#### What's Changed

##### Fixes

- fix: move setting default values of medium-detent related props to
`InnerScreen` by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1811](https://github.com/software-mansion/react-native-screens/pull/1811)

##### Internal

- chore: fix CI by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1803](https://github.com/software-mansion/react-native-screens/pull/1803)
- chore(deps): update selected deps in examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1807](https://github.com/software-mansion/react-native-screens/pull/1807)
- chore: fix typo in docs by
[@&#8203;aleqsio](https://github.com/aleqsio) in
[https://github.com/software-mansion/react-native-screens/pull/1808](https://github.com/software-mansion/react-native-screens/pull/1808)

#### New Contributors

- [@&#8203;aleqsio](https://github.com/aleqsio) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1808](https://github.com/software-mansion/react-native-screens/pull/1808)

**Full Changelog**:
software-mansion/react-native-screens@3.22.0...3.22.1

###
[`v3.22.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.22.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.21.1...3.22.0)

Minor release fixing some build issues that could happen on older Xcode
versions & with Android SDK 34.

#### What's Changed

- fix: canvas nullability in ScreenStack for Android SDK 34 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1795](https://github.com/software-mansion/react-native-screens/pull/1795)
- fix: ifdef orientation code that requries iOS 16 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1794](https://github.com/software-mansion/react-native-screens/pull/1794)
- chore: update & reinstall selected deps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1798](https://github.com/software-mansion/react-native-screens/pull/1798)

**Full Changelog**:
software-mansion/react-native-screens@3.21.1...3.22.0

###
[`v3.21.1`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.1)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.21.0...3.21.1)

Patch release adding internal `isNewBackTitleImplementation` constant
for use in `@react-navigation/native-stack`.

See
[#&#8203;1791](https://github.com/software-mansion/react-native-screens/issues/1791)
&
[https://github.com/react-navigation/react-navigation/pull/11423](https://github.com/react-navigation/react-navigation/pull/11423)
for details.

###
[`v3.21.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.20.0...3.21.0)

Minor release with support for React Native 0.72 on New Architecture,
fixing some bugs and adding new functionalities.

Please note that support for `react-navigation` v4 has been dropped with
this version and you can no longer use `native-stack` v4 starting from
this version. It might be considered a **BREAKING CHANGE** so be careful
with updating.

#### What's Changed

- chore: migrate codegen to TypeScript by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1600](https://github.com/software-mansion/react-native-screens/pull/1600)
- chore: update README on Fabric support by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1687](https://github.com/software-mansion/react-native-screens/pull/1687)
- feat(iOS): back button subview for Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1581](https://github.com/software-mansion/react-native-screens/pull/1581)
- fix(iOS): image loading for back button on Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1688](https://github.com/software-mansion/react-native-screens/pull/1688)
- chore: refactor medium detent iOS implementation by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1699](https://github.com/software-mansion/react-native-screens/pull/1699)
- feat(Android): add native default animations on Android 13 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1693](https://github.com/software-mansion/react-native-screens/pull/1693)
- chore: fix e2e detox tests & `Example` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1681](https://github.com/software-mansion/react-native-screens/pull/1681)
- fix(iOS): status bar does not respect app theme by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1708](https://github.com/software-mansion/react-native-screens/pull/1708)
- chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1709](https://github.com/software-mansion/react-native-screens/pull/1709)
- chore: change fabric flag by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1705](https://github.com/software-mansion/react-native-screens/pull/1705)
- chore(CI): extend timeout for Android e2e by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1711](https://github.com/software-mansion/react-native-screens/pull/1711)
- chore: update deps in examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1714](https://github.com/software-mansion/react-native-screens/pull/1714)
- chore: update library & examples dependencies by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1721](https://github.com/software-mansion/react-native-screens/pull/1721)
- fix: Android build for `compileSdk < 33` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1723](https://github.com/software-mansion/react-native-screens/pull/1723)
- feat: add imperative API for search bar by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1610](https://github.com/software-mansion/react-native-screens/pull/1610)
- chore(deps): bump shell-quote from 1.6.1 to 1.8.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1725](https://github.com/software-mansion/react-native-screens/pull/1725)
- chore: improve Android anim resource management by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1727](https://github.com/software-mansion/react-native-screens/pull/1727)
- chore: fix typo in build script by
[@&#8203;Jace-Samsung](https://github.com/Jace-Samsung) in
[https://github.com/software-mansion/react-native-screens/pull/1733](https://github.com/software-mansion/react-native-screens/pull/1733)
- chore: set library namespace in build script by
[@&#8203;Sprimage](https://github.com/Sprimage) in
[https://github.com/software-mansion/react-native-screens/pull/1717](https://github.com/software-mansion/react-native-screens/pull/1717)
- fix(iOS): back button not respecting style options by
[@&#8203;tyler-coleman](https://github.com/tyler-coleman) in
[https://github.com/software-mansion/react-native-screens/pull/1726](https://github.com/software-mansion/react-native-screens/pull/1726)
- chore: override `onCreate` in example apps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1736](https://github.com/software-mansion/react-native-screens/pull/1736)
- feat: add `setText` command on SearchBar by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1739](https://github.com/software-mansion/react-native-screens/pull/1739)
- chore(deps): bump activesupport from 6.1.4.6 to 7.0.4.3 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1744](https://github.com/software-mansion/react-native-screens/pull/1744)
- fix: do not apply namespace if it is not available in agp by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1749](https://github.com/software-mansion/react-native-screens/pull/1749)
- chore(deps): bump vm2 from 3.9.14 to 3.9.15 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1752](https://github.com/software-mansion/react-native-screens/pull/1752)
- fix: use new rotation API for iOS 16 by
[@&#8203;kirillzyusko](https://github.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/1732](https://github.com/software-mansion/react-native-screens/pull/1732)
- chore: improve Android 13 animations by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1756](https://github.com/software-mansion/react-native-screens/pull/1756)
- chore(deps): bump vm2 from 3.9.15 to 3.9.16 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1755](https://github.com/software-mansion/react-native-screens/pull/1755)
- fix: ScreenStackHeaderConfig type by
[@&#8203;tomekzaw](https://github.com/tomekzaw) in
[https://github.com/software-mansion/react-native-screens/pull/1760](https://github.com/software-mansion/react-native-screens/pull/1760)
- feat: remove v4 from repo by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1790](https://github.com/software-mansion/react-native-screens/pull/1790)
- fix:Compatible with version 0.72 by
[@&#8203;NiuGuohui](https://github.com/NiuGuohui) in
[https://github.com/software-mansion/react-native-screens/pull/1765](https://github.com/software-mansion/react-native-screens/pull/1765)
- fix: proper handling of header events on Fabric and bumping examples
to 0.72 by [@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1783](https://github.com/software-mansion/react-native-screens/pull/1783)
- feat: prevent native back button dismissal on iOS by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1773](https://github.com/software-mansion/react-native-screens/pull/1773)

#### New Contributors

- [@&#8203;Jace-Samsung](https://github.com/Jace-Samsung) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1733](https://github.com/software-mansion/react-native-screens/pull/1733)
- [@&#8203;Sprimage](https://github.com/Sprimage) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1717](https://github.com/software-mansion/react-native-screens/pull/1717)
- [@&#8203;tyler-coleman](https://github.com/tyler-coleman) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1726](https://github.com/software-mansion/react-native-screens/pull/1726)
- [@&#8203;NiuGuohui](https://github.com/NiuGuohui) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1765](https://github.com/software-mansion/react-native-screens/pull/1765)

**Full Changelog**:
software-mansion/react-native-screens@3.20.0...3.21.0

###
[`v3.20.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.20.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.19.0...3.20.0)

Minior release aimed at fixing
[#&#8203;1686](https://github.com/software-mansion/react-native-screens/issues/1686)
(change of default behaviour for `stackPresentation: 'formSheet'`).

No other changes were introduced with this release. Next "feature"
release is in preparation.

**Full Changelog**:
software-mansion/react-native-screens@3.19.0...3.20.0

###
[`v3.19.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.19.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.18.2...3.19.0)

Minor release with support for React Native 0.71

**Important**: Since this version, Fabric is only supported for React
Native 0.71+. Support for older versions has beed dropped.

#### 🐛 Bug fixes

- Try to apply pointer events behaviors in overlay by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1582](https://github.com/software-mansion/react-native-screens/pull/1582)
- Make enabling device orientation notifications internal by
[@&#8203;kacperkapusciak](https://github.com/kacperkapusciak) &
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1596](https://github.com/software-mansion/react-native-screens/pull/1596)
- Fix back button menu for headerBackTitleVisible prop by
[@&#8203;kacperkapusciak](https://github.com/kacperkapusciak) in
[https://github.com/software-mansion/react-native-screens/pull/1646](https://github.com/software-mansion/react-native-screens/pull/1646)
- Override requiresMainQueueSetup in RNSScreenManager by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1670](https://github.com/software-mansion/react-native-screens/pull/1670)

#### 👍 Improvements

- Support for React Native 0.71.0 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1631](https://github.com/software-mansion/react-native-screens/pull/1631)
- Clarify installation instructions for Android by
[@&#8203;evan1715](https://github.com/evan1715) in
[https://github.com/software-mansion/react-native-screens/pull/1633](https://github.com/software-mansion/react-native-screens/pull/1633)

#### 🔢 Miscellaneous

- Fix FabricTestExample fails to start due to new
`react-native.config.js` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1624](https://github.com/software-mansion/react-native-screens/pull/1624)
- Examples stopped to work after RN issue by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1632](https://github.com/software-mansion/react-native-screens/pull/1632)
- Exclude android/.settings file form repo by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1642](https://github.com/software-mansion/react-native-screens/pull/1642)
- Bump deps & fix tvOS build by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1667](https://github.com/software-mansion/react-native-screens/pull/1667)
- Unify CI between platforms by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1676](https://github.com/software-mansion/react-native-screens/pull/1676)

#### New Contributors

- [@&#8203;evan1715](https://github.com/evan1715) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1633](https://github.com/software-mansion/react-native-screens/pull/1633)

**Full Changelog**:
software-mansion/react-native-screens@3.18.2...3.19.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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: valora-bot <valorabot@valoraapp.com>
mccoyplayer pushed a commit to mccoyplayer/reactScreen that referenced this pull request Feb 9, 2024
## Description

Currently when XCode w/o support for iOS 16 is used the RNSScreens
compilation will most surely fail due to unrecognized symbols being
present in the `RNSScreenWindowTraints` code.
See [this
discussion](software-mansion/react-native-screens#1732 (comment)).

## Changes

Added compilation guards for iOS sdk version. When not present old
implementation is used.


## Test code and steps to reproduce

See #1732 & try to compile & test on different major versions of xcode
(e.g. 12 & 14)

## Checklist

- [ ] 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.

3 participants