chore: fix failing mobile demo ios e2e tests (#1710)

* fix failing mobile demo ios e2e tests

* temp test

* add patch. update files

* run demo e2e patch

* sort package json

* disable running on dev
This commit is contained in:
Justin Hernandez
2026-02-05 13:15:05 -08:00
committed by GitHub
parent 63fd92da95
commit 7acc9bb2a6
8 changed files with 124 additions and 57 deletions

View File

@@ -457,7 +457,7 @@ jobs:
fi
FORCE_BUNDLING=1 RCT_NO_LAUNCH_PACKAGER=1 \
xcodebuild -workspace "$WORKSPACE_PATH" -scheme ${{ env.IOS_PROJECT_SCHEME }} -configuration Debug -destination "id=${{ env.IOS_SIMULATOR_ID }}" -derivedDataPath packages/mobile-sdk-demo/ios/build -jobs "$(sysctl -n hw.ncpu)" -parallelizeTargets -quiet COMPILER_INDEX_STORE_ENABLE=NO ONLY_ACTIVE_ARCH=YES SWIFT_COMPILATION_MODE=wholemodule || { echo "❌ iOS build failed"; exit 1; }
xcodebuild -workspace "$WORKSPACE_PATH" -scheme ${{ env.IOS_PROJECT_SCHEME }} -configuration Debug -destination "id=${{ env.IOS_SIMULATOR_ID }}" -derivedDataPath packages/mobile-sdk-demo/ios/build -jobs "$(sysctl -n hw.ncpu)" -parallelizeTargets -quiet COMPILER_INDEX_STORE_ENABLE=NO ONLY_ACTIVE_ARCH=YES SWIFT_COMPILATION_MODE=wholemodule 'SWIFT_ACTIVE_COMPILATION_CONDITIONS=$(inherited) E2E_TESTING' || { echo "❌ iOS build failed"; exit 1; }
echo "✅ iOS build succeeded"
- name: Build iOS Release Archive (unsigned)
run: |

View File

@@ -2152,7 +2152,7 @@ PODS:
- ReactCommon/turbomodule/core
- Sentry/HybridSDK (= 8.53.2)
- Yoga
- RNSVG (15.12.1):
- RNSVG (15.15.1):
- DoubleConversion
- glog
- hermes-engine
@@ -2172,9 +2172,9 @@ PODS:
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- RNSVG/common (= 15.12.1)
- RNSVG/common (= 15.15.1)
- Yoga
- RNSVG/common (15.12.1):
- RNSVG/common (15.15.1):
- DoubleConversion
- glog
- hermes-engine
@@ -2671,7 +2671,7 @@ SPEC CHECKSUMS:
RNReactNativeHapticFeedback: e526ac4a7ca9fb23c7843ea4fd7d823166054c73
RNScreens: 806e1449a8ec63c2a4e4cf8a63cc80203ccda9b8
RNSentry: f79dd124cc49088445c16d23955860dd0d1db6f3
RNSVG: 0c1fc3e7b147949dc15644845e9124947ac8c9bb
RNSVG: 8cd7dadbe9bdc7d70872910dbe611c8e0f4597bb
segment-analytics-react-native: 0eae155b0e9fa560fa6b17d78941df64537c35b7
Sentry: 59993bffde4a1ac297ba6d268dc4bbce068d7c1b
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748

View File

@@ -164,7 +164,7 @@
"react-native-safe-area-context": "^5.6.2",
"react-native-screens": "4.15.3",
"react-native-sqlite-storage": "^6.0.1",
"react-native-svg": "15.12.1",
"react-native-svg": "15.15.1",
"react-native-svg-web": "1.0.9",
"react-native-url-polyfill": "^3.0.0",
"react-native-web": "^0.21.2",

View File

@@ -34,10 +34,9 @@ target "SelfDemoApp" do
use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => true,
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/..",
:fabric_enabled => false,
:hermes_enabled => true,
)
# Use the custom NFCPassportReader fork

View File

@@ -8,17 +8,32 @@ PODS:
- hermes-engine (0.76.9):
- hermes-engine/Pre-built (= 0.76.9)
- hermes-engine/Pre-built (0.76.9)
- Mixpanel-swift (5.0.0):
- Mixpanel-swift/Complete (= 5.0.0)
- Mixpanel-swift/Complete (5.0.0)
- lottie-ios (4.5.0)
- lottie-react-native (7.2.2):
- DoubleConversion
- glog
- hermes-engine
- lottie-ios (= 4.5.0)
- RCT-Folly (= 2024.10.14.00)
- RCTRequired
- RCTTypeSafety
- React-Core
- React-debug
- React-Fabric
- React-featureflags
- React-graphics
- React-ImageManager
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
- React-utils
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- mobile-sdk-alpha (0.1.0):
- NFCPassportReader
- QKMRZParser
- React-Core
- NFCPassportReader (2.1.1):
- Mixpanel-swift (~> 5.0.0)
- OpenSSL-Universal (= 1.1.1900)
- OpenSSL-Universal (1.1.1900)
- QKMRZParser (2.0.0)
- RCT-Folly (2024.10.14.00):
- boost
@@ -1300,7 +1315,7 @@ PODS:
- Yoga
- react-native-get-random-values (1.11.0):
- React-Core
- react-native-safe-area-context (5.6.1):
- react-native-safe-area-context (5.6.2):
- DoubleConversion
- glog
- hermes-engine
@@ -1313,8 +1328,8 @@ PODS:
- React-featureflags
- React-graphics
- React-ImageManager
- react-native-safe-area-context/common (= 5.6.1)
- react-native-safe-area-context/fabric (= 5.6.1)
- react-native-safe-area-context/common (= 5.6.2)
- react-native-safe-area-context/fabric (= 5.6.2)
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
@@ -1323,7 +1338,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- react-native-safe-area-context/common (5.6.1):
- react-native-safe-area-context/common (5.6.2):
- DoubleConversion
- glog
- hermes-engine
@@ -1344,7 +1359,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- react-native-safe-area-context/fabric (5.6.1):
- react-native-safe-area-context/fabric (5.6.2):
- DoubleConversion
- glog
- hermes-engine
@@ -1366,6 +1381,27 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- react-native-webview (13.16.0):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2024.10.14.00)
- RCTRequired
- RCTTypeSafety
- React-Core
- React-debug
- React-Fabric
- React-featureflags
- React-graphics
- React-ImageManager
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
- React-utils
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- React-nativeconfig (0.76.9)
- React-NativeModulesApple (0.76.9):
- glog
@@ -1680,6 +1716,27 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- RNLocalize (3.6.1):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2024.10.14.00)
- RCTRequired
- RCTTypeSafety
- React-Core
- React-debug
- React-Fabric
- React-featureflags
- React-graphics
- React-ImageManager
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
- React-utils
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- RNReactNativeHapticFeedback (2.3.3):
- DoubleConversion
- glog
@@ -1701,7 +1758,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- RNSVG (15.12.1):
- RNSVG (15.15.1):
- DoubleConversion
- glog
- hermes-engine
@@ -1721,9 +1778,9 @@ PODS:
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- RNSVG/common (= 15.12.1)
- RNSVG/common (= 15.15.1)
- Yoga
- RNSVG/common (15.12.1):
- RNSVG/common (15.15.1):
- DoubleConversion
- glog
- hermes-engine
@@ -1776,8 +1833,8 @@ DEPENDENCIES:
- fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- lottie-react-native (from `../node_modules/lottie-react-native`)
- "mobile-sdk-alpha (from `../node_modules/@selfxyz/mobile-sdk-alpha`)"
- "NFCPassportReader (from `git@github.com:selfxyz/NFCPassportReader.git`, commit `04ede227cbfd377e2b4bc9b38f9a89eebdcab52f`)"
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
@@ -1811,6 +1868,7 @@ DEPENDENCIES:
- React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
- react-native-get-random-values (from `../node_modules/react-native-get-random-values`)
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
- react-native-webview (from `../node_modules/react-native-webview`)
- React-nativeconfig (from `../node_modules/react-native/ReactCommon`)
- React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
- React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
@@ -1840,6 +1898,7 @@ DEPENDENCIES:
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
- RNKeychain (from `../node_modules/react-native-keychain`)
- RNLocalize (from `../node_modules/react-native-localize`)
- RNReactNativeHapticFeedback (from `../node_modules/react-native-haptic-feedback`)
- RNSVG (from `../node_modules/react-native-svg`)
- RNVectorIcons (from `../node_modules/react-native-vector-icons`)
@@ -1847,8 +1906,7 @@ DEPENDENCIES:
SPEC REPOS:
trunk:
- Mixpanel-swift
- OpenSSL-Universal
- lottie-ios
- QKMRZParser
- SocketRocket
@@ -1868,11 +1926,10 @@ EXTERNAL SOURCES:
hermes-engine:
:podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
:tag: hermes-2024-11-12-RNv0.76.2-5b4aa20c719830dcf5684832b89a6edb95ac3d64
lottie-react-native:
:path: "../node_modules/lottie-react-native"
mobile-sdk-alpha:
:path: "../node_modules/@selfxyz/mobile-sdk-alpha"
NFCPassportReader:
:commit: 04ede227cbfd377e2b4bc9b38f9a89eebdcab52f
:git: "git@github.com:selfxyz/NFCPassportReader.git"
RCT-Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTDeprecation:
@@ -1935,6 +1992,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-get-random-values"
react-native-safe-area-context:
:path: "../node_modules/react-native-safe-area-context"
react-native-webview:
:path: "../node_modules/react-native-webview"
React-nativeconfig:
:path: "../node_modules/react-native/ReactCommon"
React-NativeModulesApple:
@@ -1993,6 +2052,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/@react-native-async-storage/async-storage"
RNKeychain:
:path: "../node_modules/react-native-keychain"
RNLocalize:
:path: "../node_modules/react-native-localize"
RNReactNativeHapticFeedback:
:path: "../node_modules/react-native-haptic-feedback"
RNSVG:
@@ -2002,11 +2063,6 @@ EXTERNAL SOURCES:
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
CHECKOUT OPTIONS:
NFCPassportReader:
:commit: 04ede227cbfd377e2b4bc9b38f9a89eebdcab52f
:git: "git@github.com:selfxyz/NFCPassportReader.git"
SPEC CHECKSUMS:
boost: 1dca942403ed9342f98334bf4c3621f011aa7946
DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385
@@ -2015,10 +2071,9 @@ SPEC CHECKSUMS:
fmt: 01b82d4ca6470831d1cc0852a1af644be019e8f6
glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
hermes-engine: 9e868dc7be781364296d6ee2f56d0c1a9ef0bb11
Mixpanel-swift: e9bef28a9648faff384d5ba6f48ecc2787eb24c0
mobile-sdk-alpha: 126edf71b65b5a9e294725e4353c2705fa0fd20d
NFCPassportReader: 48873f856f91215dbfa1eaaec20eae639672862e
OpenSSL-Universal: 84efb8a29841f2764ac5403e0c4119a28b713346
lottie-ios: a881093fab623c467d3bce374367755c272bdd59
lottie-react-native: cf02eef1b7d48972f9422cf24f2f7b9a49235a32
mobile-sdk-alpha: 4daf7bbd7c8d7f4a71947234414c2c7f29777b1f
QKMRZParser: 6b419b6f07d6bff6b50429b97de10846dc902c29
RCT-Folly: ea9d9256ba7f9322ef911169a9f696e5857b9e17
RCTDeprecation: ebe712bb05077934b16c6bf25228bdec34b64f83
@@ -2050,7 +2105,8 @@ SPEC CHECKSUMS:
React-Mapbuffer: 33546a3ebefbccb8770c33a1f8a5554fa96a54de
React-microtasksnativemodule: d80ff86c8902872d397d9622f1a97aadcc12cead
react-native-get-random-values: d16467cf726c618e9c7a8c3c39c31faa2244bbba
react-native-safe-area-context: 76bd6904253fc0f68fbc3d7f594b6a394d0ac34c
react-native-safe-area-context: a588bcb12a67155e7e16e7b322d4cc43794ed701
react-native-webview: 416f3e4913deea20b2b7fdc5c44cb9ebf93509dc
React-nativeconfig: 8efdb1ef1e9158c77098a93085438f7e7b463678
React-NativeModulesApple: cebca2e5320a3d66e123cade23bd90a167ffce5e
React-perflogger: 72e653eb3aba9122f9e57cf012d22d2486f33358
@@ -2080,12 +2136,13 @@ SPEC CHECKSUMS:
ReactCommon: 300d8d9c5cb1a6cd79a67cf5d8f91e4d477195f9
RNCAsyncStorage: 87a74d13ba0128f853817e45e21c4051e1f2cd45
RNKeychain: 850638785745df5f70c37251130617a66ec82102
RNLocalize: bb04044d17e11029cbd3d6df7629f703434498de
RNReactNativeHapticFeedback: a4429a7c923cdd31d44c74417b8330d8e93737bd
RNSVG: 8dd938fb169dd81009b74c2334780d7d2a04a373
RNSVG: bf688cc1423de273f23abc4c79acac9ad2d61d95
RNVectorIcons: c95fdae217b0ed388f2b4d7ed7a4edc457c1df47
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
Yoga: feb4910aba9742cfedc059e2b2902e22ffe9954a
PODFILE CHECKSUM: fdd4646d0ec2813c3447acfca4303578e4346210
PODFILE CHECKSUM: c5da90e01a1f2fbadddbc1fe2c36caacd4e29251
COCOAPODS: 1.16.2

View File

@@ -14,6 +14,7 @@
"clean": "rm -rf ios/build android/app/build android/build && cd android && ./gradlew clean && cd ..",
"format": "yarn nice",
"ia": "yarn install-app",
"postinstall": "npx patch-package --patch-dir ../../patches || true",
"install-app": "yarn install && yarn prebuild && cd ios && pod install && cd ..",
"preios": "yarn prebuild",
"ios": "react-native run-ios",

View File

@@ -0,0 +1,24 @@
diff --git a/node_modules/react-native-svg/common/cpp/react/renderer/components/rnsvg/RNSVGLayoutableShadowNode.cpp b/node_modules/react-native-svg/common/cpp/react/renderer/components/rnsvg/RNSVGLayoutableShadowNode.cpp
--- a/node_modules/react-native-svg/common/cpp/react/renderer/components/rnsvg/RNSVGLayoutableShadowNode.cpp
+++ b/node_modules/react-native-svg/common/cpp/react/renderer/components/rnsvg/RNSVGLayoutableShadowNode.cpp
@@ -27,8 +27,18 @@ void RNSVGLayoutableShadowNode::updatePosition() {
auto style = yogaNode_.style();
style.setPositionType(yoga::PositionType::Absolute);
style.setPosition(yoga::Edge::All, yoga::Style::Length::points(0));
- style.setDimension(yoga::Dimension::Width, yoga::StyleSizeLength::percent(100));
- style.setDimension(yoga::Dimension::Height, yoga::StyleSizeLength::percent(100));
+#if REACT_NATIVE_MINOR_VERSION >= 78
+ style.setDimension(
+ yoga::Dimension::Width, yoga::StyleSizeLength::percent(100));
+ style.setDimension(
+ yoga::Dimension::Height, yoga::StyleSizeLength::percent(100));
+#elif REACT_NATIVE_MINOR_VERSION >= 77
+ style.setDimension(yoga::Dimension::Width, yoga::StyleLength::percent(100));
+ style.setDimension(yoga::Dimension::Height, yoga::StyleLength::percent(100));
+#else
+ style.setDimension(yoga::Dimension::Width, yoga::value::percent(100));
+ style.setDimension(yoga::Dimension::Height, yoga::value::percent(100));
+#endif
yogaNode_.setStyle(style);
}

View File

@@ -9092,7 +9092,7 @@ __metadata:
react-native-safe-area-context: "npm:^5.6.2"
react-native-screens: "npm:4.15.3"
react-native-sqlite-storage: "npm:^6.0.1"
react-native-svg: "npm:15.12.1"
react-native-svg: "npm:15.15.1"
react-native-svg-transformer: "npm:^1.5.2"
react-native-svg-web: "npm:1.0.9"
react-native-url-polyfill: "npm:^3.0.0"
@@ -30315,20 +30315,6 @@ __metadata:
languageName: node
linkType: hard
"react-native-svg@npm:15.12.1":
version: 15.12.1
resolution: "react-native-svg@npm:15.12.1"
dependencies:
css-select: "npm:^5.1.0"
css-tree: "npm:^1.1.3"
warn-once: "npm:0.1.1"
peerDependencies:
react: "*"
react-native: "*"
checksum: 10c0/ed94b57007125c715283fc760438ac8eac0677ced3201f6e272a7cd4459f3fecb672a8eed2c32664e5b8e6e0367585353b0f83f99b231f603d75094bb052c01f
languageName: node
linkType: hard
"react-native-svg@npm:15.15.1":
version: 15.15.1
resolution: "react-native-svg@npm:15.15.1"