forked from software-mansion/react-native-screens
-
Notifications
You must be signed in to change notification settings - Fork 0
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
V4 branch #1
Draft
hannomargelo
wants to merge
166
commits into
3.35.0-discord-1
Choose a base branch
from
4.5.0-discord
base: 3.35.0-discord-1
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
V4 branch #1
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Description This PR introduces series of features & changes: 1. possibility of specifying custom detents for form sheets on devices with iOS 16 or newer, 2. changes existing form sheet API of `Screen` component (namely types of values accepted), 3. Android form sheets (bottom sheets presented in current presentation context (in iOS terms) with dimming view with configurable interaction. The form sheet supports up to three detent levels with additional option of `fitToContents` 4. Android Footer component that works together with `formSheet` presentation style 5. 🚧 Android modal bottom sheet - similar to `formSheet`, however the sheet is mounted under separate window. 6. 🚧 iOS Footer component - similar to Android 7. Usage of Material 3 8. series of new props allowing for: a. controlling style of the `Screen` component (necessary workaround for issue with flickering on iOS, b. controlling whether the screen fragment of particular screen should be unmounted or not on Android when the screen is on JS stack but not visible (necessary to achieve "staying form sheet" when navigating back to a screen with presented form sheet), c. listening for `sheetDetentChange` events, in case of Android stable & dragging states are reported, in case of iOS only stable states d. todo: describe rest ## Changes ## Known issues 1. [x] ~After recent commits - iOS compilation on Fabric~ 2. [ ] Android: issue with nested scrollview - invalid behaviour when there is not enough content for scrollview to scroll (viewport is >= content size). Solvable by patching react-native: facebook/react-native#44099, no other workaround found. There is one approach [suggested by grahammendick](https://github.com/grahammendick/navigation/blob/916688d267bd3fc520e2e22328b6aa66124f52ed/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/CoordinatorLayoutView.java#L96-L148), however yet untested. 3. [ ] Android 'modal' presentation can crash randomly (unknown reason yet, can be deffered) ## Test code and steps to reproduce I've used & extended `Test1649` to present all capabilities of new API. ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
This PR adds landing page for React Native Screens with the use of @swmansion/t-rex-ui component library. The mobile view right now is done without proper design - let me know have some ideas on it! It's open for testing but keep in mind mentioned to-be-fixed things. - [x] Add favicon - [x] Add og-image - [x] Add hero animation - [x] Add Multiplatform tile animation - [ ] (optional) Waiting for proper mobile designs - [x] Bump @swmansion/t-rex-ui to latest Laptop: https://github.com/software-mansion/react-native-screens/assets/59940332/486b82cd-e2c6-4e33-b72e-cfc3de44a08c Mobile: https://github.com/software-mansion/react-native-screens/assets/59940332/af8cd946-b814-4071-97a8-8650de139312 Animacja na hero: https://github.com/user-attachments/assets/fe506eb7-098d-4c70-b403-1a70e4374f2b
## Description This PR adds additional workflow to publish landing page on GitHub pages whenever there's a change on main inside the `docs` directory. ## Changes - Added workflow for publishing landing page - Added .nojekyll file ## Checklist - [x] Ensured that CI passes
## Description Just a correction for invalid import for SVG file. ## Changes - Changed `TV.svg` import to `tv.svg` ## Checklist - [x] Ensured that CI passes
## Description So previously, when there was a production build, screens from screen sequence in hero were wrongly moving into incorrect div. I've wrapped whole sequence into an additional div, so to disallow screens from moving there (somehow it fixes this issue). ## Changes - Wrapped page with additional divs ## Screenshots / GIFs ### Before ![CleanShot 2024-08-13 at 16 40 24@2x](https://github.com/user-attachments/assets/4dc505df-66e7-40a3-bde9-6d334f384c7e) ### After ![CleanShot 2024-08-13 at 16 39 23@2x](https://github.com/user-attachments/assets/6bee706c-d642-4ef1-9d0f-d70105d711d9) ## Checklist - [ ] Ensured that CI passes
## Description This PR aggregates dependabot PRs to update rexml from 3.2.8 to 3.3.3 version in example apps. ## Changes - software-mansion#2296 ## Checklist - [x] Ensured that CI passes Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…t on fabric (software-mansion#2307) ## Description This PR intents to fix the crash when navigating back from a screen with FlatList on the new architecture. The crash was caused by miscalculated `childCount` of the list. Earlier on I found out that setting the [removeClippedSubviews](https://reactnative.dev/docs/flatlist#removeclippedsubviews) option to false (defaults to true on Android) in the FlatList fixes the problem. This PR is rather a quick fix with an extra condition, that adds simple views in place of the miscalculated ones in `startTransitionRecursive` function if there's a FlatList with `removeClippedSubviews` option set. Fixes software-mansion#2282. ## Changes - added `Test2282.tsx` repro - added extra condition in `startTransitionRecursive` function <!-- ## Screenshots / GIFs Here you can add screenshots / GIFs documenting your change. You can add before / after section if you're changing some behavior. ### Before ### After --> ## Test code and steps to reproduce - added `Test2282.tsx` repro ## Checklist - [x] Ensured that CI passes
…tware-mansion#2310) ## Description This PR removes a comment related to `FabricViewStateManager` that is unnecessary since it was replaced with `StateWrapper` by software-mansion@536b096. ## Changes - removed comment
PR adding load method needed for dynamic frameworks to work with the library. See facebook/react-native#37274 for more information.
…ts (software-mansion#2319) ## Description In the newest version of screens, there's a bug where compiler can't find RectUtil.h file from `utils/RectFile.h` during the compile phase of RNSScreenComponentDescriptor file. This PR fixes this by changing the path of RectUtil.h file to <react/renderer/components/rnscreens/util/RectFile.h> file. Fixes software-mansion#2306. ## Changes - Changed import of RectUtil.h file in RNSScreenComponentDescriptor.h file ## Test code and steps to reproduce - Download reproducer from https://github.com/jankosecki/react-native-upgrade-tester/tree/rn-0.75 - Delete patches/react-native-screens+3.34.0.patch - Clean up node_modules in case patch already applied - Run yarn setup (it invokes "pod-install": "(cd ./ios ; RCT_NEW_ARCH_ENABLED=1 USE_FRAMEWORKS=static bundle exec pod install --repo-update)" which enables new architecture) - Open XCode to set up development team (provided repro contains None team in Signing & Capabilities) - Run yarn start - Run yarn ios or trigger build from XCode (yarn ios causes a massive error output with different "error" lines but XCode offers a clear reason. ## Checklist - [ ] Ensured that CI passes
…ement (software-mansion#2292) ## Description > [!important] This PR aims to fix only pressables on screen components. This PR does not fix similar pressable issue with pressables in native header. That interaction will be fixed separately. Pressable elements work just fine until there's a gesture involved. On sensitive physical devices even a little movement during the press is treated as a gesture. When the `Pressable` element detects a gesture it calls [onResponderMove](https://github.com/facebook/react-native/blob/82795715aefba07ae9d79278ce3fd4d2e9a928f2/packages/react-native/Libraries/Pressability/Pressability.js#L484) which then checks wether the gesture happened within the element or went outside by comparing the touch coordinates with coordinates of the element using `_isTouchWithinResponderRegion`. The `responderRegion` is obtained from `_responderID` and happens to have unexpected values when the native header is present. It tuns out that the Y origin is slightly off. After some further investigation and comparison of coordinates it turned out that the height of the android status bar is not well calculated in various scenarios: <table> <td> `statusBarHidden: true` </td> <td> `statusBarTranslucent: true` </td> <td> `statusBarTranslucent: false` </td> </tr> <tr> <td> ![Screenshot_1723212300](https://github.com/user-attachments/assets/57e2f4a3-b002-4ca3-9519-45cfece860c4) </td> <td> ![Screenshot_1723212331](https://github.com/user-attachments/assets/bd46c8d1-8813-4fae-a8a9-0326193371d2) </td> <td> ![Screenshot_1723212382](https://github.com/user-attachments/assets/c7373437-524d-4a0f-951e-ce2689a4fe5c) </td> </tr> </table> The `calculateHeaderHeight` used for calculating the header and statusBar height seems to be the problem. Luckily, we don't have to calculate it by ourselves anymore, because the correct `t` value is provided in the `onLayout` function of the `Screen`. Thus we can get rid of the custom function. Another issue found: after navigating to another screen the offset is off again (exactly by 2x). It's caused by changes introduced in [this PR](software-mansion#2169), which was supposed to prevent content jumps, but doesn't work since RN `0.75` sadly. ![Screenshot_1723220034](https://github.com/user-attachments/assets/b0908c23-4667-4ccf-8e5e-5e7e11bca316) I found out that `FrameOriginCorrection` is not being unset when dimensions from JVM are received, while the `FrameHeightCorrection` is. After adding the missing unset for `FrameOriginCorrection` I rolled back to the commit with the mentioned PR merged and RN `0.74` and I can confirm it works. Fixes software-mansion#1975 ## Changes - removed `calculateHeaderHeight` function - added unset for `FrameOriginCorrection` when dimensions from JVM are received - added `Test1975.tsx` repro - moved code responsible for determining header height during the very first render from component descriptor's `adopt` method to shadow node `appendChild`. ## Test code and steps to reproduce `TestHeader`, `Test1975` ## Checklist - [x] Included code example that can be used to test this change - [x] Ensured that CI passes --------- Co-authored-by: alduzy <[email protected]> Co-authored-by: Alex Duży <[email protected]>
…sion#2314) Bumps [rexml](https://github.com/ruby/rexml) from 3.2.9 to 3.3.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ruby/rexml/releases">rexml's releases</a>.</em></p> <blockquote> <h2>REXML 3.3.6 - 2024-08-22</h2> <h3>Improvements</h3> <ul> <li> <p>Removed duplicated entity expansions for performance.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/194">GH-194</a></li> <li>Patch by Viktor Ivarsson.</li> </ul> </li> <li> <p>Improved namespace conflicted attribute check performance. It was too slow for deep elements.</p> <ul> <li>Reported by l33thaxor.</li> </ul> </li> </ul> <h3>Fixes</h3> <ul> <li> <p>Fixed a bug that default entity expansions are counted for security check. Default entity expansions should not be counted because they don't have a security risk.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/198">GH-198</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/199">GH-199</a></li> <li>Patch Viktor Ivarsson</li> </ul> </li> <li> <p>Fixed a parser bug that parameter entity references in internal subsets are expanded. It's not allowed in the XML specification.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/191">GH-191</a></li> <li>Patch by NAITOH Jun.</li> </ul> </li> <li> <p>Fixed a stream parser bug that user-defined entity references in text aren't expanded.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/200">GH-200</a></li> <li>Patch by NAITOH Jun.</li> </ul> </li> </ul> <h3>Thanks</h3> <ul> <li> <p>Viktor Ivarsson</p> </li> <li> <p>NAITOH Jun</p> </li> <li> <p>l33thaxor</p> </li> </ul> <h2>REXML 3.3.5 - 2024-08-12</h2> <h3>Fixes</h3> <ul> <li>Fixed a bug that <code>REXML::Security.entity_expansion_text_limit</code> check has wrong text size calculation in SAX and pull parsers. <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/193">GH-193</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/195">GH-195</a></li> <li>Reported by Viktor Ivarsson.</li> <li>Patch by NAITOH Jun.</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ruby/rexml/blob/master/NEWS.md">rexml's changelog</a>.</em></p> <blockquote> <h2>3.3.6 - 2024-08-22 {#version-3-3-6}</h2> <h3>Improvements</h3> <ul> <li> <p>Removed duplicated entity expansions for performance.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/194">GH-194</a></li> <li>Patch by Viktor Ivarsson.</li> </ul> </li> <li> <p>Improved namespace conflicted attribute check performance. It was too slow for deep elements.</p> <ul> <li>Reported by l33thaxor.</li> </ul> </li> </ul> <h3>Fixes</h3> <ul> <li> <p>Fixed a bug that default entity expansions are counted for security check. Default entity expansions should not be counted because they don't have a security risk.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/198">GH-198</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/199">GH-199</a></li> <li>Patch Viktor Ivarsson</li> </ul> </li> <li> <p>Fixed a parser bug that parameter entity references in internal subsets are expanded. It's not allowed in the XML specification.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/191">GH-191</a></li> <li>Patch by NAITOH Jun.</li> </ul> </li> <li> <p>Fixed a stream parser bug that user-defined entity references in text aren't expanded.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/200">GH-200</a></li> <li>Patch by NAITOH Jun.</li> </ul> </li> </ul> <h3>Thanks</h3> <ul> <li> <p>Viktor Ivarsson</p> </li> <li> <p>NAITOH Jun</p> </li> <li> <p>l33thaxor</p> </li> </ul> <h2>3.3.5 - 2024-08-12 {#version-3-3-5}</h2> <h3>Fixes</h3> <ul> <li>Fixed a bug that <code>REXML::Security.entity_expansion_text_limit</code> check has wrong text size calculation in SAX and pull parsers. <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/193">GH-193</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/195">GH-195</a></li> <li>Reported by Viktor Ivarsson.</li> <li>Patch by NAITOH Jun.</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ruby/rexml/commit/95871f399eda642a022b03550479b7994895c742"><code>95871f3</code></a> Add 3.3.6 entry</li> <li><a href="https://github.com/ruby/rexml/commit/7cb5eaeb221c322b9912f724183294d8ce96bae3"><code>7cb5eae</code></a> parser tree: improve namespace conflicted attribute check performance</li> <li><a href="https://github.com/ruby/rexml/commit/6109e0183cecf4f8b587d76209716cb1bbcd6bd5"><code>6109e01</code></a> Fix a bug that Stream parser doesn't expand the user-defined entity reference...</li> <li><a href="https://github.com/ruby/rexml/commit/cb158582f18cebb3bf7b3f21f230e2fb17d435aa"><code>cb15858</code></a> parser: keep the current namespaces instead of stack of Set</li> <li><a href="https://github.com/ruby/rexml/commit/2b47b161db19c38c5e45e36c2008c045543e976e"><code>2b47b16</code></a> parser: move duplicated end tag check to BaseParser</li> <li><a href="https://github.com/ruby/rexml/commit/35e1681a179c28d5b6ec97d4ab1c110e5ac00303"><code>35e1681</code></a> test tree-parser: move common method to base class</li> <li><a href="https://github.com/ruby/rexml/commit/6e00a14daf2f901df535eafe96cc94d43a957ffe"><code>6e00a14</code></a> test: fix indent</li> <li><a href="https://github.com/ruby/rexml/commit/df3a0cc83013f3cde7b7c2044e3ce00bcad321cb"><code>df3a0cc</code></a> test: fix indent</li> <li><a href="https://github.com/ruby/rexml/commit/fdbffe744b38811be8b1cf6a9eec3eea4d71c412"><code>fdbffe7</code></a> Use loop instead of recursive call for Element#namespace</li> <li><a href="https://github.com/ruby/rexml/commit/6422fa34494fd4145d7bc68fbbe9525d42becf62"><code>6422fa3</code></a> Use loop instead of recursive call for Element#root</li> <li>Additional commits viewable in <a href="https://github.com/ruby/rexml/compare/v3.2.9...v3.3.6">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rexml&package-manager=bundler&previous-version=3.2.9&new-version=3.3.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/software-mansion/react-native-screens/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Before: ![image](https://github.com/user-attachments/assets/2cfbec89-ddd2-46b0-ac1f-aadd7a8271d9) After: <img width="1227" alt="image" src="https://github.com/user-attachments/assets/12ac3764-9630-4eea-90c0-7770882d6e1e">
…#2326) ## Description Update path for FullWindowOverlay example ## Changes - Updated `README.md` docs
…ecified) (software-mansion#2301) ## Description I have next navigator structure: - JS - native-stack `native-stack` navigator customizes options as: ```ts { headerShown: false, statusBarTranslucent: true, navigationBarColor: "#FFFFFF", navigationBarTranslucent: true, }, ``` When I go to `native-stack` - everything works well: the nav bar changes color. However, when I go back, then I'm getting a gray space in the bottom of my screen. It happens because we disable mode `edge-to-edge` by calling `WindowCompat.setDecorFitsSystemWindows(window, true)` (the gray space appears because before we were already in edge-to-edge mode, because I had `KeyboardProvider` mounted in `App.tsx`). So to fix this problem I decided explicitly check for boolean value for `navigationBarTranslucent` and set `decorFitsSystemWindows` only when we have an actual boolean value. If you think that it's a problem in my project, then, please, let me know the way to fix it 😊 ## Changes - call `WindowCompat.setDecorFitsSystemWindows(window, true)` only if `isNavigationBarTranslucent` has a boolean value; ## Screenshots / GIFs ### Before ![telegram-cloud-photo-size-2-5321328488650760881-y](https://github.com/user-attachments/assets/4c1ef654-3146-44bd-aa00-6a810c2aa0aa) ### After ![telegram-cloud-photo-size-2-5321328488650760882-y](https://github.com/user-attachments/assets/7920cf2c-e5b7-46e9-bb75-a581ce2dab2a) ## Test code and steps to reproduce I tested in `react-native-keyboard-controller` example app, but if you need to test it in your code - let me know, and I'll try to prepare a reproduction code. ## Checklist - [x] Included code example that can be used to test this change - [x] Updated TS types - [x] Updated documentation: <!-- For adding new props to native-stack --> - [x] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [x] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [x] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [x] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [x] Ensured that CI passes
…e-mansion#2330) ## Description Fixes software-mansion#2329 ## Changes - Changes how we check if the child is a CircleImageView to be minification safe ## Test code and steps to reproduce Build `[this](https://github.com/BenIrving/refreshcontrolrepro/tree/main)` repro using this changeset, observe no crash when navigating between screens. You can also check `Test640.tsx` test by going into the second screen (by button), then try to manually refresh list by swiping down (until the refresh control will show). During the refresh, try to go back to the first screen - application shouldn't crash. ## Checklist - [x] Ensured that CI passes Co-authored-by: Ben Irving <[email protected]>
This PR adds gathered Testimonials to Screens landing page <img width="1169" alt="image" src="https://github.com/user-attachments/assets/8bb35b33-4fc9-4a18-afbc-573cc532e235">
… API 29 (software-mansion#2332) ## Description On Android API 29, while using `windowSoftInputMode` with `adjustPan` option, requestLayout is not being called while subviews are being added. That's because while ScreenStackHeaderConfig adds view to the toolbar, onMeasure is being called and even if we're calling `requestLayout` on parent, Android is returning from requesting the layout, as there's somehow ongoing layout. This is not the case for Android API 30 and higher. The solution is to request another layout via ReactChoreographer (same as in ScreenContainer) to call our own layout callback on the next frame. ## Changes - Request layout via ReactChoreographer on `requestLayout` call in CustomToolbar class ## Screenshots / GIFs <details><summary>BEFORE</summary> ![CleanShot 2024-09-03 at 17 59 13](https://github.com/user-attachments/assets/3f7952a5-6430-4b25-b587-4690fac236d3) </details> <details><summary>AFTER</summary> ![CleanShot 2024-09-03 at 17 51 14](https://github.com/user-attachments/assets/f2551b98-5de1-4021-8c72-0e4718aaaf45) </details> ## Test code and steps to reproduce Use `Test2332.tsx` test case to check whether this PR works properly. ## Checklist - [x] Included code example that can be used to test this change - [ ] Ensured that CI passes --------- Co-authored-by: Kacper Kafara <[email protected]>
) ## Description When 3 screens with a ‘modal’ presentation mode are stacked, navigating to a screen outside of the current stack is not functioning correctly. ## Changes Removed dismissing logic for `lastModalVc`. ## Screenshots / GIFs ### Before https://github.com/user-attachments/assets/d4991253-52f1-4f35-8698-242d98b218d1 ### After https://github.com/user-attachments/assets/571ebd45-7319-4225-ab5b-4f68027f4f09 ## Test code and steps to reproduce `TestModalNavigation` was added to tests. ## Checklist - [x] Included code example that can be used to test this change - [ ] Ensured that CI passes Co-authored-by: Kacper Kafara <[email protected]>
…nsion#2348) Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.21.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/expressjs/express/releases">express's releases</a>.</em></p> <blockquote> <h2>4.21.0</h2> <h2>What's Changed</h2> <ul> <li>Deprecate <code>"back"</code> magic string in redirects by <a href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5935">expressjs/express#5935</a></li> <li>[email protected] by <a href="https://github.com/wesleytodd"><code>@wesleytodd</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5954">expressjs/express#5954</a></li> <li>fix(deps): [email protected] by <a href="https://github.com/wesleytodd"><code>@wesleytodd</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5951">expressjs/express#5951</a></li> <li>Upgraded dependency qs to 6.13.0 to match qs in body-parser by <a href="https://github.com/agadzinski93"><code>@agadzinski93</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5946">expressjs/express#5946</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/agadzinski93"><code>@agadzinski93</code></a> made their first contribution in <a href="https://redirect.github.com/expressjs/express/pull/5946">expressjs/express#5946</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/expressjs/express/compare/4.20.0...4.21.0">https://github.com/expressjs/express/compare/4.20.0...4.21.0</a></p> <h2>4.20.0</h2> <h2>What's Changed</h2> <h3>Important</h3> <ul> <li>IMPORTANT: The default <code>depth</code> level for parsing URL-encoded data is now <code>32</code> (previously was <code>Infinity</code>)</li> <li>Remove link renderization in html while using <code>res.redirect</code></li> </ul> <h3>Other Changes</h3> <ul> <li>4.19.2 Staging by <a href="https://github.com/wesleytodd"><code>@wesleytodd</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5561">expressjs/express#5561</a></li> <li>remove duplicate location test for data uri by <a href="https://github.com/wesleytodd"><code>@wesleytodd</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5562">expressjs/express#5562</a></li> <li>feat: document beta releases expectations by <a href="https://github.com/marco-ippolito"><code>@marco-ippolito</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5565">expressjs/express#5565</a></li> <li>Cut down on duplicated CI runs by <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5564">expressjs/express#5564</a></li> <li>Add a Threat Model by <a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5526">expressjs/express#5526</a></li> <li>Assign captain of encodeurl by <a href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5579">expressjs/express#5579</a></li> <li>Nominate jonchurch as repo captain for <code>http-errors</code>, <code>expressjs.com</code>, <code>morgan</code>, <code>cors</code>, <code>body-parser</code> by <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5587">expressjs/express#5587</a></li> <li>docs: update Security.md by <a href="https://github.com/inigomarquinez"><code>@inigomarquinez</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5590">expressjs/express#5590</a></li> <li>docs: update triage nomination policy by <a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5600">expressjs/express#5600</a></li> <li>Add CodeQL (SAST) by <a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5433">expressjs/express#5433</a></li> <li>docs: add UlisesGascon as triage initiative captain by <a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5605">expressjs/express#5605</a></li> <li>deps: encodeurl@~2.0.0 by <a href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5569">expressjs/express#5569</a></li> <li>skip QUERY method test by <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5628">expressjs/express#5628</a></li> <li>ignore ETAG query test on 21 and 22, reuse skip util by <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5639">expressjs/express#5639</a></li> <li>add support Node.js@22 in the CI by <a href="https://github.com/mertcanaltin"><code>@mertcanaltin</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5627">expressjs/express#5627</a></li> <li>doc: add table of contents, tc/triager lists to readme by <a href="https://github.com/mertcanaltin"><code>@mertcanaltin</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5619">expressjs/express#5619</a></li> <li>List and sort all projects, add captains by <a href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5653">expressjs/express#5653</a></li> <li>docs: add <a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> as captain for cookie-parser by <a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5666">expressjs/express#5666</a></li> <li>✨ bring back query tests for node 21 by <a href="https://github.com/ctcpip"><code>@ctcpip</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5690">expressjs/express#5690</a></li> <li>[v4] Deprecate <code>res.clearCookie</code> accepting <code>options.maxAge</code> and <code>options.expires</code> by <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5672">expressjs/express#5672</a></li> <li>skip QUERY tests for Node 21 only, still not supported by <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5695">expressjs/express#5695</a></li> <li>📝 update people, add ctcpip to TC by <a href="https://github.com/ctcpip"><code>@ctcpip</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5683">expressjs/express#5683</a></li> <li>remove minor version pinning from ci by <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5722">expressjs/express#5722</a></li> <li>Fix link variable use in attribution section of CODE OF CONDUCT by <a href="https://github.com/IamLizu"><code>@IamLizu</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5762">expressjs/express#5762</a></li> <li>Replace Appveyor windows testing with GHA by <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5599">expressjs/express#5599</a></li> <li>Add OSSF Scorecard badge by <a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5436">expressjs/express#5436</a></li> <li>update scorecard link by <a href="https://github.com/bjohansebas"><code>@bjohansebas</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5814">expressjs/express#5814</a></li> <li>Nominate <a href="https://github.com/IamLizu"><code>@IamLizu</code></a> to the triage team by <a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5836">expressjs/express#5836</a></li> <li>deps: [email protected] by <a href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in <a href="https://redirect.github.com/expressjs/express/pull/5603">expressjs/express#5603</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/expressjs/express/blob/4.21.0/History.md">express's changelog</a>.</em></p> <blockquote> <h1>4.21.0 / 2024-09-11</h1> <ul> <li>Deprecate <code>res.location("back")</code> and <code>res.redirect("back")</code> magic string</li> <li>deps: [email protected] <ul> <li>includes [email protected]</li> </ul> </li> <li>deps: [email protected]</li> <li>deps: [email protected]</li> </ul> <h1>4.20.0 / 2024-09-10</h1> <ul> <li>deps: [email protected] <ul> <li>Remove link renderization in html while redirecting</li> </ul> </li> <li>deps: [email protected] <ul> <li>Remove link renderization in html while redirecting</li> </ul> </li> <li>deps: [email protected] <ul> <li>add <code>depth</code> option to customize the depth level in the parser</li> <li>IMPORTANT: The default <code>depth</code> level for parsing URL-encoded data is now <code>32</code> (previously was <code>Infinity</code>)</li> </ul> </li> <li>Remove link renderization in html while using <code>res.redirect</code></li> <li>deps: [email protected] <ul> <li>Adds support for named matching groups in the routes using a regex</li> <li>Adds backtracking protection to parameters without regexes defined</li> </ul> </li> <li>deps: encodeurl@~2.0.0 <ul> <li>Removes encoding of <code>\</code>, <code>|</code>, and <code>^</code> to align better with URL spec</li> </ul> </li> <li>Deprecate passing <code>options.maxAge</code> and <code>options.expires</code> to <code>res.clearCookie</code> <ul> <li>Will be ignored in v5, clearCookie will set a cookie with an expires in the past to instruct clients to delete the cookie</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/expressjs/express/commit/7e562c6d8daddff4604f8efaaf9db2cf98c6dcff"><code>7e562c6</code></a> 4.21.0</li> <li><a href="https://github.com/expressjs/express/commit/1bcde96bc87c4704df9a704271d1167064ab56bb"><code>1bcde96</code></a> fix(deps): [email protected] (<a href="https://redirect.github.com/expressjs/express/issues/5946">#5946</a>)</li> <li><a href="https://github.com/expressjs/express/commit/7d364775688be98aaa973302e066d0da9f438997"><code>7d36477</code></a> fix(deps): [email protected] (<a href="https://redirect.github.com/expressjs/express/issues/5951">#5951</a>)</li> <li><a href="https://github.com/expressjs/express/commit/40d2d8f2c882712a0f2e4603c38d166c79676b2b"><code>40d2d8f</code></a> fix(deps): [email protected]</li> <li><a href="https://github.com/expressjs/express/commit/77ada906dba57fd6e308f0d750e01653dbeaddfc"><code>77ada90</code></a> Deprecate <code>"back"</code> magic string in redirects (<a href="https://redirect.github.com/expressjs/express/issues/5935">#5935</a>)</li> <li><a href="https://github.com/expressjs/express/commit/21df421ebc7a5249bb31101da666bbf22adc3f18"><code>21df421</code></a> 4.20.0</li> <li><a href="https://github.com/expressjs/express/commit/4c9ddc1c47bf579e55c2fe837d76a952e9fd8959"><code>4c9ddc1</code></a> feat: upgrade to [email protected]</li> <li><a href="https://github.com/expressjs/express/commit/9ebe5d500d22cbb2b8aaa73446866b084c747971"><code>9ebe5d5</code></a> feat: upgrade to [email protected] (<a href="https://redirect.github.com/expressjs/express/issues/5928">#5928</a>)</li> <li><a href="https://github.com/expressjs/express/commit/ec4a01b6b8814d7b007f36a3023f4dbafdbc3d09"><code>ec4a01b</code></a> feat: upgrade to [email protected] (<a href="https://redirect.github.com/expressjs/express/issues/5926">#5926</a>)</li> <li><a href="https://github.com/expressjs/express/commit/54271f69b511fea198471e6ff3400ab805d6b553"><code>54271f6</code></a> fix: don't render redirect values in anchor href</li> <li>Additional commits viewable in <a href="https://github.com/expressjs/express/compare/4.19.2...4.21.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=express&package-manager=npm_and_yarn&previous-version=4.19.2&new-version=4.21.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/software-mansion/react-native-screens/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…tware-mansion#2343) [//]: # (dependabot-start)⚠️ **Dependabot is rebasing this PR**⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [serve-static](https://github.com/expressjs/serve-static) from 1.15.0 to 1.16.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/expressjs/serve-static/releases">serve-static's releases</a>.</em></p> <blockquote> <h2>1.16.0</h2> <h2>What's Changed</h2> <ul> <li>Remove link renderization in html while redirecting (<a href="https://redirect.github.com/expressjs/serve-static/pull/173">expressjs/serve-static#173</a>)</li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a> made their first contribution in <a href="https://redirect.github.com/expressjs/serve-static/pull/173">expressjs/serve-static#173</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/expressjs/serve-static/compare/v1.15.0...1.16.0">https://github.com/expressjs/serve-static/compare/v1.15.0...1.16.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md">serve-static's changelog</a>.</em></p> <blockquote> <h1>1.16.2 / 2024-09-11</h1> <ul> <li>deps: encodeurl@~2.0.0</li> </ul> <h1>1.16.1 / 2024-09-11</h1> <ul> <li>deps: [email protected]</li> </ul> <h1>1.16.0 / 2024-09-10</h1> <ul> <li>Remove link renderization in html while redirecting</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/expressjs/serve-static/commit/ec9c5ecfb09368519e4698ffbbe1882de00d0ef2"><code>ec9c5ec</code></a> 1.16.2</li> <li><a href="https://github.com/expressjs/serve-static/commit/f454d37c68fdad04b582cb9ac0cd165ab6d19114"><code>f454d37</code></a> fix(deps): encodeurl@~2.0.0</li> <li><a href="https://github.com/expressjs/serve-static/commit/77a8255688cc4affc70e6dc9aa02e3ced4957e77"><code>77a8255</code></a> 1.16.1</li> <li><a href="https://github.com/expressjs/serve-static/commit/4263f496876980c165a3104d087c1ebaa046ad3d"><code>4263f49</code></a> fix(deps): [email protected]</li> <li><a href="https://github.com/expressjs/serve-static/commit/48c73970b129b96cba448e792576ad89b1f9fbed"><code>48c7397</code></a> 1.16.0</li> <li><a href="https://github.com/expressjs/serve-static/commit/0c11fad159898cdc69fd9ab63269b72468ecaf6b"><code>0c11fad</code></a> Merge commit from fork</li> <li>See full diff in <a href="https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~wesleytodd">wesleytodd</a>, a new releaser for serve-static since your current version.</p> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serve-static&package-manager=npm_and_yarn&previous-version=1.15.0&new-version=1.16.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/software-mansion/react-native-screens/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…-mansion#2328) ## Description <!-- Description and motivation for this PR. Include Fixes #<number> if this is fixing some issue. Fixes # . --> This PR is based on software-mansion#1945 and implements the `ios` animation in the reverse direction (slide in from left to right, slide out from right to left) ## Changes <!-- Please describe things you've changed here, make a **high level** overview, if change is simple you can omit this section. For example: - Updated `about.md` docs --> <!-- ## Screenshots / GIFs Here you can add screenshots / GIFs documenting your change. You can add before / after section if you're changing some behavior. ### Before ### After --> ## Test code and steps to reproduce <!-- Please include code that can be used to test this change and short description how this example should work. This snippet should be as minimal as possible and ready to be pasted into editor (don't exclude exports or remove "not important" parts of reproduction example) --> ## Checklist - [x] Included code example that can be used to test this change - [x] Updated TS types - [x] Updated documentation: <!-- For adding new props to native-stack --> - [x] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [x] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [x] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [x] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [x] Ensured that CI passes
…e minSdkVersion 23 (software-mansion#2346) ## Description This PR is a potential fix for [software-mansion#2295](software-mansion#2295). Following suggestions in [PR#2251](software-mansion#2251 (comment)) and Android Gradle Plugin version 7.0.0 changes: `minSdkVersion` was renamed to `minSdk`, `targetSdkVersion` was renamed to `targetSdk`, `compileSdkVersion` was renamed to `compileSdk`, this PR ensures compatibility with react native integrated with newest Android projects. Fixes software-mansion#2295 <!-- Description and motivation for this PR. Include Fixes #<number> if this is fixing some issue. Fixes # . --> ## Changes In `adroid/build.gradle` file to get value for `minSdkVersion` in `defaultConfig` it will look for `minSdkVersion` in rootProject then look for `minSdk` and then fallback to default. Previously it looked for `minSdkVersion` and fallback if not found. Similar logic for `targetSdkVersion` and `compileSdkVersion` <!-- Please describe things you've changed here, make a **high level** overview, if change is simple you can omit this section. For example: - Updated `about.md` docs --> <!-- ## Screenshots / GIFs Here you can add screenshots / GIFs documenting your change. You can add before / after section if you're changing some behavior. ### Before ### After --> ## Test code and steps to reproduce <!-- Please include code that can be used to test this change and short description how this example should work. This snippet should be as minimal as possible and ready to be pasted into editor (don't exclude exports or remove "not important" parts of reproduction example) --> ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
## Description Add basic support for React Server Components support. Related PRs for more context: - necolas/react-native-web#2678 - AppAndFlow/react-native-safe-area-context#502 - software-mansion/react-native-svg#2287 ## Changes - Added basic React Server Component support ## Test code and steps to reproduce - It's kinda hard to test this E2E. I wrote a small jest runner in jest-expo which executes in RSC mode, but it requires React 19 to work. Here's where I tested this patch expo/expo#29404 - It will likely break between now and the full release, but this should at least reduce the number of patches required to work on Expo Router support. - There's pretty good compilation on web: ``` 2:I["../../node_modules/react-native-web/dist/exports/View/index.js",[],""] 3:I["../../node_modules/react-native-web/dist/exports/Image/index.js",[],""] 1:{"name":"ScreenStackHeaderBackButtonImage","env":"Server","owner":null} 0:D"$1" 0:["$","$L2",null,{"children":["$","$L3",null,{"resizeMode":"center","fadeDuration":0},"$1"]},"$1"] ``` - And more opaque compilation on native platforms: ``` 1:I["../../node_modules/react-native-screens/src/components/ScreenStackHeaderConfig.tsx",[],"ScreenStackHeaderBackButtonImage"] 0:["$","$L1",null,{},null] ``` ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
## Description Based on: software-mansion#2337 by @morganick. Please see the original PR and its description for details. See: software-mansion#2337 (review) for discussion why new PR has been created. ## Changes - **Using node resolver to find react native package for better monorepo support** - **Using rootDir instead of projectDir** - **Change the order of path lookup** ## Test code and steps to reproduce I've tested it using our both example apps and additionally I've created fresh RN app and tested the Android build there. ## Checklist - [x] Ensured that CI passes --------- Co-authored-by: Nick Morgan <[email protected]>
## Description Aggregating dependabot updates * software-mansion#2321 * software-mansion#2322 * software-mansion#2323 ## Checklist - [x] Ensured that CI passes --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…n#2351) ## Description Together with @kkafar we noticed that when switching back between BottomTabsView (A -> B -> A) , React is calling removeScreenAt and addScreen for tab we are leaving - in the same transaction! Because of that and asynchronous nature of react-native-screens, error described in software-mansion#2345 exist. We also noticed that this weir behaviour is related to setting ZIndex in InnerScreen. Fixes software-mansion#2345 Test 2232 was failing due to change in headerBackTitleVisible property. > [!Caution] @kkafar: Note that this change might be potentially breaking since we're effectively removing possibility of managing `Screen` components through "z indices", breaking public API. @kkafar: The error mechanism is as follows: 1. `zIndex` being set causes RN diffing mechanism to include two mutations on the same view in the same transaction - effectively detaching and attaching it, 2. Thus when we navigate from tab B to A, react first detaches B from screen container and in the same transaction it attaches it again - however at the moment of reattach react expects B to be detached. This is not case due to the fact, that we don't execute updates synchronously, but rather we just schedule them in another block on UI thread; 3. React asserts the invariant from point 2., and when we violate it, its internal state gets corrupted later leading to crash. We detected that getting rid of setting `zIndex` on screens prevents the two consecutive operations on the same screen to appear, thus effectively solving the problem. Note, however, that we still won't support such cases with multiple mount/unmount mutations related to the same component in single transaction. ## Changes - For every InnerScreen created we set/override ZIndex style to undefined. - Use headerBackButtonDisplayMode instead of headerBackTitleVisible. ## Test code and steps to reproduce ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes --------- Co-authored-by: Kacper Kafara <[email protected]>
## Description This PR fixes the incorrect position of the custom header items when updating more than one option at the same time. The proposed solution let us remove the previous fix for a similar problem: software-mansion#2248 which only fixed the issue on fabric. Fixes software-mansion#432, software-mansion#2231. ## Changes - forced re-layout of the navigation controller when subviews are updated - removed previous fix - updated `Test432` repro <!-- ## Screenshots / GIFs Here you can add screenshots / GIFs documenting your change. You can add before / after section if you're changing some behavior. ### Before ### After --> ## Test code and steps to reproduce - use `Test432` and `Test2231` to test this fix on both architectures. ## Checklist - [x] Included code example that can be used to test this change - [x] Ensured that CI passes
…oftware-mansion#2356) ## Description This PR intends to add support for previously removed `sheetAllowedDetents` and `sheetLargestUndimmedDetent` props values: `medium`, `large` and `all`. With addition of custom detents for iOS I've changed the API of NativeScreen component to receive `number[]` as the detent list and removed the old options. This removal was unnecessary. I've restored these options on the `Screen` component abstraction layer, where old options are translated to the new API w/o need for additional support in downstream packages such as react-navigation. Corresponding PR in `react-navigation`: * react-navigation/react-navigation#12032 ## Changes * updated the types, * added "translation layer" in InnerScreen. ## Test code and steps to reproduce Test1649 is great for testing all sheet related props. ## Checklist - [x] Included code example that can be used to test this change - [x] Updated TS types - [x] Updated documentation: <!-- For adding new props to native-stack --> - [x] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [x] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [x] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [x] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [x] Ensured that CI passes
## Description Recently `FooterComponent` was introduced for internal reasons, however it hasn't been exported on web leading to issues. > [!caution] > We need to set up CI for web... Fixes software-mansion#2534 ## Changes `FooterComponent` is now exported from `ScreenFooter.web.tsx` ## Test code and steps to reproduce ??? We do not have a web example - we need to add it. ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
…#2537) ## Description It has been reported that there are project configurations in which "$projectDir/../node_modules/react-native" exists, but node module resolution algorithm fails to find it. I've reintroduced the aforementioned location. ## Test code and steps to reproduce Our examples should keep working as always ^^ ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
…oftware-mansion#2552) ## Description > [!note] > This issue seems to concern only old architecture. See below for description of Fabric situation 👇🏻 This PR aims to fix a bug described below 👇🏻 and at the same time balancing on the thin edge of not introducing regressions regarding: software-mansion#2316, software-mansion#2248, software-mansion#2385. ### Bug description See `Test2552`. The flow is as follows: 1. we have tab navigator with nested stack navigators on each tab (A & B), 2. In `useLayoutEffect` we schedule a timer which callback changing the subview elements, 3. before the timer fires we change the tab from A to B, 4. wait few seconds fot timer to fire, 5. go back to A, 6. notice that the subviews are laid out incorrectly (video below 👇🏻) https://github.com/user-attachments/assets/2bf621a7-efd4-44cf-95e1-45a46e425f07 Basically what happens is we're sending `layoutIfNeeded` to navigation bar before subviews are mounted under navigation bar view hierarchy. This causes "isLayoutDirty" flags to be cleaned up and subsequent `layoutIfNeeded` messages have no effect. ## Changes We now wait with triggering layout for the subview to be attached to window. > [!note] > TODO: possibly we should call the layout from `didMoveToWindow` but I haven't found the case it does not work without the call, so I'm not adding it for now. > [!note] > Calling layout on whole navigation bar for every subview update seems wrong, however the change is subview change can have effect on other neighbouring views (e.g. long title which need to be truncated) & it seems that we need to do this. Maybe we could get away will requesting it only from UINavigationBarContentView skipping few levels, but this is left for consideration in the future. > [!important] > I do not understand why we need to send `layoutIfNeeded` and `setNeedsLayout` is not enough, but not sending the former results in regressions in Test432. Leaving it for future considerations. ### Fabric The strategy with setting screen options inside timer nested in useLayoutEffect seems to not work at all on new architecture. My impression is that the timer gets cancelled every time the screen loses focus (tab is changed). I do not know whether this is a bug on our side, or maybe it should work this way or it is Fabric bug. This should be debugged in future. ## Test code and steps to reproduce Test2552 - Follows the steps described above ☝🏻 Test432 - Follow the steps from issues described in mentioned issues :point_up: ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
software-mansion#2553) ## Description I was just writing software-mansion#2552 and got confused that the header config subviews are added as subviews to the header config view in host tree, before they are attached to the navigation bar view hierarchy. This transient state does not make any sense, and we do not do similar thing on Fabric. ## Changes `self.superview` returns now `nil` until the subview is mounted in navigation bar view hierarchy. Also moved the function to Paper specific section of file, because it is not called on Fabric on any codepath. ## Test code and steps to reproduce We haven't used this behaviour. There should be no regression in text examples. ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
## Description This PR bumps RN developement version in the library from 0.72 to 0.76 & updates eslint configuration & few other development packages. Please note the changes in gesture-handler related types from Screen Transition API. These changes are motivated by the fact that I've recently bumped versions of language servers in my editor & eslint language server started throwing errors in our example apps (when editing `apps/**` files) that is does not know anything about `@react-native` config we try to extend in `apps/.eslintrc.js`. This makes absolute sense, as it had tried to found the `@react-native` config with "standard module resolution algorithm", and there were no node_modules containing the config above `apps` directory. During fixing this I've also noticed errors in configuration of our root-level `.eslintrc` file. I've decided to fix this and bump dependencies, so that my eyes don't hurt from red screen when developing. ## Changes ☝🏻 I've also described important changes in "review" below 👇🏻 ## Test code and steps to reproduce I've modified only development dependencies, therefore behaviour for end-user should not change in any way. Our apps should now work & eslint config should be improved. ## Checklist - [ ] Ensured that CI passes
…entation (software-mansion#2562) ## Description Noticed a low-hanging opportunity to simplify this method while doing something different. We already had this loop implemented in helper function so we could use it. ## Test code and steps to reproduce CI should be enough ## Checklist - [ ] Ensured that CI passes
…are-mansion#2563) ## Description Fixes software-mansion#2550 Empirical research shows that UIKit uses `interruptibleAnimatorForTransition:` method on `UIViewAnimatedTransitioning` (our `RNSStackAnimator`) for navigation item animation. This allowed us customizing navigation item timing curve & animation style, however it has caused unexpected content jumps (see software-mansion#2550 or video below 👇). > [!important] > This PR reverts changes to navigation item animation introduced with v4. I guess it could be considered breaking unless it weren't a bit broken => I'm treating this as a necessary fix > & will try to bring back "new behaviour" soon, once we figure why `interruptibleAnimatorForTransition:` causes such bugs. https://github.com/user-attachments/assets/000fa79d-b01a-4261-941b-c5922e0d17f6 After the changes this looks as follows: https://github.com/user-attachments/assets/42870bab-304e-4a9d-b253-42d94c6159e7 ## Changes - **Add reproduction** - **Do not override `interruptibleAnimatorForTransition:` preventing content jump** ## Test code and steps to reproduce `TestAnimation` ## Checklist - [x] Included code example that can be used to test this change - [ ] Ensured that CI passes
## Description We recommended to run `yarn prepare` in `react-navigation` submodule, which is not existend (for some time now I believe). ## Changes Updated the `yarn submodules` script & fixed the contributing guide. ## Test code and steps to reproduce Clone fresh repo & follow contributing guide - it should work now. ## Checklist - [ ] Ensured that CI passes
## Description Fixes software-mansion#2525 View hierarchy for modal with header looks kinda like this: `UITransitionView` -> `Screen` -> `Stack` (`UINavigationController`) -> `Screen` -> content calling `[_controller dismissViewControllerAnimated:YES completion:nil]` on the `Stack` ☝️, according to [documentation](https://developer.apple.com/documentation/uikit/uiviewcontroller/dismiss(animated:completion:)?language=objc) should dismiss the view controller itself and any view controllers presented from that view controller. However in practive it dismisses not only itself and "above" modal, but also a single modal "below". I'm not sure why it is the case. Removing this line of code introduces a bug: during development, when multiple modals are opened and you reload the react-native, the modals could be left in stuck state. I'll proceed, as this bug bug in development is of much lesser severity. I've decided to move the call "one up" the view controller hierarchy, to avoid calling dismiss directly on UINavigationController as it looks like it causes the problem. This fixes the problem & keeps the development behaviour working as intended. ## Changes Described above ☝️ ## Test code and steps to reproduce I've enhanced `TestModalNavigation` test case to cover this issue. ## Checklist - [x] Included code example that can be used to test this change - [ ] Ensured that CI passes
…on#2566) Fixed software-mansion#2557. We have to take preloaded screens into account when freezing screens. Till now, the assumption was that the newest screens are the ones rendered, right now top children can be the preloaded ones, so we have to filter them from calculating the size of frozen screens. We could also think of freezing the preloaded screens, wdyt about it @satya164 ?
…mansion#2565) ## Description There is still some header animation noticeable for some reason. <-- This is because we use `fade` transition with duration 0 and do not override interruptible animator! To prevent the animation we could either return `nil` interruptible animator (but overriding the method comes with it's own set of problems, see software-mansion#2563 and other related) or handle the `none` animation much earlier, when calling `showViewControllers:animated:` in `updateContainer` (pass `animated: NO`). PS: If we would want to pass `animated: NO` I wonder what would happen to dismiss prevention - we implemented it at the stage of the animation start... We need to think this through. Note: Must be implemented with old animation API, because `UIViewPropertyAnimator` does not allow for 0 duration (it uses default if the specified animation duration is below some undocumented treshold). This regression was introduced with software-mansion#2477 ## Changes We now use old API for `animation: none` & still rely on fade animation to implement it. Note the points made above ☝🏻 - we should refactor this code to make advantage of `animated:` parameter of the `showViewControllers:animated:`. ## Test code and steps to reproduce `TestAnimation` - set stack presentation to `none` - it works as prior to v4. WIP VIDEO ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
…ansion#2567) ## Description Add a newly introduced field `ios.componentProvider` to the `codegen` configuration to create an association map between JS components and their native implementations. See more information here: software-mansion/react-native-svg#2572 ## Changes - added `codegenConfig.ios.componentProvider` field to package.json ### Before ```objc Class<RCTComponentViewProtocol> RCTThirdPartyFabricComponentsProvider(const char *name) { static std::unordered_map<std::string, Class (*)(void)> sFabricComponentsClassMap = { // ... {"RNSFullWindowOverlay", RNSFullWindowOverlayCls}, // 3 {"RNSModalScreen", RNSModalScreenCls}, // 3 {"RNSScreenContainer", RNSScreenContainerCls}, // 3 {"RNSScreenContentWrapper", RNSScreenContentWrapperCls}, // 3 {"RNSScreenFooter", RNSScreenFooterCls}, // 3 {"RNSScreen", RNSScreenCls}, // 3 {"RNSScreenNavigationContainer", RNSScreenNavigationContainerCls}, // 3 {"RNSScreenStackHeaderConfig", RNSScreenStackHeaderConfigCls}, // 3 {"RNSScreenStackHeaderSubview", RNSScreenStackHeaderSubviewCls}, // 3 {"RNSScreenStack", RNSScreenStackCls}, // 3 {"RNSSearchBar", RNSSearchBarCls}, // 3 // ... ``` ### After ```objc @implementation RCTThirdPartyComponentsProvider + (NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents { return @{ @"RNSFullWindowOverlay": NSClassFromString(@"RNSFullWindowOverlay"), // react-native-screens @"RNSModalScreen": NSClassFromString(@"RNSModalScreen"), // react-native-screens @"RNSScreenContainer": NSClassFromString(@"RNSScreenContainer"), // react-native-screens @"RNSScreenContentWrapper": NSClassFromString(@"RNSScreenContentWrapper"), // react-native-screens @"RNSScreenFooter": NSClassFromString(@"RNSScreenFooter"), // react-native-screens @"RNSScreen": NSClassFromString(@"RNSScreen"), // react-native-screens @"RNSScreenNavigationContainer": NSClassFromString(@"RNSScreenNavigationContainer"), // react-native-screens @"RNSScreenStackHeaderConfig": NSClassFromString(@"RNSScreenStackHeaderConfig"), // react-native-screens @"RNSScreenStackHeaderSubview": NSClassFromString(@"RNSScreenStackHeaderSubview"), // react-native-screens @"RNSScreenStack": NSClassFromString(@"RNSScreenStack"), // react-native-screens @"RNSSearchBar": NSClassFromString(@"RNSSearchBar"), // react-native-screens }; } ``` ## Test code and steps to reproduce Run `pod install` in React Native 0.77 app and see `RCTThirdPartyFabricComponentsProvider` to check the content
…are-mansion#2583) ## Description software-mansion#2567 introduced `ios.componentProvider` field to package definition - and that's fine, but we're pointing to wrong names there. ## Changes Updated the names to existing symbol names. ## Test code and steps to reproduce This caused runtime errors when running the app on 0.77. I need this commit for the software-mansion#2581 (0.77 support) ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
…merge in 0.76 (software-mansion#2602) ## Description Fixes software-mansion#2463 I haven't been able to reproduce the issue, however multiple people reported & confirmed it Thanks @vadzimk for [pointing these out](software-mansion#2463 (comment)). When adding support for 0.76.0 we overlooked that we relied on RN library structure (and naming) not only in CMake build but also in Gradle configuration. I've looked up whether reanimated team did this - and [they did](https://github.com/software-mansion/react-native-reanimated/pull/6499/files#diff-1c0b83a843e69ff75029daed5b4befe9f46d71042a974e7defe9ded23456e0fd) & we will follow their lead here. ## Changes Added `libfbjni` & `libreactnative` to exclude list so that these are subject of `duplicated dependency` error. ## Test code and steps to reproduce WIP ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
…dManifest (software-mansion#2603) ## Description See the discussion: software-mansion#2597 (comment) ## Changes Removed the package declaration from Android Manifest. ## Test code and steps to reproduce Passing build should be enough. ## Checklist - [x] Ensured that CI passes
…re-mansion#2608) ## Description Since 0.72 RN uses AGP 7.4.x (see software-mansion#2603) and we do not support any older versions. ## Changes Removed the check and merged both `buildFeature`s ## Test code and steps to reproduce Passing Android build ## Checklist - [x] Ensured that CI passes
## Description Adding support for react-native 0.77. After this PR is merged the library will support 0.74+ Paper and 0.77 Fabric. Please note, that I haven't notice any not-handled breaking changes - the library should work with versions down to 0.72 on old architecture and at least down to 0.76 on Fabric, however we won't extend issue resolving to these versions. ## Changes * adjusted example apps on both architectures with changes from upgrade helper, * bumped `safe-area-context` to 5.0.0 (it comes with support for Paper 0.74+) in examples (not lib!), * patched `safe-area-context`: * AppAndFlow/react-native-safe-area-context#566 * Removed patches for and dependencies on reanimated and gesture-handler - awaiting for support, see below 👇🏻 (comment) <-- **this must be restored for e2e to work!!!** * Reanimated uses [the patch](software-mansion/react-native-reanimated#6768 (comment)) * Gesture handler has been set to [current main](https://github.com/software-mansion/react-native-gesture-handler/tree/c3ced78e1608e63b5b3a9bca0c66cc11f4029605) ## Test code and steps to reproduce When doing some quick checks I haven't noticed any obvious regressions. ## Checklist - [ ] Ensured that CI passes --------- Co-authored-by: Marc Rousavy <[email protected]>
…on#2613) ## Description <!-- Description and motivation for this PR. Include Fixes #<number> if this is fixing some issue. Fixes # . --> ## Changes <!-- Please describe things you've changed here, make a **high level** overview, if change is simple you can omit this section. For example: - Updated `about.md` docs --> <!-- ## Screenshots / GIFs Here you can add screenshots / GIFs documenting your change. You can add before / after section if you're changing some behavior. ### Before ### After --> ## Test code and steps to reproduce <!-- Please include code that can be used to test this change and short description how this example should work. This snippet should be as minimal as possible and ready to be pasted into editor (don't exclude exports or remove "not important" parts of reproduction example) --> ## Checklist - [ ] Included code example that can be used to test this change - [ ] Updated TS types - [ ] Updated documentation: <!-- For adding new props to native-stack --> - [ ] https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/native-stack/README.md - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/types.tsx - [ ] https://github.com/software-mansion/react-native-screens/blob/main/src/native-stack/types.tsx - [ ] Ensured that CI passes
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Don't merge, just for comparing diff & viability