diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index 6ece7e10c..8209f2bd6 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -86,7 +86,7 @@ android { applicationId "com.proofofpassportapp" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 59 + versionCode 60 versionName "2.5.1" externalNativeBuild { cmake { diff --git a/app/ios/OpenPassport/PrivacyInfo.xcprivacy b/app/ios/OpenPassport/PrivacyInfo.xcprivacy index 2fadae776..189b6316a 100644 --- a/app/ios/OpenPassport/PrivacyInfo.xcprivacy +++ b/app/ios/OpenPassport/PrivacyInfo.xcprivacy @@ -9,8 +9,8 @@ NSPrivacyAccessedAPICategoryUserDefaults NSPrivacyAccessedAPITypeReasons - 1C8F.1 CA92.1 + 1C8F.1 C56D.1 diff --git a/app/ios/Podfile b/app/ios/Podfile index dd2cc753b..9b8244498 100755 --- a/app/ios/Podfile +++ b/app/ios/Podfile @@ -1,5 +1,5 @@ use_frameworks! -require 'tmpdir' +require "tmpdir" # Resolve react_native_pods.rb with node to allow for hoisting require Pod::Executable.execute_command("node", ["-p", @@ -10,11 +10,11 @@ require Pod::Executable.execute_command("node", ["-p", project "Self.xcodeproj" -platform :ios, '15.0' if !ENV['ACT'] +platform :ios, "15.0" if !ENV["ACT"] prepare_react_native_project! -flipper_enabled = ENV['NO_FLIPPER'] != "1" -flipper_config = { 'Flipper' => flipper_enabled ? '~> 0.125.0' : nil } +flipper_enabled = ENV["NO_FLIPPER"] != "1" +flipper_config = { "Flipper" => flipper_enabled ? "~> 0.125.0" : nil } linkage = ENV["USE_FRAMEWORKS"] if linkage != nil @@ -36,21 +36,21 @@ target "Self" do :path => config[:reactNativePath], :hermes_enabled => false, # An absolute path to your application root. - :app_path => "#{Pod::Config.instance.installation_root}/.." + :app_path => "#{Pod::Config.instance.installation_root}/..", # Flipper設定は削除 ) pod "Sentry", :modular_headers => true pod "SentryPrivate", :modular_headers => true - pod 'Firebase', :modular_headers => true - pod 'FirebaseCore', :modular_headers => true - pod 'FirebaseCoreInternal', :modular_headers => true - pod 'GoogleUtilities', :modular_headers => true - pod 'FirebaseMessaging' + pod "Firebase", :modular_headers => true + pod "FirebaseCore", :modular_headers => true + pod "FirebaseCoreInternal", :modular_headers => true + pod "GoogleUtilities", :modular_headers => true + pod "FirebaseMessaging" if flipper_enabled - pod 'RCT-Folly', :podspec => "#{config[:reactNativePath]}/third-party-podspecs/RCT-Folly.podspec" + pod "RCT-Folly", :podspec => "#{config[:reactNativePath]}/third-party-podspecs/RCT-Folly.podspec" end post_install do |installer| @@ -109,7 +109,7 @@ target "Self" do # update QKCutoutView.swift to hide OCR border qkCutoutView = "Pods/QKMRZScanner/QKMRZScanner/QKCutoutView.swift" - if File.exist?(qkCutoutView) + if File.exist?(qkCutoutView) && File.writable?(qkCutoutView) text = File.read(qkCutoutView) # Only modify if the line is not already commented if text.match?(/^\s*[^\/]*addBorderAroundCutout\s*\(\s*\)/) @@ -124,7 +124,7 @@ target "Self" do # Disable code signing for Pod targets to avoid conflicts with main app signing installer.pods_project.targets.each do |target| target.build_configurations.each do |config| - config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' + config.build_settings["CODE_SIGNING_ALLOWED"] = "NO" end end end diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 51b568942..5fb38750c 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -8,39 +8,39 @@ PODS: - boost (1.84.0) - DoubleConversion (1.1.6) - FBLazyVector (0.75.4) - - Firebase (10.20.0): - - Firebase/Core (= 10.20.0) - - Firebase/Core (10.20.0): + - Firebase (10.24.0): + - Firebase/Core (= 10.24.0) + - Firebase/Core (10.24.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 10.20.0) - - Firebase/CoreOnly (10.20.0): - - FirebaseCore (= 10.20.0) - - Firebase/Messaging (10.20.0): + - FirebaseAnalytics (~> 10.24.0) + - Firebase/CoreOnly (10.24.0): + - FirebaseCore (= 10.24.0) + - Firebase/Messaging (10.24.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 10.20.0) - - FirebaseAnalytics (10.20.0): - - FirebaseAnalytics/AdIdSupport (= 10.20.0) + - FirebaseMessaging (~> 10.24.0) + - FirebaseAnalytics (10.24.0): + - FirebaseAnalytics/AdIdSupport (= 10.24.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseAnalytics/AdIdSupport (10.20.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseAnalytics/AdIdSupport (10.24.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - - GoogleAppMeasurement (= 10.20.0) + - GoogleAppMeasurement (= 10.24.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseCore (10.20.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseCore (10.24.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.12) - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreExtension (10.20.0): + - FirebaseCoreExtension (10.29.0): - FirebaseCore (~> 10.0) - FirebaseCoreInternal (10.29.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" @@ -49,7 +49,7 @@ PODS: - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - - FirebaseMessaging (10.20.0): + - FirebaseMessaging (10.24.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.3) @@ -57,29 +57,29 @@ PODS: - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - - nanopb (< 2.30910.0, >= 2.30908.0) + - nanopb (< 2.30911.0, >= 2.30908.0) - fmt (9.1.0) - glog (0.3.5) - - GoogleAppMeasurement (10.20.0): - - GoogleAppMeasurement/AdIdSupport (= 10.20.0) + - GoogleAppMeasurement (10.24.0): + - GoogleAppMeasurement/AdIdSupport (= 10.24.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (10.20.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 10.20.0) + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleAppMeasurement/AdIdSupport (10.24.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 10.24.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (10.20.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleAppMeasurement/WithoutAdIdSupport (10.24.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) + - nanopb (< 2.30911.0, >= 2.30908.0) - GoogleDataTransport (9.4.1): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30911.0, >= 2.30908.0) @@ -159,11 +159,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - nanopb (2.30909.1): - - nanopb/decode (= 2.30909.1) - - nanopb/encode (= 2.30909.1) - - nanopb/decode (2.30909.1) - - nanopb/encode (2.30909.1) + - nanopb (2.30910.0): + - nanopb/decode (= 2.30910.0) + - nanopb/encode (= 2.30910.0) + - nanopb/decode (2.30910.0) + - nanopb/encode (2.30910.0) - NFCPassportReader (2.1.1): - OpenSSL-Universal (= 1.1.1900) - OpenSSL-Universal (1.1.1900) @@ -1682,12 +1682,12 @@ PODS: - React-Core - RNDeviceInfo (14.0.4): - React-Core - - RNFBApp (18.9.0): - - Firebase/CoreOnly (= 10.20.0) + - RNFBApp (19.3.0): + - Firebase/CoreOnly (= 10.24.0) - React-Core - - RNFBMessaging (18.9.0): - - Firebase/Messaging (= 10.20.0) - - FirebaseCoreExtension (= 10.20.0) + - RNFBMessaging (19.3.0): + - Firebase/Messaging (= 10.24.0) + - FirebaseCoreExtension - React-Core - RNFBApp - RNGestureHandler (2.24.0): @@ -1788,9 +1788,9 @@ PODS: - segment-analytics-react-native (2.20.3): - React-Core - sovran-react-native - - Sentry (8.49.2): - - Sentry/Core (= 8.49.2) - - Sentry/Core (8.49.2) + - Sentry (8.50.2): + - Sentry/Core (= 8.50.2) + - Sentry/Core (8.50.2) - Sentry/HybridSDK (8.48.0) - SentryPrivate (8.21.0) - SocketRocket (0.7.0) @@ -2114,16 +2114,16 @@ SPEC CHECKSUMS: boost: 4cb898d0bf20404aab1850c656dcea009429d6c1 DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 FBLazyVector: 430e10366de01d1e3d57374500b1b150fe482e6d - Firebase: 10c8cb12fb7ad2ae0c09ffc86cd9c1ab392a0031 - FirebaseAnalytics: a2731bf3670747ce8f65368b118d18aa8e368246 - FirebaseCore: 28045c1560a2600d284b9c45a904fe322dc890b6 - FirebaseCoreExtension: 0659f035b88c5a7a15a9763c48c2e6ca8c0a2977 + Firebase: 91fefd38712feb9186ea8996af6cbdef41473442 + FirebaseAnalytics: b5efc493eb0f40ec560b04a472e3e1a15d39ca13 + FirebaseCore: 11dc8a16dfb7c5e3c3f45ba0e191a33ac4f50894 + FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd - FirebaseMessaging: 06c414a21b122396a26847c523d5c370f8325df5 + FirebaseMessaging: 4d52717dd820707cc4eadec5eb981b4832ec8d5d fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 glog: 69ef571f3de08433d766d614c73a9838a06bf7eb - GoogleAppMeasurement: bb3c564c3efb933136af0e94899e0a46167466a8 + GoogleAppMeasurement: f3abf08495ef2cba7829f15318c373b8d9226491 GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 @@ -2131,7 +2131,7 @@ SPEC CHECKSUMS: GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 lottie-ios: a881093fab623c467d3bce374367755c272bdd59 lottie-react-native: 3ffec00c889acded6057766c99adf8eaced7790c - nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 + nanopb: 438bc412db1928dac798aa6fd75726007be04262 NFCPassportReader: e931c61c189e08a4b4afa0ed4014af19eab2f129 OpenSSL-Universal: 84efb8a29841f2764ac5403e0c4119a28b713346 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 @@ -2202,8 +2202,8 @@ SPEC CHECKSUMS: RNCAsyncStorage: af7b591318005069c3795076addc83a4dd5c0a2e RNCClipboard: 4abb037e8fe3b98a952564c9e0474f91c492df6d RNDeviceInfo: d863506092aef7e7af3a1c350c913d867d795047 - RNFBApp: 20bfba7e2a61a959518c1d57e5d48817c62ed3f6 - RNFBMessaging: 48579eec1f6ffaed4038b67426d7076963ab9401 + RNFBApp: 4097f75673f8b42a7cd1ba17e6ea85a94b45e4d1 + RNFBMessaging: 92325b0d5619ac90ef023a23cfd16fd3b91d0a88 RNGestureHandler: 9c3877d98d4584891b69d16ebca855ac46507f4d RNGoogleSignin: b8760528f2a7cbe157ecfdcc13bdb7d2745c9389 RNKeychain: bbe2f6d5cc008920324acb49ef86ccc03d3b38e4 @@ -2221,6 +2221,6 @@ SPEC CHECKSUMS: SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178 -PODFILE CHECKSUM: 92a3feee42b02b97fbe3c56db97e6a79cc92f2c1 +PODFILE CHECKSUM: 4c1f9edcbeb4d0ce27f59c7f64ba1f803e06511d COCOAPODS: 1.16.2 diff --git a/app/ios/Self.xcodeproj/project.pbxproj b/app/ios/Self.xcodeproj/project.pbxproj index 71323e0b1..521e45870 100644 --- a/app/ios/Self.xcodeproj/project.pbxproj +++ b/app/ios/Self.xcodeproj/project.pbxproj @@ -511,7 +511,7 @@ CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassportDebug.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 119; + CURRENT_PROJECT_VERSION = 122; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; ENABLE_BITCODE = NO; @@ -649,7 +649,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = OpenPassport/OpenPassport.entitlements; - CURRENT_PROJECT_VERSION = 119; + CURRENT_PROJECT_VERSION = 122; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 5B29R5LYHQ; FRAMEWORK_SEARCH_PATHS = ( diff --git a/app/package.json b/app/package.json index c99c292da..f476f30aa 100644 --- a/app/package.json +++ b/app/package.json @@ -50,8 +50,8 @@ "@react-native-async-storage/async-storage": "^2.1.1", "@react-native-clipboard/clipboard": "1.13.2", "@react-native-community/netinfo": "^11.4.1", - "@react-native-firebase/app": "^18.7.3", - "@react-native-firebase/messaging": "^18.7.3", + "@react-native-firebase/app": "^19.0.1", + "@react-native-firebase/messaging": "^19.0.1", "@react-native-google-signin/google-signin": "^13.1.0", "@react-navigation/native": "^7.0.14", "@react-navigation/native-stack": "^7.2.0", diff --git a/app/src/screens/misc/LoadingScreen.tsx b/app/src/screens/misc/LoadingScreen.tsx index 749779265..f8de28869 100644 --- a/app/src/screens/misc/LoadingScreen.tsx +++ b/app/src/screens/misc/LoadingScreen.tsx @@ -18,11 +18,11 @@ import { getStateMessage, setupNotifications, } from '../../utils/notifications/notificationService'; +import { getLoadingScreenText } from '../../utils/proving/loadingScreenStateText'; import { ProvingStateType, useProvingStore, } from '../../utils/proving/provingMachine'; -import { getLoadingScreenText } from '../../utils/proving/stateLoadingScreenText'; type LoadingScreenProps = StaticScreenProps<{}>; diff --git a/app/src/utils/proving/stateLoadingScreenText.ts b/app/src/utils/proving/loadingScreenStateText.ts similarity index 89% rename from app/src/utils/proving/stateLoadingScreenText.ts rename to app/src/utils/proving/loadingScreenStateText.ts index 9dbc03c4d..d36114112 100644 --- a/app/src/utils/proving/stateLoadingScreenText.ts +++ b/app/src/utils/proving/loadingScreenStateText.ts @@ -16,27 +16,24 @@ export function getProvingTimeEstimate( ): string { if (!metadata) return '30 - 90 SECONDS'; - const algorithm = metadata.signatureAlgorithm; + const algorithm = metadata.signatureAlgorithm?.toLowerCase(); const curveOrExponent = metadata.curveOrExponent; // RSA algorithms - if (algorithm?.toLowerCase().includes('rsa')) { - if (algorithm?.toLowerCase().includes('pss')) { + if (algorithm?.includes('rsa')) { + if (algorithm?.includes('pss')) { return type === 'dsc' ? '3 SECONDS' : '6 SECONDS'; } return type === 'dsc' ? '2 SECONDS' : '4 SECONDS'; } // ECDSA algorithms - if (algorithm?.toLowerCase().includes('ecdsa')) { + if (algorithm?.includes('ecdsa')) { // Check bit size from curve name - if ( - curveOrExponent?.toLowerCase().includes('224') || - curveOrExponent?.toLowerCase().includes('256') - ) { + if (curveOrExponent?.includes('224') || curveOrExponent?.includes('256')) { return type === 'dsc' ? '25 SECONDS' : '50 SECONDS'; } - if (curveOrExponent?.toLowerCase().includes('384')) { + if (curveOrExponent?.includes('384')) { return type === 'dsc' ? '45 SECONDS' : '90 SECONDS'; } if (curveOrExponent?.includes('512') || curveOrExponent?.includes('521')) { diff --git a/app/tests/utils/proving/stateLoadingScreenText.test.ts b/app/tests/utils/proving/loadingScreenStateText.test.ts similarity index 99% rename from app/tests/utils/proving/stateLoadingScreenText.test.ts rename to app/tests/utils/proving/loadingScreenStateText.test.ts index 0b371f205..1a69c8e7d 100644 --- a/app/tests/utils/proving/stateLoadingScreenText.test.ts +++ b/app/tests/utils/proving/loadingScreenStateText.test.ts @@ -1,9 +1,9 @@ -import { ProvingStateType } from '../../../src/utils/proving/provingMachine'; import { getLoadingScreenText, getProvingTimeEstimate, PassportMetadata, -} from '../../../src/utils/proving/stateLoadingScreenText'; +} from '../../../src/utils/proving/loadingScreenStateText'; +import { ProvingStateType } from '../../../src/utils/proving/provingMachine'; describe('stateLoadingScreenText', () => { // Default metadata for basic tests diff --git a/app/yarn.lock b/app/yarn.lock index 55362c537..0b4318448 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -2232,9 +2232,9 @@ __metadata: languageName: node linkType: hard -"@react-native-firebase/app@npm:^18.7.3": - version: 18.9.0 - resolution: "@react-native-firebase/app@npm:18.9.0" +"@react-native-firebase/app@npm:^19.0.1": + version: 19.3.0 + resolution: "@react-native-firebase/app@npm:19.3.0" dependencies: opencollective-postinstall: "npm:^2.0.3" superstruct: "npm:^0.6.2" @@ -2245,20 +2245,20 @@ __metadata: peerDependenciesMeta: expo: optional: true - checksum: 10c0/8780772cf9d778709903db20d039472b57f8dd7b694f9fb0e2439c9135916125114cf871fba1a571161dbd4b08de729336924b9fa36c4742e83e0bccf3b98ac7 + checksum: 10c0/3c20b94935ca03407aa1ad159938c8d7dc2e129f8bd2ebb6089698ff05431c6c286ee320d61b7c225c82eb89e9eb0b995399f01d181ac7e1e78150de32515214 languageName: node linkType: hard -"@react-native-firebase/messaging@npm:^18.7.3": - version: 18.9.0 - resolution: "@react-native-firebase/messaging@npm:18.9.0" +"@react-native-firebase/messaging@npm:^19.0.1": + version: 19.3.0 + resolution: "@react-native-firebase/messaging@npm:19.3.0" peerDependencies: - "@react-native-firebase/app": 18.9.0 + "@react-native-firebase/app": 19.3.0 expo: ">=47.0.0" peerDependenciesMeta: expo: optional: true - checksum: 10c0/7935210c73a79eb17c36a99c6e66d90dff36109d77f9b9dc8fc0108998c41f2d1e3d6780f2ae64dff267bcc18f761a0c6d68638c7deebe2a4fa4cc5905158ca0 + checksum: 10c0/57c0a86074b9827b699262857ac329e49c92b942bf2c8cf3fca5c42d21a7ea8f556a6901606929dba1f47bdf1a8c121576ae5db658244af328eedce1941224ac languageName: node linkType: hard @@ -12100,8 +12100,8 @@ __metadata: "@react-native-clipboard/clipboard": "npm:1.13.2" "@react-native-community/cli": "npm:^14.1.1" "@react-native-community/netinfo": "npm:^11.4.1" - "@react-native-firebase/app": "npm:^18.7.3" - "@react-native-firebase/messaging": "npm:^18.7.3" + "@react-native-firebase/app": "npm:^19.0.1" + "@react-native-firebase/messaging": "npm:^19.0.1" "@react-native-google-signin/google-signin": "npm:^13.1.0" "@react-native/babel-preset": "npm:0.75.4" "@react-native/eslint-config": "npm:0.75.4"