From 35ddea9dfaecf0e043e9f70094db7b0ad95246a5 Mon Sep 17 00:00:00 2001 From: a Date: Fri, 13 Mar 2026 04:34:35 -0400 Subject: [PATCH 1/3] Upgrade iOS tor from 0.4.5.9 (2020, has v2 onionsto 0.4.6.7v2 (Oct 2021), most recent Tor.framework release without code change --- packages/mobile/ios/Podfile | 2 +- packages/mobile/ios/Podfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/mobile/ios/Podfile b/packages/mobile/ios/Podfile index 16127dbb87..de6e3c2135 100644 --- a/packages/mobile/ios/Podfile +++ b/packages/mobile/ios/Podfile @@ -15,7 +15,7 @@ ENV['RCT_NEW_ARCH_ENABLED'] = '0' target 'Quiet' do config = use_native_modules! - pod 'Tor', podspec: 'https://raw.githubusercontent.com/iCepa/Tor.framework/v405.9.1/Tor.podspec' + pod 'Tor', podspec: 'https://raw.githubusercontent.com/iCepa/Tor.framework/v406.7.2/Tor.podspec' use_react_native!(:path => config[:reactNativePath],) diff --git a/packages/mobile/ios/Podfile.lock b/packages/mobile/ios/Podfile.lock index d746778016..28ba1d3dc5 100644 --- a/packages/mobile/ios/Podfile.lock +++ b/packages/mobile/ios/Podfile.lock @@ -1671,7 +1671,7 @@ PODS: - SDWebImage/Core (~> 5.17) - SocketRocket (0.7.1) - SSZipArchive (2.6.0) - - Tor (405.9.1) + - Tor (406.7.2) - Yoga (0.0.0) DEPENDENCIES: @@ -1760,7 +1760,7 @@ DEPENDENCIES: - RNScreens (from `../node_modules/react-native-screens`) - RNShare (from `../node_modules/react-native-share`) - RNSVG (from `../node_modules/react-native-svg`) - - Tor (from `https://raw.githubusercontent.com/iCepa/Tor.framework/v405.9.1/Tor.podspec`) + - Tor (from `https://raw.githubusercontent.com/iCepa/Tor.framework/v406.7.2/Tor.podspec`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -1944,7 +1944,7 @@ EXTERNAL SOURCES: RNSVG: :path: "../node_modules/react-native-svg" Tor: - :podspec: https://raw.githubusercontent.com/iCepa/Tor.framework/v405.9.1/Tor.podspec + :podspec: https://raw.githubusercontent.com/iCepa/Tor.framework/v406.7.2/Tor.podspec Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" @@ -2041,9 +2041,9 @@ SPEC CHECKSUMS: SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 SSZipArchive: 8a6ee5677c8e304bebc109e39cf0da91ccef22ea - Tor: 39dc71bf048312e202608eb499ca5c74e841b503 + Tor: 2113eeda30e664c1adf863529a1c970ca254e6fa Yoga: 7d51419602153919f32aec72812e324d495ee49d -PODFILE CHECKSUM: f4c2f064d1b797dc1ca285afefae8daa0afec350 +PODFILE CHECKSUM: 6bc2b6c9d00eddb47cbbb6325c0d642335556e5b COCOAPODS: 1.15.2 From dc91cbc87340c96f849c380d5f13b3ea891e7818 Mon Sep 17 00:00:00 2001 From: a Date: Fri, 13 Mar 2026 08:23:56 -0400 Subject: [PATCH 2/3] building on tor 0.4.8.21.1 --- packages/mobile/ios/Podfile | 15 ++-- packages/mobile/ios/Podfile.lock | 89 ++++++++++--------- .../ios/Quiet.xcodeproj/project.pbxproj | 38 ++++++-- packages/mobile/ios/Quiet/AppDelegate.h | 4 +- packages/mobile/ios/TorHandler.swift | 1 - 5 files changed, 88 insertions(+), 59 deletions(-) diff --git a/packages/mobile/ios/Podfile b/packages/mobile/ios/Podfile index de6e3c2135..90da3c8b75 100644 --- a/packages/mobile/ios/Podfile +++ b/packages/mobile/ios/Podfile @@ -1,4 +1,5 @@ MIN_SUPPORTED_IPHONEOS_VERSION = '17.1' +BUILD_AS_DYNAMIC_FRAMEWORK = ['Tor'] require_relative '../node_modules/react-native/scripts/react_native_pods' @@ -8,16 +9,17 @@ install! 'cocoapods', :deterministic_uuids => false, :parallel_pod_downloads => true, :parallel_pod_download_thread_pool_size => 40 +use_frameworks! :linkage => :static + # React native 0.76 defaults to using new architecture # Disable New Architecture ENV['RCT_NEW_ARCH_ENABLED'] = '0' target 'Quiet' do config = use_native_modules! + pod 'Tor', '~> 408' - pod 'Tor', podspec: 'https://raw.githubusercontent.com/iCepa/Tor.framework/v406.7.2/Tor.podspec' - - use_react_native!(:path => config[:reactNativePath],) + use_react_native!(:path => config[:reactNativePath]) target 'QuietTests' do inherit! :complete @@ -27,11 +29,12 @@ target 'Quiet' do # Make all the other frameworks into static frameworks by overriding the static_framework? function to return true pre_install do |installer| + statically_linked = [] installer.pod_targets.each do |target| - # Make some targets static as they throw errors if not - if target.name.eql?('RNScreens') || target.name.eql?('react-native-image-picker') or target.name.eql?('RNCClipboard') + if BUILD_AS_DYNAMIC_FRAMEWORK.include? target.name + puts "\n\tDynamically Linking #{BUILD_AS_DYNAMIC_FRAMEWORK.length} Targets:\n\t#{BUILD_AS_DYNAMIC_FRAMEWORK.inspect}" def target.build_type; - Pod::BuildType.static_library + Pod::BuildType.dynamic_framework end end end diff --git a/packages/mobile/ios/Podfile.lock b/packages/mobile/ios/Podfile.lock index 28ba1d3dc5..3df54692fd 100644 --- a/packages/mobile/ios/Podfile.lock +++ b/packages/mobile/ios/Podfile.lock @@ -1671,7 +1671,11 @@ PODS: - SDWebImage/Core (~> 5.17) - SocketRocket (0.7.1) - SSZipArchive (2.6.0) - - Tor (406.7.2) + - Tor (408.21.2): + - Tor/CTor (= 408.21.2) + - Tor/Core (408.21.2) + - Tor/CTor (408.21.2): + - Tor/Core - Yoga (0.0.0) DEPENDENCIES: @@ -1760,7 +1764,7 @@ DEPENDENCIES: - RNScreens (from `../node_modules/react-native-screens`) - RNShare (from `../node_modules/react-native-share`) - RNSVG (from `../node_modules/react-native-svg`) - - Tor (from `https://raw.githubusercontent.com/iCepa/Tor.framework/v406.7.2/Tor.podspec`) + - Tor (~> 408) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -1774,6 +1778,7 @@ SPEC REPOS: - SDWebImageWebPCoder - SocketRocket - SSZipArchive + - Tor EXTERNAL SOURCES: boost: @@ -1943,8 +1948,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-share" RNSVG: :path: "../node_modules/react-native-svg" - Tor: - :podspec: https://raw.githubusercontent.com/iCepa/Tor.framework/v406.7.2/Tor.podspec Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" @@ -1969,42 +1972,42 @@ SPEC CHECKSUMS: React-Core: a3e36c059a195bd213d005db36c9e68957b78632 React-CoreModules: 46467a2b34b053eb7262104e07bf5d835a9afe77 React-cxxreact: 500e7b011a14eeefdcf6c0eb982fe4db055c2670 - React-debug: 41315631a01cf5cc3c9498482b97be21c49f8e8d - React-defaultsnativemodule: a06364257949e77dc39bcfd08e2d801c189bb58c - React-domnativemodule: dcda8a2b62bb34ed5db94470a3a72f32a76e1e31 - React-Fabric: dc1d3aa4b6a92e4a703c02ca6c4add312754eb84 - React-FabricComponents: 451f7b72aa80001520a20747b7b1e21350d6fba8 - React-FabricImage: 15c3bfe577a60c492134519219627316fb48af05 - React-featureflags: 08f06c820a37b29ed3ef9dddc6763c086339bc28 - React-featureflagsnativemodule: 3f6b19ac469a5d26e3a52e5198735c1799f1e324 - React-graphics: df8448a604e8fd03325e0f3d760b13e57416871c + React-debug: ac52f8bde3c1e793b3d2e976445b755b72fc193b + React-defaultsnativemodule: 1311fcc3daab694b2b3989c64af693dfc4c90242 + React-domnativemodule: 4457932395eaf6829bac3dc14f2a4b8fa7242218 + React-Fabric: 71d95c31f804678ff545dc6797fed3adc2550056 + React-FabricComponents: 109a45ae4c589e0df4f167a162d65874443bb61e + React-FabricImage: 5db76858ec894a0f3e7751ecc5242cd26bfe6ace + React-featureflags: 5f6f828a6e3a93401dc74e399299c2e5aab2e8d6 + React-featureflagsnativemodule: 1a9d537f8c9651d69a1ea9d7399bff63964bbfde + React-graphics: 66f490126e3ab83dd93d18f8ac16ae472f04b9e3 React-hermes: 67f3ee00fdbe085e722fd89811073678ba28c10a - React-idlecallbacksnativemodule: 26de008466429c4a6feb772cde37d3eda5c1e045 - React-ImageManager: 52a8c48c4c7c5a8124e8c363693bd2908b01c5f6 - React-jserrorhandler: faa483d54dd358b11e81adcd5e6373da6030ed70 + React-idlecallbacksnativemodule: 580656d582975ee2765532f7ea11fd92a354afaf + React-ImageManager: 1311d89c121b49633649fe000461603f61357d26 + React-jserrorhandler: 93e9b00bcb09bd4f40572bd572ab1a66f7ac75fa React-jsi: d5332d79759159a0127348d9b20cc90527dd40e8 React-jsiexecutor: 72c8df1af2c18736f6685cce4205c480f3783039 - React-jsinspector: e444c5725dbb31aa7ce556d972511f8997b38bc5 - React-jsitracing: 955646960c72c03e6e87df8706cab6bcdf960042 + React-jsinspector: 4fed594fa0738855e0102d4ac4511307ca8c7c57 + React-jsitracing: 73428a3e69d77451f5498dec7f9db5dc3935c745 React-logger: a23563f96a622637d7cce687bdf304929104effd - React-Mapbuffer: 1864935968d15b9b73d8e413d29c780f0ab50038 - React-microtasksnativemodule: 3b784cf40f7c3c9500b9a5f9e4eec5c9bbfbef8f + React-Mapbuffer: 90572a8bf2b34fce61c3a8839f14339259649190 + React-microtasksnativemodule: 5a6ce850fb68e542a7b312f396d88aff0d978f67 react-native-blob-util: 55bf7c1c4c90d138e45ddfeddbec0ec91d8df8c8 react-native-config: 963b5efabc864cf69412e54b5de49b6a23e4af03 react-native-document-picker: 74f5ca4179532f9ff205275990af514d1f2e22d8 - react-native-image-picker: 1b6097f71e3cf785a40d22be7904f17e924965bb + react-native-image-picker: 82a9e4371e48c518a69882b3c54de11134196cd2 react-native-randombytes: 3c8f3e89d12487fd03a2f966c288d495415fc116 react-native-safe-area-context: 2243039f43d10cb1ea30ec5ac57fc6d1448413f4 - react-native-webview: d9d01324f104e41fe57b8ddd048acd9e1e39caf5 - React-nativeconfig: f77b4627803bf7886a1f2e96b33b8af34e583cc4 - React-NativeModulesApple: dfa86c79c621f2a9cdb39636570c2e1623b71367 + react-native-webview: 0ab8d5073e09a9d0977323a83521535b91c87e31 + React-nativeconfig: 29f53f7caa03e1d3f49396320f4f055ae42ab8db + React-NativeModulesApple: 1fe64d61396453d56ee3965c0adf2f3284c92a8b React-perflogger: 1f83401f01544142b32151ef6c66870455c64994 - React-performancetimeline: 514430bf73208debfb0b9981fdab0e3e67987447 + React-performancetimeline: db82bcba07a46d2239f127d25ecf8221ff6b8f9f React-RCTActionSheet: f8f5545f473a87a8ab124046fe58905b82c55322 React-RCTAnimation: bb5332589ee135a4b3e06f9475659ae73a36f669 React-RCTAppDelegate: f1504dd62d2c16d85840698539a2a3163d629072 React-RCTBlob: 9305f10874660b7d7bd02f6567e1b97c29b5cc43 - React-RCTFabric: 8ca1af21e65c1f1fe2fff1f3e931b1e74f7c552a + React-RCTFabric: e29e88c4fa43c138bbd1906c753b00b368f73165 React-RCTFBReactNativeSpec: 288abdd04806d4a5e9a079717011bf5fa281eaf7 React-RCTImage: f099c09decb34b6849518e85aa8cd6318381ed98 React-RCTLinking: ab70f4b60e21b0abb8c2adc58ae0460cffecdd8f @@ -2012,28 +2015,28 @@ SPEC CHECKSUMS: React-RCTSettings: bad043f6652f2641fccf9654c3f789e970ca63c8 React-RCTText: bed66ec05d4dedfc48d6db8d3cf60e714b2d010d React-RCTVibration: 22179961d1aadd7996355785c490c134037de1d9 - React-rendererconsistency: 9f5292176e629370402cbfe4e88c19b3c68e79a3 - React-rendererdebug: 1d63129046b7a8624f0a5d2cb4cc4a1dda41eeaf - React-rncore: 8a77fbb638aab2ef0a3e4e122ddc5310a8299699 - React-RuntimeApple: cf68b82dc184c7f8855aa6bae298b4b24880d549 - React-RuntimeCore: 98ab2e46540d3560712334257b01d6305c0cb422 + React-rendererconsistency: aa06761086d71892d1a897bf7fc4a657a760e443 + React-rendererdebug: b677b6f6f11783c0efb73c2b98367e7551a410c9 + React-rncore: e823e8de2b4cd367851e9f003627697ce323f4bb + React-RuntimeApple: a4a970b77a7ba62ee0acdc8b53f0958b4a7e9d80 + React-RuntimeCore: 3708937cee069fe1dc51cad3000fee57437f6c43 React-runtimeexecutor: 2dc71d251ce5630b11d384bc80d7fbb9d9d93623 - React-RuntimeHermes: 7cc49896e48214abee8f2a9bf91e7a91606ff018 - React-runtimescheduler: a51c3e414e288f3ab876b8b6e50e89c805ffd704 - React-timing: 7d80ad4297c57ec4cb49da4a5db1b82f93fedb2a - React-utils: 6b632afea2c4ec4b782497fb61af859a5b1b355f + React-RuntimeHermes: dc4f09c7e0434664481a41fc2a65bd72c254044f + React-runtimescheduler: 8e40fa815a1569b2af68ad219b3cbc1b2b47c49d + React-timing: d4617a4230c408d8d570a4d287eca6a5f461ffc3 + React-utils: 83ac200341eda36937a2ae0efdb6ccc8a88b8355 ReactAppDependencyProvider: 31015410a4a53b9fd0a908ad4d6e3e2b9a25086a - ReactCodegen: eac5d74d85dff515b48a5c36f154bc4128f217e6 - ReactCommon: bf4612cba0fa356b529385029f470d5529dddde4 + ReactCodegen: 09fce818e1bff09d32d8ff2a89f992caa2c0e11b + ReactCommon: 06cde9e035d27f37e0e5d2bb23606e10aedd866b RNCAsyncStorage: b9f5f78da5d16a853fe3dc22e8268d932fc45a83 RNCClipboard: f6679d470d0da2bce2a37b0af7b9e0bf369ecda5 RNCPushNotificationIOS: 85957a0534fd1309b4c028ccbe5b1baf9ab5cf57 RNDeviceInfo: d863506092aef7e7af3a1c350c913d867d795047 RNFastImage: 642053def5aa66879887efc4be80315677cd4f26 - RNFileLogger: ef312716234b48780359444010674ab7f7a08e15 + RNFileLogger: 095f4a8d57d63d9e53a1ee66fdf4ef9451575e1f RNFS: 89de7d7f4c0f6bafa05343c578f61118c8282ed8 - RNGestureHandler: 9f3109e11ed88fe5bed280bf7762b25e4c52f396 - RNScreens: e49492560a55c80ae227b4e05e055d0fdb03c080 + RNGestureHandler: b64463a3d975bda9abc7dc1bbd7875c8217c1f40 + RNScreens: 2ba531caee939381d31548ee22e61c51a0c3321c RNShare: 694e19d7f74ac4c04de3a8af0649e9ccc03bd8b1 RNSVG: 2e59e14c2723a1967cd1bba71038a59142cbc616 SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838 @@ -2041,9 +2044,9 @@ SPEC CHECKSUMS: SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 SSZipArchive: 8a6ee5677c8e304bebc109e39cf0da91ccef22ea - Tor: 2113eeda30e664c1adf863529a1c970ca254e6fa - Yoga: 7d51419602153919f32aec72812e324d495ee49d + Tor: 4600784986dd47e7616185733f88520798e436cb + Yoga: 1a10502f162e8fc40ff0907c82d01cfe555d00c2 -PODFILE CHECKSUM: 6bc2b6c9d00eddb47cbbb6325c0d642335556e5b +PODFILE CHECKSUM: edb0371dc4a86af4b09f78903232f843765cce96 COCOAPODS: 1.15.2 diff --git a/packages/mobile/ios/Quiet.xcodeproj/project.pbxproj b/packages/mobile/ios/Quiet.xcodeproj/project.pbxproj index 79efc9d819..155866bc96 100644 --- a/packages/mobile/ios/Quiet.xcodeproj/project.pbxproj +++ b/packages/mobile/ios/Quiet.xcodeproj/project.pbxproj @@ -38,6 +38,7 @@ 03B674202E6103DC00A86655 /* Rubik-LightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 03B674012E6103DC00A86655 /* Rubik-LightItalic.ttf */; }; 03B674212E6103DC00A86655 /* Rubik-BlackItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 03B673FA2E6103DC00A86655 /* Rubik-BlackItalic.ttf */; }; 03B674222E6103DC00A86655 /* Rubik-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 03B673F92E6103DC00A86655 /* Rubik-Black.ttf */; }; + 1078D3C3EA2D944606C0C017 /* Pods_Quiet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0465982AA22EFB9994301115 /* Pods_Quiet.framework */; }; 180E120B2AEFB7F900804659 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 180E120A2AEFB7F900804659 /* Utils.swift */; }; 1827A9E229783D6E00245FD3 /* classic-level.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1827A9E129783D6E00245FD3 /* classic-level.framework */; platformFilter = ios; }; 1827A9E329783D7600245FD3 /* classic-level.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1827A9E129783D6E00245FD3 /* classic-level.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; @@ -55,10 +56,9 @@ 18FD2A3E296F009E00A2B8C0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 18FD2A37296F009E00A2B8C0 /* AppDelegate.m */; }; 18FD2A3F296F009E00A2B8C0 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 18FD2A38296F009E00A2B8C0 /* Images.xcassets */; }; 18FD2A40296F009E00A2B8C0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 18FD2A39296F009E00A2B8C0 /* main.m */; }; - 38AD376324628C6E27E70991 /* libPods-Quiet-QuietTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 02AFA323BA7196A67E7A1133 /* libPods-Quiet-QuietTests.a */; }; + 2EC1DF7C25947AC6DC7530B0 /* Pods_Quiet_QuietTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1022BF1F2A3C3980E1D6F0BB /* Pods_Quiet_QuietTests.framework */; }; 955DC7582BD930B30014725B /* WebsocketSingleton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 955DC7572BD930B30014725B /* WebsocketSingleton.swift */; }; D3239FB5EFA85E780E1AD201 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 84F12DFE2A5B0E05C2C41286 /* PrivacyInfo.xcprivacy */; }; - E479975299F0932FF690F805 /* libPods-Quiet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 104C0D0FA8EF00192C60CAD7 /* libPods-Quiet.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -92,7 +92,6 @@ 00E356EE1AD99517003FC87E /* QuietTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QuietTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* QuietTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QuietTests.m; sourceTree = ""; }; - 02AFA323BA7196A67E7A1133 /* libPods-Quiet-QuietTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Quiet-QuietTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 03B673F92E6103DC00A86655 /* Rubik-Black.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Rubik-Black.ttf"; path = "../src/assets/fonts/Rubik-Black.ttf"; sourceTree = SOURCE_ROOT; }; 03B673FA2E6103DC00A86655 /* Rubik-BlackItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Rubik-BlackItalic.ttf"; path = "../src/assets/fonts/Rubik-BlackItalic.ttf"; sourceTree = SOURCE_ROOT; }; 03B673FB2E6103DC00A86655 /* Rubik-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Rubik-Bold.ttf"; path = "../src/assets/fonts/Rubik-Bold.ttf"; sourceTree = SOURCE_ROOT; }; @@ -107,7 +106,8 @@ 03B674042E6103DC00A86655 /* Rubik-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Rubik-Regular.ttf"; path = "../src/assets/fonts/Rubik-Regular.ttf"; sourceTree = SOURCE_ROOT; }; 03B674052E6103DC00A86655 /* Rubik-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Rubik-SemiBold.ttf"; path = "../src/assets/fonts/Rubik-SemiBold.ttf"; sourceTree = SOURCE_ROOT; }; 03B674062E6103DC00A86655 /* Rubik-SemiBoldItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Rubik-SemiBoldItalic.ttf"; path = "../src/assets/fonts/Rubik-SemiBoldItalic.ttf"; sourceTree = SOURCE_ROOT; }; - 104C0D0FA8EF00192C60CAD7 /* libPods-Quiet.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Quiet.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 0465982AA22EFB9994301115 /* Pods_Quiet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Quiet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1022BF1F2A3C3980E1D6F0BB /* Pods_Quiet_QuietTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Quiet_QuietTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 116749B7D5552021F04BE739 /* Pods-Quiet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Quiet.release.xcconfig"; path = "Target Support Files/Pods-Quiet/Pods-Quiet.release.xcconfig"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* Quiet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Quiet.app; sourceTree = BUILT_PRODUCTS_DIR; }; 180E120A2AEFB7F900804659 /* Utils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; @@ -633,7 +633,7 @@ buildActionMask = 2147483647; files = ( 1827A9E229783D6E00245FD3 /* classic-level.framework in Frameworks */, - 38AD376324628C6E27E70991 /* libPods-Quiet-QuietTests.a in Frameworks */, + 2EC1DF7C25947AC6DC7530B0 /* Pods_Quiet_QuietTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -643,7 +643,7 @@ files = ( 00A416342EC2EAA900ACC877 /* NodeMobile.xcframework in Frameworks */, 1827A9E329783D7600245FD3 /* classic-level.framework in Frameworks */, - E479975299F0932FF690F805 /* libPods-Quiet.a in Frameworks */, + 1078D3C3EA2D944606C0C017 /* Pods_Quiet.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4714,8 +4714,8 @@ children = ( 00A416332EC2EAA900ACC877 /* NodeMobile.xcframework */, 1827A9E129783D6E00245FD3 /* classic-level.framework */, - 104C0D0FA8EF00192C60CAD7 /* libPods-Quiet.a */, - 02AFA323BA7196A67E7A1133 /* libPods-Quiet-QuietTests.a */, + 0465982AA22EFB9994301115 /* Pods_Quiet.framework */, + 1022BF1F2A3C3980E1D6F0BB /* Pods_Quiet_QuietTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -5504,6 +5504,17 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx", + "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios", + ); IPHONEOS_DEPLOYMENT_TARGET = 17.6; LD = ""; LDPLUSPLUS = ""; @@ -5577,6 +5588,17 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx", + "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios", + ); IPHONEOS_DEPLOYMENT_TARGET = 17.6; LD = ""; LDPLUSPLUS = ""; diff --git a/packages/mobile/ios/Quiet/AppDelegate.h b/packages/mobile/ios/Quiet/AppDelegate.h index 608de497a0..293407448b 100644 --- a/packages/mobile/ios/Quiet/AppDelegate.h +++ b/packages/mobile/ios/Quiet/AppDelegate.h @@ -1,6 +1,8 @@ #import #import -#import +#import +#import +#import #import #import "RNNodeJsMobile.h" diff --git a/packages/mobile/ios/TorHandler.swift b/packages/mobile/ios/TorHandler.swift index 1a62ade0f4..6b6abc11e9 100644 --- a/packages/mobile/ios/TorHandler.swift +++ b/packages/mobile/ios/TorHandler.swift @@ -1,6 +1,5 @@ import Tor -@objc(TorHandler) class TorHandler: NSObject { @objc(getTorConfiguration:controlPort:httpTunnelPort:) From df165cb423693d45911daccc6537358fa9d3a747 Mon Sep 17 00:00:00 2001 From: a Date: Fri, 13 Mar 2026 08:35:34 -0400 Subject: [PATCH 3/3] update to latest tor/Tor.framework on ios 0.4.9.5 --- packages/mobile/ios/Podfile | 3 +-- packages/mobile/ios/Podfile.lock | 14 +++++----- .../ios/Quiet.xcodeproj/project.pbxproj | 26 +++++++++++++++---- .../xcshareddata/xcschemes/Quiet.xcscheme | 2 +- .../xcshareddata/xcschemes/Storybook.xcscheme | 2 +- .../xcschemes/ZbayMobile.xcscheme | 2 +- 6 files changed, 32 insertions(+), 17 deletions(-) diff --git a/packages/mobile/ios/Podfile b/packages/mobile/ios/Podfile index 90da3c8b75..76635b0bd9 100644 --- a/packages/mobile/ios/Podfile +++ b/packages/mobile/ios/Podfile @@ -17,7 +17,7 @@ ENV['RCT_NEW_ARCH_ENABLED'] = '0' target 'Quiet' do config = use_native_modules! - pod 'Tor', '~> 408' + pod 'Tor', '~> 409' use_react_native!(:path => config[:reactNativePath]) @@ -29,7 +29,6 @@ target 'Quiet' do # Make all the other frameworks into static frameworks by overriding the static_framework? function to return true pre_install do |installer| - statically_linked = [] installer.pod_targets.each do |target| if BUILD_AS_DYNAMIC_FRAMEWORK.include? target.name puts "\n\tDynamically Linking #{BUILD_AS_DYNAMIC_FRAMEWORK.length} Targets:\n\t#{BUILD_AS_DYNAMIC_FRAMEWORK.inspect}" diff --git a/packages/mobile/ios/Podfile.lock b/packages/mobile/ios/Podfile.lock index 3df54692fd..4dbae3388b 100644 --- a/packages/mobile/ios/Podfile.lock +++ b/packages/mobile/ios/Podfile.lock @@ -1671,10 +1671,10 @@ PODS: - SDWebImage/Core (~> 5.17) - SocketRocket (0.7.1) - SSZipArchive (2.6.0) - - Tor (408.21.2): - - Tor/CTor (= 408.21.2) - - Tor/Core (408.21.2) - - Tor/CTor (408.21.2): + - Tor (409.5.1): + - Tor/CTor (= 409.5.1) + - Tor/Core (409.5.1) + - Tor/CTor (409.5.1): - Tor/Core - Yoga (0.0.0) @@ -1764,7 +1764,7 @@ DEPENDENCIES: - RNScreens (from `../node_modules/react-native-screens`) - RNShare (from `../node_modules/react-native-share`) - RNSVG (from `../node_modules/react-native-svg`) - - Tor (~> 408) + - Tor (~> 409) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -2044,9 +2044,9 @@ SPEC CHECKSUMS: SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 SSZipArchive: 8a6ee5677c8e304bebc109e39cf0da91ccef22ea - Tor: 4600784986dd47e7616185733f88520798e436cb + Tor: fb12b6bcfa1309d3e40e98908eabd28e5ff4bb61 Yoga: 1a10502f162e8fc40ff0907c82d01cfe555d00c2 -PODFILE CHECKSUM: edb0371dc4a86af4b09f78903232f843765cce96 +PODFILE CHECKSUM: ea5e62ce9eee32cc3461e3bdbd9a64a168a1c102 COCOAPODS: 1.15.2 diff --git a/packages/mobile/ios/Quiet.xcodeproj/project.pbxproj b/packages/mobile/ios/Quiet.xcodeproj/project.pbxproj index 155866bc96..b1e0af94b7 100644 --- a/packages/mobile/ios/Quiet.xcodeproj/project.pbxproj +++ b/packages/mobile/ios/Quiet.xcodeproj/project.pbxproj @@ -4833,7 +4833,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 2610; + LastUpgradeCheck = 2630; TargetAttributes = { 00E356ED1AD99517003FC87E = { CreatedOnToolsVersion = 6.2; @@ -5028,10 +5028,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Quiet-QuietTests/Pods-Quiet-QuietTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Quiet-QuietTests/Pods-Quiet-QuietTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Quiet-QuietTests/Pods-Quiet-QuietTests-resources.sh\"\n"; @@ -5089,10 +5093,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Quiet/Pods-Quiet-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Quiet/Pods-Quiet-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Quiet/Pods-Quiet-frameworks.sh\"\n"; @@ -5106,10 +5114,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Quiet/Pods-Quiet-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Quiet/Pods-Quiet-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Quiet/Pods-Quiet-resources.sh\"\n"; @@ -5123,10 +5135,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Quiet-QuietTests/Pods-Quiet-QuietTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Quiet-QuietTests/Pods-Quiet-QuietTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Quiet-QuietTests/Pods-Quiet-QuietTests-frameworks.sh\"\n"; @@ -5197,7 +5213,6 @@ isa = XCBuildConfiguration; baseConfigurationReference = 7F75CE6D1C7D3DA9F5BA6A76 /* Pods-Quiet-QuietTests.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -5209,7 +5224,7 @@ "$(inherited)", ); INFOPLIST_FILE = QuietTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5230,7 +5245,6 @@ isa = XCBuildConfiguration; baseConfigurationReference = 2877B6088D1D81EF869D71D9 /* Pods-Quiet-QuietTests.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -5239,7 +5253,7 @@ "$(PROJECT_DIR)", ); INFOPLIST_FILE = QuietTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5488,6 +5502,7 @@ CXX = ""; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -5579,6 +5594,7 @@ CXX = ""; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; diff --git a/packages/mobile/ios/Quiet.xcodeproj/xcshareddata/xcschemes/Quiet.xcscheme b/packages/mobile/ios/Quiet.xcodeproj/xcshareddata/xcschemes/Quiet.xcscheme index 8d602ee65e..6906120ee5 100644 --- a/packages/mobile/ios/Quiet.xcodeproj/xcshareddata/xcschemes/Quiet.xcscheme +++ b/packages/mobile/ios/Quiet.xcodeproj/xcshareddata/xcschemes/Quiet.xcscheme @@ -1,6 +1,6 @@