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

feat: add support for [email protected] #2581

Merged
merged 31 commits into from
Jan 10, 2025
Merged

feat: add support for [email protected] #2581

merged 31 commits into from
Jan 10, 2025

Conversation

kkafar
Copy link
Member

@kkafar kkafar commented Dec 18, 2024

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

Test code and steps to reproduce

When doing some quick checks I haven't noticed any obvious regressions.

Checklist

  • Ensured that CI passes

@kkafar kkafar mentioned this pull request Dec 18, 2024
8 tasks
I could not get the project to compile without this file. Tried cleaning
caches, nuking derived data, Pods, build directory etc. It just has to
be there for some reason 🤷 I do not know also why XCode
duplicates this file...
kkafar added a commit that referenced this pull request Dec 18, 2024
## Description

#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 #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
mrousavy and others added 7 commits December 18, 2024 15:53
## Description
This is required for RN 0.77 apparently. TurboReactPackage is deprecated
on new arch. No idea why.

I am not sure about backwards compatibility either, sorry.

Feel free to close this PR if this isn't backwards compatible.

<!--
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
The change is required because BaseViewManagerInterface has been removed
in facebook/react-native#46809 and we need this
to keep the lib working on old architecture with react-native 0.77+.

This change, according to the PR is supposed to be backward compatible
(older versions of react-native) should work with these new codegen
specs.
I've removed dependency on gesturehandler few commits before and
presence of this patch caused the CI to fail.

We need to check out more recent gesturehandler versions anyway.
Copy link
Member Author

@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.

Ci fails because I've temporarily removed react-native-gesture-handler and react-native-reanimated from dependencies of example apps. I'll restore them later, once we get closer to 0.77 being supported in these libs.

Reanimated PR:

Gesture handler PR:

Copy link
Member Author

Choose a reason for hiding this comment

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

This is not required for Fabric, as these files are auto generated there.

@kkafar kkafar marked this pull request as ready for review December 20, 2024 09:53
@kkafar
Copy link
Member Author

kkafar commented Jan 9, 2025

The CI does not pass due to yarn hardened mode, despite the fact that I've updated the locks in every way possible (I'm aware of) locally & pushed the changes out.

Locally every build combination passes.

@kkafar
Copy link
Member Author

kkafar commented Jan 9, 2025

Blocker: locally, when I enable reanimated I get following error:

image

(3.16.1 + patch)

w/o reanimated the lib seems to be working fine, however our e2e & example apps won't work that way

@kkafar
Copy link
Member Author

kkafar commented Jan 10, 2025

@vonovak Yeah, this was the culprit: https://github.com/facebook/react-native/pull/47551/files

@kkafar
Copy link
Member Author

kkafar commented Jan 10, 2025

Verified that both Fabric & Paper do build & applications are functional. Let's ignore the CI.

@kkafar kkafar merged commit b4fe2c1 into main Jan 10, 2025
3 of 9 checks passed
@kkafar kkafar deleted the @kkafar/support-0.77 branch January 10, 2025 10:11
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