Upgrade to react-native 0.67 (#16038)# Why try to bump react-native version for sdk 45 # How - [x] upgrade package.json version to `[email protected]` - [x] apply changes from [upgrade
Upgrade to react-native 0.67 (#16038)# Why try to bump react-native version for sdk 45 # How - [x] upgrade package.json version to `[email protected]` - [x] apply changes from [upgrade helper](https://react-native-community.github.io/upgrade-helper/?from=0.66.4&to=0.67.2) - [x] since 0.67 upgrade to gradle 7 and remove `maven` plugin. ~this pr also migrate packages to use `maven-publish` plugin~ landed in separated pr https://github.com/expo/expo/pull/16080 - [x] [bare-expo][android] maven plugin from third-party: `react-native-appearance`. ~consider it's archived and deprecated, how to deal with this.~ since we are going to drop sdk 42, i've removed this dependency. - [x] [bare-expo][android] maven plugin from third-party: `react-native-shared-element`. https://github.com/IjzerenHein/react-native-shared-element/pull/90 - [x] [dev-launcher][android] having a `DevLauncherDevSupportManager.kt` for 0.67 and passing null to the new `SurfaceDelegateFactory`. simply to fix the build error first. - [x] [dev-menu][android] it will crash from missing libjsc.so in hermes mode. ~workaround to use jsc mode first~. fix pr: https://github.com/expo/expo/pull/16099 # Test Plan - bare-expo launch
show more ...
[splash-screen] setup resizeMode by resource instead of code (#14061)# Why save config-plugin to use dangerous mod for modifying some splash screen styles like `resizeMode` # How based on
[splash-screen] setup resizeMode by resource instead of code (#14061)# Why save config-plugin to use dangerous mod for modifying some splash screen styles like `resizeMode` # How based on #13457 we had the in-module `show` for splash screen. this pr additionally moves `resizeMode` and `statusBarTranslucent` into resource. with the help of gradle system, application could easily override the library default value. bare-expo changes in this pr is an example of that. # Migration Guide for expo-splash-screen < 0.12.0 The changes in the pr are backward compatible, the code for `expo-splash-screen` will still work as it used to be. However, if you are going to migrate as new style API, here are the steps: 1. Migrate your project from react-native-unimodules to expo-modules-core 2. Remove expo-splash-screen code from MainActivity ```diff --- a/android/app/src/main/java/com/helloworld/MainActivity.java +++ b/android/app/src/main/java/com/helloworld/MainActivity.java import com.facebook.react.ReactRootView; import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView; -import expo.modules.splashscreen.singletons.SplashScreen; -import expo.modules.splashscreen.SplashScreenImageResizeMode; - public class MainActivity extends ReactActivity { @Override protected void onCreate(Bundle savedInstanceState) { // This is required for expo-splash-screen. setTheme(R.style.AppTheme); super.onCreate(null); - // SplashScreen.show(...) has to be called after super.onCreate(...) - // Below line is handled by '@expo/configure-splash-screen' command and it's discouraged to modify it manually - SplashScreen.show(this, SplashScreenImageResizeMode.CONTAIN, ReactRootView.class, false); } ``` 3. Override default `resizeMode` and `statusBarTranslucent` in stings.xml ```diff --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <resources> <string name="app_name">sdk42</string> + <string name="expo_splash_screen_resize_mode">contain</string> + <string name="expo_splash_screen_status_bar_translucent">false</string> </resources> ``` # Test Plan check bare-expo android app to show the same splash screen before and after. # Checklist - [x] Documentation is up to date to reflect these changes (eg: https://docs.expo.io and README.md). - [x] Update configure-splash-screen https://github.com/expo/expo-cli/pull/3774 - [x] This diff will work correctly for `expo build` (eg: updated `@expo/xdl`). - [x] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin): https://github.com/expo/expo-cli/pull/3784
[react-native] Upgrade to 0.64.2 (#13793)# Why Upgrade react-native to 0.64.2 for SDK 43 # How - [x] Fork `react-native-lab/react-native` from `react-native` 0.64-stable branch and cherry-
[react-native] Upgrade to 0.64.2 (#13793)# Why Upgrade react-native to 0.64.2 for SDK 43 # How - [x] Fork `react-native-lab/react-native` from `react-native` 0.64-stable branch and cherry-pick necessary patches from `exp-latest` - [x] Bump package versions: - react "16.13.1" → "17.0.1" - react-dom "16.13.1" → "17.0.1" - react-native "0.63.2" → "0.64.2" - react-test-renderer "~16.13.1" → "~17.0.1" - @types/react-native "~0.63.2" → "~0.64.12" - @babel/core "^7.0.0" → "^7.12.9" - metro-react-native-babel-preset "~0.59.0" → "~0.64.0" - jest "^25.2.0" → "^26.6.3" - [x] bare-expo: sync project setup from [upgrade helper](https://react-native-community.github.io/upgrade-helper/?from=0.63.2&to=0.64.2) - [x] Fix JS Error parsing error from [upstream change](https://github.com/facebook/react-native/commit/9edfc43aad2f68be8a37) - [x] Expo Go for iOS: - Folly.podspec -> RCT-Folly.podspec for old SDKs - Upgrade reanimated vendoring script to support RN 0.64 - Update reanimated install binding with RCTJSIExecutorRuntimeInstaller - [x] Expo Go for Android: - Fix hanging from loading bundle which ReactRootView not attached to ReactInstanceManager from [upstream change](https://github.com/facebook/react-native/commit/2c896d35782cd04c873aefadc947447cc30a7f60) Could use this command to make review easier: `git diff master...HEAD -- . ':!android/ReactCommon' ':!android/ReactAndroid/src'` # Test Plan - Bare Expo - [x] iOS runs - [x] Android runs - [x] Web runs - Expo Go with NCL - [x] unversioned QA on iOS - [x] unversioned QA on Android - [x] Could load SDK 42 project on iOS - [x] Could load SDK 42 project on Android - Shell app - [x] iOS build passed - [x] Android build passed
regenerate parts of bare-expo using expo eject and Expo config (#11429)* added icons to bare-expo app.json * expo eject * delete old icons * Update app.json * expo eject --no-install -p
regenerate parts of bare-expo using expo eject and Expo config (#11429)* added icons to bare-expo app.json * expo eject * delete old icons * Update app.json * expo eject --no-install -p android * update FBID * Update strings.xml * Update Info.plist * updated app.json to match ejected Info.plist * disable splash on android since it doesn't work * normalize manifest without eject sync * eject manifest sync * fix android splash screen * simplify gitignore
[expo-notifications] Add support for custom icons and colors (#8035)# Why Fixes https://github.com/expo/expo/issues/7961#issuecomment-618868603. # How - added a way to set a custom icon fo
[expo-notifications] Add support for custom icons and colors (#8035)# Why Fixes https://github.com/expo/expo/issues/7961#issuecomment-618868603. # How - added a way to set a custom icon for Android notifications - added a way to set a custom default color for Android notifications as well as in runtime on per-notification basis # Test Plan Added a test case for custom-set color.
add expo-facebook to bare-expo (#6958)* Add expo-facebook to bare-expo * Add facebook test shim to test-suite * Update bare-expo pods
Add bare project (#5263)* Created bare project * renamed bare project * Fixed build errors * [WIP] Run Android * Fixed android bare workflow builds * Update App.tsx * Update build
Add bare project (#5263)* Created bare project * renamed bare project * Fixed build errors * [WIP] Run Android * Fixed android bare workflow builds * Update App.tsx * Update build.gradle * Update .babelrc * Update index.js * Removed android libs - expo-task-manager - unimodules-task-manager-interface - expo-background-fetch - expo-location - expo-facebook * Unified the module exclusion * Update metro.config.js * Update metro.config.js * Update packages/expo-app-auth/android/build.gradle Co-Authored-By: James Ide <[email protected]> * Update package.json * [WIP] Change android package * [WIP] Change android package structure * changed bundle ID to `dev.expo.payments` * remove all custom config