Skip to content

Tpi 285 upgrade react - #60

Merged
JaimeS98 merged 11 commits into
masterfrom
tpi-285-upgrade-react
Jul 29, 2026
Merged

Tpi 285 upgrade react#60
JaimeS98 merged 11 commits into
masterfrom
tpi-285-upgrade-react

Conversation

@JaimeS98

@JaimeS98 JaimeS98 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

PR

Upgrade SDK to be compatible with RN v0.86.0 <-> RNv0.78.0
Upgrade Example app to be using RN v0.86.0 as our main target

Testing

Android

Screenshot_20260722_101032_example Screenshot_20260722_101043_Google Play services Screenshot_20260722_101054_example

iOS

20260722_104437 20260722_104443 20260722_104522

Comment thread android/gradle/wrapper/gradle-wrapper.properties
Comment thread android/lib/build.gradle
Comment thread src/tests/test-components/App.tsx Outdated
Comment thread src/@types/jsx.d.ts
@@ -0,0 +1,5 @@
// Global JSX namespace shim for @types/react@19 compatibility.
// React 19 moved JSX to React.JSX; this restores the global JSX.Element alias.
declare namespace JSX {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

If we're setting up JSX as a global alias, is the import in some other specific files in this PR necessary?

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.

Will look if they other imports are unnecessary now, cheers

Comment thread ios/ApplePayButtonManager.swift
Comment thread example/src/App.tsx Outdated
Comment thread example/ios/Podfile
Comment thread ios/TyroPaySdkModule.m
Comment thread Gemfile Outdated
Comment thread package.json Outdated
Comment thread src/tests/WalletPaymentsContainer.spec.tsx Outdated
fix: populate Gemfile.lock checksums after cocoapods upgrade

update readme and e2e script to better select device

update tests, and dependencies plus ci fix for ios

update gemfile lock to point away from vulnerable activesupport versions and update ios-unit ci

update to macoc-15 for unit

create simulator for ios ci tests

update podfile min target and build.gradle to not fail on emtpy tests

remove duplicate ios simulators

fix native unit tests

update e2e tests

make sure to install ios simulator

update e2e github action to try and optimise the flow

add concurrency cancel in progress to unit and dependency

fix prepack order in android e2e

added property check and restored challenge test to android

fix gradle
@JaimeS98
JaimeS98 force-pushed the tpi-285-upgrade-react branch from f1916b0 to c513585 Compare July 21, 2026 01:22
Comment thread src/@types/colors.ts
@@ -0,0 +1,4 @@
export enum Colors {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

can we import the other one created? or not possible?

@JaimeS98 JaimeS98 Jul 23, 2026

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.

yeah can probably just have one actually.

Comment thread example/ios/Podfile
{paths: [process.argv[1]]},
)', __dir__]).strip

MIN_IOS_VERSION='16.0'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

would've preferred to refer to this variable (wherever it is) and set that in one spot vs hard-coding here.

If we need to bump it up in the future, might be hard to know to do it here too

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.

centralised it on package.json

…and fixing some types in tests

podfile.lock update

fix import for min ios version for example podfile
@JaimeS98
JaimeS98 force-pushed the tpi-285-upgrade-react branch from e158dff to 05e5aed Compare July 24, 2026 00:29
Comment thread .github/workflows/integration-tests.yml Outdated
jobs:
android-e2e:
runs-on: ubuntu-latest
timeout-minutes: 120 # <-- was unbounded (default 360 = your "hours")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nitpick, do we need the comments here?

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.

removed

./gradlew assembleRelease --no-daemon
env:
GITHUB_PACKAGES_USER: ${{ github.actor }}
GITHUB_PACKAGES_TOKEN: ${{ secrets.PACKAGE_READ_PAT }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

quick question, where does this token come from? does it ever expire? do we need to document something in the readme for the future

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.

App platform set this for us I believe. I got them to update as it was expired when I started working on it. Might just put a note in the TYRO_README

Comment thread src/components/ThreeDSWebView.tsx Outdated
/>
</SafeAreaView>
<SafeAreaProvider>
<SafeAreaView style={{ flex: 1, backgroundColor: 'transparent' }}>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nitpick, i know we introduced the enums for other colours, is this one not used widely enough?

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.

Will add this one to the Colors enum, and then move the enum out of tests and update imports

visible: "SUCCESS"
timeout: 150000
timeout: 300000
# With the SDK upgrade we have lost the ability to detect the password field,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

any reason why all of these are a comment?

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.

left as a reasoning for future improvement to restore this UI test to its full flow, but can probably just remove it fully

@cmanchanda cmanchanda left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm with nitpicks

Comment thread android/settings.gradle
rootProject.name = 'TyroPayApiReactNative'
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':lib'
includeBuild('../node_modules/@react-native/gradle-plugin')

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.

is this a duplication of the pluginManagement block?

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.

We do need both here. without the root level includeBuild gradle would try and fetch it from maven repositories and the build will fail.

I just tried to remove it which caused the build to fail locally

Comment thread example/android/app/build.gradle Outdated
apply plugin: "com.android.application"
apply plugin: "org.jetbrains.kotlin.android"
apply plugin: "com.facebook.react"
apply plugin: "kotlin-android"

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.

Should we remove apply plugin: "kotlin-android" since we have the org.jetbrains.kotlin.android?

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.

Yep it seems we can remove this

…d another color enum and accepted a security flag for a dev only dependency as no easy work around available

update tyro read me, remove unused e2e test code and restore example gradle plugin
@JaimeS98
JaimeS98 force-pushed the tpi-285-upgrade-react branch from 873ba23 to a5f705e Compare July 28, 2026 10:51

@cmanchanda cmanchanda left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm

@JaimeS98
JaimeS98 merged commit 9ed2ec2 into master Jul 29, 2026
6 checks passed
@JaimeS98
JaimeS98 deleted the tpi-285-upgrade-react branch July 29, 2026 01:36
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.

5 participants