Skip to content

Update to react-native 0.77#1322

Merged
zatteo merged 1 commit intomasterfrom
feat/update-rn-77
Nov 4, 2025
Merged

Update to react-native 0.77#1322
zatteo merged 1 commit intomasterfrom
feat/update-rn-77

Conversation

@zatteo
Copy link
Copy Markdown
Member

@zatteo zatteo commented Oct 28, 2025

Prerequisites for #1323 which is needed to publish updates on Play Store starting 1st November 2025. Followed steps from https://react-native-community.github.io/upgrade-helper/?from=0.73.10&to=0.77.3&name=CozyFlagshipApp

Changelogs :

Note :

  • All changes are related to react-native 0.77.
  • Packages not related to react-native have been upgraded to support react-native 0.77.
  • Flipper has been removed. It is not included by default anymore and default debugging tools are getting closer and closer to Flipper features.

Checklist

Before merging this PR, the following things must have been done if relevant:

  • Tested on iOS
  • Tested on Android
  • Test coverage
  • README and documentation

@zatteo zatteo requested a review from Ldoppea as a code owner October 28, 2025 08:45
@zatteo zatteo force-pushed the feat/update-rn-77 branch 6 times, most recently from 3ef7cf0 to 704bcb6 Compare November 3, 2025 10:28
@zatteo zatteo changed the title feat: Update to react-native 0.77 Update to react-native 0.77 Nov 3, 2025
require_relative '../node_modules/react-native-permissions/scripts/setup'

# Disable New Architecture
ENV['RCT_NEW_ARCH_ENABLED'] = '0'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

so sad

Copy link
Copy Markdown
Member Author

@zatteo zatteo Nov 3, 2025

Choose a reason for hiding this comment

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

I think we are getting close. I am afraid to not have the time this week and I do not want to start and not finish the migration to new arch. But with these two PR we have a lot of up to date dependencies. We still have some important ones like react-native-webview (#1282) or react-native-bootsplash to update.

OTHER_LDFLAGS = "$(inherited)";
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

are you sure about this one?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I will check. It is not present in the step by step update 🤔

Copy link
Copy Markdown
Member Author

@zatteo zatteo Nov 4, 2025

Choose a reason for hiding this comment

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

It is present in the original template (but it is not a new addition).

It is in a "debug" section of project.pbxproj so it makes sense. It must have been added automatically by Xcode 16.4 (I mostly used Xcode 16.2 in the last months).

So I think we can keep it.

package.json Outdated
"@mythologi/react-native-receive-sharing-intent": "2.2.1",
"@notifee/react-native": "^7.8.0",
"@op-engineering/op-sqlite": "^6.2.11",
"@op-engineering/op-sqlite": "^14.0.1",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No Breaking change? :o

Copy link
Copy Markdown
Member Author

@zatteo zatteo Nov 3, 2025

Choose a reason for hiding this comment

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

We do not use it directly, it is linked to another library (I do not remember which one right now).

And some breaking changes concerned migration of existing databases which does not concern us as we never released this feature.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

it's linked to https://github.com/craftzdog/pouchdb-adapter-react-native-sqlite

But it seems that this plugin uses the v12. https://github.com/craftzdog/pouchdb-adapter-react-native-sqlite/blob/master/package.json#L91

I don't know why we have direct dep to op-sqlite lib to be honest

Copy link
Copy Markdown
Member Author

@zatteo zatteo Nov 4, 2025

Choose a reason for hiding this comment

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

You are right I removed it 👍 Thank you for the investigation.

# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

no need anymore?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It has been removed from the template and it works fine in my first tests. But I will be especially careful this week to see if this kind of changes have an impact.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What is the oldest targeted Android version with this new RN upgrade?

I'm pretty sure that this kind of bug with AndroidX will be easy to detect because we'll have compilations errors and else.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

What do you mean by oldest targeted Android version?

Current Android SDK versions :
minSdkVersion = 24
compileSdkVersion = 35
targetSdkVersion = 35

android:roundIcon="@mipmap/base_round"
android:allowBackup="false"
android:theme="@style/AppTheme"
android:supportsRtl="true"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What does it mean?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It enables right to left languages (see https://developer.android.com/guide/topics/manifest/application-element?hl=fr#supportsrtl). It has also been modified in the template. But I did not tested it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't think that our webapps handle correctly RTL

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I removed it 👍

run: yarn brand:configure:${{ inputs.brand }} --force

- name: Install Pods
run: cd ios && NO_FLIPPER=1 pod install --repo-update && cd ..
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Since we don't have flipper anymore maybe we can update the README to remove this part and to explain how to debug things?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Done 👍

Followed changelog from https://react-native-community.github.io/upgrade-helper/?from=0.73.10&to=0.77.3&name=CozyFlagshipApp

Note :
- All changes are related to react-native 0.77.
- Packages not related to react-native have been upgraded to support react-native 0.77.
- Flipper has been removed. It is not included by default anymore and default debugging tools are getting closer and closer.
- @op-engineering/op-sqlite has been removed because we do not use this version which is not compatible with react-native 0.77.
  A compatible version is already present as a dep of a dep.
@zatteo zatteo force-pushed the feat/update-rn-77 branch from 704bcb6 to 0779564 Compare November 4, 2025 08:15
@zatteo
Copy link
Copy Markdown
Member Author

zatteo commented Nov 4, 2025

Merging to start bugfixes without going in a merge nightmare. Still open to comment or changes.

@zatteo zatteo merged commit d1b7948 into master Nov 4, 2025
1 check passed
@zatteo zatteo deleted the feat/update-rn-77 branch November 4, 2025 12:49
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.

2 participants