diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4f76f667..d8b69994 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -25,8 +25,9 @@ jobs:
run: bundle install
- name: -- Step 5 -- Run fastlane
env:
- DEVELOPER_DIR: /Applications/Xcode_13.4.1.app/Contents/Developer
+ DEVELOPER_DIR: /Applications/Xcode_14.0.app/Contents/Developer
ENVIRONMENT: ${{ steps.branch.outputs.branch }}
+ SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.branch }}
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
SENTRY_ORGANIZATION: ${{ secrets.SENTRY_ORGANIZATION }}
@@ -67,6 +68,7 @@ jobs:
- name: -- Step 6 -- Run fastlane
env:
ENVIRONMENT: ${{ steps.branch.outputs.branch }}
+ SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.branch }}
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}
@@ -103,6 +105,7 @@ jobs:
- name: -- Step 6 -- Run fastlane
env:
ENVIRONMENT: ${{ steps.branch.outputs.branch }}
+ SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.branch }}
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
SENTRY_ORGANIZATION: ${{ secrets.SENTRY_ORGANIZATION }}
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
deleted file mode 100644
index dda1c8c7..00000000
--- a/.github/workflows/codeql-analysis.yml
+++ /dev/null
@@ -1,70 +0,0 @@
-# For most projects, this workflow file will not need changing; you simply need
-# to commit it to your repository.
-#
-# You may wish to alter this file to override the set of languages analyzed,
-# or to provide custom queries or build logic.
-#
-# ******** NOTE ********
-# We have attempted to detect the languages in your repository. Please check
-# the `language` matrix defined below to confirm you have the correct set of
-# supported CodeQL languages.
-#
-name: "CodeQL"
-
-on:
- push:
- branches: [ main ]
- # pull_request:
- # # The branches below must be a subset of the branches above
- # branches: [ main ]
- # schedule:
- # - cron: '35 4 * * 4'
-
-jobs:
- analyze:
- name: Analyze
- runs-on: ubuntu-latest
- permissions:
- actions: read
- contents: read
- security-events: write
-
- strategy:
- fail-fast: false
- matrix:
- language: [ 'javascript' ]
- # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
- # Learn more about CodeQL language support at https://git.io/codeql-language-support
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- # Initializes the CodeQL tools for scanning.
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v1
- with:
- languages: ${{ matrix.language }}
- # If you wish to specify custom queries, you can do so here or in a config file.
- # By default, queries listed here will override any specified in a config file.
- # Prefix the list here with "+" to use these queries and those in the config file.
- # queries: ./path/to/local/query, your-org/your-repo/queries@main
-
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
- # If this step fails, then you should remove it and run the build manually (see below)
- - name: Autobuild
- uses: github/codeql-action/autobuild@v1
-
- # ℹ️ Command-line programs to run using the OS shell.
- # 📚 https://git.io/JvXDl
-
- # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
- # and modify them (or add more) to build your code if your project
- # uses a compiled language
-
- #- run: |
- # make bootstrap
- # make release
-
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v1
diff --git a/README.md b/README.md
index dd99cf9d..551b20e3 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# [tooot](https://tooot.app/) app for Mastodon
-[![GPL-3.0](https://img.shields.io/github/license/tooot-app/push)](LICENSE) ![GitHub issues](https://img.shields.io/github/issues/tooot-app/app) ![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/tooot-app/app?include_prereleases) ![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/tooot-app/app) [![Crowdin](https://badges.crowdin.net/tooot/localized.svg)](https://crowdin.tooot.app/project/tooot)
+[![GPL-3.0](https://img.shields.io/github/license/tooot-app/push)](LICENSE) ![GitHub issues](https://img.shields.io/github/issues/tooot-app/app) ![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/tooot-app/app?include_prereleases) [![Crowdin](https://badges.crowdin.net/tooot/localized.svg)](https://crowdin.tooot.app/project/tooot)
-![GitHub Workflow Status](https://img.shields.io/github/workflow/status/tooot-app/app/build) ![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/tooot-app/app/build/candidate?label=build%20candidate) ![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/tooot-app/app/build/release?label=build%20release)
+![GitHub Workflow Status (candidate)](https://img.shields.io/github/workflow/status/tooot-app/app/build/candidate?label=build%20candidate) ![GitHub Workflow Status (release)](https://img.shields.io/github/workflow/status/tooot-app/app/build/release?label=build%20release)
## Contribute to translation
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 85094f05..85aa5430 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -13,9 +13,6 @@
-
-
-
diff --git a/android/sentry.properties b/android/sentry.properties
new file mode 100644
index 00000000..5a672fac
--- /dev/null
+++ b/android/sentry.properties
@@ -0,0 +1,4 @@
+defaults.url=https://sentry.io/
+defaults.org=tooot
+defaults.project=app
+auth.token=d8f82bcbb7fe4cebb886d69e8ef32f36c0f19b08e967480a8c1c867b344a13ad
diff --git a/app.config.ts b/app.config.ts
index d7c2413b..fea5418b 100644
--- a/app.config.ts
+++ b/app.config.ts
@@ -10,20 +10,6 @@ export default (): ExpoConfig => ({
version,
extra: { environment: process.env.ENVIRONMENT },
privacy: 'hidden',
- hooks: {
- postPublish: [
- {
- file: 'sentry-expo/upload-sourcemaps',
- config: {
- organization: process.env.SENTRY_ORGANIZATION,
- project: process.env.SENTRY_PROJECT,
- authToken: process.env.SENTRY_AUTH_TOKEN,
- setCommits: process.env.GITHUB_SHA || undefined,
- deployEnv: process.env.ENVIRONMENT
- }
- }
- ]
- },
jsEngine: 'hermes',
ios: {
bundleIdentifier: 'com.xmflsct.app.tooot'
diff --git a/fastlane/Deliverfile b/fastlane/Deliverfile
index e86817ae..d298c5fa 100644
--- a/fastlane/Deliverfile
+++ b/fastlane/Deliverfile
@@ -1,5 +1,3 @@
-languages(['de-DE', 'en-US', 'it', 'ko', 'pt-BR', 'vi', 'zh-Hans'])
-
name({
'default' => "tooot"
})
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index 232384bd..c27497fe 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -8,7 +8,6 @@ GITHUB_REPO = "tooot-app/app"
XCODEPROJ = "./ios/tooot.xcodeproj"
INFO_PLIST = "./ios/tooot/Info.plist"
-EXPO_PLIST = "./ios/tooot/Supporting/Expo.plist"
desc "ANDROID: Prepare play store"
private_lane :prepare_playstore_android do
@@ -36,6 +35,7 @@ private_lane :build_ios do
build_ios_app(
export_method: "app-store",
include_symbols: true,
+ include_bitcode: true,
output_directory: BUILD_DIRECTORY,
silent: false
)
diff --git a/fastlane/metadata/default/release_notes.txt b/fastlane/metadata/default/release_notes.txt
deleted file mode 120000
index 457102d1..00000000
--- a/fastlane/metadata/default/release_notes.txt
+++ /dev/null
@@ -1 +0,0 @@
-../en-US/release_notes.txt
\ No newline at end of file
diff --git a/fastlane/metadata/en-US/release_notes.txt b/fastlane/metadata/en-US/release_notes.txt
deleted file mode 100644
index bd412548..00000000
--- a/fastlane/metadata/en-US/release_notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Support selecting multiple images
-Long press toot to show options
\ No newline at end of file
diff --git a/fastlane/metadata/zh-Hans/release_notes.txt b/fastlane/metadata/zh-Hans/release_notes.txt
deleted file mode 100644
index 69de255f..00000000
--- a/fastlane/metadata/zh-Hans/release_notes.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-支持同时上传多张图片
-长按嘟文弹出嘟文选项
\ No newline at end of file
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index dcad12cf..9a06bbb7 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -1,9 +1,6 @@
PODS:
- - ASN1Decoder (1.8.0)
- boost (1.76.0)
- DoubleConversion (1.1.6)
- - EASClient (0.3.0):
- - ExpoModulesCore
- EXApplication (4.2.2):
- ExpoModulesCore
- EXAV (12.0.4):
@@ -12,8 +9,6 @@ PODS:
- ReactCommon
- EXConstants (13.2.4):
- ExpoModulesCore
- - EXDevice (4.3.0):
- - ExpoModulesCore
- EXErrorRecovery (3.2.0):
- ExpoModulesCore
- EXFileSystem (14.1.0):
@@ -27,9 +22,6 @@ PODS:
- Firebase/Core (= 9.5.0)
- EXFont (10.2.0):
- ExpoModulesCore
- - EXJSONUtils (0.3.0)
- - EXManifests (0.3.1):
- - EXJSONUtils
- EXNotifications (0.16.1):
- ExpoModulesCore
- Expo (46.0.10):
@@ -58,16 +50,6 @@ PODS:
- React-Core
- EXStoreReview (5.3.0):
- ExpoModulesCore
- - EXStructuredHeaders (2.2.1)
- - EXUpdates (0.14.5):
- - ASN1Decoder (~> 1.8)
- - EASClient
- - EXManifests
- - ExpoModulesCore
- - EXStructuredHeaders
- - EXUpdatesInterface
- - React-Core
- - EXUpdatesInterface (0.7.0)
- EXVideoThumbnails (6.4.0):
- ExpoModulesCore
- FBLazyVector (0.69.5)
@@ -608,18 +590,14 @@ PODS:
DEPENDENCIES:
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- - EASClient (from `../node_modules/expo-eas-client/ios`)
- EXApplication (from `../node_modules/expo-application/ios`)
- EXAV (from `../node_modules/expo-av/ios`)
- EXConstants (from `../node_modules/expo-constants/ios`)
- - EXDevice (from `../node_modules/expo-device/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`)
- - EXJSONUtils (from `../node_modules/expo-json-utils/ios`)
- - EXManifests (from `../node_modules/expo-manifests/ios`)
- EXNotifications (from `../node_modules/expo-notifications/ios`)
- Expo (from `../node_modules/expo`)
- ExpoCrypto (from `../node_modules/expo-crypto/ios`)
@@ -633,9 +611,6 @@ DEPENDENCIES:
- EXSecureStore (from `../node_modules/expo-secure-store/ios`)
- EXSplashScreen (from `../node_modules/expo-splash-screen/ios`)
- EXStoreReview (from `../node_modules/expo-store-review/ios`)
- - EXStructuredHeaders (from `../node_modules/expo-structured-headers/ios`)
- - EXUpdates (from `../node_modules/expo-updates/ios`)
- - EXUpdatesInterface (from `../node_modules/expo-updates-interface/ios`)
- EXVideoThumbnails (from `../node_modules/expo-video-thumbnails/ios`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
@@ -697,7 +672,6 @@ DEPENDENCIES:
SPEC REPOS:
trunk:
- - ASN1Decoder
- Firebase
- FirebaseAnalytics
- FirebaseCore
@@ -722,16 +696,12 @@ EXTERNAL SOURCES:
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
DoubleConversion:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
- EASClient:
- :path: "../node_modules/expo-eas-client/ios"
EXApplication:
:path: "../node_modules/expo-application/ios"
EXAV:
:path: "../node_modules/expo-av/ios"
EXConstants:
:path: "../node_modules/expo-constants/ios"
- EXDevice:
- :path: "../node_modules/expo-device/ios"
EXErrorRecovery:
:path: "../node_modules/expo-error-recovery/ios"
EXFileSystem:
@@ -742,10 +712,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-firebase-core/ios"
EXFont:
:path: "../node_modules/expo-font/ios"
- EXJSONUtils:
- :path: "../node_modules/expo-json-utils/ios"
- EXManifests:
- :path: "../node_modules/expo-manifests/ios"
EXNotifications:
:path: "../node_modules/expo-notifications/ios"
Expo:
@@ -772,12 +738,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-splash-screen/ios"
EXStoreReview:
:path: "../node_modules/expo-store-review/ios"
- EXStructuredHeaders:
- :path: "../node_modules/expo-structured-headers/ios"
- EXUpdates:
- :path: "../node_modules/expo-updates/ios"
- EXUpdatesInterface:
- :path: "../node_modules/expo-updates-interface/ios"
EXVideoThumbnails:
:path: "../node_modules/expo-video-thumbnails/ios"
FBLazyVector:
@@ -886,21 +846,16 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
- ASN1Decoder: 6110fdeacfdb41559b1481457a1645be716610aa
boost: a7c83b31436843459a1961bfd74b96033dc77234
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
- EASClient: a2581835cf9b97d0defd5d630fc6eb1bf77045e7
EXApplication: e418d737a036e788510f2c4ad6c10a7d54d18586
EXAV: 596506c9bee54ad52f2f3b625cdaeb9d9f2dd6b7
EXConstants: 7c44785d41d8e959d527d23d29444277a4d1ee73
- EXDevice: 7647ca9b1fd8b269dfd896a7643d659343358054
EXErrorRecovery: 74d71ee59f6814315457b09d68e86aa95cc7d05d
EXFileSystem: 927e0a8885aa9c49e50fc38eaba2c2389f2f1019
EXFirebaseAnalytics: 2e478758e153b908b67477dff7adf99ffbf37a1b
EXFirebaseCore: cb1e6afad20c4c32a4966432c78ebfff29d8db6b
EXFont: a5d80bd9b3452b2d5abbce2487da89b0150e6487
- EXJSONUtils: 2a74b8f40f1523cc3f92af99c91aa78201737a77
- EXManifests: b38dc61303f5eede990b4c8ecbfac32f82160e65
EXNotifications: 9a2aa201deb19dfe1dbe0e370eeb2922de0d2422
Expo: fcdb32274e2ca9c7638d3b21b30fb665c6869219
ExpoCrypto: e534314db0e1a17ae12b5140d529bd0c5efcbc6a
@@ -914,9 +869,6 @@ SPEC CHECKSUMS:
EXSecureStore: ac4b3c89dd5810528074d9422d5fed5a9e684467
EXSplashScreen: 799bece80089219b2c989c1082d70f3b00995cda
EXStoreReview: cbb6b2202bb6f831cd3234d9d8b995cec0eb32f2
- EXStructuredHeaders: 5d86829469399370a9fc7cb1e4391b09de87681d
- EXUpdates: 664f999db423f90f3fb3d91edcda9bc28cb5a5b4
- EXUpdatesInterface: 2bbc11815dfa2ec3fc02e5534c7592c6b42b5327
EXVideoThumbnails: 486533e1a66c9859f9b9e3b2e1f9f0b275515b48
FBLazyVector: 0045cf98ca4a48af3bf7108d85b1c243740fa289
FBReactNativeSpec: 82e74141263f8c962e288f5cd6b5d149cdc8afe1
diff --git a/ios/de.lproj/InfoPlist.strings b/ios/de.lproj/InfoPlist.strings
new file mode 100644
index 00000000..f63a9471
--- /dev/null
+++ b/ios/de.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+"NSPhotoLibraryAddUsageDescription" = "Erlauben Sie tooot, Bilder in Ihrer Kamerarolle zu speichern";
+"NSPhotoLibraryUsageDescription" = "Erlauben Sie tooot, Bilder in Ihrer Kamerarolle zu speichern";
diff --git a/ios/en.lproj/InfoPlist.strings b/ios/en.lproj/InfoPlist.strings
index f9728054..21de883d 100644
--- a/ios/en.lproj/InfoPlist.strings
+++ b/ios/en.lproj/InfoPlist.strings
@@ -1,10 +1,2 @@
-/*
- InfoPlist.strings
- tooot
-
- Created by Zheng Zhiyuan (SEBD) on 2021-04-16.
-
-*/
-
-"NSPhotoLibraryAddUsageDescription" = "Allow tooot to save an image to your camera roll";
-"NSPhotoLibraryUsageDescription" = "Allow tooot to access your camera roll to attach photos or videos to your toot";
+"NSPhotoLibraryAddUsageDescription" = "Allow tooot to save images to your camera roll";
+"NSPhotoLibraryUsageDescription" = "Allow tooot to save images to your camera roll";
diff --git a/ios/it.lproj/InfoPlist.strings b/ios/it.lproj/InfoPlist.strings
new file mode 100644
index 00000000..1e0a7b2f
--- /dev/null
+++ b/ios/it.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+"NSPhotoLibraryAddUsageDescription" = "Consentire a tooot di salvare le immagini nel rullino fotografico";
+"NSPhotoLibraryUsageDescription" = "Consentire a tooot di salvare le immagini nel rullino fotografico";
diff --git a/ios/ko.lproj/InfoPlist.strings b/ios/ko.lproj/InfoPlist.strings
new file mode 100644
index 00000000..dba60bfd
--- /dev/null
+++ b/ios/ko.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+"NSPhotoLibraryAddUsageDescription" = "tooot가 이미지를 카메라 롤에 저장하도록 허용";
+"NSPhotoLibraryUsageDescription" = "tooot가 이미지를 카메라 롤에 저장하도록 허용";
diff --git a/ios/pt-BR.lproj/InfoPlist.strings b/ios/pt-BR.lproj/InfoPlist.strings
new file mode 100644
index 00000000..f3e7bcdf
--- /dev/null
+++ b/ios/pt-BR.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+"NSPhotoLibraryAddUsageDescription" = "Permita guardar imagens em seu rolo de câmera";
+"NSPhotoLibraryUsageDescription" = "Permita guardar imagens em seu rolo de câmera";
diff --git a/ios/sentry.properties b/ios/sentry.properties
new file mode 100644
index 00000000..5a672fac
--- /dev/null
+++ b/ios/sentry.properties
@@ -0,0 +1,4 @@
+defaults.url=https://sentry.io/
+defaults.org=tooot
+defaults.project=app
+auth.token=d8f82bcbb7fe4cebb886d69e8ef32f36c0f19b08e967480a8c1c867b344a13ad
diff --git a/ios/tooot.xcodeproj/project.pbxproj b/ios/tooot.xcodeproj/project.pbxproj
index 7bca145e..4191bd59 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 */; };
- BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
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 */; };
@@ -71,13 +70,17 @@
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 = ""; };
- BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.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; };
E633A427281EAEAB000E540F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
E633A42F281EAF38000E540F /* ShareViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ShareViewController.swift; path = "../../node_modules/react-native-share-menu/ios/ShareViewController.swift"; sourceTree = ""; };
E633A431281EB55C000E540F /* ShareExtension-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ShareExtension-Bridging-Header.h"; sourceTree = ""; };
+ E69EBACA28DF282D0057EDEC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; };
+ E69EBACB28DF283A0057EDEC /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; };
+ E69EBACC28DF28420057EDEC /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = ""; };
+ E69EBACD28DF284D0057EDEC /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/InfoPlist.strings"; sourceTree = ""; };
+ E69EBACE28DF28560057EDEC /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist.strings; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
/* End PBXFileReference section */
@@ -106,7 +109,6 @@
isa = PBXGroup;
children = (
E613A80A28282A01003C97D6 /* AppDelegate.mm */,
- BB2F792B24A3F905000567C9 /* Supporting */,
008F07F21AC5B25A0029DE68 /* main.jsbundle */,
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
13B07FB51A68108700A75B9A /* Images.xcassets */,
@@ -183,15 +185,6 @@
name = Products;
sourceTree = "";
};
- BB2F792B24A3F905000567C9 /* Supporting */ = {
- isa = PBXGroup;
- children = (
- BB2F792C24A3F905000567C9 /* Expo.plist */,
- );
- name = Supporting;
- path = tooot/Supporting;
- sourceTree = "";
- };
D65327D7A22EEC0BE12398D9 /* Pods */ = {
isa = PBXGroup;
children = (
@@ -289,6 +282,11 @@
en,
Base,
"zh-Hans",
+ de,
+ it,
+ ko,
+ "pt-BR",
+ vi,
);
mainGroup = 83CBB9F61A601CBA00E9B192;
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
@@ -308,7 +306,6 @@
files = (
5E36538325C9B8BD009F93EE /* RootViewColor.xcassets in Resources */,
5EE088C926297820007E5FEC /* InfoPlist.strings in Resources */,
- BB2F792D24A3F905000567C9 /* Expo.plist in Resources */,
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */,
@@ -341,7 +338,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
+ shellScript = "set -e\nexport SENTRY_PROPERTIES=sentry.properties\nexport EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\"\nset -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\nSENTRY_CLI_PATH=\"../node_modules/@sentry/cli/bin/sentry-cli\"\n/bin/sh -c \"$WITH_ENVIRONMENT \\\"$SENTRY_CLI_PATH react-native xcode $REACT_NATIVE_XCODE\\\"\"";
};
08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
@@ -391,13 +388,11 @@
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-tooot/Pods-tooot-resources.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle",
- "${PODS_CONFIGURATION_BUILD_DIR}/EXUpdates/EXUpdates.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXUpdates.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
@@ -511,6 +506,11 @@
children = (
5EE088CA26297820007E5FEC /* en */,
5EE088CD2629786B007E5FEC /* zh-Hans */,
+ E69EBACA28DF282D0057EDEC /* de */,
+ E69EBACB28DF283A0057EDEC /* it */,
+ E69EBACC28DF28420057EDEC /* ko */,
+ E69EBACD28DF284D0057EDEC /* pt-BR */,
+ E69EBACE28DF28560057EDEC /* vi */,
);
name = InfoPlist.strings;
sourceTree = "";
diff --git a/ios/tooot/Supporting/Expo.plist b/ios/tooot/Supporting/Expo.plist
deleted file mode 100644
index b4c81f20..00000000
--- a/ios/tooot/Supporting/Expo.plist
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- EXUpdatesAutoSetup
-
- EXUpdatesEnabled
-
- EXUpdatesSDKVersion
- 46.0.0
-
-
\ No newline at end of file
diff --git a/ios/vi.lproj/InfoPlist.strings b/ios/vi.lproj/InfoPlist.strings
new file mode 100644
index 00000000..e003125a
--- /dev/null
+++ b/ios/vi.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+"NSPhotoLibraryAddUsageDescription" = "Cho phép quá nhiều để lưu hình ảnh vào thư viện ảnh của bạn";
+"NSPhotoLibraryUsageDescription" = "Cho phép quá nhiều để lưu hình ảnh vào thư viện ảnh của bạn";
diff --git a/ios/zh-Hans.lproj/InfoPlist.strings b/ios/zh-Hans.lproj/InfoPlist.strings
index 67025bd4..72eac37d 100644
--- a/ios/zh-Hans.lproj/InfoPlist.strings
+++ b/ios/zh-Hans.lproj/InfoPlist.strings
@@ -1,10 +1,2 @@
-/*
- InfoPlist.strings
- tooot
-
- Created by Zheng Zhiyuan (SEBD) on 2021-04-16.
-
-*/
-
"NSPhotoLibraryAddUsageDescription" = "允许tooot保存图片至相册";
-"NSPhotoLibraryUsageDescription" = "允许tooot读取相册图片或视频,以添加嘟文附件";
+"NSPhotoLibraryUsageDescription" = "允许tooot保存图片至相册";
diff --git a/package.json b/package.json
index 2e7ef5dd..a4a8ce07 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,6 @@
"expo-av": "^12.0.4",
"expo-constants": "^13.2.4",
"expo-crypto": "^11.0.0",
- "expo-device": "^4.3.0",
"expo-file-system": "^14.1.0",
"expo-firebase-analytics": "^7.2.0",
"expo-haptics": "^11.3.0",
@@ -58,7 +57,6 @@
"expo-secure-store": "^11.3.0",
"expo-splash-screen": "^0.16.2",
"expo-store-review": "^5.3.0",
- "expo-updates": "^0.14.5",
"expo-video-thumbnails": "^6.4.0",
"expo-web-browser": "^11.0.0",
"i18next": "^21.9.2",
@@ -94,7 +92,6 @@
"react-redux": "^8.0.4",
"redux-persist": "^6.0.0",
"rn-placeholder": "^3.0.3",
- "sentry-expo": "^5.0.2",
"tslib": "^2.4.0",
"valid-url": "^1.0.9"
},
diff --git a/patches/@sentry+react-native+4.4.0.patch b/patches/@sentry+react-native+4.4.0.patch
new file mode 100644
index 00000000..b1b3c5f3
--- /dev/null
+++ b/patches/@sentry+react-native+4.4.0.patch
@@ -0,0 +1,51 @@
+diff --git a/node_modules/@sentry/react-native/ios/RNSentry.h b/node_modules/@sentry/react-native/ios/RNSentry.h
+index 6f7df58..84b50c9 100644
+--- a/node_modules/@sentry/react-native/ios/RNSentry.h
++++ b/node_modules/@sentry/react-native/ios/RNSentry.h
+@@ -1,7 +1,7 @@
+ #if __has_include()
+ #import
+ #else
+-#import "RCTBridge.h"
++#import
+ #endif
+
+ @interface RNSentry : NSObject
+diff --git a/node_modules/@sentry/react-native/ios/RNSentry.m b/node_modules/@sentry/react-native/ios/RNSentry.m
+index 32a6087..003a001 100644
+--- a/node_modules/@sentry/react-native/ios/RNSentry.m
++++ b/node_modules/@sentry/react-native/ios/RNSentry.m
+@@ -3,7 +3,7 @@
+ #if __has_include()
+ #import
+ #else
+-#import "RCTConvert.h"
++#import
+ #endif
+
+ #import
+diff --git a/node_modules/@sentry/react-native/react-native.config.js b/node_modules/@sentry/react-native/react-native.config.js
+index f85fa01..053999b 100644
+--- a/node_modules/@sentry/react-native/react-native.config.js
++++ b/node_modules/@sentry/react-native/react-native.config.js
+@@ -1,18 +1,10 @@
+ module.exports = {
+ dependency: {
+ platforms: {
+- ios: {
+- sharedLibraries: ['libz']
+- },
++ ios: {},
+ android: {
+ packageInstance: 'new RNSentryPackage()'
+ }
+- },
+- hooks: {
+- postlink:
+- 'node node_modules/@sentry/wizard/dist/bin.js -i reactNative -p ios android',
+- postunlink:
+- 'node node_modules/@sentry/wizard/dist/bin.js -i reactNative -p ios android --uninstall'
+ }
+ }
+ };
+\ No newline at end of file
diff --git a/src/App.tsx b/src/App.tsx
index 788008db..17c57664 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -10,11 +10,9 @@ import push from '@root/startup/push'
import sentry from '@root/startup/sentry'
import timezone from '@root/startup/timezone'
import { persistor, store } from '@root/store'
+import * as Sentry from '@sentry/react-native'
import AccessibilityManager from '@utils/accessibility/AccessibilityManager'
-import {
- changeLanguage,
- getSettingsLanguage
-} from '@utils/slices/settingsSlice'
+import { changeLanguage, getSettingsLanguage } from '@utils/slices/settingsSlice'
import ThemeManager from '@utils/styles/ThemeManager'
import * as SplashScreen from 'expo-splash-screen'
import React, { useCallback, useEffect, useState } from 'react'
@@ -24,7 +22,6 @@ import { enableFreeze } from 'react-native-screens'
import { QueryClientProvider } from 'react-query'
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist/integration/react'
-import * as Sentry from 'sentry-expo'
Platform.select({
android: LogBox.ignoreLogs(['Setting a timer for a long period of time'])
@@ -93,15 +90,13 @@ const App: React.FC = () => {
}
return (
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
)
} else {
return null
@@ -114,4 +109,4 @@ const App: React.FC = () => {
)
}
-export default React.memo(App, () => true)
+export default Sentry.wrap(App)
diff --git a/src/Screens.tsx b/src/Screens.tsx
index 4bd00d8c..6eaedabc 100644
--- a/src/Screens.tsx
+++ b/src/Screens.tsx
@@ -10,6 +10,7 @@ import ScreenAnnouncements from '@screens/Announcements'
import ScreenCompose from '@screens/Compose'
import ScreenImagesViewer from '@screens/ImagesViewer'
import ScreenTabs from '@screens/Tabs'
+import * as Sentry from '@sentry/react-native'
import initQuery from '@utils/initQuery'
import { RootStackParamList } from '@utils/navigation/navigators'
import pushUseConnect from '@utils/push/useConnect'
@@ -31,7 +32,6 @@ import { IntlProvider } from 'react-intl'
import { Alert, Platform, StatusBar } from 'react-native'
import ShareMenu from 'react-native-share-menu'
import { useSelector } from 'react-redux'
-import * as Sentry from 'sentry-expo'
import { useAppDispatch } from './store'
const Stack = createNativeStackNavigator()
@@ -49,10 +49,7 @@ const Screens: React.FC = ({ localCorrupt }) => {
const routeRef = useRef<{ name?: string; params?: {} }>()
// Push hooks
- const instances = useSelector(
- getInstances,
- (prev, next) => prev.length === next.length
- )
+ const instances = useSelector(getInstances, (prev, next) => prev.length === next.length)
pushUseConnect({ t, instances })
pushUseReceive({ instances })
pushUseRespond({ instances })
@@ -102,9 +99,7 @@ const Screens: React.FC = ({ localCorrupt }) => {
const currentRoute = navigationRef.getCurrentRoute()
routeRef.current = {
name: currentRoute?.name,
- params: currentRoute?.params
- ? JSON.stringify(currentRoute.params)
- : undefined
+ params: currentRoute?.params ? JSON.stringify(currentRoute.params) : undefined
}
}, [])
const navigationContainerOnStateChange = useCallback(() => {
@@ -119,7 +114,7 @@ const Screens: React.FC = ({ localCorrupt }) => {
if (previousRoute?.name !== currentRoute?.name) {
analytics('screen_view', { screen_name: currentRoute?.name })
- Sentry.Native.setContext('page', {
+ Sentry.setContext('page', {
previous: previousRoute,
current: currentRoute
})
@@ -316,9 +311,7 @@ const Screens: React.FC = ({ localCorrupt }) => {
headerShadowVisible: false,
headerTransparent: true,
headerStyle: { backgroundColor: 'transparent' },
- headerLeft: () => (
- navigation.goBack()} />
- ),
+ headerLeft: () => navigation.goBack()} />,
title: t('screenAnnouncements:heading')
})}
/>
diff --git a/src/api/tooot.ts b/src/api/tooot.ts
index fc6bd0d3..09a8e6d7 100644
--- a/src/api/tooot.ts
+++ b/src/api/tooot.ts
@@ -1,7 +1,7 @@
+import * as Sentry from '@sentry/react-native'
import { mapEnvironment } from '@utils/checkEnvironment'
import axios from 'axios'
import Constants from 'expo-constants'
-import * as Sentry from 'sentry-expo'
import handleError, { ctx } from './handleError'
export type Params = {
@@ -31,11 +31,11 @@ const apiTooot = async ({
}: Params): Promise<{ body: T }> => {
console.log(
ctx.bgGreen.bold(' API tooot ') +
- ' ' +
- method +
- ctx.green(' -> ') +
- `/${url}` +
- (params ? ctx.green(' -> ') : ''),
+ ' ' +
+ method +
+ ctx.green(' -> ') +
+ `/${url}` +
+ (params ? ctx.green(' -> ') : ''),
params ? params : ''
)
@@ -65,12 +65,12 @@ const apiTooot = async ({
})
.catch(error => {
if (sentry) {
- Sentry.Native.setExtras({
+ Sentry.setExtras({
API: 'tooot',
...(error?.response && { response: error.response }),
...(error?.request && { request: error.request })
})
- Sentry.Native.captureException(error)
+ Sentry.captureException(error)
}
return handleError(error)
diff --git a/src/screens/Compose.tsx b/src/screens/Compose.tsx
index bf4d802b..80004ec6 100644
--- a/src/screens/Compose.tsx
+++ b/src/screens/Compose.tsx
@@ -7,6 +7,7 @@ import haptics from '@root/components/haptics'
import { useAppDispatch } from '@root/store'
import formatText from '@screens/Compose/formatText'
import ComposeRoot from '@screens/Compose/Root'
+import * as Sentry from '@sentry/react-native'
import { RootStackScreenProps } from '@utils/navigation/navigators'
import { QueryKeyTimeline, useTimelineMutation } from '@utils/queryHooks/timeline'
import { updateStoreReview } from '@utils/slices/contextsSlice'
@@ -24,7 +25,6 @@ import { useTranslation } from 'react-i18next'
import { Alert, Keyboard, Platform } from 'react-native'
import { useQueryClient } from 'react-query'
import { useSelector } from 'react-redux'
-import * as Sentry from 'sentry-expo'
import ComposeDraftsList from './Compose/DraftsList'
import ComposeEditAttachment from './Compose/EditAttachment'
import { uploadAttachment } from './Compose/Root/Footer/addAttachment'
@@ -326,7 +326,7 @@ const ScreenCompose: React.FC> = ({
]
)
} else {
- Sentry.Native.captureMessage('Compose posting', {
+ Sentry.captureMessage('Compose posting', {
contexts: { errorObject: error }
})
haptics('Error')
diff --git a/src/screens/Tabs/Me/Settings/Dev.tsx b/src/screens/Tabs/Me/Settings/Dev.tsx
index 94b6d68e..35a50752 100644
--- a/src/screens/Tabs/Me/Settings/Dev.tsx
+++ b/src/screens/Tabs/Me/Settings/Dev.tsx
@@ -7,6 +7,7 @@ import { persistor } from '@root/store'
import { getInstanceActive, getInstances } from '@utils/slices/instancesSlice'
import { StyleConstants } from '@utils/styles/constants'
import { useTheme } from '@utils/styles/ThemeManager'
+import * as Localization from 'expo-localization'
import React from 'react'
import { DevSettings } from 'react-native'
import { useSelector } from 'react-redux'
@@ -19,6 +20,16 @@ const SettingsDev: React.FC = () => {
return (
+
+ {JSON.stringify(Localization.locales)}
+
{
log('log', 'Sentry', 'initializing')
Sentry.init({
- // @ts-ignore
+ enabled: !isDevelopment,
dsn: 'https://53348b60ff844d52886e90251b3a5f41@o917354.ingest.sentry.io/6410576',
- enableInExpoDevelopment: false,
+ tracesSampleRate: 0.35,
+ integrations: [
+ new Sentry.ReactNativeTracing({
+ tracingOrigins: ["tooot.app"],
+ }),
+ ],
autoSessionTracking: true
})
}
diff --git a/yarn.lock b/yarn.lock
index 2853006a..813624d1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1171,7 +1171,7 @@
uuid "^3.4.0"
wrap-ansi "^7.0.0"
-"@expo/code-signing-certificates@0.0.2", "@expo/code-signing-certificates@^0.0.2":
+"@expo/code-signing-certificates@^0.0.2":
version "0.0.2"
resolved "https://registry.yarnpkg.com/@expo/code-signing-certificates/-/code-signing-certificates-0.0.2.tgz#65cd615800e6724b54831c966dd1a90145017246"
integrity sha512-vnPHFjwOqxQ1VLztktY+fYCfwvLzjqpzKn09rchcQE7Sdf0wtW5fFtIZBEFOOY5wasp8tXSnp627zrAwazPHzg==
@@ -1317,7 +1317,7 @@
json5 "^1.0.1"
write-file-atomic "^2.3.0"
-"@expo/metro-config@~0.3.18", "@expo/metro-config@~0.3.19":
+"@expo/metro-config@~0.3.18":
version "0.3.22"
resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.3.22.tgz#fa4a0729ec8ecbc9c9fb79c63ecc66a299505c82"
integrity sha512-R81sLbaeUBjN8IXcxiVx7GcpSj8z7szILl1b5yJDb38WdIFwxhrseA5wXaTT1yMhI+59w6n99T2qtFV2yD5qYA==
@@ -1413,7 +1413,7 @@
dependencies:
cross-spawn "^6.0.5"
-"@expo/spawn-async@^1.5.0", "@expo/spawn-async@^1.6.0":
+"@expo/spawn-async@^1.5.0":
version "1.7.0"
resolved "https://registry.yarnpkg.com/@expo/spawn-async/-/spawn-async-1.7.0.tgz#3ab6082b24318cccc4e73b13464da91325555500"
integrity sha512-sqPAjOEFTrjaTybrh9SnPFLInDXcoMC06psEFmH68jLTmoipSQCq8GCEfIoHhxRDALWB+DsiwXJSbXlE/iVIIQ==
@@ -2009,16 +2009,6 @@
"@sentry/utils" "7.12.1"
tslib "^1.9.3"
-"@sentry/browser@7.7.0":
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.7.0.tgz#7810ee98d4969bd0367e29ac0af6c5779db7e6c4"
- integrity sha512-oyzpWcsjVZTaf14zAL89Ng1DUHlbjN+V8pl8dR9Y9anphbzL5BK9p0fSK4kPIrO4GukK+XrKnLJDPuE/o7WR3g==
- dependencies:
- "@sentry/core" "7.7.0"
- "@sentry/types" "7.7.0"
- "@sentry/utils" "7.7.0"
- tslib "^1.9.3"
-
"@sentry/cli@1.74.4":
version "1.74.4"
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.74.4.tgz#7df82f68045a155e1885bfcbb5d303e5259eb18e"
@@ -2055,16 +2045,6 @@
"@sentry/utils" "7.12.1"
tslib "^1.9.3"
-"@sentry/core@7.7.0":
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.7.0.tgz#1a2d477897552d179380f7c54c7d81a4e98ea29a"
- integrity sha512-Z15ACiuiFINFcK4gbMrnejLn4AVjKBPJOWKrrmpIe8mh+Y9diOuswt5mMUABs+jhpZvqht3PBLLGBL0WMsYMYA==
- dependencies:
- "@sentry/hub" "7.7.0"
- "@sentry/types" "7.7.0"
- "@sentry/utils" "7.7.0"
- tslib "^1.9.3"
-
"@sentry/hub@7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.12.1.tgz#dffad40cd2b8f44df2d5f20a89df87879cbbf1c3"
@@ -2074,15 +2054,6 @@
"@sentry/utils" "7.12.1"
tslib "^1.9.3"
-"@sentry/hub@7.7.0":
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.7.0.tgz#9ad3471cf5ecaf1a9d3a3a04ca2515ffec9e2c09"
- integrity sha512-6gydK234+a0nKhBRDdIJ7Dp42CaiW2juTiHegUVDq+482balVzbZyEAmESCmuzKJhx5BhlCElVxs/cci1NjMpg==
- dependencies:
- "@sentry/types" "7.7.0"
- "@sentry/utils" "7.7.0"
- tslib "^1.9.3"
-
"@sentry/integrations@7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.12.1.tgz#da1dbc5d851f2fc9413883812c436a1540a5b27a"
@@ -2093,32 +2064,6 @@
localforage "^1.8.1"
tslib "^1.9.3"
-"@sentry/integrations@7.7.0":
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.7.0.tgz#be4d89ccce756f3decc52b04cc09add19f142715"
- integrity sha512-qHIw4JrluVfkcdA6v22KVumhuqdk9I0MxEaiHyP/uzx4xIoi9S4I86YbLHZUpjqreJIQkntsimJSepZJkxvG5g==
- dependencies:
- "@sentry/types" "7.7.0"
- "@sentry/utils" "7.7.0"
- localforage "^1.8.1"
- tslib "^1.9.3"
-
-"@sentry/react-native@4.2.2":
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-4.2.2.tgz#613ffa2347746d2ed66200c314092411ad7aa43c"
- integrity sha512-2zSgR73/jNByr4WDciE97n78Tj81Lrhhwj1/yMRWFDd9pF802ZYiRVeIkHArEYGHER41fiQojP7wBKftvnKgew==
- dependencies:
- "@sentry/browser" "7.7.0"
- "@sentry/cli" "1.74.4"
- "@sentry/core" "7.7.0"
- "@sentry/hub" "7.7.0"
- "@sentry/integrations" "7.7.0"
- "@sentry/react" "7.7.0"
- "@sentry/tracing" "7.7.0"
- "@sentry/types" "7.7.0"
- "@sentry/utils" "7.7.0"
- "@sentry/wizard" "1.2.17"
-
"@sentry/react-native@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-4.4.0.tgz#6db112bb5c8c69d3385de9e81d91e936e0cc31a3"
@@ -2146,17 +2091,6 @@
hoist-non-react-statics "^3.3.2"
tslib "^1.9.3"
-"@sentry/react@7.7.0":
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.7.0.tgz#a519dd727f863c1abf1a77beac01a3336c856828"
- integrity sha512-93Khad3YAln6mKU9E15QH09XC1ARIOpNTRpnBl6AGl3bVhSdLExsbKDLa7Rx0mW2j4z/prOC6VEHf5mBvg4mPg==
- dependencies:
- "@sentry/browser" "7.7.0"
- "@sentry/types" "7.7.0"
- "@sentry/utils" "7.7.0"
- hoist-non-react-statics "^3.3.2"
- tslib "^1.9.3"
-
"@sentry/tracing@7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.12.1.tgz#9f92985f152054ac90b6ec83a33c44e8084a008e"
@@ -2167,26 +2101,11 @@
"@sentry/utils" "7.12.1"
tslib "^1.9.3"
-"@sentry/tracing@7.7.0":
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.7.0.tgz#67324b755a28e115289755e44a0b8b467a63d0b2"
- integrity sha512-HNmvTwemuc21q/K6HXsSp9njkne6N1JQ71TB+QGqYU5VtxsVgYSUhhYqV6WcHz7LK4Hj6TvNFoeu69/rO0ysgw==
- dependencies:
- "@sentry/hub" "7.7.0"
- "@sentry/types" "7.7.0"
- "@sentry/utils" "7.7.0"
- tslib "^1.9.3"
-
"@sentry/types@7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.12.1.tgz#eff76d938f9effc62a2ec76cd5c3f04de37f5c15"
integrity sha512-VGZs39SZgMcCGv7H0VyFy1LEFGsnFZH590JUopmz6nG63EpeYQ2xzhIoPNAiLKbyUvBEwukn+faCg3u3MGqhgQ==
-"@sentry/types@7.7.0":
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.7.0.tgz#dd6bd3d119d7efea0e85dbaa4b17de1c22b63c7a"
- integrity sha512-4x8O7uerSGLnYC10krHl9t8h7xXHn5FextqKYbTCXCnx2hC8D+9lz8wcbQAFo0d97wiUYqI8opmEgFVGx7c5hQ==
-
"@sentry/utils@7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.12.1.tgz#fcf80fdc332d0bd288e21b13efc7a2f0d604f75a"
@@ -2195,14 +2114,6 @@
"@sentry/types" "7.12.1"
tslib "^1.9.3"
-"@sentry/utils@7.7.0":
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.7.0.tgz#013e3097c4268a76de578494c7df999635fb0ad4"
- integrity sha512-fD+ROSFpeJlK7bEvUT2LOW7QqgjBpXJwVISKZ0P2fuzclRC3KoB2pbZgBM4PXMMTiSzRGWhvfRRjBiBvQJBBJQ==
- dependencies:
- "@sentry/types" "7.7.0"
- tslib "^1.9.3"
-
"@sentry/wizard@1.2.17":
version "1.2.17"
resolved "https://registry.yarnpkg.com/@sentry/wizard/-/wizard-1.2.17.tgz#c3247b47129d002cfa45d7a2048d13dc6513457b"
@@ -3944,18 +3855,6 @@ expo-crypto@^11.0.0, expo-crypto@~11.0.0:
resolved "https://registry.yarnpkg.com/expo-crypto/-/expo-crypto-11.0.0.tgz#e434ebede6bae20f5a5cf7d7ea99d41e7b67690e"
integrity sha512-EH1Ikcy/HxfLJpo+zVRic4Igl6AovZEksAheKfeM2u+2TfL3FEBiQo+cGkuIa8NQ9ui3xYqQcyMk+IIZ6AO0Xg==
-expo-device@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/expo-device/-/expo-device-4.3.0.tgz#a25257febe8dd18378f556ef61b5ff73ee687a6b"
- integrity sha512-NRmsEuZVxx0EvD/dHZdng87wDgN9msfyjqp5DbNIyzvMGhxOrGtE/iEivvMyOdQpVotHGK8rBRbFKJzOtYB5lg==
- dependencies:
- ua-parser-js "^0.7.19"
-
-expo-eas-client@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-0.3.0.tgz#21383fc95a52e71e13c7276456db20388fefcf95"
- integrity sha512-dBD00lJ629ayh5abbmgn6I1Z5NOaWM1iea2ODLd/EF1ZcS1P3yiPm6blpvL/tD+uewL8gxxmla/Ac+SiDdYAYA==
-
expo-error-recovery@~3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/expo-error-recovery/-/expo-error-recovery-3.2.0.tgz#3a4543382904a5e70829cb41d7fc0f022c2bef6e"
@@ -3995,11 +3894,6 @@ expo-haptics@^11.3.0:
resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-11.3.0.tgz#74283bd212a86f16ff2d6b0125e2a9604c940523"
integrity sha512-mQYSZsJ7LcdM2b8JecrV2qEw9ymNzGleS/+bpufdHZ+n5tCnWZXiMvZFFczaExHfaeGY3nGQvH1RjEOFIXSfig==
-expo-json-utils@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/expo-json-utils/-/expo-json-utils-0.3.0.tgz#0c4a0195ee2bbde02cbb5f4d384d1cb63bea7493"
- integrity sha512-ceo0pWFJqRAsNjZWX3rVDhy+NDzmrBNFOdvW+HE4EHqlt+OEUu9INIYKO8fU+g3ifI0VcKqHfvvj5wKsSpvPBw==
-
expo-keep-awake@~10.2.0:
version "10.2.0"
resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-10.2.0.tgz#46f04740bccd321732bbbed93491e2076d5dbbd7"
@@ -4023,13 +3917,6 @@ expo-localization@^13.1.0:
dependencies:
rtl-detect "^1.0.2"
-expo-manifests@~0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/expo-manifests/-/expo-manifests-0.3.1.tgz#52c3ef41d3b1958039be0434363e6499c773aaf6"
- integrity sha512-zv2a4pzhbvxVjrTO4XEiP5THt4RwtxyJjfixFhDNfHtDQR7fS4h9sZSGX9ind+IS5SQJQ2ykfVAi8xnwP6zHaw==
- dependencies:
- expo-json-utils "~0.3.0"
-
expo-modules-autolinking@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-0.10.3.tgz#31bfcf3e4b613a7c3949fb1f1e9c23eea4c14caf"
@@ -4095,34 +3982,6 @@ expo-store-review@^5.3.0:
resolved "https://registry.yarnpkg.com/expo-store-review/-/expo-store-review-5.3.0.tgz#f8b1253a607b13e548889a442d8ee7bb0fa025a3"
integrity sha512-abWgsgXnfeJnAINOVGWxFC0HXizZxBoxNZoekswqW2AtsQ6DR5nvWj5VyovVjd8DktRG/ly1ZKJwP0KNXqWffw==
-expo-structured-headers@~2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/expo-structured-headers/-/expo-structured-headers-2.2.1.tgz#739f969101de6bead921eee59e5899399ad67715"
- integrity sha512-nY6GuvoS/U5XdhfBNmvXGRoGzIXywXpSZs2wdiP+FbS79P9UWyEqzgARrBTF+6pQxUVMs6/vdffxRpwhjwYPug==
-
-expo-updates-interface@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/expo-updates-interface/-/expo-updates-interface-0.7.0.tgz#f4f03b61dbdd949cac9fb44e250e1162ba177650"
- integrity sha512-saThnbrYDSjKxfMFFguAvh5o5KGabvAOHItkJRwq2L3c0T/3q26Q0kM83880h/+TTtAVsl1+Vhny9d+ImD3yvQ==
-
-expo-updates@^0.14.5:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-0.14.5.tgz#3de2764b143c93eee636cab538c081a7867aa086"
- integrity sha512-m6IOiETTwsJhL93meHG/Y3FWuaRQIbn9LJ5wpWurQ7RniqIV9Ae61SRmJJyYtxk1qLy/dKJ/jHyF1xp8PKIlnQ==
- dependencies:
- "@expo/code-signing-certificates" "0.0.2"
- "@expo/config" "~7.0.1"
- "@expo/config-plugins" "~5.0.1"
- "@expo/metro-config" "~0.3.19"
- arg "4.1.0"
- expo-eas-client "~0.3.0"
- expo-manifests "~0.3.0"
- expo-structured-headers "~2.2.0"
- expo-updates-interface "~0.7.0"
- fbemitter "^3.0.0"
- resolve-from "^5.0.0"
- uuid "^3.4.0"
-
expo-video-thumbnails@^6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/expo-video-thumbnails/-/expo-video-thumbnails-6.4.0.tgz#59603af06c1d2122c2f7db854562236bbd8319ec"
@@ -7624,21 +7483,6 @@ send@0.18.0, send@^0.18.0:
range-parser "~1.2.1"
statuses "2.0.1"
-sentry-expo@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/sentry-expo/-/sentry-expo-5.0.2.tgz#2dc1e3b0fb42c130758d1c812979e236a300dd59"
- integrity sha512-okDqnFuQ1iQLWAEMW7SbLNcfg9XkKyr1FwP6cuLgVl4sPuZEr5mQtLSp4jXUncWYtIG2gnRkmXmZukkUat/OoQ==
- dependencies:
- "@expo/config-plugins" "~5.0.0"
- "@expo/config-types" "^46.0.1"
- "@expo/spawn-async" "^1.6.0"
- "@sentry/browser" "7.7.0"
- "@sentry/integrations" "7.7.0"
- "@sentry/react-native" "4.2.2"
- "@sentry/types" "7.7.0"
- mkdirp "^1.0.4"
- rimraf "^3.0.2"
-
serialize-error@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-6.0.0.tgz#ccfb887a1dd1c48d6d52d7863b92544331fd752b"
@@ -8336,7 +8180,7 @@ typescript@^4.8.3:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88"
integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==
-ua-parser-js@^0.7.19, ua-parser-js@^0.7.30:
+ua-parser-js@^0.7.30:
version "0.7.31"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6"
integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==