From bd750da9d5888cde07fb8f29ded9821695e1de07 Mon Sep 17 00:00:00 2001 From: xmflsct Date: Wed, 23 Nov 2022 22:09:41 +0100 Subject: [PATCH 01/26] Update useConnect.ts --- src/utils/push/useConnect.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/push/useConnect.ts b/src/utils/push/useConnect.ts index d559e82f..a6fc3b09 100644 --- a/src/utils/push/useConnect.ts +++ b/src/utils/push/useConnect.ts @@ -14,7 +14,7 @@ import { AppState } from 'react-native' import { useSelector } from 'react-redux' const pushUseConnect = () => { - const { t } = useTranslation('screen') + const { t } = useTranslation('screens') const { theme } = useTheme() const dispatch = useAppDispatch() From 0e9ef0ec40caef22d9404b9d47c29e455b75bb47 Mon Sep 17 00:00:00 2001 From: Hanjiang Yu Date: Fri, 25 Nov 2022 22:31:49 +0800 Subject: [PATCH 02/26] Play audio in silent mode on iOS --- src/startup/audio.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/startup/audio.ts b/src/startup/audio.ts index 2f3c2b51..4b5aa9b6 100644 --- a/src/startup/audio.ts +++ b/src/startup/audio.ts @@ -6,6 +6,7 @@ const audio = () => { Audio.setAudioModeAsync({ interruptionModeIOS: InterruptionModeIOS.MixWithOthers, interruptionModeAndroid: InterruptionModeAndroid.DuckOthers, + playsInSilentModeIOS: true, staysActiveInBackground: false }) } From c60de7a5a1bd934a2edaa3f9aeca785dd4471d79 Mon Sep 17 00:00:00 2001 From: Hanjiang Yu Date: Mon, 28 Nov 2022 21:42:01 +0800 Subject: [PATCH 03/26] Fix the "undefined" string in DM --- src/screens/Compose.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/screens/Compose.tsx b/src/screens/Compose.tsx index cb3e5f3b..5a423e1f 100644 --- a/src/screens/Compose.tsx +++ b/src/screens/Compose.tsx @@ -168,7 +168,7 @@ const ScreenCompose: React.FC> = ({ textInput: 'text', composeDispatch, content: - (params.text && `${params.text}\n`) + + (params.text ? `${params.text}\n` : '') + params.accts.map(acct => `@${acct}`).join(' ') + ' ', disableDebounce: true From eda77fd7fcc3c9c7a2a63abb35d66cf3e7813cec Mon Sep 17 00:00:00 2001 From: xmflsct Date: Tue, 29 Nov 2022 21:58:59 +0100 Subject: [PATCH 04/26] Bump packages --- ios/Podfile.lock | 28 ++- package.json | 40 ++-- yarn.lock | 463 +++++++++++++++++++++++++++-------------------- 3 files changed, 303 insertions(+), 228 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index c57eaa54..6e5e751f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -3,7 +3,7 @@ PODS: - DoubleConversion (1.1.6) - EXApplication (5.0.1): - ExpoModulesCore - - EXAV (13.0.1): + - EXAV (13.0.2): - ExpoModulesCore - ReactCommon/turbomodule/core - EXConstants (14.0.2): @@ -23,7 +23,7 @@ PODS: - ExpoModulesCore - EXNotifications (0.17.0): - ExpoModulesCore - - Expo (47.0.7): + - Expo (47.0.8): - ExpoModulesCore - ExpoCrypto (12.0.0): - ExpoModulesCore @@ -417,9 +417,9 @@ PODS: - React - react-native-live-text-image-view (0.4.0): - React-Core - - react-native-netinfo (9.3.6): + - react-native-netinfo (9.3.7): - React-Core - - react-native-pager-view (6.1.1): + - react-native-pager-view (6.1.2): - React-Core - react-native-paste-input (0.5.1): - React-Core @@ -538,9 +538,9 @@ PODS: - RNScreens (3.18.2): - React-Core - React-RCTImage - - RNSentry (4.8.0): + - RNSentry (4.10.0): - React-Core - - Sentry (= 7.29.0) + - Sentry/HybridSDK (= 7.31.2) - RNShareMenu (6.0.0): - React - RNSVG (13.6.0): @@ -551,9 +551,7 @@ PODS: - SDWebImageWebPCoder (0.9.1): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.13) - - Sentry (7.29.0): - - Sentry/Core (= 7.29.0) - - Sentry/Core (7.29.0) + - Sentry/HybridSDK (7.31.2) - Swime (3.0.6) - Yoga (1.14.0) @@ -822,7 +820,7 @@ SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 EXApplication: 034b1c40a8e9fe1bff76a1e511ee90dff64ad834 - EXAV: 766516466675fc5fdd7c500acced5934e8b00de2 + EXAV: 9a45d37772c5329294c054a041dcc39931fc5032 EXConstants: 3c86653c422dd77e40d10cbbabb3025003977415 EXErrorRecovery: ae43433feb0608a64dc5b1c8363b3e7769a9ea24 EXFileSystem: 60602b6eefa6873f97172c684b7537c9760b50d6 @@ -830,7 +828,7 @@ SPEC CHECKSUMS: EXFirebaseCore: d0d88cb904e893af07f809ab08c0892489bc6956 EXFont: 319606bfe48c33b5b5063fb0994afdc496befe80 EXNotifications: babce2a87b7922051354fcfe7a74dd279b7e272a - Expo: a37d568e9ae87645b74ed597dd0f0fd89e2daf2d + Expo: 36b5f625d36728adbdd1934d4d57182f319ab832 ExpoCrypto: 51e7662c7f5bfeab25b7909b8a5d545ec15d4877 ExpoHaptics: 5a56d30a87ea213dd00b09566dc4b441a4dff97f ExpoKeepAwake: 69b59d0a8d2b24de9f82759c39b3821fec030318 @@ -883,8 +881,8 @@ SPEC CHECKSUMS: react-native-image-picker: f2ab1215d17bcfe27b0eb6417cc236fd1f4775e7 react-native-language-detection: 0e43195ad014974f1b7a31b64820eff34a243f2d react-native-live-text-image-view: 483bacfdba464162b8cf176bba555364f18b584c - react-native-netinfo: f80db8cac2151405633324cb645c60af098ee461 - react-native-pager-view: 3c66c4e2f3ab423643d07b2c7041f8ac48395f72 + react-native-netinfo: 2517ad504b3d303e90d7a431b0fcaef76d207983 + react-native-pager-view: 54bed894cecebe28cede54c01038d9d1e122de43 react-native-paste-input: 183ad7dc224e192719616f4258dde5b548627d08 react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a react-native-segmented-control: 65df6cd0619b780b3843d574a72d4c7cec396097 @@ -906,12 +904,12 @@ SPEC CHECKSUMS: RNGestureHandler: 62232ba8f562f7dea5ba1b3383494eb5bf97a4d3 RNReanimated: ce445c233a6ff5600223484a88ad5704945d972a RNScreens: 34cc502acf1b916c582c60003dc3089fa01dc66d - RNSentry: db7fd7b66efda28885e4e904a8b5e7349aec61c1 + RNSentry: 211e1a62145d5bcb4bee926823061b5af47816c4 RNShareMenu: cb9dac548c8bf147d06f0bf07296ad51ea9f5fc3 RNSVG: 3a79c0c4992213e4f06c08e62730c5e7b9e4dc17 SDWebImage: b9a731e1d6307f44ca703b3976d18c24ca561e84 SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0 - Sentry: 4272663eb0eda312024d795ca3f5a562a8ce5e18 + Sentry: b15765d11769852fe78c9add942f7df60ed5dbf5 Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b Yoga: 99caf8d5ab45e9d637ee6e0174ec16fbbb01bcfc diff --git a/package.json b/package.json index f40d4351..fce73f57 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tooot", - "version": "4.6.4", + "version": "4.6.5", "description": "tooot for Mastodon", "author": "xmflsct ", "license": "GPL-3.0-or-later", @@ -19,11 +19,11 @@ }, "dependencies": { "@expo/react-native-action-sheet": "^4.0.1", - "@formatjs/intl-datetimeformat": "^6.3.1", + "@formatjs/intl-datetimeformat": "^6.4.0", "@formatjs/intl-getcanonicallocales": "^2.0.4", - "@formatjs/intl-locale": "^3.0.7", - "@formatjs/intl-numberformat": "^8.2.0", - "@formatjs/intl-pluralrules": "^5.1.4", + "@formatjs/intl-locale": "^3.0.8", + "@formatjs/intl-numberformat": "^8.3.0", + "@formatjs/intl-pluralrules": "^5.1.5", "@formatjs/intl-relativetimeformat": "^11.1.4", "@mattermost/react-native-paste-input": "^0.5.1", "@neverdull-agency/expo-unlimited-secure-store": "^1.0.10", @@ -31,19 +31,19 @@ "@react-native-camera-roll/camera-roll": "^5.1.0", "@react-native-clipboard/clipboard": "^1.11.1", "@react-native-community/blur": "^4.3.0", - "@react-native-community/netinfo": "9.3.6", + "@react-native-community/netinfo": "9.3.7", "@react-native-community/segmented-control": "^2.2.2", - "@react-navigation/bottom-tabs": "^6.4.1", - "@react-navigation/native": "^6.0.14", - "@react-navigation/native-stack": "^6.9.2", - "@react-navigation/stack": "^6.3.5", + "@react-navigation/bottom-tabs": "^6.4.3", + "@react-navigation/native": "^6.0.16", + "@react-navigation/native-stack": "^6.9.4", + "@react-navigation/stack": "^6.3.7", "@reduxjs/toolkit": "^1.9.0", - "@sentry/react-native": "4.8.0", - "@sharcoux/slider": "^6.0.3", + "@sentry/react-native": "4.10.0", + "@sharcoux/slider": "^6.1.1", "axios": "^0.27.2", - "expo": "^47.0.7", + "expo": "^47.0.8", "expo-auth-session": "^3.7.2", - "expo-av": "^13.0.1", + "expo-av": "^13.0.2", "expo-constants": "^14.0.2", "expo-crypto": "^12.0.0", "expo-file-system": "^15.1.1", @@ -66,7 +66,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-i18next": "^12.0.0", - "react-intl": "^6.2.1", + "react-intl": "^6.2.2", "react-native": "0.70.6", "react-native-animated-spinkit": "^1.5.2", "react-native-base64": "^0.2.1", @@ -80,7 +80,7 @@ "react-native-image-picker": "^4.10.1", "react-native-language-detection": "^0.1.0", "react-native-live-text-image-view": "^0.4.0", - "react-native-pager-view": "^6.1.1", + "react-native-pager-view": "^6.1.2", "react-native-reanimated": "^2.13.0", "react-native-reanimated-zoom": "^0.3.3", "react-native-safe-area-context": "^4.4.1", @@ -88,7 +88,7 @@ "react-native-share-menu": "^6.0.0", "react-native-svg": "^13.6.0", "react-native-swipe-list-view": "^3.2.9", - "react-native-tab-view": "^3.3.0", + "react-native-tab-view": "^3.3.2", "react-query": "^3.39.2", "react-redux": "^8.0.5", "redux-persist": "^6.0.0", @@ -96,16 +96,16 @@ "valid-url": "^1.0.9" }, "devDependencies": { - "@babel/core": "^7.20.2", + "@babel/core": "^7.20.5", "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/preset-react": "^7.18.6", "@babel/preset-typescript": "^7.18.6", "@expo/config": "^7.0.3", "@types/linkify-it": "^3.0.2", - "@types/lodash": "^4.14.189", + "@types/lodash": "^4.14.190", "@types/react": "~18.0.25", "@types/react-dom": "~18.0.9", - "@types/react-native": "~0.70.6", + "@types/react-native": "~0.70.7", "@types/react-native-base64": "^0.2.0", "@types/react-native-share-menu": "^5.0.2", "@types/react-timeago": "^4.1.3", diff --git a/yarn.lock b/yarn.lock index 3aa45a2d..bc01eee8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -51,7 +51,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.20.2": +"@babel/core@^7.13.16", "@babel/core@^7.14.0": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92" integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g== @@ -72,6 +72,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" + integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-module-transforms" "^7.20.2" + "@babel/helpers" "^7.20.5" + "@babel/parser" "^7.20.5" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@^7.14.0", "@babel/generator@^7.20.1", "@babel/generator@^7.20.2", "@babel/generator@^7.9.0": version "7.20.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8" @@ -81,6 +102,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" + integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== + dependencies: + "@babel/types" "^7.20.5" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -282,6 +312,15 @@ "@babel/traverse" "^7.20.1" "@babel/types" "^7.20.0" +"@babel/helpers@^7.20.5": + version "7.20.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" + integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -296,6 +335,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2" integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg== +"@babel/parser@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" + integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -1105,6 +1149,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" + integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.5" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.5" + "@babel/types" "^7.20.5" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.4.4", "@babel/types@^7.9.0": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842" @@ -1114,6 +1174,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84" + integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" @@ -1665,6 +1734,14 @@ "@formatjs/intl-localematcher" "0.2.31" tslib "2.4.0" +"@formatjs/ecma402-abstract@1.14.0": + version "1.14.0" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.0.tgz#2ee584d671e2776434da88b3e1ae4ed3053ad450" + integrity sha512-o1RDlkxcLzi0ZcoaovQooZC+0M3Ox0/DKZ+YTdUU9DHgWFeEZbYXEqM9k7JHdN7VyRi4wprTVPqrK+zR/9mo8Q== + dependencies: + "@formatjs/intl-localematcher" "0.2.31" + tslib "2.4.0" + "@formatjs/fast-memoize@1.2.6": version "1.2.6" resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-1.2.6.tgz#a442970db7e9634af556919343261a7bbe5e88c3" @@ -1672,38 +1749,38 @@ dependencies: tslib "2.4.0" -"@formatjs/icu-messageformat-parser@2.1.10": - version "2.1.10" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.10.tgz#d11114343fcb4c6d5ccabdeac50badf49c83fd9e" - integrity sha512-KkRMxhifWkRC45dhM9tqm0GXbb6NPYTGVYY3xx891IKc6p++DQrZTnmkVSNNO47OEERLfuP2KkPFPJBuu8z/wg== +"@formatjs/icu-messageformat-parser@2.1.11": + version "2.1.11" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.11.tgz#d0b59145bf910ea0fdd023a848369d7f08a16c26" + integrity sha512-g2OET65sDI0F3RUNXcyQPlxn+h+zQ6RkFIZZnOo70LtMEHTyDbgaMvauRlkBX52kqEe9eI99I3RaLvaM8pEcEg== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" - "@formatjs/icu-skeleton-parser" "1.3.14" + "@formatjs/ecma402-abstract" "1.14.0" + "@formatjs/icu-skeleton-parser" "1.3.15" tslib "2.4.0" -"@formatjs/icu-skeleton-parser@1.3.14": - version "1.3.14" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.14.tgz#b99ef7f855f8a58cab2519ec4f921f11c2bf74a7" - integrity sha512-7bv60HQQcBb3+TSj+45tOb/CHV5z1hOpwdtS50jsSBXfB+YpGhnoRsZxSRksXeCxMy6xn6tA6VY2601BrrK+OA== +"@formatjs/icu-skeleton-parser@1.3.15": + version "1.3.15" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.15.tgz#b30c6437aa259e8720e14beeff7e9c713d6e5646" + integrity sha512-/x7qBaswEGLEBm0vY8HmYy764py0FmD+pSzBNH5llgp1d0NFAIo+lTfsKFxPDk+iNNnL3f7ZH0KOyUtAResZ5Q== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" tslib "2.4.0" -"@formatjs/intl-datetimeformat@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@formatjs/intl-datetimeformat/-/intl-datetimeformat-6.3.1.tgz#a5909ee5b6f26572758c2d8e809c7cd888e01b68" - integrity sha512-6uJS+ipQo4m8+F8sSbTOd+4osoDe/9V10Me0OYL2jFCgxC/fKemRVqqGccNOg4l3rQghGHnmrsJLsZ1ydBo5LQ== +"@formatjs/intl-datetimeformat@^6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl-datetimeformat/-/intl-datetimeformat-6.4.0.tgz#cb743fb0aa0d119da1ad52e8c8688659cc704047" + integrity sha512-9dLbEq5UGCySAhVIOC+cUhhDHBDePBb2lafAllDxRpE6SHGBpEhxLLWMvm9iMokckF/T/Usg3240AxcKR3JNrA== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" "@formatjs/intl-localematcher" "0.2.31" tslib "2.4.0" -"@formatjs/intl-displaynames@6.1.4": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.1.4.tgz#26b2c7b814f5132b2e6d781bf4af7bce86f46852" - integrity sha512-sEbziGLsWQo6nA8ZUBcsDRlZzPg+uMVjDmbTalgGqRWLbdXuxMldTYdaCK+UptyJhkmNVM/erz3csTiyqamXHQ== +"@formatjs/intl-displaynames@6.2.0": + version "6.2.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.2.0.tgz#e0c5d2bec69949cccf9c0d533489d66667d9ed5b" + integrity sha512-gZCZBi7zYzkloVlzjNSS5XAZ0LNx51xHSzZhkqtkOnh1sWGP2Ciz/IcQQ/81SNzIk0kSCHx0n/VrisO7RLHkZQ== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" "@formatjs/intl-localematcher" "0.2.31" tslib "2.4.0" @@ -1714,21 +1791,21 @@ dependencies: tslib "2.4.0" -"@formatjs/intl-listformat@7.1.3": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.1.3.tgz#e2bda750a46d2a90d7fa023b02a984588978829c" - integrity sha512-rs0Kxl78PeRCedx2cmFoBqcun2Kf0bCQrF8ycna54sfePpDhMskvODWeI4G/xBioW01FjK7CJSvtJJ87hrr79A== +"@formatjs/intl-listformat@7.1.4": + version "7.1.4" + resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.1.4.tgz#a9d6483618f827bc97f1995301ea1734631e2078" + integrity sha512-hSUbhmNEcjtVcN7IkSpkFlectb3354sk+0RMa30H16LvBuLL+uXOt3RlwEWEDG7DjU5bcDqMuEu3fvoCKHpSvQ== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" "@formatjs/intl-localematcher" "0.2.31" tslib "2.4.0" -"@formatjs/intl-locale@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@formatjs/intl-locale/-/intl-locale-3.0.7.tgz#e8fa1eddb31d4f9d1e5228eca5f400ba1949b5b9" - integrity sha512-XucpMNDhiS/gkp+OdvGyHOKBgnB7DVnY81ErjUFI/ztLWxskEDfFhQrWJ4VeG+z0+k2kVnm2akAixhJws3hoKA== +"@formatjs/intl-locale@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@formatjs/intl-locale/-/intl-locale-3.0.8.tgz#9a98f06081ae5b093378116b7a871741a03c197a" + integrity sha512-/bauX5OtC+VTZtrGAMkKONn4zrkvyvhMna93hSx0bALxwFjOo2U+n84fO+GVayI0WySV0S2bVD0cwzcHCQJYag== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" "@formatjs/intl-getcanonicallocales" "2.0.4" tslib "2.4.0" @@ -1739,21 +1816,21 @@ dependencies: tslib "2.4.0" -"@formatjs/intl-numberformat@^8.2.0": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@formatjs/intl-numberformat/-/intl-numberformat-8.2.0.tgz#7c2262eb66aff1e899bec155da43c6d6ad50356a" - integrity sha512-X9tIhOSrzw8ywBowd0QGyNE6oXHCcp2GKfTxBR3BZ9m99f5omoQTEH89wTdEFM38oQcWgXN4juSpJYbtZUQ2MA== +"@formatjs/intl-numberformat@^8.3.0": + version "8.3.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl-numberformat/-/intl-numberformat-8.3.0.tgz#32b72f146a4c8a6ea19408eb55d77b170c37f544" + integrity sha512-WDGbaGhJOfl9tYfLDmAdDvtuIwud3ABM1mfuLELXO0ETQJICD89oIOFMTITCoWZBdxqsP55B64SJQBFJNBwQAg== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" "@formatjs/intl-localematcher" "0.2.31" tslib "2.4.0" -"@formatjs/intl-pluralrules@^5.1.4": - version "5.1.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl-pluralrules/-/intl-pluralrules-5.1.4.tgz#7b8f0101a47a017d6b747a5a42959ccb604e4bef" - integrity sha512-SD9G54mH5Kp8COUxZbGL44oLG5ZoNc3MYG/09jtPbPLv8GjLXbs9EEvnwGi0OD9PEnj7dkg0FoOLMulFLcoeCA== +"@formatjs/intl-pluralrules@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@formatjs/intl-pluralrules/-/intl-pluralrules-5.1.5.tgz#41de4ec508b5c240e4923a7807bbc3c8412425ae" + integrity sha512-Y+IB9xjJ1fhKIhFbmlvCYHyAQAbnuqqIo56C5P41A6PGUH2FGj+6v2xlwzE7vKb6+jxBGGqd1JVTYNJNGx0sGw== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" "@formatjs/intl-localematcher" "0.2.31" tslib "2.4.0" @@ -1766,17 +1843,17 @@ "@formatjs/intl-localematcher" "0.2.31" tslib "2.4.0" -"@formatjs/intl@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.5.1.tgz#7a743c3f5ca70b7c7881d6e67e5ce14e2fffac2a" - integrity sha512-P01ZGuDDlcN8bHHBCEHspJPvs8WJeO8SXlUIcVGWhS3IN5vUgz0QKUXcKBFnJbEHhONJ+azlObVwvlDKsE+kUg== +"@formatjs/intl@2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.6.0.tgz#9698d44d7167a93f301405d4cbff8e640498d569" + integrity sha512-pMrNpqNGj7QnQewIBe8Dh52teZ24hQpP4w4S4UzB0BZmTJ3KkIi05oJoL2Cagzsli4j1pXR0V39LD7+lnWhgCg== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" "@formatjs/fast-memoize" "1.2.6" - "@formatjs/icu-messageformat-parser" "2.1.10" - "@formatjs/intl-displaynames" "6.1.4" - "@formatjs/intl-listformat" "7.1.3" - intl-messageformat "10.2.1" + "@formatjs/icu-messageformat-parser" "2.1.11" + "@formatjs/intl-displaynames" "6.2.0" + "@formatjs/intl-listformat" "7.1.4" + intl-messageformat "10.2.2" tslib "2.4.0" "@gar/promisify@^1.0.1": @@ -2109,10 +2186,10 @@ prompts "^2.4.0" semver "^6.3.0" -"@react-native-community/netinfo@9.3.6": - version "9.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/netinfo/-/netinfo-9.3.6.tgz#730de4ebf83f7263fa61b0cbec6cde9b28660077" - integrity sha512-SwbBnHZuXcCUpYdL6ebt4HPAZEugPASl+RPxIyNe91Y+boZptzAFLywYW6yU93DYAhiHHFQBL6x6LxwF/K/tOQ== +"@react-native-community/netinfo@9.3.7": + version "9.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/netinfo/-/netinfo-9.3.7.tgz#92407f679f00bae005c785a9284e61d63e292b34" + integrity sha512-+taWmE5WpBp0uS6kf+bouCx/sn89G9EpR4s2M/ReLvctVIFL2Qh8WnWfBxqK9qwgmFha/uqjSr2Gq03OOtiDcw== "@react-native-community/segmented-control@^2.2.2": version "2.2.2" @@ -2139,63 +2216,63 @@ resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa" integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ== -"@react-navigation/bottom-tabs@^6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.4.1.tgz#54e469077f7c9f3750e6727ec8f298d5497b6ae5" - integrity sha512-b12o0aVe+A9bUVP31kQLVcZ5l4Inm/7XhpSS5FvwhoI9L2iwofK1tt98uEQd79NIAklfui+IqRqr2X6XKkygbA== +"@react-navigation/bottom-tabs@^6.4.3": + version "6.4.3" + resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.4.3.tgz#38498ade0e03294d7ba7fdcd96ab347c7ad1eb04" + integrity sha512-nkuHJ31mEyrZZPswfMAHZgUTEm11ohN9Fy54wao2HFk1VM4eplijX6pFGycA4yhKy73A/aesKhghVPzR+FaSmg== dependencies: - "@react-navigation/elements" "^1.3.7" + "@react-navigation/elements" "^1.3.9" color "^4.2.3" warn-once "^0.1.0" -"@react-navigation/core@^6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.1.tgz#2d290cadc23992e914c45b5712efa30e5f37587f" - integrity sha512-M1rTS+qaw84ZItvObwFTjuvXfrJRnXL2uJJeiDVwSvu7/30Wp6bkL3/MfLUEA6I4CzJhL74iRSfCKSVe7kVhlw== +"@react-navigation/core@^6.4.3": + version "6.4.3" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.3.tgz#5609bab95e3080d190eff46a64e52cc06eb0c4cf" + integrity sha512-+HGHeEq7GK029Jy2jFkV2uQYc6a6AurjjUAVFlSz5tsNo4L5E3ZCzo7sk5+lcvt0Agdedf5Q+wTiWjT7IrixgA== dependencies: - "@react-navigation/routers" "^6.1.3" + "@react-navigation/routers" "^6.1.5" escape-string-regexp "^4.0.0" nanoid "^3.1.23" query-string "^7.0.0" react-is "^16.13.0" use-latest-callback "^0.1.5" -"@react-navigation/elements@^1.3.7": - version "1.3.7" - resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.7.tgz#40d80a7f34d645b605289da10bc4b6c3a7667215" - integrity sha512-OZg2N/dd2tl6qkfrWvmUjFsYsbEyHEv4NbZSBuT+CR+d1pzmexN2IeVmi4cEMoR7U7GwhFcHRevF36yBsjU/dw== +"@react-navigation/elements@^1.3.9": + version "1.3.9" + resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.9.tgz#33e26d7ad655b012e024ef0a005a3f66201287f8" + integrity sha512-V9aIZN19ufaKWlXT4UcM545tDiEt9DIQS+74pDgbnzoQcDypn0CvSqWopFhPACMdJatgmlZUuOrrMfTeNrBWgA== -"@react-navigation/native-stack@^6.9.2": - version "6.9.2" - resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.2.tgz#8c861a59a2a86aaf25f0f33a990958edc36ddac4" - integrity sha512-W5CYX+mYVyOYUgWoN15O34Pv/JieX2/pU09yh+kacxPHPEm4gYTQM/OIHACOov5T2WyiNSU6iIHjfzQ6e7M9zw== +"@react-navigation/native-stack@^6.9.4": + version "6.9.4" + resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.4.tgz#d9cc26ad97afcee1c0e3fb092ae4c60f848b1572" + integrity sha512-R40G2Zfo748hE4+we/TUAEClw53l0QdFDJ0q/9VS1moxgI4zUopdBxN5SmF32OMFfkedMRAT9J+aVbwgmdn7pA== dependencies: - "@react-navigation/elements" "^1.3.7" + "@react-navigation/elements" "^1.3.9" warn-once "^0.1.0" -"@react-navigation/native@^6.0.14": - version "6.0.14" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.0.14.tgz#3ce3a4176ac7dc5495241d56a28db18449baf754" - integrity sha512-Z95bJrRkZerBJq6Qc/xjA/kibPpB+UvPeMWS1CBhRF8FaX1483UdHqPqSbW879tPwjP2R4XfoA4dtoEHswrOjA== +"@react-navigation/native@^6.0.16": + version "6.0.16" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.0.16.tgz#a37df62da9db912c91c53e2cdeadb954865a6a9b" + integrity sha512-YVmzypkDppV/vAG+66KTJ2RFtPjhDTLLjgk8TNTCHG3pahq1q13zbnEPjqB42bU4kgL5SG17O4saErt1DJaWQg== dependencies: - "@react-navigation/core" "^6.4.1" + "@react-navigation/core" "^6.4.3" escape-string-regexp "^4.0.0" fast-deep-equal "^3.1.3" nanoid "^3.1.23" -"@react-navigation/routers@^6.1.3": - version "6.1.3" - resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.3.tgz#1df51959e9a67c44367462e8b929b7360a5d2555" - integrity sha512-idJotMEzHc3haWsCh7EvnnZMKxvaS4YF/x2UyFBkNFiEFUaEo/1ioQU6qqmVLspdEv4bI/dLm97hQo7qD8Yl7Q== +"@react-navigation/routers@^6.1.5": + version "6.1.5" + resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.5.tgz#b3e06bc09346ad94206bcc71c46538d5b6dc4883" + integrity sha512-JzMRiRRu8J0yUMC7BV8wOVzevjkHnIPONbpCTL/vH5yceTm+dSH/U3esIObgk8wYYbov+jYlVhwUQNGRb2to6g== dependencies: nanoid "^3.1.23" -"@react-navigation/stack@^6.3.5": - version "6.3.5" - resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.5.tgz#c616ef78cbaa55938da993d871d9fc41801d41f4" - integrity sha512-G706Ow+8fhiLT5Cf48566YsjboU5h5ll9nva90xX3br7V6x0JMoGMvXjvbORZyzLuUytQO3mf0T3nVUuO52vZQ== +"@react-navigation/stack@^6.3.7": + version "6.3.7" + resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.7.tgz#a2c0e08c8cc8696da203eba6905025ce8665f40a" + integrity sha512-M0gGeIpXmY08ZxZlHO9o/NLj9lO4zGdTll+a9e40BwfSxR5v6R34msKHUJ57nxrzvr2/MSSllZRkW3wc8woKFg== dependencies: - "@react-navigation/elements" "^1.3.7" + "@react-navigation/elements" "^1.3.9" color "^4.2.3" warn-once "^0.1.0" @@ -2217,14 +2294,14 @@ component-type "^1.2.1" join-component "^1.1.0" -"@sentry/browser@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.16.0.tgz#afd2bac91857d2359272a0d9d2b1ee5ca7d69828" - integrity sha512-tJ063zvoF8Raw7mzQEXupOFPSN6v36WIbsDVGeFdToPCwViaBuATaxvWCrudGzsnBkMyItmTLJkzn9SEIXUOiw== +"@sentry/browser@7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.21.1.tgz#bffa3ea19050c06400107d2297b9802f9719f98b" + integrity sha512-cS2Jz2+fs9+4pJqLJPtYqGyY97ywJDWAWIR1Yla3hs1QQuH6m0Nz3ojZD1gE2eKH9mHwkGbnNAh+hHcrYrfGzw== dependencies: - "@sentry/core" "7.16.0" - "@sentry/types" "7.16.0" - "@sentry/utils" "7.16.0" + "@sentry/core" "7.21.1" + "@sentry/types" "7.21.1" + "@sentry/utils" "7.21.1" tslib "^1.9.3" "@sentry/cli@1.74.4": @@ -2253,83 +2330,83 @@ proxy-from-env "^1.1.0" which "^2.0.2" -"@sentry/core@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.16.0.tgz#60f9b54ef2ec524176b329e1d15be39c36da5953" - integrity sha512-vq6H1b/IPTvzDD9coQ3wIudvSjkAYuUlXb1dv69dRlq4v3st9dcKBps1Zf0lQ1i4TVlDLoe1iGMmNFglMF1Q5w== +"@sentry/core@7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.21.1.tgz#d0423282d90875625802dfe380f9657e9242b72b" + integrity sha512-Og5wEEsy24fNvT/T7IKjcV4EvVK5ryY2kxbJzKY6GU2eX+i+aBl+n/vp7U0Es351C/AlTkS+0NOUsp2TQQFxZA== dependencies: - "@sentry/types" "7.16.0" - "@sentry/utils" "7.16.0" + "@sentry/types" "7.21.1" + "@sentry/utils" "7.21.1" tslib "^1.9.3" -"@sentry/hub@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.16.0.tgz#26d65a2f6c71d18ec7a20f352fa8c4c461db2940" - integrity sha512-eCM66JPS2nw+fQK3vpJhs6Lxf4FqOwPqIpFbJ2TivQ8kgJyolHOyeH/LsmJbcw97P4sc3O3LHt5v93vTKmlDrw== +"@sentry/hub@7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.21.1.tgz#5c046fd2ca7eaf14cd0bf70617cc8b057f9b88ce" + integrity sha512-WXQJ5z5iUZO6sOq3f7A3eIwvb/GoVJ3q5DQDTNF7HB/qcm11u5QPlAHTFBCsKJdT39NaE78JcMluiHZUWT+C5A== dependencies: - "@sentry/core" "7.16.0" - "@sentry/types" "7.16.0" - "@sentry/utils" "7.16.0" + "@sentry/core" "7.21.1" + "@sentry/types" "7.21.1" + "@sentry/utils" "7.21.1" tslib "^1.9.3" -"@sentry/integrations@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.16.0.tgz#fa6a2a2b7275efec5cf67c07eb76297447301ff2" - integrity sha512-PJRmFUHOKMf1APOlwxGB7Z6LHzJP4xL6OLSoiwnruRuHaGvdyILA53fr/A6wRMSPyTxJDJpNkcN36cA56mLxYA== +"@sentry/integrations@7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.21.1.tgz#8a5d5595521c4891cc2582f98d253a074ba54abc" + integrity sha512-DbQZSdsqaD9RTy5WvLzonoJa2CIgeapnGfFOadnQGOD8A8GT9Bre/BgcQ5ksHqGnVfzYwpU26k/ue9gjXnI/Pg== dependencies: - "@sentry/types" "7.16.0" - "@sentry/utils" "7.16.0" + "@sentry/types" "7.21.1" + "@sentry/utils" "7.21.1" localforage "^1.8.1" tslib "^1.9.3" -"@sentry/react-native@4.8.0": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-4.8.0.tgz#77609f20dd84820e051d2669324e0e380702f4b6" - integrity sha512-+8js5kRGw8XurRqIVI+IT4tWdBlK6SVEEP6zHTMYB6u4NNzSXc5gKCheSZ1SeKAl30e1ZFw4t4Ace6kO+TlVdQ== +"@sentry/react-native@4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-4.10.0.tgz#5824aeecf7dab27afd6f635411f2738faffd546c" + integrity sha512-90hPQ+kdHpCPwA6iAuDIvsDi9aM07JMGXP3fHivSIAVWGtpBtYjl+QT1amDorXwW04RdVLCEteL+21t0DxU8Eg== dependencies: - "@sentry/browser" "7.16.0" + "@sentry/browser" "7.21.1" "@sentry/cli" "1.74.4" - "@sentry/core" "7.16.0" - "@sentry/hub" "7.16.0" - "@sentry/integrations" "7.16.0" - "@sentry/react" "7.16.0" - "@sentry/tracing" "7.16.0" - "@sentry/types" "7.16.0" - "@sentry/utils" "7.16.0" + "@sentry/core" "7.21.1" + "@sentry/hub" "7.21.1" + "@sentry/integrations" "7.21.1" + "@sentry/react" "7.21.1" + "@sentry/tracing" "7.21.1" + "@sentry/types" "7.21.1" + "@sentry/utils" "7.21.1" "@sentry/wizard" "1.2.17" -"@sentry/react@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.16.0.tgz#7b214736804b7516ba66230301bc6f0202060a91" - integrity sha512-tJH5zO4MPopzqZgi7Yd4iIB9Am5uGVefgkHaoeCGXffveEVWqEdjj8TqPL36SBb76gCmtpa01NBDsUSDZ1w/yw== +"@sentry/react@7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.21.1.tgz#275e6fd46212f608f382c7dde46d21e748f93491" + integrity sha512-w91PIUyX07mErKgrBQA+7ID8zFKrYDUYSOrFSHufg5DdPq4EpHiNDe/Yngg3e9ELhtr1AbCnEvx9wlvqLi3nZQ== dependencies: - "@sentry/browser" "7.16.0" - "@sentry/types" "7.16.0" - "@sentry/utils" "7.16.0" + "@sentry/browser" "7.21.1" + "@sentry/types" "7.21.1" + "@sentry/utils" "7.21.1" hoist-non-react-statics "^3.3.2" tslib "^1.9.3" -"@sentry/tracing@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.16.0.tgz#823b84abf0df08ecd16669547b4281e3c7a96ac9" - integrity sha512-8a9bViUY7oS35msBMouxkgz5OGd9NGutuKF7SQ8hPZwTcQPOxOwPyHccykgr56k6OmaDjGCLZMqZowaysJj+4g== +"@sentry/tracing@7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.21.1.tgz#db02643e84960f1ea14b35fe75a93fc0bbca1fcb" + integrity sha512-b1BTPsRaNQpohzegoz59KGuBl+To651vEq0vMS4tCzSyIdxkYso3JCrjDdEqW/2MliQYANNVrUai2bmwmU9h1g== dependencies: - "@sentry/core" "7.16.0" - "@sentry/types" "7.16.0" - "@sentry/utils" "7.16.0" + "@sentry/core" "7.21.1" + "@sentry/types" "7.21.1" + "@sentry/utils" "7.21.1" tslib "^1.9.3" -"@sentry/types@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.16.0.tgz#79c06ada153a84feb949fa49b1c9d15f91decd79" - integrity sha512-i6D+OK6d0l/k+VQvRp/Pt21WkDEgVBUIZq+sOkEZJczbcfexVdXKeXXoYTD2vYuFq8Yy28fzlsZaKI+NoH94yQ== +"@sentry/types@7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.21.1.tgz#408a7b95a66ddc30c4359979594e03bee8f9fbdc" + integrity sha512-3/IKnd52Ol21amQvI+kz+WB76s8/LR5YvFJzMgIoI2S8d82smIr253zGijRXxHPEif8kMLX4Yt+36VzrLxg6+A== -"@sentry/utils@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.16.0.tgz#b832520c661d4435808969ee04814ff8e20497b1" - integrity sha512-3Zh1txg7IRp4kZAdG27YF7K6lD1IZyuAo9KjoPg1Xzqa4DOZyASJuEkbf+rK2a9T4HrtVHHXJUsNbKg8WM3VHg== +"@sentry/utils@7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.21.1.tgz#96582345178015fd32fe9159c25c44ccf2f99d2a" + integrity sha512-F0W0AAi8tgtTx6ApZRI2S9HbXEA9ENX1phTZgdNNWcMFm1BNbc21XEwLqwXBNjub5nlA6CE8xnjXRgdZKx4kzQ== dependencies: - "@sentry/types" "7.16.0" + "@sentry/types" "7.21.1" tslib "^1.9.3" "@sentry/wizard@1.2.17": @@ -2349,10 +2426,10 @@ xcode "3.0.1" yargs "^16.2.0" -"@sharcoux/slider@^6.0.3": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@sharcoux/slider/-/slider-6.0.3.tgz#0c43eade31fa64ea5d41ad1ce474c375fe35f806" - integrity sha512-eVweQ/BIc6jRXnUEWRKtytN5QndogBjiZqVxgXRcGRRI/DkeZV0Q5CcOsf7By6oUdCym3fORU7jTKMS8rIXlQA== +"@sharcoux/slider@^6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@sharcoux/slider/-/slider-6.1.1.tgz#6260c1d86d1a51bafdcf1341cd9ff5ce178fc710" + integrity sha512-0ubP44rDzIhmN0UJxp2Y0Yresmlpruz46ymlG/9uoZHyXjuGg7yMuS78c/myfSRrtjiQoqnFMU52+kaG1uhX5w== "@sideway/address@^4.1.3": version "4.1.4" @@ -2477,10 +2554,10 @@ resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.2.tgz#fd2cd2edbaa7eaac7e7f3c1748b52a19143846c9" integrity sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA== -"@types/lodash@^4.14.189": - version "4.14.189" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.189.tgz#975ff8c38da5ae58b751127b19ad5e44b5b7f6d2" - integrity sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA== +"@types/lodash@^4.14.190": + version "4.14.190" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.190.tgz#d8e99647af141c63902d0ca53cf2b34d2df33545" + integrity sha512-5iJ3FBJBvQHQ8sFhEhJfjUP+G+LalhavTkYyrAYqz5MEJG+erSv0k9KJLb6q7++17Lafk1scaTIFXcMJlwK8Mw== "@types/minimatch@*": version "5.1.2" @@ -2524,10 +2601,10 @@ resolved "https://registry.yarnpkg.com/@types/react-native-share-menu/-/react-native-share-menu-5.0.2.tgz#c9c8854a3d091cdb046df22dafe4a92332b322f3" integrity sha512-Qa9DGfL6Bvng2DXgCK0fFzdi9SJMGfs06MLSkCfSXBCGKlFLzSHCsXztvXlCCChn3dQArFHyz/uRUN3Sbt6LtQ== -"@types/react-native@~0.70.6": - version "0.70.6" - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.6.tgz#0d1bc3014111f64f13e0df643aec2ab03f021fdb" - integrity sha512-ynQ2jj0km9d7dbnyKqVdQ6Nti7VQ8SLTA/KKkkS5+FnvGyvij2AOo1/xnkBR/jnSNXuzrvGVzw2n0VWfppmfKw== +"@types/react-native@~0.70.7": + version "0.70.7" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.7.tgz#1708e5f746bbce2ea4e0bd5a2627560667804d46" + integrity sha512-hBzeUWwk8sfj3vDfwEXb4hbjWjl0jb5CvWlu2gLrOUJyFHVzJ+x6Y9ilO2eVtJW7l5QmmNLILE1PkVfKRkqYuQ== dependencies: "@types/react" "*" @@ -5490,10 +5567,10 @@ expo-auth-session@^3.7.2: invariant "^2.2.4" qs "6.9.1" -expo-av@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/expo-av/-/expo-av-13.0.1.tgz#c37c9d5381f2dabb224afacb7e71b3d88a3fc3f5" - integrity sha512-K4+ejVwWUpE0ZSHKPsgYNc5P6aoYfF5yBKw116Gjr1Yl/vkZ/F9klzr5cED1qmHBQ/Nst78GOvu4LCTLubcNsQ== +expo-av@^13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/expo-av/-/expo-av-13.0.2.tgz#06c2c5140b334319ed2844823181f7b88092da13" + integrity sha512-u+y9wUBodp08UjRZYckNWzr9zEQHK6eScRBkhdTd9Rq48SEZ7eN6xXn79hubvk0P5nj7lFS+hdKjmx9T5XHGww== expo-cli@^6.0.8: version "6.0.8" @@ -5728,10 +5805,10 @@ expo-web-browser@~12.0.0: dependencies: compare-urls "^2.0.0" -expo@^47.0.7: - version "47.0.7" - resolved "https://registry.yarnpkg.com/expo/-/expo-47.0.7.tgz#4fe95529c6b1e6d8026a164847ce1048f6dc5ccd" - integrity sha512-uHTxvPdD4K7W277tXVAdFmgjSZ0Hg+0g5bnez0jXyXQINa+0CTtGmulgFehBOrbrUZBqwosN0K8TsrxADwcXZQ== +expo@^47.0.8: + version "47.0.8" + resolved "https://registry.yarnpkg.com/expo/-/expo-47.0.8.tgz#80390fd63f8305103445069c647011915f7c32dd" + integrity sha512-PGNCIvrnYwHH4TDFsVocq/xhWZ5DW8N3bLkZJPZZgX6VgjtVLNsbZ+0lm1inLCZHP+6xSpSKRccjGHO/QQoMBQ== dependencies: "@babel/runtime" "^7.14.0" "@expo/cli" "0.4.10" @@ -7078,14 +7155,14 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -intl-messageformat@10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.2.1.tgz#2f5626db773c82f3038d355f56ac4736ceef362b" - integrity sha512-1lrJG2qKzcC1TVzYu1VuB1yiY68LU5rwpbHa2THCzA67Vutkz7+1lv5U20K3Lz5RAiH78zxNztMEtchokMWv8A== +intl-messageformat@10.2.2: + version "10.2.2" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.2.2.tgz#8436a6bf36d5d336513ff027fb099ca0d6676d13" + integrity sha512-iiaDjsEZNe92Vb8UIf46hT/3uVdcrL4x4GLjwFSVz/uC6ancQDUtyLVETX13wyTw78kBo3ONBMgiHoCtWN8ioQ== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" + "@formatjs/ecma402-abstract" "1.14.0" "@formatjs/fast-memoize" "1.2.6" - "@formatjs/icu-messageformat-parser" "2.1.10" + "@formatjs/icu-messageformat-parser" "2.1.11" tslib "2.4.0" invariant@*, invariant@^2.2.4: @@ -10380,20 +10457,20 @@ react-i18next@^12.0.0: "@babel/runtime" "^7.14.5" html-parse-stringify "^3.0.1" -react-intl@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.2.1.tgz#976a44f86a58270d1e498d09636b0ece63ad0344" - integrity sha512-hYxcSamgoA3Mvc55nwhTF1v15T0NUSkaV/EScMNVZXg0kRyaMAoNHkCi9/9H+TnXWNiWrcWH9bjlMlJwrG2V7g== +react-intl@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.2.2.tgz#966001736515cd4a24befcd60114c8c5fcc8e344" + integrity sha512-SW0BjtqyoxasdZYtoKLmPYjryqeN2vgtbOYc6J3PmJb/WHUih1X9LPjuL3Ap0Qen1sHLtUbwgJjRSWedGtibjg== dependencies: - "@formatjs/ecma402-abstract" "1.13.0" - "@formatjs/icu-messageformat-parser" "2.1.10" - "@formatjs/intl" "2.5.1" - "@formatjs/intl-displaynames" "6.1.4" - "@formatjs/intl-listformat" "7.1.3" + "@formatjs/ecma402-abstract" "1.14.0" + "@formatjs/icu-messageformat-parser" "2.1.11" + "@formatjs/intl" "2.6.0" + "@formatjs/intl-displaynames" "6.2.0" + "@formatjs/intl-listformat" "7.1.4" "@types/hoist-non-react-statics" "^3.3.1" "@types/react" "16 || 17 || 18" hoist-non-react-statics "^3.3.2" - intl-messageformat "10.2.1" + intl-messageformat "10.2.2" tslib "2.4.0" "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: @@ -10507,10 +10584,10 @@ react-native-live-text-image-view@^0.4.0: resolved "https://registry.yarnpkg.com/react-native-live-text-image-view/-/react-native-live-text-image-view-0.4.0.tgz#d23d5850788609fd1448533213fc6c453c584761" integrity sha512-PhVFE0YogSLrTlnHIxUWL80CrmbDvxk1JvLx4UHiRHRwLda4dV/e/9Q+Pyh7Vq7qwAPE6vGoN6sjbXNaj4WCew== -react-native-pager-view@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-6.1.1.tgz#e396b0c78d74931a92d1c9bf28c450eb356b904d" - integrity sha512-4WqR0YWBjaUtc3iPVk8w6wsTsMq+r0plNiXdqPXOiUdQIhxKfsP1iqb6hRzdeJKOo8UH7RCP6zI7dxdFEAXzrw== +react-native-pager-view@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-6.1.2.tgz#3522079b9a9d6634ca5e8d153bc0b4d660254552" + integrity sha512-qs2KSFc+7N7B+UZ6SG2sTvCkppagm5fVyRclv1KFKc7lDtrhXLzN59tXJw575LDP/dRJoXsNwqUAhZJdws6ABQ== react-native-reanimated-zoom@^0.3.3: version "0.3.3" @@ -10561,10 +10638,10 @@ react-native-swipe-list-view@^3.2.9: resolved "https://registry.yarnpkg.com/react-native-swipe-list-view/-/react-native-swipe-list-view-3.2.9.tgz#d725c7cdf481dd5df12a00dbfe0120013b5f2e59" integrity sha512-SjAEuHc/D6ovp+RjDUhfNmw6NYOntdT7+GFhfMGfP/BSLMuMWynpzJy9GKQeyB8sI78T6Lzip21TVbongOg1Mw== -react-native-tab-view@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-3.3.0.tgz#3d24ae4f4c55cfd54cd1d2d1f8915b0b2c33a5da" - integrity sha512-xjAQe657Gp/de2QHb7ptksTg8Jcb+j3fLAdcYryzfavt/pe+HtKLpkCtQsxyIJpRrAO7YPxFsymi2N4MnNfePA== +react-native-tab-view@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-3.3.2.tgz#4afc995e41b97e0457e95b487763d3f9dc318dcc" + integrity sha512-s0xr+wiMBHdjsWgbPTyZemgv7jJ+zKPBw/MIQIlKAMo4VCNV1vAZEbOHaHpGbqgYFwsmFXjKZNXQ5UJAIJXlDQ== dependencies: use-latest-callback "^0.1.5" From 75800598c29fae7b8bbb14c4e3c29ec819d0f94c Mon Sep 17 00:00:00 2001 From: xmflsct Date: Tue, 29 Nov 2022 21:59:52 +0100 Subject: [PATCH 05/26] Fix #489 --- src/components/Instance/Auth.tsx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/components/Instance/Auth.tsx b/src/components/Instance/Auth.tsx index 16af0428..9434220d 100644 --- a/src/components/Instance/Auth.tsx +++ b/src/components/Instance/Auth.tsx @@ -5,7 +5,9 @@ import { TabMeStackNavigationProp } from '@utils/navigation/navigators' import addInstance from '@utils/slices/instances/add' import { checkInstanceFeature } from '@utils/slices/instancesSlice' import * as AuthSession from 'expo-auth-session' +import * as WebBrowser from 'expo-web-browser' import React, { useEffect } from 'react' +import { Platform } from 'react-native' import { useQueryClient } from 'react-query' import { useSelector } from 'react-redux' @@ -24,14 +26,11 @@ const InstanceAuth = React.memo( useProxy: false }) - const navigation = - useNavigation>() + const navigation = useNavigation>() const queryClient = useQueryClient() const dispatch = useAppDispatch() - const deprecateAuthFollow = useSelector( - checkInstanceFeature('deprecate_auth_follow') - ) + const deprecateAuthFollow = useSelector(checkInstanceFeature('deprecate_auth_follow')) const [request, response, promptAsync] = AuthSession.useAuthRequest( { clientId: appData.clientId, @@ -48,7 +47,15 @@ const InstanceAuth = React.memo( useEffect(() => { ;(async () => { if (request?.clientId) { - await promptAsync() + let browserPackage: string | undefined + if (Platform.OS === 'android') { + const tabsSupportingBrowsers = await WebBrowser.getCustomTabsSupportingBrowsersAsync() + browserPackage = + tabsSupportingBrowsers?.preferredBrowserPackage || + tabsSupportingBrowsers.browserPackages[0] || + tabsSupportingBrowsers.servicePackages[0] + } + await promptAsync({ browserPackage }).catch(e => console.log(e)) } })() }, [request]) From de7498b218523ec8bda620c4e08727e2ce3f05c3 Mon Sep 17 00:00:00 2001 From: xmflsct Date: Tue, 29 Nov 2022 23:44:11 +0100 Subject: [PATCH 06/26] Fixed #497 --- android/app/build.gradle | 2 - android/app/google-services.json | 46 ------ android/build.gradle | 1 - app.config.ts | 1 - configs/GoogleService-Info.plist | 34 ---- configs/google-services.json | 46 ------ ios/Podfile | 6 - ios/Podfile.lock | 147 +----------------- ios/tooot.xcodeproj/project.pbxproj | 4 - ios/tooot/GoogleService-Info.plist | 34 ---- package.json | 1 - src/Screens.tsx | 2 - src/components/Account.tsx | 16 +- src/components/ContextMenu/account.ts | 10 -- src/components/ContextMenu/instance.ts | 7 - src/components/ContextMenu/share.ts | 3 - src/components/ContextMenu/status.ts | 22 --- src/components/Hashtag.tsx | 2 - src/components/Instance.tsx | 76 ++------- src/components/Parse/HTML.tsx | 5 - src/components/Relationship/Incoming.tsx | 25 +-- src/components/Relationship/Outgoing.tsx | 19 +-- src/components/Timeline/Conversation.tsx | 2 - src/components/Timeline/Default.tsx | 8 +- src/components/Timeline/Empty.tsx | 23 +-- src/components/Timeline/Notifications.tsx | 4 +- src/components/Timeline/Shared/Actioned.tsx | 11 +- src/components/Timeline/Shared/Actions.tsx | 47 ++---- src/components/Timeline/Shared/Attachment.tsx | 3 - .../Timeline/Shared/Attachment/Audio.tsx | 3 - .../Timeline/Shared/Attachment/Image.tsx | 17 +- .../Shared/Attachment/Unsupported.tsx | 18 +-- .../Timeline/Shared/Attachment/Video.tsx | 8 - src/components/Timeline/Shared/Avatar.tsx | 69 ++++---- src/components/Timeline/Shared/Card.tsx | 10 +- src/components/Timeline/Shared/Feedback.tsx | 69 +++----- .../Timeline/Shared/HeaderConversation.tsx | 40 ++--- .../Shared/HeaderShared/Application.tsx | 4 - src/components/Timeline/Shared/Poll.tsx | 79 +++------- src/components/Timeline/Shared/Translate.tsx | 7 - src/components/analytics.ts | 7 - src/i18n/en/screens/tabs.json | 4 - src/screens/Actions/Account.tsx | 10 -- src/screens/Actions/Domain.tsx | 26 +--- src/screens/Actions/Share.tsx | 2 - src/screens/Actions/Status.tsx | 28 ---- src/screens/Announcements.tsx | 69 ++------ src/screens/Compose.tsx | 12 +- src/screens/Compose/EditAttachment/Submit.tsx | 3 - src/screens/Compose/Root/Actions.tsx | 29 ---- .../Compose/Root/Footer/Attachments.tsx | 126 +++++---------- src/screens/Compose/Root/Footer/Poll.tsx | 11 -- src/screens/Compose/Root/Suggestion.tsx | 6 +- src/screens/ImagesViewer.tsx | 7 - src/screens/Tabs/Local.tsx | 6 +- src/screens/Tabs/Me/Profile/Root.tsx | 23 +-- src/screens/Tabs/Me/Push.tsx | 72 ++------- src/screens/Tabs/Me/Settings/Analytics.tsx | 19 +-- src/screens/Tabs/Me/Settings/App.tsx | 37 +---- src/screens/Tabs/Me/Settings/Tooot.tsx | 16 +- src/screens/Tabs/Me/SettingsLanguage.tsx | 5 - src/screens/Tabs/Notifications.tsx | 6 +- src/screens/Tabs/Public.tsx | 6 +- .../Tabs/Shared/Account/Attachments.tsx | 36 +---- .../Shared/Account/Information/Actions.tsx | 15 +- .../Shared/Account/Information/Avatar.tsx | 2 - .../Tabs/Shared/Account/Information/Stats.tsx | 16 +- src/screens/Tabs/Shared/Search.tsx | 77 +++------ src/screens/Tabs/Shared/Users.tsx | 2 +- src/store.ts | 2 +- src/utils/migrations/settings/migration.ts | 5 + src/utils/migrations/settings/v3.ts | 8 + src/utils/slices/instancesSlice.ts | 5 - src/utils/slices/settingsSlice.ts | 67 ++------ yarn.lock | 14 -- 75 files changed, 289 insertions(+), 1421 deletions(-) delete mode 100644 android/app/google-services.json delete mode 100644 configs/GoogleService-Info.plist delete mode 100644 configs/google-services.json delete mode 100644 ios/tooot/GoogleService-Info.plist delete mode 100644 src/components/analytics.ts create mode 100644 src/utils/migrations/settings/v3.ts 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' } }) - }} + } />