Skip to content

[1/n] upgrade to react-native 0.77 - fabric-tester#33379

Merged
vonovak merged 2 commits intomainfrom
@vonovak/_1_n_upgrade_to_react-native_0.77
Jan 8, 2025
Merged

[1/n] upgrade to react-native 0.77 - fabric-tester#33379
vonovak merged 2 commits intomainfrom
@vonovak/_1_n_upgrade_to_react-native_0.77

Conversation

@vonovak
Copy link
Copy Markdown
Contributor

@vonovak vonovak commented Dec 3, 2024

Why

How

  • reason dev-launcher is rebuilt is this, which caused this error for many native modules
  • upgraded fabric-tester to RN 0.77, removed deprecated expo-av from the app
  • still need to check expo-image, it seems to not render for some reason

Test Plan

fabric tester app builds and runs

Checklist

Copy link
Copy Markdown
Contributor Author

vonovak commented Dec 3, 2024

@expo-bot expo-bot added the bot: suggestions ExpoBot has some suggestions label Dec 3, 2024
@expo-bot
Copy link
Copy Markdown
Collaborator

expo-bot commented Dec 3, 2024

The Pull Request introduced fingerprint changes against the base commit: 122c42f

Fingerprint diff
[
  {
    "op": "changed",
    "beforeSource": {
      "type": "dir",
      "filePath": "../../packages/expo-dev-launcher",
      "reasons": [
        "expoAutolinkingIos",
        "expoAutolinkingAndroid"
      ],
      "hash": "00ecc49f50853ba502b0608a486d44d0636efb2e"
    },
    "afterSource": {
      "type": "dir",
      "filePath": "../../packages/expo-dev-launcher",
      "reasons": [
        "expoAutolinkingIos",
        "expoAutolinkingAndroid"
      ],
      "hash": "32f8ac1e244eb471c28dda674b378447d8446576"
    }
  },
  {
    "op": "changed",
    "beforeSource": {
      "type": "contents",
      "id": "package:react-native",
      "contents": "{\"name\":\"react-native\",\"version\":\"0.76.3\",\"description\":\"A framework for building native apps using React\",\"license\":\"MIT\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/facebook/react-native.git\",\"directory\":\"packages/react-native\"},\"homepage\":\"https://reactnative.dev/\",\"keywords\":[\"react\",\"react-native\",\"android\",\"ios\",\"mobile\",\"cross-platform\",\"app-framework\",\"mobile-development\"],\"bugs\":\"https://github.com/facebook/react-native/issues\",\"engines\":{\"node\":\">=18\"},\"bin\":{\"react-native\":\"cli.js\"},\"types\":\"types\",\"jest-junit\":{\"outputDirectory\":\"reports/junit\",\"outputName\":\"js-test-results.xml\"},\"files\":[\"android\",\"build.gradle.kts\",\"cli.js\",\"flow\",\"gradle.properties\",\"gradle/libs.versions.toml\",\"index.js\",\"interface.js\",\"jest-preset.js\",\"jest\",\"Libraries\",\"LICENSE\",\"React-Core.podspec\",\"react-native.config.js\",\"React.podspec\",\"React\",\"!React/Fabric/RCTThirdPartyFabricComponentsProvider.*\",\"ReactAndroid\",\"ReactApple\",\"ReactCommon\",\"README.md\",\"rn-get-polyfills.js\",\"scripts/compose-source-maps.js\",\"scripts/find-node-for-xcode.sh\",\"scripts/bundle.js\",\"scripts/generate-codegen-artifacts.js\",\"scripts/generate-provider-cli.js\",\"scripts/generate-specs-cli.js\",\"scripts/codegen\",\"!scripts/codegen/__tests__\",\"!scripts/codegen/__test_fixtures__\",\"scripts/hermes/hermes-utils.js\",\"scripts/hermes/prepare-hermes-for-build.js\",\"scripts/ios-configure-glog.sh\",\"scripts/xcode/ccache-clang++.sh\",\"scripts/xcode/ccache-clang.sh\",\"scripts/xcode/ccache.conf\",\"scripts/xcode/with-environment.sh\",\"scripts/native_modules.rb\",\"scripts/node-binary.sh\",\"scripts/packager.sh\",\"scripts/packager-reporter.js\",\"scripts/react_native_pods_utils/script_phases.rb\",\"scripts/react_native_pods_utils/script_phases.sh\",\"scripts/react_native_pods.rb\",\"scripts/cocoapods\",\"!scripts/cocoapods/__tests__\",\"scripts/react-native-xcode.sh\",\"sdks/.hermesversion\",\"sdks/hermes-engine\",\"sdks/hermesc\",\"settings.gradle.kts\",\"src\",\"template.config.js\",\"template\",\"!template/node_modules\",\"!template/package-lock.json\",\"!template/yarn.lock\",\"third-party-podspecs\",\"types\"],\"scripts\":{\"prepack\":\"node ./scripts/prepack.js\",\"featureflags-check\":\"node ./scripts/featureflags/index.js --verify-unchanged\",\"featureflags-update\":\"node ./scripts/featureflags/index.js\"},\"peerDependencies\":{\"@types/react\":\"^18.2.6\",\"react\":\"^18.2.0\"},\"peerDependenciesMeta\":{\"@types/react\":{\"optional\":true}},\"dependencies\":{\"@jest/create-cache-key-function\":\"^29.6.3\",\"@react-native/assets-registry\":\"0.76.3\",\"@react-native/codegen\":\"0.76.3\",\"@react-native/community-cli-plugin\":\"0.76.3\",\"@react-native/gradle-plugin\":\"0.76.3\",\"@react-native/js-polyfills\":\"0.76.3\",\"@react-native/normalize-colors\":\"0.76.3\",\"@react-native/virtualized-lists\":\"0.76.3\",\"abort-controller\":\"^3.0.0\",\"anser\":\"^1.4.9\",\"ansi-regex\":\"^5.0.0\",\"babel-jest\":\"^29.7.0\",\"babel-plugin-syntax-hermes-parser\":\"^0.23.1\",\"base64-js\":\"^1.5.1\",\"chalk\":\"^4.0.0\",\"commander\":\"^12.0.0\",\"event-target-shim\":\"^5.0.1\",\"flow-enums-runtime\":\"^0.0.6\",\"glob\":\"^7.1.1\",\"invariant\":\"^2.2.4\",\"jest-environment-node\":\"^29.6.3\",\"jsc-android\":\"^250231.0.0\",\"memoize-one\":\"^5.0.0\",\"metro-runtime\":\"^0.81.0\",\"metro-source-map\":\"^0.81.0\",\"mkdirp\":\"^0.5.1\",\"nullthrows\":\"^1.1.1\",\"pretty-format\":\"^29.7.0\",\"promise\":\"^8.3.0\",\"react-devtools-core\":\"^5.3.1\",\"react-refresh\":\"^0.14.0\",\"regenerator-runtime\":\"^0.13.2\",\"scheduler\":\"0.24.0-canary-efb381bbf-20230505\",\"semver\":\"^7.1.3\",\"stacktrace-parser\":\"^0.1.10\",\"whatwg-fetch\":\"^3.0.0\",\"ws\":\"^6.2.3\",\"yargs\":\"^17.6.2\"},\"codegenConfig\":{\"libraries\":[{\"name\":\"FBReactNativeSpec\",\"type\":\"modules\",\"ios\":{},\"android\":{},\"jsSrcsDir\":\"src\"},{\"name\":\"rncore\",\"type\":\"components\",\"ios\":{},\"android\":{},\"jsSrcsDir\":\"src\"}]}}",
      "reasons": [
        "package:react-native"
      ],
      "hash": "b7d9c2644e20b13bed5cfc44b987aed00a683b8d"
    },
    "afterSource": {
      "type": "contents",
      "id": "package:react-native",
      "contents": "{\"name\":\"react-native\",\"version\":\"0.77.0-rc.6\",\"description\":\"A framework for building native apps using React\",\"license\":\"MIT\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/facebook/react-native.git\",\"directory\":\"packages/react-native\"},\"homepage\":\"https://reactnative.dev/\",\"keywords\":[\"react\",\"react-native\",\"android\",\"ios\",\"mobile\",\"cross-platform\",\"app-framework\",\"mobile-development\"],\"bugs\":\"https://github.com/facebook/react-native/issues\",\"engines\":{\"node\":\">=18\"},\"bin\":{\"react-native\":\"cli.js\"},\"types\":\"types\",\"jest-junit\":{\"outputDirectory\":\"reports/junit\",\"outputName\":\"js-test-results.xml\"},\"files\":[\"android\",\"build.gradle.kts\",\"cli.js\",\"flow\",\"gradle.properties\",\"gradle/libs.versions.toml\",\"index.js\",\"interface.js\",\"jest-preset.js\",\"jest\",\"Libraries\",\"LICENSE\",\"React-Core.podspec\",\"react-native.config.js\",\"React.podspec\",\"React\",\"!React/Fabric/RCTThirdPartyFabricComponentsProvider.*\",\"ReactAndroid\",\"ReactApple\",\"ReactCommon\",\"README.md\",\"rn-get-polyfills.js\",\"scripts/compose-source-maps.js\",\"scripts/find-node-for-xcode.sh\",\"scripts/bundle.js\",\"scripts/generate-codegen-artifacts.js\",\"scripts/generate-provider-cli.js\",\"scripts/generate-specs-cli.js\",\"scripts/codegen\",\"!scripts/codegen/__tests__\",\"!scripts/codegen/__test_fixtures__\",\"scripts/hermes/hermes-utils.js\",\"scripts/hermes/prepare-hermes-for-build.js\",\"scripts/ios-configure-glog.sh\",\"scripts/xcode/ccache-clang++.sh\",\"scripts/xcode/ccache-clang.sh\",\"scripts/xcode/ccache.conf\",\"scripts/xcode/with-environment.sh\",\"scripts/native_modules.rb\",\"scripts/node-binary.sh\",\"scripts/packager.sh\",\"scripts/packager-reporter.js\",\"scripts/react_native_pods_utils/script_phases.rb\",\"scripts/react_native_pods_utils/script_phases.sh\",\"scripts/react_native_pods.rb\",\"scripts/cocoapods\",\"!scripts/cocoapods/__tests__\",\"scripts/react-native-xcode.sh\",\"sdks/.hermesversion\",\"sdks/hermes-engine\",\"sdks/hermesc\",\"settings.gradle.kts\",\"src\",\"template.config.js\",\"template\",\"!template/node_modules\",\"!template/package-lock.json\",\"!template/yarn.lock\",\"third-party-podspecs\",\"types\"],\"scripts\":{\"prepack\":\"node ./scripts/prepack.js\",\"featureflags\":\"node ./scripts/featureflags/index.js\"},\"peerDependencies\":{\"@types/react\":\"^18.2.6\",\"react\":\"^18.2.0\"},\"peerDependenciesMeta\":{\"@types/react\":{\"optional\":true}},\"dependencies\":{\"@jest/create-cache-key-function\":\"^29.6.3\",\"@react-native/assets-registry\":\"0.77.0-rc.6\",\"@react-native/codegen\":\"0.77.0-rc.6\",\"@react-native/community-cli-plugin\":\"0.77.0-rc.6\",\"@react-native/gradle-plugin\":\"0.77.0-rc.6\",\"@react-native/js-polyfills\":\"0.77.0-rc.6\",\"@react-native/normalize-colors\":\"0.77.0-rc.6\",\"@react-native/virtualized-lists\":\"0.77.0-rc.6\",\"abort-controller\":\"^3.0.0\",\"anser\":\"^1.4.9\",\"ansi-regex\":\"^5.0.0\",\"babel-jest\":\"^29.7.0\",\"babel-plugin-syntax-hermes-parser\":\"0.25.1\",\"base64-js\":\"^1.5.1\",\"chalk\":\"^4.0.0\",\"commander\":\"^12.0.0\",\"event-target-shim\":\"^5.0.1\",\"flow-enums-runtime\":\"^0.0.6\",\"glob\":\"^7.1.1\",\"invariant\":\"^2.2.4\",\"jest-environment-node\":\"^29.6.3\",\"jsc-android\":\"^250231.0.0\",\"memoize-one\":\"^5.0.0\",\"metro-runtime\":\"^0.81.0\",\"metro-source-map\":\"^0.81.0\",\"nullthrows\":\"^1.1.1\",\"pretty-format\":\"^29.7.0\",\"promise\":\"^8.3.0\",\"react-devtools-core\":\"^6.0.1\",\"react-refresh\":\"^0.14.0\",\"regenerator-runtime\":\"^0.13.2\",\"scheduler\":\"0.24.0-canary-efb381bbf-20230505\",\"semver\":\"^7.1.3\",\"stacktrace-parser\":\"^0.1.10\",\"whatwg-fetch\":\"^3.0.0\",\"ws\":\"^6.2.3\",\"yargs\":\"^17.6.2\"},\"codegenConfig\":{\"libraries\":[{\"name\":\"FBReactNativeSpec\",\"type\":\"modules\",\"ios\":{},\"android\":{},\"jsSrcsDir\":\"src\"},{\"name\":\"rncore\",\"type\":\"components\",\"ios\":{},\"android\":{},\"jsSrcsDir\":\"src\"}]}}",
      "reasons": [
        "package:react-native"
      ],
      "hash": "56a82d3d0eb11a360fb77983a96020f59dc3ebdd"
    }
  }
]

Generated by PR labeler 🤖

@vonovak vonovak force-pushed the @vonovak/_1_n_upgrade_to_react-native_0.77 branch from 27eee59 to 1ce1386 Compare December 4, 2024 09:54
import com.facebook.react.ReactNativeHost
import com.facebook.react.bridge.ReactContext
import com.facebook.react.common.LifecycleState
import com.facebook.react.common.annotations.UnstableReactNativeAPI
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we need to make sure that anything we do here is also compatible with 0.76

@vonovak vonovak force-pushed the @vonovak/_1_n_upgrade_to_react-native_0.77 branch 3 times, most recently from 1e26208 to b90c17d Compare December 19, 2024 16:35
@vonovak vonovak force-pushed the @vonovak/_1_n_upgrade_to_react-native_0.77 branch 3 times, most recently from 31b41b3 to c240442 Compare January 5, 2025 11:39
@vonovak vonovak changed the title [1/n] upgrade to react-native 0.77 [1/n] upgrade to react-native 0.77 - fabric-tested Jan 5, 2025
@vonovak vonovak changed the title [1/n] upgrade to react-native 0.77 - fabric-tested [1/n] upgrade to react-native 0.77 - fabric-tester Jan 5, 2025
@vonovak vonovak force-pushed the @vonovak/_1_n_upgrade_to_react-native_0.77 branch 2 times, most recently from c4f4f75 to 9297ead Compare January 6, 2025 10:11
Copy link
Copy Markdown
Member

@gabrieldonadel gabrieldonadel left a comment

Choose a reason for hiding this comment

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

LGTM

Comment thread apps/fabric-tester/App.tsx Outdated
{mounted && (
<LinearGradient
style={{ flex: 1 }}
colors={colors as unknown as readonly [string, string, string]}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

just a nit but wouldn't it be easier to type this inside the useState<>?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

added a function that returns correctly typed result which is cleaner, TY 👍

@vonovak vonovak force-pushed the @vonovak/_1_n_upgrade_to_react-native_0.77 branch 3 times, most recently from c131804 to 52c4c0a Compare January 8, 2025 03:45
@expo-bot expo-bot added bot: passed checks ExpoBot has nothing to complain about and removed bot: suggestions ExpoBot has some suggestions labels Jan 8, 2025
@vonovak vonovak force-pushed the @vonovak/_1_n_upgrade_to_react-native_0.77 branch from 52c4c0a to bba52ad Compare January 8, 2025 04:26
@vonovak vonovak force-pushed the @vonovak/_1_n_upgrade_to_react-native_0.77 branch from bba52ad to 29c7138 Compare January 8, 2025 09:46
@vonovak vonovak marked this pull request as ready for review January 8, 2025 10:37
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 8, 2025

Subscribed to pull request

File Patterns Mentions
packages/expo-dev-launcher/** @lukmccall, @douglowder, @gabrieldonadel

Generated by CodeMention

Copy link
Copy Markdown
Contributor Author

vonovak commented Jan 8, 2025

Merge activity

  • Jan 8, 5:38 AM EST: A user started a stack merge that includes this pull request via Graphite.
  • Jan 8, 5:38 AM EST: A user merged this pull request with Graphite.

@vonovak vonovak merged commit 7cc4485 into main Jan 8, 2025
@vonovak vonovak deleted the @vonovak/_1_n_upgrade_to_react-native_0.77 branch January 8, 2025 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot: fingerprint changed bot: passed checks ExpoBot has nothing to complain about

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants