Skip to content

Commit d7c9445

Browse files
committed
accept all current, conflicts from code that was added to rn update that could be reverted
2 parents b30dc0e + 4797726 commit d7c9445

357 files changed

Lines changed: 7241 additions & 5853 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.depcheckrc.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,18 @@ ignores:
139139

140140
# Used in Yarn plugin for preview builds
141141
- '@yarnpkg/core'
142+
143+
# Babel plugins referenced in babel.config.js by their short name (without
144+
# the `babel-plugin-` prefix). Babel resolves them correctly at build time
145+
# but depcheck doesn't recognize the indirect reference. See babel.config.js
146+
# line 65 comment for details.
147+
- 'babel-plugin-react-compiler' # used as 'react-compiler' (line 68)
148+
- 'babel-plugin-transform-inline-environment-variables' # used as 'transform-inline-environment-variables' (line 81)
149+
- 'babel-plugin-transform-remove-console' # used as 'transform-remove-console' (line 166, production env)
150+
151+
# Listed as a direct dep in package.json but no longer referenced in
152+
# babel.config.js (we use babel-preset-expo) or anywhere in our source.
153+
# It's still available transitively via babel-preset-expo + Metro, so
154+
# removing the direct declaration should be a no-op — left for a follow-up
155+
# cleanup once the RN 0.81 upgrade has settled to avoid surprises.
156+
- '@react-native/babel-preset'

.github/workflows/build-android-e2e.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,12 @@ jobs:
291291
NODE_OPTIONS: '--max-old-space-size=4096'
292292
# Limit Metro workers to prevent OOM (each worker uses ~3GB)
293293
METRO_MAX_WORKERS: '4'
294+
# React Native 0.81's ReactAndroid/build.gradle.kts requests CMake 3.30.5
295+
# via `System.getenv("CMAKE_VERSION") ?: "3.30.5"`. The self-hosted runner
296+
# only ships CMake 3.22.1 in /opt/android-sdk/cmake/ and AGP cannot auto-
297+
# download missing components, causing CXX1300. RN's CMakeLists.txt files
298+
# only require >= 3.13, so 3.22.1 is fully sufficient.
299+
CMAKE_VERSION: '3.22.1'
294300
BRIDGE_USE_DEV_APIS: 'true'
295301
RAMP_INTERNAL_BUILD: 'true'
296302
SEEDLESS_ONBOARDING_ENABLED: 'true'

.github/workflows/build-ios-e2e.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ jobs:
152152
path: |
153153
~/Library/Developer/Xcode/DerivedData
154154
ios/build
155-
key: ${{ runner.os }}-xcode-${{ github.ref_name }}-${{ env.XCODE_CACHE_VERSION }}-${{ hashFiles('ios/**/*.{h,m,mm,swift}', 'ios/**/Podfile.lock', 'yarn.lock') }}
155+
key: ${{ runner.os }}-xcode-${{ github.ref_name }}-${{ env.XCODE_CACHE_VERSION }}-${{ hashFiles('ios/**/*.{h,m,mm,swift}', 'ios/**/Podfile.lock', 'yarn.lock') }}-${{ github.run_id }}
156156

157157
- name: Restore Xcode derived data from main cache
158158
if: ${{ steps.gate.outputs.needs-native-build == 'true' && steps.xcode-restore-cache.outputs.cache-hit != 'true' && github.ref_name != 'main' }}
@@ -163,7 +163,7 @@ jobs:
163163
path: |
164164
~/Library/Developer/Xcode/DerivedData
165165
ios/build
166-
key: ${{ runner.os }}-xcode-main-${{ env.XCODE_CACHE_VERSION }}-${{ hashFiles('ios/**/*.{h,m,mm,swift}', 'ios/**/Podfile.lock', 'yarn.lock') }}
166+
key: ${{ runner.os }}-xcode-main-${{ env.XCODE_CACHE_VERSION }}-${{ hashFiles('ios/**/*.{h,m,mm,swift}', 'ios/**/Podfile.lock', 'yarn.lock') }}-${{ github.run_id }}
167167

168168
# Install Node.js, Xcode tools, and other iOS development dependencies.
169169
- name: Installing iOS Environment Setup

.github/workflows/run-e2e-workflow.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ on:
2929
type: number
3030
default: 1
3131
test-timeout-minutes:
32+
# Hard cap on the `Run E2E tests` step — when it elapses, GitHub kills the whole suite.
3233
description: 'The timeout in minutes for the test command'
3334
required: false
3435
type: number
35-
default: 30
36+
default: 40
3637
build_type:
3738
description: 'The type of build to perform'
3839
required: false
@@ -210,6 +211,21 @@ jobs:
210211
fi
211212
212213
chmod +x "$APP_PATH/$BUNDLE_EXEC"
214+
215+
# actions/upload-artifact strips execute permissions from ALL files, not just the
216+
# main binary. Framework dylibs and binaries inside Frameworks/ also need +x or
217+
# SpringBoard (SBMainWorkspace) will refuse to launch the app with:
218+
# FBSOpenApplicationServiceErrorDomain code=1: denied by service delegate
219+
if [ -d "$APP_PATH/Frameworks" ]; then
220+
find "$APP_PATH/Frameworks" -type d -name "*.framework" | while IFS= read -r fw; do
221+
binary="$fw/$(basename "$fw" .framework)"
222+
if [ -f "$binary" ]; then
223+
chmod +x "$binary"
224+
fi
225+
done
226+
find "$APP_PATH/Frameworks" -type f -name "*.dylib" -exec chmod +x {} \;
227+
fi
228+
echo "✅ Restored execute permissions on main binary and all framework binaries"
213229
shell: bash
214230

215231
# On re-run (run_attempt > 1), download previous test results to identify failed tests

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
# claude code worktrees (agent-local, not shipped)
55
.claude/worktrees/
6+
# claude code per-user settings (agent-local, not shipped)
7+
.claude/settings.local.json
68

79
# osx
810
.DS_Store
@@ -46,6 +48,7 @@ android/app/gradle*
4648
android/app/_build*
4749
android/libs
4850
.cxx/
51+
.kotlin/
4952

5053
# if we ever want to add google services
5154
android/app/google-services.json
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# @metamask/react-native-acm@1.2.0 was authored against an older RN where:
2+
# - ReactContextBaseJavaModule.getCurrentActivity() was a Java method, so Kotlin
3+
# auto-exposed it as the synthetic property `currentActivity`.
4+
# - ActivityEventListener.onNewIntent took a nullable `Intent?` parameter.
5+
#
6+
# In React Native 0.81 both classes were rewritten in Kotlin source. Because
7+
# `getCurrentActivity()` is now declared as `fun getCurrentActivity()` (not as a
8+
# property), Kotlin does NOT expose `currentActivity` as a synthetic accessor —
9+
# callers must use the explicit method form. Additionally, `onNewIntent` is now
10+
# `fun onNewIntent(intent: Intent)` (non-nullable). Without this patch the
11+
# package fails to compile on RN 0.81 with:
12+
# - "Unresolved reference 'currentActivity'." (3 sites)
13+
# - "'onNewIntent' overrides nothing. Potential signatures for overriding:
14+
# fun onNewIntent(intent: Intent): Unit"
15+
#
16+
# When @metamask/react-native-acm publishes an RN 0.81-compatible release, this
17+
# patch (and the resolution in package.json) can be removed.
18+
diff --git a/android/src/main/java/com/googleacm/GoogleAcmModule.kt b/android/src/main/java/com/googleacm/GoogleAcmModule.kt
19+
index 395a46ebdcc45bc3afd596903e7926525ebe5874..0495944fb891b0999624b50801c11a313e8adee1 100644
20+
--- a/android/src/main/java/com/googleacm/GoogleAcmModule.kt
21+
+++ b/android/src/main/java/com/googleacm/GoogleAcmModule.kt
22+
@@ -65,7 +65,7 @@ class GoogleAcmModule(reactContext: ReactApplicationContext) :
23+
requestObject: ReadableMap,
24+
promise: Promise
25+
) {
26+
- val activity: Activity? = currentActivity
27+
+ val activity: Activity? = getCurrentActivity()
28+
if (activity == null) {
29+
promise.reject("E_NO_ACTIVITY", "Current activity is null, cannot launch UI.")
30+
return
31+
@@ -133,7 +133,7 @@ class GoogleAcmModule(reactContext: ReactApplicationContext) :
32+
}
33+
34+
private suspend fun tryLegacySignIn(serverClientId: String): ReadableMap? {
35+
- val activity = currentActivity
36+
+ val activity = getCurrentActivity()
37+
?: throw Exception("No activity available for legacy sign-in")
38+
39+
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
40+
@@ -188,7 +188,7 @@ class GoogleAcmModule(reactContext: ReactApplicationContext) :
41+
}
42+
}
43+
44+
- override fun onNewIntent(intent: Intent?) { }
45+
+ override fun onNewIntent(intent: Intent) { }
46+
47+
private fun handleLegacySignInResult(resultCode: Int, data: Intent?): ReadableMap? {
48+
if (resultCode != Activity.RESULT_OK) {
49+
@@ -278,7 +278,7 @@ class GoogleAcmModule(reactContext: ReactApplicationContext) :
50+
}
51+
52+
suspend fun handleSignOut() {
53+
- val activity: Activity? = currentActivity
54+
+ val activity: Activity? = getCurrentActivity()
55+
if (activity == null) {
56+
throw Exception("Current activity is null, cannot sign out.")
57+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
diff --git a/Button.js b/Button.js
2+
index 46dc1e06fa389a3660f6ce67c0d2eaead3e2782d..7f92ea9421bd90ba858ad9f81c7f4c1008a2553e 100644
3+
--- a/Button.js
4+
+++ b/Button.js
5+
@@ -11,18 +11,23 @@ import {
6+
import coalesceNonElementChildren from './coalesceNonElementChildren';
7+
8+
const systemButtonOpacity = 0.2;
9+
+const touchableOpacityPropTypes = TouchableOpacity.propTypes || {};
10+
+const textPropTypes = Text.propTypes || {};
11+
+const viewStylePropType = (ViewPropTypes && ViewPropTypes.style) || PropTypes.any;
12+
+const textStylePropType = textPropTypes.style || PropTypes.any;
13+
+const allowFontScalingPropType = textPropTypes.allowFontScaling || PropTypes.bool;
14+
15+
export default class Button extends Component {
16+
static propTypes = {
17+
- ...TouchableOpacity.propTypes,
18+
+ ...touchableOpacityPropTypes,
19+
accessibilityLabel: PropTypes.string,
20+
- allowFontScaling: Text.propTypes.allowFontScaling,
21+
- containerStyle: ViewPropTypes.style,
22+
- disabledContainerStyle: ViewPropTypes.style,
23+
+ allowFontScaling: allowFontScalingPropType,
24+
+ containerStyle: viewStylePropType,
25+
+ disabledContainerStyle: viewStylePropType,
26+
disabled: PropTypes.bool,
27+
- style: Text.propTypes.style,
28+
- styleDisabled: Text.propTypes.style,
29+
- childGroupStyle: ViewPropTypes.style,
30+
+ style: textStylePropType,
31+
+ styleDisabled: textStylePropType,
32+
+ childGroupStyle: viewStylePropType,
33+
};
34+
35+
render() {
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
diff --git a/android/build.gradle b/android/build.gradle
2+
index 0d066bd15543931e4029146f627a5902f244d4ee..db6528a8db0b21634c3eb0ca7aabc2405b89818c 100644
3+
--- a/android/build.gradle
4+
+++ b/android/build.gradle
5+
@@ -1,12 +1,12 @@
6+
apply plugin: 'com.android.library'
7+
8+
android {
9+
- compileSdkVersion 28
10+
- buildToolsVersion "28.0.3"
11+
+ compileSdkVersion 36
12+
+ buildToolsVersion "36.0.0"
13+
14+
defaultConfig {
15+
minSdkVersion 21
16+
- targetSdkVersion 28
17+
+ targetSdkVersion 36
18+
versionCode 1
19+
versionName "1.0"
20+
ndk {
21+
diff --git a/android/src/main/java/com/reactnativepayments/ReactNativePaymentsModule.java b/android/src/main/java/com/reactnativepayments/ReactNativePaymentsModule.java
22+
index f26dd586ec397f5259c00ba147974a58825a03fe..e671afcc3faf5368e7987e2d9b8d1797d4249a29 100644
23+
--- a/android/src/main/java/com/reactnativepayments/ReactNativePaymentsModule.java
24+
+++ b/android/src/main/java/com/reactnativepayments/ReactNativePaymentsModule.java
25+
@@ -13,7 +13,6 @@ import androidx.annotation.RequiresPermission;
26+
import android.util.Log;
27+
28+
import com.facebook.react.bridge.Callback;
29+
-import com.facebook.react.bridge.ReactBridge;
30+
import com.facebook.react.bridge.ReadableArray;
31+
import com.facebook.react.bridge.ReadableMapKeySetIterator;
32+
import com.google.android.gms.common.api.GoogleApiClient;
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
diff --git a/package.json b/package.json
2+
index 6b9ca814f3e2b4630e81371235f6ad942d5eac3f..1d7129b41beb19c53b3fbe277b9670ff72b30d6d 100644
3+
--- a/package.json
4+
+++ b/package.json
5+
@@ -95,6 +95,14 @@
6+
"jsSrcsDir": "./src",
7+
"android": {
8+
"javaPackageName": "com.reactnativecommunity.webview"
9+
+ },
10+
+ "ios": {
11+
+ "componentProvider": {
12+
+ "RNCWebView": "RNCWebView"
13+
+ },
14+
+ "modulesProvider": {
15+
+ "RNCWebViewModule": "RNCWebViewModule"
16+
+ }
17+
}
18+
},
19+
"packageManager": "yarn@1.22.19"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
diff --git a/ios/ReactNativePageView.h b/ios/ReactNativePageView.h
2+
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000001 100644
3+
--- a/ios/ReactNativePageView.h
4+
+++ b/ios/ReactNativePageView.h
5+
@@ -1,3 +1,4 @@
6+
#import <React/RCTShadowView.h>
7+
+#import <React/RCTEventDispatcher.h>
8+
#import <React/UIView+React.h>
9+
#import <UIKit/UIKit.h>

0 commit comments

Comments
 (0)