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

refactor!: upgrade to Expo SDK 50 #211

Closed
wants to merge 17 commits into from
Closed

Conversation

byCedric
Copy link
Member

@byCedric byCedric commented Jan 19, 2024

Why

New year, new SDK.

How

  • Ran this for all apps/*
    • $ yarn install
    • $ yarn expo install "expo@^50.0.2"
    • $ yarn expo install --fix
  • Ran a script to bump all peer dependencies on expo to ^50 in packages/*

Test Plan

  • apps/app
    Detox is failing yet again.
  • apps/apple-settings
  • apps/ffmpeg-kit-react-native
    Had to update the test video, old one was not hosted anymore.
  • apps/ios-stickers
    This is the failure related to react_native_post_install reading the wrong Info.plist file, I remember you did something related to this @EvanBacon
  • ⚠️ apps/react-native-ble-plx
    Config plugin has been merged inside react-native-ble-plx, swapped it over to test SDK 50, and removed the plugin from this repository.
  • apps/react-native-branch
    Android needs an overhaul, there is more we need to set in MainActivity and MainApplication. (docs)
  • apps/react-native-dynamic-app-icon
  • apps/react-native-google-cast
    Added support for MainActivity.kt, and added missing tintColor for Android.
  • apps/react-native-pdf
    Had to enable HTTP traffic, since we are loading from http://.
  • apps/react-native-quick-actions
  • apps/react-native-siri-shortcut
    There are warnings in the terminal "Unable to simultaneously satisfy constraints." but it seems to work fine.
  • apps/react-native-webrtc
    Currently triggers a Hermes failure on launch. Could be related to their expo default class X extends Y usage, which used to be a Babebl issue.

TBD

@byCedric byCedric requested a review from EvanBacon as a code owner January 19, 2024 13:27
@byCedric byCedric force-pushed the @bycedric/upgrade-sdk-50 branch from ddea014 to 5917187 Compare January 19, 2024 13:33
@byCedric
Copy link
Member Author

Lmao, thanks yarn...
image

@byCedric byCedric force-pushed the @bycedric/upgrade-sdk-50 branch 6 times, most recently from 8745145 to b83cb22 Compare January 19, 2024 16:02
@byCedric byCedric force-pushed the @bycedric/upgrade-sdk-50 branch from b83cb22 to f1dcead Compare January 19, 2024 16:03
@fobos531
Copy link

fobos531 commented Jan 22, 2024

@byCedric

react-native-branch also experiences a compilation error on SDK 50 due to AGP 8, for that I've submitted a minor PR to fix it: #216

@fobos531
Copy link

@byCedric

About react-native-branch... are you certain that Android needs additional work? I just checked their setup docs for Android and it looks to be exactly what is already present in the lifecycle listeners implemented here:

https://github.com/expo/config-plugins/blob/main/packages/react-native-branch/android/src/main/java/expo/modules/adapters/branch/BranchReactActivityLifecycleListener.kt

https://github.com/expo/config-plugins/blob/main/packages/react-native-branch/android/src/main/java/expo/modules/adapters/branch/BranchApplicationLifecycleListener.kt

So I'm not sure what else would there need to be adjusted (besides #216)

@fobos531
Copy link

Some more info about react-native-webrtc compatibility and Hermes failure can be seen by tracing the info in this comment: react-native-webrtc/react-native-webrtc#1503 (comment)

@doug-shontz
Copy link

Any progress on this?

I had the bad luck of trying to convince my new team to use Expo and it turns out the day I tried to have people look at setting up a new project was the day AFTER Expo 50 came out (we were waiting on the Expo Router v3 changes). We use Google Cast and Detox on our raw RN apps and so their testing started failing almost immediately just for NPM not wanting to install the right packaging (we are not allowed to use legacy deps).

We backpedalled to Expo 49 and was able to get things working, but, since our main interest was in the changes to the Expo router that were released in Expo 50, that made a huge dent in trying to sell Expo's stability to our management.

No shade thrown for this...I understand the complexity. Just hoping this gets solved soon enough for us to not miss our start window on our new projects!

@macsinte
Copy link

macsinte commented Feb 5, 2024

react-native-branch does not currently work on iOS anymore for SDK 50, but it does seem to work on Android.

Does this cover that as well?

See #215.

@akkilaa
Copy link

akkilaa commented Feb 5, 2024

@macsint My android's build is failing
image

@EvanBacon
Copy link
Collaborator

I'll be taking over this upgrade today

@macsinte
Copy link

macsinte commented Feb 5, 2024

@macsint My android's build is failing image

@akkilaa yes, you can refer to the issue that I initially referred to in my post #215 in order to do a patch until a PR is merged with a fix. Which by the looks of it it's being worked on.

I already built this with Expo SDK 50 for Android with that patch and it works.

@EvanBacon
Copy link
Collaborator

The webrtc issue is related to their use of event-target-shim@6 colliding with React Native's usage of event-target-shim@5.

@EvanBacon EvanBacon mentioned this pull request Feb 6, 2024
@EvanBacon
Copy link
Collaborator

#220

@EvanBacon EvanBacon closed this Feb 6, 2024
@EvanBacon EvanBacon deleted the @bycedric/upgrade-sdk-50 branch February 6, 2024 21:13
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.

7 participants