Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
67ba62e
PX-2134 Prepare 3.9.0 release
tl-yura-kolesnikov Jan 20, 2025
681fc45
PX-2134 Update iOS dependencies to TrueLayer SDK v3.9.0
tl-yury-vashchylau Jan 20, 2025
e2e4abc
PX-2134 Update Success Redirect case usages for iOS
tl-yury-vashchylau Jan 20, 2025
4597e5a
PX-2134 Update Success Redirect case usage for Android
tl-yury-vashchylau Jan 20, 2025
e3be7b8
New DemoApp, Android working with new SDK
tl-lukasz-franieczek Jan 23, 2025
fe5e4dc
iOS still not working
tl-lukasz-franieczek Jan 23, 2025
7d6121b
PX-2134 Fix NewArch Turbomodules not working on iOS
tl-yury-vashchylau Jan 24, 2025
d1739a5
PX-2134 Add iOS UI Tests target with an existing basic UI test
tl-yury-vashchylau Jan 24, 2025
b59a930
Add prettier
tl-lukasz-franieczek Jan 24, 2025
fb365e2
Try new lockfile
tl-lukasz-franieczek Jan 24, 2025
e88513d
Remove .yarn
tl-lukasz-franieczek Jan 24, 2025
f200af4
update lock file
tl-lukasz-franieczek Jan 24, 2025
f7e847c
Reversing commit "Add iOS UI Tests target with an existing basic UI t…
tl-lukasz-franieczek Jan 24, 2025
aaae59e
Revert "Reversing commit "Add iOS UI Tests target with an existing ba…
tl-yury-vashchylau Jan 27, 2025
6229849
PX-2134 Update Gem dependencies
tl-yury-vashchylau Jan 27, 2025
4b7b452
PX-2134 Fix error when installing pods
tl-yury-vashchylau Jan 27, 2025
6cc3857
PX-2134 Fix flaky deep link handling for iOS Demo App
tl-yury-vashchylau Jan 27, 2025
0e61fb4
PX-2134 Fix new style PBX Synchronized Groups not supported by RN Metro
tl-yury-vashchylau Jan 27, 2025
846d0d3
PX-2134 Add .yarnrc for dependency resolution on iOS
tl-yury-vashchylau Jan 27, 2025
b6041d6
PX-2134 Add DemoAppUITests scheme to Xcode
tl-yury-vashchylau Jan 27, 2025
0ddf27a
PX-2134 Fix missing UI tests target in Xcode
tl-yury-vashchylau Jan 27, 2025
f5b8d6d
PX-2134 Fix linked flags for iOS target
tl-yury-vashchylau Jan 27, 2025
73b7438
PX-2134 Fix Objective-C++ bridge crashing when handling optional values
tl-yury-vashchylau Jan 29, 2025
b0bc872
Added an `ExpoDemoApp` and updated docs to better explain SDK integra…
tl-lukasz-franieczek Jan 30, 2025
4a93d51
Update docs.
tl-lukasz-franieczek Jan 31, 2025
2943f52
typo
tl-lukasz-franieczek Jan 31, 2025
c8ae3dd
typo
tl-lukasz-franieczek Jan 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
# CHANGELOG
All notable changes to this project will be documented in this file. To know better on how to write and maintain a changelog, refer to [this link](https://keepachangelog.com/en/1.0.0/).

## [2.3.0]

### Changed

- Updated the underlying Android SDK to version [3.9.1](https://docs.truelayer.com/docs/android-sdk-release-history).
- Updated the underlying iOS SDK to version [3.9.0](https://docs.truelayer.com/docs/ios-sdk-release-history).

### Fixes

- Fixed a problem when iOS SDK would crash if no theme was provided at configure sdk step.

## [2.2.1]

### Changed
Expand Down
11 changes: 2 additions & 9 deletions DemoApp/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
module.exports = {
root: true,
extends: [
'@react-native',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'prettier'],
ignorePatterns: ['.yalc/**/*'],
}
extends: '@react-native',
};
12 changes: 10 additions & 2 deletions DemoApp/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ DerivedData
*.hmap
*.ipa
*.xcuserstate
ios/.xcode.env.local
**/.xcode.env.local

# Android/IntelliJ
#
Expand Down Expand Up @@ -56,11 +56,19 @@ yarn-error.log
*.jsbundle

# Ruby / CocoaPods
/ios/Pods/
**/Pods/
/vendor/bundle/

# Temporary files created by Metro to check the health of the file watcher
.metro-health-check*

# testing
/coverage

# Yarn
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
11 changes: 0 additions & 11 deletions DemoApp/.prettierrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,4 @@ module.exports = {
bracketSpacing: false,
singleQuote: true,
trailingComma: 'all',
endOfLine: 'lf',
htmlWhitespaceSensitivity: 'css',
insertPragma: false,
jsxSingleQuote: false,
printWidth: 80,
proseWrap: 'always',
quoteProps: 'as-needed',
requirePragma: false,
semi: false,
tabWidth: 2,
useTabs: false
};
1 change: 1 addition & 0 deletions DemoApp/.yarnrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--install.nodeLinker=node-modules
9 changes: 5 additions & 4 deletions DemoApp/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ source 'https://rubygems.org'
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
ruby ">= 2.6.10"

# Cocoapods 1.15 introduced a bug which break the build. We will remove the upper
# bound in the template on Cocoapods with next React Native release.
gem 'cocoapods', '>= 1.13', '< 1.15'
gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
# Exclude problematic versions of cocoapods and activesupport that causes build failures.
gem 'cocoapods', '1.16.2'
gem 'activesupport', '7.2.2.1'
gem 'xcodeproj', '1.27.0'
gem 'concurrent-ruby', '1.3.5'
75 changes: 46 additions & 29 deletions DemoApp/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,27 +1,38 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.6)
CFPropertyList (3.0.7)
base64
nkf
rexml
activesupport (6.1.7.6)
concurrent-ruby (~> 1.0, >= 1.0.2)
activesupport (7.2.2.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
claide (1.1.0)
cocoapods (1.13.0)
cocoapods (1.16.2)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.13.0)
cocoapods-core (= 1.16.2)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.6.0, < 2.0)
cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
Expand All @@ -33,8 +44,8 @@ GEM
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.23.0, < 2.0)
cocoapods-core (1.13.0)
xcodeproj (>= 1.27.0, < 2.0)
cocoapods-core (1.16.2)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
Expand All @@ -45,7 +56,7 @@ GEM
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.6.3)
cocoapods-downloader (2.1)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
Expand All @@ -54,48 +65,54 @@ GEM
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.2.2)
concurrent-ruby (1.3.5)
connection_pool (2.5.0)
drb (2.2.1)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
ffi (1.16.3)
ffi (1.17.1)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.14.1)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
json (2.6.3)
minitest (5.20.0)
json (2.9.1)
logger (1.6.5)
minitest (5.25.4)
molinillo (0.8.0)
nanaimo (0.3.0)
nanaimo (0.4.0)
nap (1.1.0)
netrc (0.11.0)
nkf (0.2.0)
public_suffix (4.0.7)
rexml (3.2.6)
rexml (3.4.0)
ruby-macho (2.5.1)
typhoeus (1.4.0)
securerandom (0.4.1)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xcodeproj (1.23.0)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
zeitwerk (2.6.12)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)

PLATFORMS
ruby

DEPENDENCIES
activesupport (>= 6.1.7.5, < 7.1.0)
cocoapods (>= 1.13, < 1.15)
activesupport (= 7.2.2.1)
cocoapods (= 1.16.2)
concurrent-ruby (= 1.3.5)
xcodeproj (= 1.27.0)

RUBY VERSION
ruby 2.6.10p210
ruby 3.4.1p0

BUNDLED WITH
1.17.2
2.6.2
22 changes: 9 additions & 13 deletions DemoApp/__tests__/App.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,12 @@
* @format
*/

import 'react-native'
import React from 'react'
import App from '../App'

// Note: import explicitly to use the types shipped with jest.
import {it} from '@jest/globals'

// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer'

it('renders correctly', () => {
renderer.create(<App />)
})
import React from 'react';
import ReactTestRenderer from 'react-test-renderer';
import App from '../App';

test('renders correctly', async () => {
await ReactTestRenderer.act(() => {
ReactTestRenderer.create(<App />);
});
});
27 changes: 13 additions & 14 deletions DemoApp/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ apply plugin: "com.facebook.react"
*/
react {
/* Folders */
// The root of your project, i.e. where "package.json" lives. Default is '..'
// root = file("../")
// The folder where the react-native NPM package is. Default is ../node_modules/react-native
// reactNativeDir = file("../node_modules/react-native")
// The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen
// codegenDir = file("../node_modules/@react-native/codegen")
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
// cliFile = file("../node_modules/react-native/cli.js")
// The root of your project, i.e. where "package.json" lives. Default is '../..'
// root = file("../../")
// The folder where the react-native NPM package is. Default is ../../node_modules/react-native
// reactNativeDir = file("../../node_modules/react-native")
// The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
// codegenDir = file("../../node_modules/@react-native/codegen")
// The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
// cliFile = file("../../node_modules/react-native/cli.js")

/* Variants */
// The list of variants to that are debuggable. For those we're going to
Expand Down Expand Up @@ -49,6 +49,9 @@ react {
//
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
// hermesFlags = ["-O", "-output-source-map"]

/* Autolinking */
autolinkLibrariesWithApp()
}

/**
Expand All @@ -71,7 +74,6 @@ def jscFlavor = 'org.webkit:android-jsc:+'

android {
ndkVersion rootProject.ext.ndkVersion

buildToolsVersion rootProject.ext.buildToolsVersion
compileSdk rootProject.ext.compileSdkVersion

Expand Down Expand Up @@ -116,12 +118,11 @@ android {
}

dependencies {
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.1.2"
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.1.3"

// The version of react-native is set by the React Native Gradle Plugin
implementation("com.facebook.react:react-android")
implementation("com.facebook.react:flipper-integration")


if (hermesEnabled.toBoolean()) {
implementation("com.facebook.react:hermes-android")
} else {
Expand All @@ -134,5 +135,3 @@ dependencies {
androidTestImplementation('androidx.test.uiautomator:uiautomator:2.3.0-alpha05')
testImplementation ('junit:junit:4.13.2')
}

apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
6 changes: 1 addition & 5 deletions DemoApp/android/app/src/debug/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

<application
android:usesCleartextTraffic="true"
tools:targetApi="28"
tools:ignore="GoogleAppIndexingWarning">
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false" />
</application>
tools:ignore="GoogleAppIndexingWarning"/>
</manifest>
3 changes: 2 additions & 1 deletion DemoApp/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme">
android:theme="@style/AppTheme"
android:supportsRtl="true">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ class MainActivity : ReactActivity() {
*/
override fun createReactActivityDelegate(): ReactActivityDelegate =
DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import com.facebook.react.ReactPackage
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.react.flipper.ReactNativeFlipper
import com.facebook.react.soloader.OpenSourceMergedSoMapping
import com.facebook.soloader.SoLoader

class MainApplication : Application(), ReactApplication {
Expand All @@ -31,15 +31,14 @@ class MainApplication : Application(), ReactApplication {
}

override val reactHost: ReactHost
get() = getDefaultReactHost(this.applicationContext, reactNativeHost)
get() = getDefaultReactHost(applicationContext, reactNativeHost)

override fun onCreate() {
super.onCreate()
SoLoader.init(this, false)
SoLoader.init(this, OpenSourceMergedSoMapping)
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
load()
}
ReactNativeFlipper.initializeFlipper(this, reactNativeHost.reactInstanceManager)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
android:insetLeft="@dimen/abc_edit_text_inset_horizontal_material"
android:insetRight="@dimen/abc_edit_text_inset_horizontal_material"
android:insetTop="@dimen/abc_edit_text_inset_top_material"
android:insetBottom="@dimen/abc_edit_text_inset_bottom_material">
android:insetBottom="@dimen/abc_edit_text_inset_bottom_material"
>

<selector>
<!--
Expand Down
Loading