diff --git a/android/app/build.gradle b/android/app/build.gradle index a2231784..9826e70f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -337,5 +337,3 @@ def isNewArchitectureEnabled() { // - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true` return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true" } - -apply plugin: 'com.google.gms.google-services' diff --git a/android/app/google-services.json b/android/app/google-services.json deleted file mode 100644 index d833db99..00000000 --- a/android/app/google-services.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "project_info": { - "project_number": "661638997772", - "project_id": "xmflsct-mastodon-app", - "storage_bucket": "xmflsct-mastodon-app.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:661638997772:android:4fd02851f757f8fa9f8b29", - "android_client_info": { - "package_name": "com.xmflsct.app.tooot" - } - }, - "oauth_client": [ - { - "client_id": "661638997772-6aiqk97aema0rt280i7nfar3ha2mlgno.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyDUw4s-mhQsHvs4hdIsldsi68ZIygM5MC4" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "661638997772-6aiqk97aema0rt280i7nfar3ha2mlgno.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "661638997772-sqa4raeghhrieqt9guljhcul9b51dvna.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.xmflsct.app.mastodon" - } - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle index 0872442c..e90d3c65 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -22,7 +22,6 @@ buildscript { jcenter() } dependencies { - classpath 'com.google.gms:google-services:4.3.3' classpath("com.android.tools.build:gradle:7.2.1") classpath("com.facebook.react:react-native-gradle-plugin") classpath("de.undercouch:gradle-download-task:5.0.1") diff --git a/app.config.ts b/app.config.ts index 4b34421b..0afae03f 100644 --- a/app.config.ts +++ b/app.config.ts @@ -15,7 +15,6 @@ export default (): ExpoConfig => ({ }, android: { package: 'com.xmflsct.app.tooot', - googleServicesFile: './configs/google-services.json', permissions: ['CAMERA', 'VIBRATE'], blockedPermissions: ['USE_BIOMETRIC', 'USE_FINGERPRINT'] }, diff --git a/configs/GoogleService-Info.plist b/configs/GoogleService-Info.plist deleted file mode 100644 index 553df7ab..00000000 --- a/configs/GoogleService-Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CLIENT_ID - 661638997772-65g8ce369ugck3ii4ulk6jhb3ijg51kl.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.661638997772-65g8ce369ugck3ii4ulk6jhb3ijg51kl - API_KEY - AIzaSyAOS1Yq_uNVctG89LB6Dl1PVhb_FAQRbRg - GCM_SENDER_ID - 661638997772 - PLIST_VERSION - 1 - BUNDLE_ID - com.xmflsct.app.tooot - PROJECT_ID - xmflsct-mastodon-app - STORAGE_BUCKET - xmflsct-mastodon-app.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:661638997772:ios:c8d2e09264a344b09f8b29 - - \ No newline at end of file diff --git a/configs/google-services.json b/configs/google-services.json deleted file mode 100644 index d833db99..00000000 --- a/configs/google-services.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "project_info": { - "project_number": "661638997772", - "project_id": "xmflsct-mastodon-app", - "storage_bucket": "xmflsct-mastodon-app.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:661638997772:android:4fd02851f757f8fa9f8b29", - "android_client_info": { - "package_name": "com.xmflsct.app.tooot" - } - }, - "oauth_client": [ - { - "client_id": "661638997772-6aiqk97aema0rt280i7nfar3ha2mlgno.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyDUw4s-mhQsHvs4hdIsldsi68ZIygM5MC4" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "661638997772-6aiqk97aema0rt280i7nfar3ha2mlgno.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "661638997772-sqa4raeghhrieqt9guljhcul9b51dvna.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.xmflsct.app.mastodon" - } - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/ios/Podfile b/ios/Podfile index 98b9127d..ce23340c 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -15,12 +15,6 @@ target 'tooot' do # Flags change depending on the env values. flags = get_default_flags() - # https://stackoverflow.com/questions/72289521/swift-pods-cannot-yet-be-integrated-as-static-libraries-firebasecoreinternal-lib/72969220#72969220 - pod 'Firebase', :modular_headers => true - pod 'FirebaseCore', :modular_headers => true - pod 'GoogleUtilities', :modular_headers => true - $RNFirebaseAsStaticFramework = true - use_react_native!( :path => config[:reactNativePath], :hermes_enabled => true, diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 6e5e751f..80c3ab78 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -12,13 +12,6 @@ PODS: - ExpoModulesCore - EXFileSystem (15.1.1): - ExpoModulesCore - - EXFirebaseAnalytics (8.0.0): - - EXFirebaseCore - - ExpoModulesCore - - Firebase/Core (= 9.5.0) - - EXFirebaseCore (6.0.0): - - ExpoModulesCore - - Firebase/Core (= 9.5.0) - EXFont (11.0.1): - ExpoModulesCore - EXNotifications (0.17.0): @@ -59,107 +52,8 @@ PODS: - React-Core (= 0.70.6) - React-jsi (= 0.70.6) - ReactCommon/turbomodule/core (= 0.70.6) - - Firebase (9.5.0): - - Firebase/Core (= 9.5.0) - - Firebase/Core (9.5.0): - - Firebase/CoreOnly - - FirebaseAnalytics (~> 9.5.0) - - Firebase/CoreOnly (9.5.0): - - FirebaseCore (= 9.5.0) - - FirebaseAnalytics (9.5.0): - - FirebaseAnalytics/AdIdSupport (= 9.5.0) - - FirebaseCore (~> 9.0) - - FirebaseInstallations (~> 9.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseAnalytics/AdIdSupport (9.5.0): - - FirebaseCore (~> 9.0) - - FirebaseInstallations (~> 9.0) - - GoogleAppMeasurement (= 9.5.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseCore (9.5.0): - - FirebaseCoreDiagnostics (~> 9.0) - - FirebaseCoreInternal (~> 9.0) - - GoogleUtilities/Environment (~> 7.7) - - GoogleUtilities/Logger (~> 7.7) - - FirebaseCoreDiagnostics (9.6.0): - - GoogleDataTransport (< 10.0.0, >= 9.1.4) - - GoogleUtilities/Environment (~> 7.7) - - GoogleUtilities/Logger (~> 7.7) - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseCoreInternal (9.6.0): - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - FirebaseInstallations (9.6.0): - - FirebaseCore (~> 9.0) - - GoogleUtilities/Environment (~> 7.7) - - GoogleUtilities/UserDefaults (~> 7.7) - - PromisesObjC (~> 2.1) - fmt (6.2.1) - glog (0.3.5) - - GoogleAppMeasurement (9.5.0): - - GoogleAppMeasurement/AdIdSupport (= 9.5.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (9.5.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 9.5.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (9.5.0): - - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - - GoogleUtilities/MethodSwizzler (~> 7.7) - - GoogleUtilities/Network (~> 7.7) - - "GoogleUtilities/NSData+zlib (~> 7.7)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleDataTransport (9.2.0): - - GoogleUtilities/Environment (~> 7.7) - - nanopb (< 2.30910.0, >= 2.30908.0) - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities (7.10.0): - - GoogleUtilities/AppDelegateSwizzler (= 7.10.0) - - GoogleUtilities/Environment (= 7.10.0) - - GoogleUtilities/ISASwizzler (= 7.10.0) - - GoogleUtilities/Logger (= 7.10.0) - - GoogleUtilities/MethodSwizzler (= 7.10.0) - - GoogleUtilities/Network (= 7.10.0) - - "GoogleUtilities/NSData+zlib (= 7.10.0)" - - GoogleUtilities/Reachability (= 7.10.0) - - GoogleUtilities/SwizzlerTestHelpers (= 7.10.0) - - GoogleUtilities/UserDefaults (= 7.10.0) - - GoogleUtilities/AppDelegateSwizzler (7.10.0): - - GoogleUtilities/Environment - - GoogleUtilities/Logger - - GoogleUtilities/Network - - GoogleUtilities/Environment (7.10.0): - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/ISASwizzler (7.10.0) - - GoogleUtilities/Logger (7.10.0): - - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.10.0): - - GoogleUtilities/Logger - - GoogleUtilities/Network (7.10.0): - - GoogleUtilities/Logger - - "GoogleUtilities/NSData+zlib" - - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.10.0)" - - GoogleUtilities/Reachability (7.10.0): - - GoogleUtilities/Logger - - GoogleUtilities/SwizzlerTestHelpers (7.10.0): - - GoogleUtilities/MethodSwizzler - - GoogleUtilities/UserDefaults (7.10.0): - - GoogleUtilities/Logger - hermes-engine (0.70.6) - libevent (2.1.12) - libwebp (1.2.4): @@ -171,12 +65,6 @@ PODS: - libwebp/mux (1.2.4): - libwebp/demux - libwebp/webp (1.2.4) - - nanopb (2.30909.0): - - nanopb/decode (= 2.30909.0) - - nanopb/encode (= 2.30909.0) - - nanopb/decode (2.30909.0) - - nanopb/encode (2.30909.0) - - PromisesObjC (2.1.1) - RCT-Folly (2021.07.22.00): - boost - DoubleConversion @@ -563,8 +451,6 @@ DEPENDENCIES: - EXConstants (from `../node_modules/expo-constants/ios`) - EXErrorRecovery (from `../node_modules/expo-error-recovery/ios`) - EXFileSystem (from `../node_modules/expo-file-system/ios`) - - EXFirebaseAnalytics (from `../node_modules/expo-firebase-analytics/ios`) - - EXFirebaseCore (from `../node_modules/expo-firebase-core/ios`) - EXFont (from `../node_modules/expo-font/ios`) - EXNotifications (from `../node_modules/expo-notifications/ios`) - Expo (from `../node_modules/expo`) @@ -582,10 +468,7 @@ DEPENDENCIES: - EXVideoThumbnails (from `../node_modules/expo-video-thumbnails/ios`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - - Firebase - - FirebaseCore - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - GoogleUtilities - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) - libevent (~> 2.1.12) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) @@ -641,20 +524,9 @@ DEPENDENCIES: SPEC REPOS: trunk: - - Firebase - - FirebaseAnalytics - - FirebaseCore - - FirebaseCoreDiagnostics - - FirebaseCoreInternal - - FirebaseInstallations - fmt - - GoogleAppMeasurement - - GoogleDataTransport - - GoogleUtilities - libevent - libwebp - - nanopb - - PromisesObjC - SDWebImage - SDWebImageWebPCoder - Sentry @@ -675,10 +547,6 @@ EXTERNAL SOURCES: :path: "../node_modules/expo-error-recovery/ios" EXFileSystem: :path: "../node_modules/expo-file-system/ios" - EXFirebaseAnalytics: - :path: "../node_modules/expo-firebase-analytics/ios" - EXFirebaseCore: - :path: "../node_modules/expo-firebase-core/ios" EXFont: :path: "../node_modules/expo-font/ios" EXNotifications: @@ -824,8 +692,6 @@ SPEC CHECKSUMS: EXConstants: 3c86653c422dd77e40d10cbbabb3025003977415 EXErrorRecovery: ae43433feb0608a64dc5b1c8363b3e7769a9ea24 EXFileSystem: 60602b6eefa6873f97172c684b7537c9760b50d6 - EXFirebaseAnalytics: 58d70e698859b070b2450ad8664d7b5bc6c6e3e1 - EXFirebaseCore: d0d88cb904e893af07f809ab08c0892489bc6956 EXFont: 319606bfe48c33b5b5063fb0994afdc496befe80 EXNotifications: babce2a87b7922051354fcfe7a74dd279b7e272a Expo: 36b5f625d36728adbdd1934d4d57182f319ab832 @@ -843,22 +709,11 @@ SPEC CHECKSUMS: EXVideoThumbnails: 8b3e48f3716679dd0cbf949217a31eab5c555799 FBLazyVector: 48289402952f4f7a4e235de70a9a590aa0b79ef4 FBReactNativeSpec: dd1186fd05255e3457baa2f4ca65e94c2cd1e3ac - Firebase: 800f16f07af493d98d017446a315c27af0552f41 - FirebaseAnalytics: 1b60984a408320dda637306f3f733699ef8473d7 - FirebaseCore: 25c0400b670fd1e2f2104349cd3b5dcce8d9418f - FirebaseCoreDiagnostics: 99a495094b10a57eeb3ae8efa1665700ad0bdaa6 - FirebaseCoreInternal: bca76517fe1ed381e989f5e7d8abb0da8d85bed3 - FirebaseInstallations: 0a115432c4e223c5ab20b0dbbe4cbefa793a0e8e fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b - GoogleAppMeasurement: 6ee231473fbd75c11221dfce489894334024eead - GoogleDataTransport: 1c8145da7117bd68bbbed00cf304edb6a24de00f - GoogleUtilities: bad72cb363809015b1f7f19beb1f1cd23c589f95 hermes-engine: 2af7b7a59128f250adfd86f15aa1d5a2ecd39995 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef - nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 - PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda RCTRequired: e1866f61af7049eb3d8e08e8b133abd38bc1ca7a RCTTypeSafety: 27c2ac1b00609a432ced1ae701247593f07f901e @@ -913,6 +768,6 @@ SPEC CHECKSUMS: Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b Yoga: 99caf8d5ab45e9d637ee6e0174ec16fbbb01bcfc -PODFILE CHECKSUM: e4191b63c8f15031b2365226730770e7978dca41 +PODFILE CHECKSUM: 05bf71d31ba782dfda5a6b47d38e98a6f6bc079a COCOAPODS: 1.11.3 diff --git a/ios/tooot.xcodeproj/project.pbxproj b/ios/tooot.xcodeproj/project.pbxproj index 6af87ad9..811bb728 100644 --- a/ios/tooot.xcodeproj/project.pbxproj +++ b/ios/tooot.xcodeproj/project.pbxproj @@ -17,7 +17,6 @@ 5EE088C926297820007E5FEC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5EE088CB26297820007E5FEC /* InfoPlist.strings */; }; 5EE44DD62600124E00A9BCED /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE44DD52600124E00A9BCED /* File.swift */; }; 96905EF65AED1B983A6B3ABC /* libPods-tooot.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-tooot.a */; }; - DA8B5B7F0DED488CAC0FF169 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = B96B72E5384D44A7B240B27E /* GoogleService-Info.plist */; }; E3BC22F5F8ABE515E14CF199 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D878F932AF7A9974E06E461 /* ExpoModulesProvider.swift */; }; E613A80B28282A01003C97D6 /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = E613A80A28282A01003C97D6 /* AppDelegate.mm */; }; E633A42B281EAEAB000E540F /* ShareExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = E633A420281EAEAB000E540F /* ShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; @@ -69,7 +68,6 @@ 7A4D352CD337FB3A3BF06240 /* Pods-tooot.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tooot.release.xcconfig"; path = "Target Support Files/Pods-tooot/Pods-tooot.release.xcconfig"; sourceTree = ""; }; 9D878F932AF7A9974E06E461 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-tooot/ExpoModulesProvider.swift"; sourceTree = ""; }; AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = tooot/SplashScreen.storyboard; sourceTree = ""; }; - B96B72E5384D44A7B240B27E /* GoogleService-Info.plist */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "tooot/GoogleService-Info.plist"; sourceTree = ""; }; DF8133F098604A10B0D94952 /* boop.mp3 */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = boop.mp3; path = tooot/boop.mp3; sourceTree = ""; }; E613A80A28282A01003C97D6 /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = tooot/AppDelegate.mm; sourceTree = ""; }; E633A420281EAEAB000E540F /* ShareExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -122,7 +120,6 @@ 13B07FB71A68108700A75B9A /* main.m */, AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */, 5E36538225C9B8BD009F93EE /* RootViewColor.xcassets */, - B96B72E5384D44A7B240B27E /* GoogleService-Info.plist */, 5EE088CB26297820007E5FEC /* InfoPlist.strings */, DF8133F098604A10B0D94952 /* boop.mp3 */, ); @@ -319,7 +316,6 @@ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */, - DA8B5B7F0DED488CAC0FF169 /* GoogleService-Info.plist in Resources */, 4986628FD0DD4630BFE5F388 /* boop.mp3 in Resources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/ios/tooot/GoogleService-Info.plist b/ios/tooot/GoogleService-Info.plist deleted file mode 100644 index 553df7ab..00000000 --- a/ios/tooot/GoogleService-Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CLIENT_ID - 661638997772-65g8ce369ugck3ii4ulk6jhb3ijg51kl.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.661638997772-65g8ce369ugck3ii4ulk6jhb3ijg51kl - API_KEY - AIzaSyAOS1Yq_uNVctG89LB6Dl1PVhb_FAQRbRg - GCM_SENDER_ID - 661638997772 - PLIST_VERSION - 1 - BUNDLE_ID - com.xmflsct.app.tooot - PROJECT_ID - xmflsct-mastodon-app - STORAGE_BUCKET - xmflsct-mastodon-app.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:661638997772:ios:c8d2e09264a344b09f8b29 - - \ No newline at end of file diff --git a/package.json b/package.json index fce73f57..4e43b860 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "expo-constants": "^14.0.2", "expo-crypto": "^12.0.0", "expo-file-system": "^15.1.1", - "expo-firebase-analytics": "^8.0.0", "expo-haptics": "^12.0.1", "expo-linking": "^3.2.3", "expo-localization": "^14.0.0", diff --git a/src/Screens.tsx b/src/Screens.tsx index 82e09f8c..59c7c3b1 100644 --- a/src/Screens.tsx +++ b/src/Screens.tsx @@ -1,4 +1,3 @@ -import analytics from '@components/analytics' import { HeaderLeft } from '@components/Header' import { displayMessage, Message } from '@components/Message' import navigationRef from '@helpers/navigationRef' @@ -113,7 +112,6 @@ const Screens: React.FC = ({ localCorrupt }) => { } if (previousRoute?.name !== currentRoute?.name) { - analytics('screen_view', { screen_name: currentRoute?.name }) Sentry.setContext('page', { previous: previousRoute, current: currentRoute diff --git a/src/components/Account.tsx b/src/components/Account.tsx index 103ded66..a59684b7 100644 --- a/src/components/Account.tsx +++ b/src/components/Account.tsx @@ -6,29 +6,19 @@ import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React, { useCallback } from 'react' import { Pressable, View } from 'react-native' -import analytics from './analytics' import GracefullyImage from './GracefullyImage' import CustomText from './Text' export interface Props { account: Mastodon.Account onPress?: () => void - origin?: string } -const ComponentAccount: React.FC = ({ - account, - onPress: customOnPress, - origin -}) => { +const ComponentAccount: React.FC = ({ account, onPress: customOnPress }) => { const { colors } = useTheme() - const navigation = - useNavigation>() + const navigation = useNavigation>() - const onPress = useCallback(() => { - analytics('search_account_press', { page: origin }) - navigation.push('Tab-Shared-Account', { account }) - }, []) + const onPress = useCallback(() => navigation.push('Tab-Shared-Account', { account }), []) return ( { - analytics('timeline_shared_headeractions_domain_block_confirm', { - page: queryKey && queryKey[1].page - }) mutation.mutate({ type: 'domainBlock', queryKey, diff --git a/src/components/ContextMenu/share.ts b/src/components/ContextMenu/share.ts index 03401876..9bc5c465 100644 --- a/src/components/ContextMenu/share.ts +++ b/src/components/ContextMenu/share.ts @@ -1,4 +1,3 @@ -import analytics from '@components/analytics' import { displayMessage } from '@components/Message' import Clipboard from '@react-native-clipboard/clipboard' import { useTheme } from '@utils/styles/ThemeManager' @@ -39,7 +38,6 @@ const contextMenuShare = ({ copiableContent, actions, type, url }: Props) => { return // For Android } if (actions[index].id === 'copy') { - analytics('timeline_shared_headeractions_copy_press') Clipboard.setString(copiableContent?.current.content || '') displayMessage({ theme, @@ -48,7 +46,6 @@ const contextMenuShare = ({ copiableContent, actions, type, url }: Props) => { }) } if (actions[index].id === 'share') { - analytics('timeline_shared_headeractions_share_press') switch (Platform.OS) { case 'ios': Share.share({ url }) diff --git a/src/components/ContextMenu/status.ts b/src/components/ContextMenu/status.ts index 8e98f7fc..b5cc3402 100644 --- a/src/components/ContextMenu/status.ts +++ b/src/components/ContextMenu/status.ts @@ -1,5 +1,4 @@ import apiInstance from '@api/instance' -import analytics from '@components/analytics' import { displayMessage } from '@components/Message' import { useNavigation } from '@react-navigation/native' import { NativeStackNavigationProp } from '@react-navigation/native-stack' @@ -107,17 +106,11 @@ const contextMenuStatus = ({ actions, status, queryKey, rootQueryKey }: Props) = return // For Android } if (actions[index].id === 'status-delete') { - analytics('timeline_shared_headeractions_status_delete_press', { - page: queryKey && queryKey[1].page - }) Alert.alert(t('status.delete.alert.title'), t('status.delete.alert.message'), [ { text: t('status.delete.alert.buttons.confirm'), style: 'destructive', onPress: async () => { - analytics('timeline_shared_headeractions_status_delete_confirm', { - page: queryKey && queryKey[1].page - }) mutation.mutate({ type: 'deleteItem', source: 'statuses', @@ -133,17 +126,11 @@ const contextMenuStatus = ({ actions, status, queryKey, rootQueryKey }: Props) = ]) } if (actions[index].id === 'status-delete-edit') { - analytics('timeline_shared_headeractions_status_deleteedit_press', { - page: queryKey && queryKey[1].page - }) Alert.alert(t('status.deleteEdit.alert.title'), t('status.deleteEdit.alert.message'), [ { text: t('status.deleteEdit.alert.buttons.confirm'), style: 'destructive', onPress: async () => { - analytics('timeline_shared_headeractions_status_deleteedit_confirm', { - page: queryKey && queryKey[1].page - }) let replyToStatus: Mastodon.Status | undefined = undefined if (status.in_reply_to_id) { replyToStatus = await apiInstance({ @@ -174,9 +161,6 @@ const contextMenuStatus = ({ actions, status, queryKey, rootQueryKey }: Props) = ]) } if (actions[index].id === 'status-mute') { - analytics('timeline_shared_headeractions_status_mute_press', { - page: queryKey && queryKey[1].page - }) mutation.mutate({ type: 'updateStatusProperty', queryKey, @@ -191,9 +175,6 @@ const contextMenuStatus = ({ actions, status, queryKey, rootQueryKey }: Props) = }) } if (actions[index].id === 'status-edit') { - analytics('timeline_shared_headeractions_status_edit_press', { - page: queryKey && queryKey[1].page - }) let replyToStatus: Mastodon.Status | undefined = undefined if (status.in_reply_to_id) { replyToStatus = await apiInstance({ @@ -224,9 +205,6 @@ const contextMenuStatus = ({ actions, status, queryKey, rootQueryKey }: Props) = } if (actions[index].id === 'status-pin') { // Also note that reblogs cannot be pinned. - analytics('timeline_shared_headeractions_status_pin_press', { - page: queryKey && queryKey[1].page - }) mutation.mutate({ type: 'updateStatusProperty', queryKey, diff --git a/src/components/Hashtag.tsx b/src/components/Hashtag.tsx index 7efccdf3..aebb1adc 100644 --- a/src/components/Hashtag.tsx +++ b/src/components/Hashtag.tsx @@ -5,7 +5,6 @@ import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' import React, { useCallback } from 'react' import { Pressable } from 'react-native' -import analytics from './analytics' import CustomText from './Text' export interface Props { @@ -24,7 +23,6 @@ const ComponentHashtag: React.FC = ({ useNavigation>() const onPress = useCallback(() => { - analytics('search_account_press', { page: origin }) navigation.push('Tab-Shared-Hashtag', { hashtag: hashtag.name }) }, []) diff --git a/src/components/Instance.tsx b/src/components/Instance.tsx index b37361c2..46be34e8 100644 --- a/src/components/Instance.tsx +++ b/src/components/Instance.tsx @@ -9,18 +9,10 @@ import * as WebBrowser from 'expo-web-browser' import { debounce } from 'lodash' import React, { RefObject, useCallback, useMemo, useState } from 'react' import { Trans, useTranslation } from 'react-i18next' -import { - Alert, - Image, - KeyboardAvoidingView, - Platform, - TextInput, - View -} from 'react-native' +import { Alert, Image, KeyboardAvoidingView, Platform, TextInput, View } from 'react-native' import { ScrollView } from 'react-native-gesture-handler' import { useSelector } from 'react-redux' import { Placeholder } from 'rn-placeholder' -import analytics from './analytics' import InstanceAuth from './Instance/Auth' import InstanceInfo from './Instance/Info' import CustomText from './Text' @@ -65,11 +57,7 @@ const ComponentInstance: React.FC = ({ const processUpdate = useCallback(() => { if (domain) { - analytics('instance_login') - if ( - instances && - instances.filter(instance => instance.url === domain).length - ) { + if (instances && instances.filter(instance => instance.url === domain).length) { Alert.alert(t('update.alert.title'), t('update.alert.message'), [ { text: t('update.alert.buttons.cancel'), @@ -142,9 +130,7 @@ const ComponentInstance: React.FC = ({ borderBottomWidth: 1, ...StyleConstants.FontStyle.M, color: colors.primaryDefault, - borderBottomColor: instanceQuery.isError - ? colors.red - : colors.border + borderBottomColor: instanceQuery.isError ? colors.red : colors.border }} editable={false} defaultValue='https://' @@ -156,9 +142,7 @@ const ComponentInstance: React.FC = ({ ...StyleConstants.FontStyle.M, marginRight: StyleConstants.Spacing.M, color: colors.primaryDefault, - borderBottomColor: instanceQuery.isError - ? colors.red - : colors.border + borderBottomColor: instanceQuery.isError ? colors.red : colors.border }} onChangeText={onChangeText} autoCapitalize='none' @@ -166,7 +150,6 @@ const ComponentInstance: React.FC = ({ keyboardType='url' textContentType='URL' onSubmitEditing={({ nativeEvent: { text } }) => { - analytics('instance_textinput_submit', { match: text === domain }) if ( text === domain && instanceQuery.isSuccess && @@ -182,11 +165,7 @@ const ComponentInstance: React.FC = ({ keyboardAppearance={mode} {...(scrollViewRef && { onFocus: () => - setTimeout( - () => - scrollViewRef.current?.scrollTo({ y: 0, animated: true }), - 150 - ) + setTimeout(() => scrollViewRef.current?.scrollTo({ y: 0, animated: true }), 150) })} autoCorrect={false} spellCheck={false} @@ -211,27 +190,19 @@ const ComponentInstance: React.FC = ({ @@ -248,17 +219,11 @@ const ComponentInstance: React.FC = ({ size={StyleConstants.Font.Size.S} color={colors.secondary} style={{ - marginTop: - (StyleConstants.Font.LineHeight.S - - StyleConstants.Font.Size.S) / - 2, + marginTop: (StyleConstants.Font.LineHeight.S - StyleConstants.Font.Size.S) / 2, marginRight: StyleConstants.Spacing.XS }} /> - + {t('server.disclaimer.base')} @@ -274,10 +239,7 @@ const ComponentInstance: React.FC = ({ size={StyleConstants.Font.Size.S} color={colors.secondary} style={{ - marginTop: - (StyleConstants.Font.LineHeight.S - - StyleConstants.Font.Size.S) / - 2, + marginTop: (StyleConstants.Font.LineHeight.S - StyleConstants.Font.Size.S) / 2, marginRight: StyleConstants.Spacing.XS }} /> @@ -292,22 +254,14 @@ const ComponentInstance: React.FC = ({ { - analytics('view_privacy') - WebBrowser.openBrowserAsync( - 'https://tooot.app/privacy-policy' - ) - }} + onPress={() => WebBrowser.openBrowserAsync('https://tooot.app/privacy-policy')} />, { - analytics('view_tos') - WebBrowser.openBrowserAsync( - 'https://tooot.app/terms-of-service' - ) - }} + onPress={() => + WebBrowser.openBrowserAsync('https://tooot.app/terms-of-service') + } /> ]} /> diff --git a/src/components/Parse/HTML.tsx b/src/components/Parse/HTML.tsx index e68b3d30..b619b144 100644 --- a/src/components/Parse/HTML.tsx +++ b/src/components/Parse/HTML.tsx @@ -1,4 +1,3 @@ -import analytics from '@components/analytics' import Icon from '@components/Icon' import openLink from '@components/openLink' import ParseEmojis from '@components/Parse/Emojis' @@ -63,7 +62,6 @@ const renderNode = ({ lineHeight: adaptedLineheight }} onPress={() => { - analytics('status_hashtag_press') !disableDetails && differentTag && navigation.push('Tab-Shared-Hashtag', { @@ -89,7 +87,6 @@ const renderNode = ({ lineHeight: adaptedLineheight }} onPress={() => { - analytics('status_mention_press') accountIndex !== -1 && !disableDetails && differentAccount && @@ -118,7 +115,6 @@ const renderNode = ({ lineHeight: adaptedLineheight }} onPress={async () => { - analytics('status_link_press') if (!disableDetails) { if (shouldBeTag) { navigation.push('Tab-Shared-Hashtag', { @@ -255,7 +251,6 @@ const ParseHTML = React.memo( { - analytics('status_readmore', { totalLines, expanded }) layoutAnimation() setExpanded(!expanded) }} diff --git a/src/components/Relationship/Incoming.tsx b/src/components/Relationship/Incoming.tsx index feb97340..d6eb633c 100644 --- a/src/components/Relationship/Incoming.tsx +++ b/src/components/Relationship/Incoming.tsx @@ -1,11 +1,7 @@ -import analytics from '@components/analytics' import Button from '@components/Button' import haptics from '@components/haptics' import { displayMessage } from '@components/Message' -import { - QueryKeyRelationship, - useRelationshipMutation -} from '@utils/queryHooks/relationship' +import { QueryKeyRelationship, useRelationshipMutation } from '@utils/queryHooks/relationship' import { QueryKeyTimeline } from '@utils/queryHooks/timeline' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' @@ -23,17 +19,12 @@ const RelationshipIncoming: React.FC = ({ id }) => { const { t } = useTranslation() const queryKeyRelationship: QueryKeyRelationship = ['Relationship', { id }] - const queryKeyNotification: QueryKeyTimeline = [ - 'Timeline', - { page: 'Notifications' } - ] + const queryKeyNotification: QueryKeyTimeline = ['Timeline', { page: 'Notifications' }] const queryClient = useQueryClient() const mutation = useRelationshipMutation({ onSuccess: res => { haptics('Success') - queryClient.setQueryData(queryKeyRelationship, [ - res - ]) + queryClient.setQueryData(queryKeyRelationship, [res]) queryClient.refetchQueries(queryKeyNotification) }, onError: (err: any, { type }) => { @@ -62,28 +53,26 @@ const RelationshipIncoming: React.FC = ({ id }) => { type='icon' content='X' loading={mutation.isLoading} - onPress={() => { - analytics('relationship_incoming_press_reject') + onPress={() => mutation.mutate({ id, type: 'incoming', payload: { action: 'reject' } }) - }} + } />