Merge branch 'main' into release

This commit is contained in:
xmflsct 2023-05-16 22:31:49 +02:00
commit 8517186a84
No known key found for this signature in database
GPG Key ID: 078A93AB607D85E0
22 changed files with 1636 additions and 1926 deletions

View File

@ -7,7 +7,7 @@ on:
jobs:
build-ios:
runs-on: macos-12
runs-on: macos-13
steps:
- uses: tj-actions/branch-names@v6
id: branch
@ -20,7 +20,7 @@ jobs:
- run: bundle install
- run: yarn app:build ios
env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_14.3.app/Contents/Developer
ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
LC_ALL: en_US.UTF-8
@ -38,7 +38,7 @@ jobs:
GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }}
build-android:
runs-on: macos-12
runs-on: macos-13
steps:
- uses: tj-actions/branch-names@v6
id: branch
@ -67,7 +67,7 @@ jobs:
GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }}
create-release:
runs-on: macos-12
runs-on: macos-13
needs: [build-ios, build-android]
steps:
- uses: tj-actions/branch-names@v6

View File

@ -6,7 +6,7 @@ buildscript {
minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 33
kotlinVersion = '1.8.10'
kotlinVersion = '1.8.21'
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
ndkVersion = "23.1.7779620"

View File

@ -1,2 +1,3 @@
Enjoy toooting! This version includes following improvements and fixes:
- Added Greek translation
- Long press avatar in tab bar to quickly switch to another account
- Fix poll notifications wrongly greyed out

View File

@ -1,3 +1,3 @@
toooting愉快此版本包括以下改进和修复
- 新增希腊语
- 新增neodb专辑、播客及剧集卡片
tooot-ing愉快此版本包括以下改进和修复
- 长按底部菜单头像快速切换账户
- 修复投票通知显示

View File

@ -3,76 +3,76 @@ PODS:
- DoubleConversion (1.1.6)
- EXApplication (5.1.1):
- ExpoModulesCore
- EXAV (13.2.1):
- EXAV (13.3.0):
- ExpoModulesCore
- ReactCommon/turbomodule/core
- EXConstants (14.2.1):
- EXConstants (14.3.0):
- ExpoModulesCore
- EXFileSystem (15.2.2):
- EXFileSystem (15.3.0):
- ExpoModulesCore
- EXFont (11.1.1):
- ExpoModulesCore
- EXNotifications (0.18.1):
- ExpoModulesCore
- Expo (48.0.11):
- Expo (48.0.17):
- ExpoModulesCore
- ExpoCrypto (12.2.2):
- ExpoCrypto (12.3.0):
- ExpoModulesCore
- ExpoHaptics (12.2.1):
- ExpoHaptics (12.3.0):
- ExpoModulesCore
- ExpoImage (1.2.1):
- ExpoImage (1.2.3):
- ExpoModulesCore
- SDWebImage (~> 5.15.0)
- SDWebImageAVIFCoder (~> 0.9.4)
- SDWebImageAVIFCoder (~> 0.10.0)
- SDWebImageSVGCoder (~> 1.6.1)
- SDWebImageWebPCoder (~> 0.9.1)
- ExpoKeepAwake (12.0.1):
- ExpoModulesCore
- ExpoLocalization (14.1.1):
- ExpoLocalization (14.2.0):
- ExpoModulesCore
- ExpoModulesCore (1.2.6):
- ExpoModulesCore (1.2.7):
- React-Core
- React-RCTAppDelegate
- ReactCommon/turbomodule/core
- ExpoStoreReview (6.2.1):
- ExpoSecureStore (12.2.0):
- ExpoModulesCore
- ExpoVideoThumbnails (7.2.1):
- ExpoStoreReview (6.3.0):
- ExpoModulesCore
- ExpoVideoThumbnails (7.3.0):
- ExpoModulesCore
- ExpoWebBrowser (12.1.1):
- ExpoModulesCore
- EXScreenCapture (5.1.1):
- ExpoModulesCore
- EXScreenOrientation (5.1.1):
- EXScreenOrientation (5.2.0):
- ExpoModulesCore
- React-Core
- EXSecureStore (12.1.1):
- ExpoModulesCore
- EXSplashScreen (0.18.1):
- EXSplashScreen (0.18.2):
- ExpoModulesCore
- React-Core
- FBLazyVector (0.71.7)
- FBReactNativeSpec (0.71.7):
- FBLazyVector (0.71.8)
- FBReactNativeSpec (0.71.8):
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.71.7)
- RCTTypeSafety (= 0.71.7)
- React-Core (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- RCTRequired (= 0.71.8)
- RCTTypeSafety (= 0.71.8)
- React-Core (= 0.71.8)
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- fmt (6.2.1)
- glog (0.3.5)
- hermes-engine (0.71.7):
- hermes-engine/Pre-built (= 0.71.7)
- hermes-engine/Pre-built (0.71.7)
- libaom (2.0.2):
- libvmaf
- libavif (0.10.1):
- libavif/libaom (= 0.10.1)
- libavif/core (0.10.1)
- libavif/libaom (0.10.1):
- hermes-engine (0.71.8):
- hermes-engine/Pre-built (= 0.71.8)
- hermes-engine/Pre-built (0.71.8)
- libaom (3.0.0):
- libvmaf (>= 2.2.0)
- libavif (0.11.1):
- libavif/libaom (= 0.11.1)
- libavif/core (0.11.1)
- libavif/libaom (0.11.1):
- libaom (>= 2.0.0)
- libavif/core
- libevent (2.1.12)
- libvmaf (2.2.0)
- libvmaf (2.3.1)
- libwebp (1.2.4):
- libwebp/demux (= 1.2.4)
- libwebp/mux (= 1.2.4)
@ -82,9 +82,9 @@ PODS:
- libwebp/mux (1.2.4):
- libwebp/demux
- libwebp/webp (1.2.4)
- MMKV (1.2.15):
- MMKVCore (~> 1.2.15)
- MMKVCore (1.2.15)
- MMKV (1.2.16):
- MMKVCore (~> 1.2.16)
- MMKVCore (1.2.16)
- RCT-Folly (2021.07.22.00):
- boost
- DoubleConversion
@ -102,26 +102,26 @@ PODS:
- fmt (~> 6.2.1)
- glog
- libevent
- RCTRequired (0.71.7)
- RCTTypeSafety (0.71.7):
- FBLazyVector (= 0.71.7)
- RCTRequired (= 0.71.7)
- React-Core (= 0.71.7)
- React (0.71.7):
- React-Core (= 0.71.7)
- React-Core/DevSupport (= 0.71.7)
- React-Core/RCTWebSocket (= 0.71.7)
- React-RCTActionSheet (= 0.71.7)
- React-RCTAnimation (= 0.71.7)
- React-RCTBlob (= 0.71.7)
- React-RCTImage (= 0.71.7)
- React-RCTLinking (= 0.71.7)
- React-RCTNetwork (= 0.71.7)
- React-RCTSettings (= 0.71.7)
- React-RCTText (= 0.71.7)
- React-RCTVibration (= 0.71.7)
- React-callinvoker (0.71.7)
- React-Codegen (0.71.7):
- RCTRequired (0.71.8)
- RCTTypeSafety (0.71.8):
- FBLazyVector (= 0.71.8)
- RCTRequired (= 0.71.8)
- React-Core (= 0.71.8)
- React (0.71.8):
- React-Core (= 0.71.8)
- React-Core/DevSupport (= 0.71.8)
- React-Core/RCTWebSocket (= 0.71.8)
- React-RCTActionSheet (= 0.71.8)
- React-RCTAnimation (= 0.71.8)
- React-RCTBlob (= 0.71.8)
- React-RCTImage (= 0.71.8)
- React-RCTLinking (= 0.71.8)
- React-RCTNetwork (= 0.71.8)
- React-RCTSettings (= 0.71.8)
- React-RCTText (= 0.71.8)
- React-RCTVibration (= 0.71.8)
- React-callinvoker (0.71.8)
- React-Codegen (0.71.8):
- FBReactNativeSpec
- hermes-engine
- RCT-Folly
@ -132,213 +132,213 @@ PODS:
- React-jsiexecutor
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- React-Core (0.71.7):
- React-Core (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-Core/Default (= 0.71.8)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/CoreModulesHeaders (0.71.7):
- React-Core/CoreModulesHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/Default (0.71.7):
- React-Core/Default (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/DevSupport (0.71.7):
- React-Core/DevSupport (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7)
- React-Core/RCTWebSocket (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-Core/Default (= 0.71.8)
- React-Core/RCTWebSocket (= 0.71.8)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-jsinspector (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-jsinspector (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTActionSheetHeaders (0.71.7):
- React-Core/RCTActionSheetHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTAnimationHeaders (0.71.7):
- React-Core/RCTAnimationHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTBlobHeaders (0.71.7):
- React-Core/RCTBlobHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTImageHeaders (0.71.7):
- React-Core/RCTImageHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTLinkingHeaders (0.71.7):
- React-Core/RCTLinkingHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTNetworkHeaders (0.71.7):
- React-Core/RCTNetworkHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTSettingsHeaders (0.71.7):
- React-Core/RCTSettingsHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTTextHeaders (0.71.7):
- React-Core/RCTTextHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTVibrationHeaders (0.71.7):
- React-Core/RCTVibrationHeaders (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-Core/RCTWebSocket (0.71.7):
- React-Core/RCTWebSocket (0.71.8):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-Core/Default (= 0.71.8)
- React-cxxreact (= 0.71.8)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.8)
- Yoga
- React-CoreModules (0.71.7):
- React-CoreModules (0.71.8):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/CoreModulesHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.8)
- React-Core/CoreModulesHeaders (= 0.71.8)
- React-jsi (= 0.71.8)
- React-RCTBlob
- React-RCTImage (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-cxxreact (0.71.7):
- React-RCTImage (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- React-cxxreact (0.71.8):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7)
- React-jsi (= 0.71.7)
- React-jsinspector (= 0.71.7)
- React-logger (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-runtimeexecutor (= 0.71.7)
- React-hermes (0.71.7):
- React-callinvoker (= 0.71.8)
- React-jsi (= 0.71.8)
- React-jsinspector (= 0.71.8)
- React-logger (= 0.71.8)
- React-perflogger (= 0.71.8)
- React-runtimeexecutor (= 0.71.8)
- React-hermes (0.71.8):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- RCT-Folly/Futures (= 2021.07.22.00)
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.8)
- React-jsi
- React-jsiexecutor (= 0.71.7)
- React-jsinspector (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (0.71.7):
- React-jsiexecutor (= 0.71.8)
- React-jsinspector (= 0.71.8)
- React-perflogger (= 0.71.8)
- React-jsi (0.71.8):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-jsiexecutor (0.71.7):
- React-jsiexecutor (0.71.8):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.71.7)
- React-jsi (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsinspector (0.71.7)
- React-logger (0.71.7):
- React-cxxreact (= 0.71.8)
- React-jsi (= 0.71.8)
- React-perflogger (= 0.71.8)
- React-jsinspector (0.71.8)
- React-logger (0.71.8):
- glog
- react-native-blur (4.3.0):
- react-native-blur (4.3.2):
- React-Core
- react-native-cameraroll (5.3.1):
- react-native-cameraroll (5.4.0):
- React-Core
- react-native-image-picker (5.3.1):
- React-Core
@ -349,16 +349,16 @@ PODS:
- react-native-mmkv (2.8.0):
- MMKV (>= 1.2.13)
- React-Core
- react-native-netinfo (9.3.9):
- react-native-netinfo (9.3.10):
- React-Core
- react-native-pager-view (6.2.0):
- React-Core
- react-native-paste-input (0.6.2):
- React-Core
- Swime (= 3.0.6)
- react-native-quick-base64 (2.0.5):
- react-native-quick-base64 (2.0.6):
- React-Core
- react-native-safe-area-context (4.5.1):
- react-native-safe-area-context (4.5.3):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
@ -366,97 +366,97 @@ PODS:
- ReactCommon/turbomodule/core
- react-native-segmented-control (2.4.1):
- React-Core
- React-perflogger (0.71.7)
- React-RCTActionSheet (0.71.7):
- React-Core/RCTActionSheetHeaders (= 0.71.7)
- React-RCTAnimation (0.71.7):
- React-perflogger (0.71.8)
- React-RCTActionSheet (0.71.8):
- React-Core/RCTActionSheetHeaders (= 0.71.8)
- React-RCTAnimation (0.71.8):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/RCTAnimationHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTAppDelegate (0.71.7):
- RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.8)
- React-Core/RCTAnimationHeaders (= 0.71.8)
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTAppDelegate (0.71.8):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
- ReactCommon/turbomodule/core
- React-RCTBlob (0.71.7):
- React-RCTBlob (0.71.8):
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.71.7)
- React-Core/RCTBlobHeaders (= 0.71.7)
- React-Core/RCTWebSocket (= 0.71.7)
- React-jsi (= 0.71.7)
- React-RCTNetwork (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTImage (0.71.7):
- React-Codegen (= 0.71.8)
- React-Core/RCTBlobHeaders (= 0.71.8)
- React-Core/RCTWebSocket (= 0.71.8)
- React-jsi (= 0.71.8)
- React-RCTNetwork (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTImage (0.71.8):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/RCTImageHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- React-RCTNetwork (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTLinking (0.71.7):
- React-Codegen (= 0.71.7)
- React-Core/RCTLinkingHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTNetwork (0.71.7):
- RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.8)
- React-Core/RCTImageHeaders (= 0.71.8)
- React-jsi (= 0.71.8)
- React-RCTNetwork (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTLinking (0.71.8):
- React-Codegen (= 0.71.8)
- React-Core/RCTLinkingHeaders (= 0.71.8)
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTNetwork (0.71.8):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/RCTNetworkHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTSettings (0.71.7):
- RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.8)
- React-Core/RCTNetworkHeaders (= 0.71.8)
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTSettings (0.71.8):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/RCTSettingsHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTText (0.71.7):
- React-Core/RCTTextHeaders (= 0.71.7)
- React-RCTVibration (0.71.7):
- RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.8)
- React-Core/RCTSettingsHeaders (= 0.71.8)
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTText (0.71.8):
- React-Core/RCTTextHeaders (= 0.71.8)
- React-RCTVibration (0.71.8):
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.71.7)
- React-Core/RCTVibrationHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-runtimeexecutor (0.71.7):
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/bridging (0.71.7):
- React-Codegen (= 0.71.8)
- React-Core/RCTVibrationHeaders (= 0.71.8)
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
- React-runtimeexecutor (0.71.8):
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/bridging (0.71.8):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7)
- React-Core (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-jsi (= 0.71.7)
- React-logger (= 0.71.7)
- React-perflogger (= 0.71.7)
- ReactCommon/turbomodule/core (0.71.7):
- React-callinvoker (= 0.71.8)
- React-Core (= 0.71.8)
- React-cxxreact (= 0.71.8)
- React-jsi (= 0.71.8)
- React-logger (= 0.71.8)
- React-perflogger (= 0.71.8)
- ReactCommon/turbomodule/core (0.71.8):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7)
- React-Core (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-jsi (= 0.71.7)
- React-logger (= 0.71.7)
- React-perflogger (= 0.71.7)
- RNCAsyncStorage (1.17.11):
- React-callinvoker (= 0.71.8)
- React-Core (= 0.71.8)
- React-cxxreact (= 0.71.8)
- React-jsi (= 0.71.8)
- React-logger (= 0.71.8)
- React-perflogger (= 0.71.8)
- RNCAsyncStorage (1.17.12):
- React-Core
- RNCClipboard (1.11.2):
- React-Core
- RNGestureHandler (2.9.0):
- RNGestureHandler (2.10.0):
- React-Core
- RNReanimated (3.0.2):
- RNReanimated (3.1.0):
- DoubleConversion
- FBLazyVector
- FBReactNativeSpec
@ -486,27 +486,27 @@ PODS:
- RNScreens (3.20.0):
- React-Core
- React-RCTImage
- RNSentry (5.3.1):
- RNSentry (5.5.0):
- React-Core
- Sentry/HybridSDK (= 8.4.0)
- Sentry/HybridSDK (= 8.7.1)
- RNShareMenu (6.0.0):
- React
- RNSVG (13.9.0):
- React-Core
- SDWebImage (5.15.5):
- SDWebImage/Core (= 5.15.5)
- SDWebImage/Core (5.15.5)
- SDWebImageAVIFCoder (0.9.5):
- libavif (>= 0.9.1)
- SDWebImage (5.15.8):
- SDWebImage/Core (= 5.15.8)
- SDWebImage/Core (5.15.8)
- SDWebImageAVIFCoder (0.10.0):
- libavif (>= 0.11.0)
- SDWebImage (~> 5.10)
- SDWebImageSVGCoder (1.6.1):
- SDWebImage/Core (~> 5.6)
- SDWebImageWebPCoder (0.9.1):
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.13)
- Sentry/HybridSDK (8.4.0):
- SentryPrivate (= 8.4.0)
- SentryPrivate (8.4.0)
- Sentry/HybridSDK (8.7.1):
- SentryPrivate (= 8.7.1)
- SentryPrivate (8.7.1)
- Swime (3.0.6)
- Yoga (1.14.0)
@ -526,12 +526,12 @@ DEPENDENCIES:
- ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`)
- ExpoLocalization (from `../node_modules/expo-localization/ios`)
- ExpoModulesCore (from `../node_modules/expo-modules-core`)
- ExpoSecureStore (from `../node_modules/expo-secure-store/ios`)
- ExpoStoreReview (from `../node_modules/expo-store-review/ios`)
- ExpoVideoThumbnails (from `../node_modules/expo-video-thumbnails/ios`)
- ExpoWebBrowser (from `../node_modules/expo-web-browser/ios`)
- EXScreenCapture (from `../node_modules/expo-screen-capture/ios`)
- EXScreenOrientation (from `../node_modules/expo-screen-orientation/ios`)
- EXSecureStore (from `../node_modules/expo-secure-store/ios`)
- EXSplashScreen (from `../node_modules/expo-splash-screen/ios`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
@ -637,6 +637,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-localization/ios"
ExpoModulesCore:
:path: "../node_modules/expo-modules-core"
ExpoSecureStore:
:path: "../node_modules/expo-secure-store/ios"
ExpoStoreReview:
:path: "../node_modules/expo-store-review/ios"
ExpoVideoThumbnails:
@ -647,8 +649,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-screen-capture/ios"
EXScreenOrientation:
:path: "../node_modules/expo-screen-orientation/ios"
EXSecureStore:
:path: "../node_modules/expo-secure-store/ios"
EXSplashScreen:
:path: "../node_modules/expo-splash-screen/ios"
FBLazyVector:
@ -760,93 +760,93 @@ SPEC CHECKSUMS:
boost: 57d2868c099736d80fcd648bf211b4431e51a558
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903
EXAV: f1f69397ecdcf44cfacd4ff5d338cd1b96891e87
EXConstants: f348da07e21b23d2b085e270d7b74f282df1a7d9
EXFileSystem: 844e86ca9b5375486ecc4ef06d3838d5597d895d
EXAV: c661e742e2ee1986f5a6a030b48d9d3a3507d2f0
EXConstants: 29269f841ed8786d483b753021953264ac04818f
EXFileSystem: 0b4a2c08c2dc92146849772145d61c1773144283
EXFont: 6ea3800df746be7233208d80fe379b8ed74f4272
EXNotifications: dd628737af60fc8cc62dccebacd326b0fbbc0dcb
Expo: 81418098ffb16914b2e190f54e06db923248e4a1
ExpoCrypto: 9105610a09cd6290b900bd82fc5d190e489125a3
ExpoHaptics: 5156bc5160d8e04c170dd6e645a71154951a2ad9
ExpoImage: 09d394e082cdd18d946f10a522d566dfca019fb8
Expo: d351b4546895fb99ae4e5a1bc39df770ab9dc7d1
ExpoCrypto: 1582deaebe922a39f18bf28ec4723ef18d12b13e
ExpoHaptics: fb64dfe302cba07591bf1679ecb9531dadfc13cf
ExpoImage: 60f8d8182e8e13b5f5c2bb6bc860c933b2fe6c25
ExpoKeepAwake: 69f5f627670d62318410392d03e0b5db0f85759a
ExpoLocalization: f26cd431ad9ea3533c5b08c4fabd879176a794bb
ExpoModulesCore: 6e0259511f4c4341b6b8357db393624df2280828
ExpoStoreReview: d057dcca4b9c95f3c9db11bd2e168dab9cba59f3
ExpoVideoThumbnails: 0021303b614a89fcc5df8b59d9d37ddf14a7d4cf
ExpoLocalization: c1201ba5cfcfb187972138e58c07cc708c5399db
ExpoModulesCore: 653958063a301098b541ae4dfed1ac0b98db607b
ExpoSecureStore: 69a8b8e66e53afbd1c88b97a95a22af7fde9f99b
ExpoStoreReview: 69f68b07656f26540f2b38f971527609860930c8
ExpoVideoThumbnails: 4c5aa4a1ed34041844da7f8ba2967630d2573bdc
ExpoWebBrowser: 033d34c478d9986da2f1679729041423837626e0
EXScreenCapture: d9284f4a6508c86d0d463805b93672397d18de0f
EXScreenOrientation: 52220f8f2477ed25a37e3b2cdbbaa8635d250256
EXSecureStore: e8923258361cc406d0401af380f12bd05b2b720f
EXSplashScreen: cd7fb052dff5ba8311d5c2455ecbebffe1b7a8ca
FBLazyVector: a89a0525bc7ca174675045c2b492b5280d5a2470
FBReactNativeSpec: 7714e6bc1e9ea23df6c4cb42f0b2fd9c6a3a559c
EXScreenOrientation: d6f2277d20a76206f1ec5268d6c727e758e10d05
EXSplashScreen: 0e0a9ba0cf7553094e93213099bd7b42e6e237e9
FBLazyVector: f637f31eacba90d4fdeff3fa41608b8f361c173b
FBReactNativeSpec: 0d9a4f4de7ab614c49e98c00aedfd3bfbda33d59
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
hermes-engine: 4438d2b8bf8bebaba1b1ac0451160bab59e491f8
libaom: 9bb51e0f8f9192245e3ca2a1c9e4375d9cbccc52
libavif: e242998ccec1c83bcba0bbdc256f460ad5077348
hermes-engine: 47986d26692ae75ee7a17ab049caee8864f855de
libaom: 144606b1da4b5915a1054383c3a4459ccdb3c661
libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
libvmaf: 8d61aabc2f4ed3e6591cf7406fa00a223ec11289
libvmaf: 27f523f1e63c694d14d534cd0fddd2fab0ae8711
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
MMKV: 7f34558bbb5a33b0eaefae2de4b6a20a2ffdad6f
MMKVCore: ddf41b9d9262f058419f9ba7598719af56c02cd3
MMKV: 784471ce430a2e2d16afef9053d63fab1b357d9e
MMKVCore: 9cfef4c48c6c46f66226fc2e4634d78490206a48
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: 5a4a30ac20c86eeadd6844a9328f78d4168cf9b2
RCTTypeSafety: 279fc5861a89f0f37db3a585f27f971485b4b734
React: 88307a9be3bd0e71a6822271cf28b84a587fb97f
React-callinvoker: 35fb980c454104ebe82f0afb9826830089248e08
React-Codegen: a8dbde3b7476d5c19437d2adb9e8ea1b426b9595
React-Core: 385cb6fa78762c6409ff39faeb0dd9ad664b6e84
React-CoreModules: c2b7db313b04d9b71954ffd55d0c2e46bc40e9fb
React-cxxreact: 845fefb889132e5d004ff818f7a599e32c52e7d6
React-hermes: 86135f35e1dd2dfccfb97afe96d0c06f6a3970c4
React-jsi: 39c116aa6c3d6f3d9874eff6998a670b47882a28
React-jsiexecutor: eaa5f71eb8f6861cf0e57f1a0f52aeb020d9e18e
React-jsinspector: 9885f6f94d231b95a739ef7bb50536fb87ce7539
React-logger: 3f8ebad1be1bf3299d1ab6d7f971802d7395c7ef
react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3
react-native-cameraroll: f3050460fe1708378698c16686bfaa5f34099be2
RCTRequired: 8af6a32dfc2b65ec82193c2dee6e1011ff22ac2a
RCTTypeSafety: bee9dd161c175896c680d47ef1d9eaacf2b587f4
React: d850475db9ba8006a8b875d79e1e0d6ac8a0f8b6
React-callinvoker: 6a0c75475ddc17c9ed54e4ff0478074a18fd7ab5
React-Codegen: 786571642e87add634e7f4d299c85314ec6cc158
React-Core: 1adfab153f59e4f56e09b97a153089f466d7b8aa
React-CoreModules: 958d236715415d4ccdd5fa35c516cf0356637393
React-cxxreact: 2e7a6283807ce8755c3d501735acd400bec3b5cd
React-hermes: 8102c3112ba32207c3052619be8cfae14bf99d84
React-jsi: dd29264f041a587e91f994e4be97e86c127742b2
React-jsiexecutor: 747911ab5921641b4ed7e4900065896597142125
React-jsinspector: c712f9e3bb9ba4122d6b82b4f906448b8a281580
React-logger: 342f358b8decfbf8f272367f4eacf4b6154061be
react-native-blur: cfdad7b3c01d725ab62a8a729f42ea463998afa2
react-native-cameraroll: 8ffb0af7a5e5de225fd667610e2979fc1f0c2151
react-native-image-picker: ec9b713e248760bfa0f879f0715391de4651a7cb
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
react-native-language-detection: f414937fa715108ab50a6269a3de0bcb95e4ceb0
react-native-mmkv: 7da5e18e55c04a9af9a7e0ab9792a1e8d33765a1
react-native-netinfo: 22c082970cbd99071a4e5aa7a612ac20d66b08f0
react-native-netinfo: ccbe1085dffd16592791d550189772e13bf479e2
react-native-pager-view: 0ccb8bf60e2ebd38b1f3669fa3650ecce81db2df
react-native-paste-input: 3392800944a47c00dddbff23c31c281482209679
react-native-quick-base64: e657e9197e61b60a9dec49807843052b830da254
react-native-safe-area-context: f5549f36508b1b7497434baa0cd97d7e470920d4
react-native-quick-base64: 62290829c619fbabca4c41cfec75ae759d08fc1c
react-native-safe-area-context: b8979f5eda6ed5903d4dbc885be3846ea3daa753
react-native-segmented-control: 0e4b5d93911e2234f110057df2b41738b326ab3e
React-perflogger: 2d505bbe298e3b7bacdd9e542b15535be07220f6
React-RCTActionSheet: 0e96e4560bd733c9b37efbf68f5b1a47615892fb
React-RCTAnimation: fd138e26f120371c87e406745a27535e2c8a04ef
React-RCTAppDelegate: 4a9fd1230a98dc3d4382f8a934dc9f50834d8335
React-RCTBlob: 38a7185f06a0ce8153a023e63b406a28d67b955d
React-RCTImage: 92b0966e7c1cadda889e961c474397ad5180e194
React-RCTLinking: b80f8d0c6e94c54294b0048def51f57eaa9a27af
React-RCTNetwork: 491b0c65ac22edbd6695d12d084b4943103b009b
React-RCTSettings: 97af3e8abe0023349ec015910df3bda1a0380117
React-RCTText: 33c85753bd714d527d2ae538dc56ec24c6783d84
React-RCTVibration: 08f132cad9896458776f37c112e71d60aef1c6ae
React-runtimeexecutor: c5c89f8f543842dd864b63ded1b0bbb9c9445328
ReactCommon: dbfbe2f7f3c5ce4ce44f43f2fd0d5950d1eb67c5
RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60
React-perflogger: d21f182895de9d1b077f8a3cd00011095c8c9100
React-RCTActionSheet: 0151f83ef92d2a7139bba7dfdbc8066632a6d47b
React-RCTAnimation: 5ec9c0705bb2297549c120fe6473aa3e4a01e215
React-RCTAppDelegate: 9895fd1b6d1176d88c4b10ddc169b2e1300c91f0
React-RCTBlob: f3634eb45b6e7480037655e1ca93d1136ac984dd
React-RCTImage: 3c12cb32dec49549ae62ed6cba4018db43841ffc
React-RCTLinking: 310e930ee335ef25481b4a173d9edb64b77895f9
React-RCTNetwork: b6837841fe88303b0c04c1e3c01992b30f1f5498
React-RCTSettings: 600d91fe25fa7c16b0ff891304082440f2904b89
React-RCTText: a0a19f749088280c6def5397ed6211b811e7eef3
React-RCTVibration: 43ffd976a25f6057a7cf95ea3648ba4e00287f89
React-runtimeexecutor: 7c51ae9d4b3e9608a2366e39ccaa606aa551b9ed
ReactCommon: 85c98ab0a509e70bf5ee5d9715cf68dbf495b84c
RNCAsyncStorage: 09fc8595e6d6f6d5abf16b23a56b257d9c6b7c5b
RNCClipboard: 3f0451a8100393908bea5c5c5b16f96d45f30bfc
RNGestureHandler: 071d7a9ad81e8b83fe7663b303d132406a7d8f39
RNReanimated: f0dd6b881808e635ef0673f89642937d6c141314
RNGestureHandler: e145476da655f3dbc48ef2f0a08cf7a34338c02b
RNReanimated: b1220a0e5168745283ff5d53bfc7d2144b2cee1b
RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f
RNSentry: 68d5b2339fc7cd864e8076279345cc90174fa583
RNSentry: 4fb2cd7d2d6cb94423c24884488206ef881da136
RNShareMenu: cb9dac548c8bf147d06f0bf07296ad51ea9f5fc3
RNSVG: 53c661b76829783cdaf9b7a57258f3d3b4c28315
SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe
SDWebImageAVIFCoder: d759e21cf4efb640cc97250566aa556ad8bb877c
SDWebImage: cb032eba469c54e0000e78bcb0a13cdde0a52798
SDWebImageAVIFCoder: 4aeea8fdf65af5c18525ecb5bdd8b8ed9bb45019
SDWebImageSVGCoder: 6fc109f9c2a82ab44510fff410b88b1a6c271ee8
SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0
Sentry: 16d46dd5ca10e7f4469a2611805a3de123188add
SentryPrivate: 2bb4f8d9ff558b25ac70b66c1dedc58a7c43630b
Sentry: 11776f6a25a128808d793d0d41bb7ad873b5ae4f
SentryPrivate: b3c448eacdabe9eab7679a2e0af609c608f91572
Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b
Yoga: d56980c8914db0b51692f55533409e844b66133c
Yoga: 065f0b74dba4832d6e328238de46eb72c5de9556
PODFILE CHECKSUM: 61a84f1ad8a466fbbbf09e0f8bb3ed30b2d5e301
COCOAPODS: 1.12.0
COCOAPODS: 1.12.1

View File

@ -1,6 +1,6 @@
{
"name": "tooot",
"version": "4.9.4",
"version": "4.9.5",
"description": "tooot for Mastodon",
"author": "xmflsct <me@xmflsct.com>",
"license": "GPL-3.0-or-later",
@ -19,92 +19,92 @@
},
"dependencies": {
"@expo/react-native-action-sheet": "^4.0.1",
"@formatjs/intl-datetimeformat": "^6.7.0",
"@formatjs/intl-getcanonicallocales": "^2.1.0",
"@formatjs/intl-locale": "^3.2.1",
"@formatjs/intl-numberformat": "^8.4.1",
"@formatjs/intl-pluralrules": "^5.2.1",
"@formatjs/intl-relativetimeformat": "^11.2.1",
"@formatjs/intl-datetimeformat": "^6.8.0",
"@formatjs/intl-getcanonicallocales": "^2.2.0",
"@formatjs/intl-locale": "^3.3.0",
"@formatjs/intl-numberformat": "^8.5.0",
"@formatjs/intl-pluralrules": "^5.2.2",
"@formatjs/intl-relativetimeformat": "^11.2.2",
"@mattermost/react-native-paste-input": "^0.6.2",
"@neverdull-agency/expo-unlimited-secure-store": "^1.0.10",
"@react-native-async-storage/async-storage": "~1.17.11",
"@react-native-camera-roll/camera-roll": "^5.3.1",
"@react-native-camera-roll/camera-roll": "^5.4.0",
"@react-native-clipboard/clipboard": "^1.11.2",
"@react-native-community/blur": "^4.3.0",
"@react-native-community/netinfo": "9.3.9",
"@react-native-firebase/app": "^17.4.2",
"@react-native-community/blur": "^4.3.2",
"@react-native-community/netinfo": "9.3.10",
"@react-native-firebase/app": "^17.5.0",
"@react-native-menu/menu": "^0.7.3",
"@react-native-segmented-control/segmented-control": "^2.4.1",
"@react-navigation/bottom-tabs": "^6.5.7",
"@react-navigation/native": "^6.1.6",
"@react-navigation/native-stack": "^6.9.12",
"@react-navigation/stack": "^6.3.16",
"@sentry/react-native": "5.3.1",
"@sentry/react-native": "5.5.0",
"@sharcoux/slider": "^6.1.2",
"@tanstack/react-query": "^4.29.3",
"axios": "^1.3.6",
"@tanstack/react-query": "^4.29.7",
"axios": "^1.4.0",
"diff": "^5.1.0",
"expo": "48.0.11",
"expo-auth-session": "^4.0.3",
"expo-av": "^13.2.1",
"expo-constants": "^14.2.1",
"expo-crypto": "^12.2.2",
"expo-file-system": "^15.2.2",
"expo-haptics": "^12.2.1",
"expo-image": "^1.2.1",
"expo-linking": "^4.0.1",
"expo-localization": "^14.1.1",
"expo": "48.0.17",
"expo-auth-session": "^4.1.0",
"expo-av": "^13.3.0",
"expo-constants": "^14.3.0",
"expo-crypto": "^12.3.0",
"expo-file-system": "^15.3.0",
"expo-haptics": "^12.3.0",
"expo-image": "^1.2.3",
"expo-linking": "^4.1.0",
"expo-localization": "^14.2.0",
"expo-notifications": "^0.18.1",
"expo-screen-capture": "^5.1.1",
"expo-screen-orientation": "^5.1.1",
"expo-screen-capture": "5.1.1",
"expo-screen-orientation": "^5.2.0",
"expo-secure-store": "^12.1.1",
"expo-splash-screen": "^0.18.1",
"expo-store-review": "^6.2.1",
"expo-video-thumbnails": "^7.2.1",
"expo-splash-screen": "^0.18.2",
"expo-store-review": "^6.3.0",
"expo-video-thumbnails": "^7.3.0",
"expo-web-browser": "~12.1.1",
"htmlparser2": "^8.0.2",
"htmlparser2": "^9.0.0",
"i18next": "^22.4.15",
"linkify-it": "^4.0.1",
"lodash": "^4.17.21",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-i18next": "^12.2.0",
"react-intl": "^6.4.1",
"react-native": "^0.71.7",
"react-i18next": "^12.2.2",
"react-intl": "^6.4.2",
"react-native": "^0.71.8",
"react-native-flash-message": "^0.4.1",
"react-native-gesture-handler": "~2.9.0",
"react-native-gesture-handler": "~2.10.0",
"react-native-image-picker": "^5.3.1",
"react-native-ios-context-menu": "^1.15.3",
"react-native-language-detection": "^0.2.2",
"react-native-mmkv": "~2.8.0",
"react-native-pager-view": "^6.2.0",
"react-native-quick-base64": "^2.0.5",
"react-native-reanimated": "^3.0.2",
"react-native-quick-base64": "^2.0.6",
"react-native-reanimated": "^3.1.0",
"react-native-reanimated-zoom": "^0.3.3",
"react-native-safe-area-context": "^4.5.1",
"react-native-safe-area-context": "^4.5.3",
"react-native-screens": "^3.20.0",
"react-native-share-menu": "^6.0.0",
"react-native-svg": "^13.9.0",
"react-native-swipe-list-view": "^3.2.9",
"react-native-tab-view": "^3.5.1",
"rn-placeholder": "^3.0.3",
"zeego": "^1.4.2"
"zeego": "^1.6.0"
},
"devDependencies": {
"@babel/core": "^7.21.4",
"@babel/core": "^7.21.8",
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/preset-typescript": "^7.21.4",
"@expo/config": "^8.0.2",
"@babel/preset-typescript": "^7.21.5",
"@expo/config": "^8.0.4",
"@types/diff": "^5.0.3",
"@types/linkify-it": "^3.0.2",
"@types/lodash": "^4.14.194",
"@types/react": "^18.0.37",
"@types/react-dom": "^18.0.11",
"@types/react": "^18.2.6",
"@types/react-dom": "^18.2.4",
"@types/react-native-share-menu": "^5.0.2",
"babel-plugin-module-resolver": "^5.0.0",
"babel-plugin-transform-remove-console": "^6.9.4",
"chalk": "^4.1.2",
"deprecated-react-native-prop-types": "^4.0.0",
"deprecated-react-native-prop-types": "^4.1.0",
"dotenv": "^16.0.3",
"react-native-clean-project": "^4.0.1",
"typescript": "^5.0.4"

View File

@ -52,7 +52,7 @@ const ComponentInstance: React.FC<Props> = ({
!!domain.length &&
!!errorCode &&
!!(Linking.parse(`https://${domain}/`).hostname === domain) &&
errorCode === 401
(errorCode === 401 || errorCode === 500)
const instanceQuery = useInstanceQuery({
domain,
@ -80,7 +80,7 @@ const ComponentInstance: React.FC<Props> = ({
clientSecret,
scopes: variables.scopes,
redirectUri,
usePKCE: !['pawoo.net', 'mao.mastodonhub.com'].includes(domain)
usePKCE: !['pawoo.net'].includes(domain)
})
await request.makeAuthUrlAsync(discovery)
@ -131,7 +131,8 @@ const ComponentInstance: React.FC<Props> = ({
((instanceQuery.data as Mastodon.Instance_V1)?.uri
? Linking.parse((instanceQuery.data as Mastodon.Instance_V1).uri).hostname
: undefined) ||
(instanceQuery.data as Mastodon.Instance_V1)?.uri,
(instanceQuery.data as Mastodon.Instance_V1)?.uri ||
domain,
'auth.account.avatar_static': avatar_static,
version: instanceQuery.data?.version || '0',
preferences: undefined,

View File

@ -62,14 +62,16 @@ const TimelineNotifications: React.FC<Props> = ({ notification, queryKey }) => {
<View
style={{
opacity:
notification.type === 'follow' ||
notification.type === 'follow_request' ||
notification.type === 'mention' ||
notification.type === 'status' ||
notification.type === 'admin.sign_up'
? 1
: 0.5
opacity: [
'follow',
'follow_request',
'mention',
'status',
'poll',
'admin.sign_up'
].includes(notification.type)
? 1
: 0.5
}}
>
<View style={{ flex: 1, width: '100%', flexDirection: 'row' }}>

View File

@ -10,6 +10,7 @@ import React, { useContext } from 'react'
import { useTranslation } from 'react-i18next'
import { Pressable, StyleSheet, View } from 'react-native'
import StatusContext from './Context'
import GracefullyImage from '@components/GracefullyImage'
export interface Props {
action: Mastodon.Notification['type'] | 'reblog' | 'pinned'
@ -39,6 +40,25 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
)
const onPress = () => navigation.push('Tab-Shared-Account', { account })
const miniAvatar = (
<GracefullyImage
sources={{
default: { uri: account.avatar },
static: { uri: account.avatar_static }
}}
dimension={{
width: StyleConstants.Avatar.XS / 1.5,
height: StyleConstants.Avatar.XS / 1.5
}}
style={{
borderRadius: 99,
overflow: 'hidden',
marginRight: StyleConstants.Spacing.S
}}
dim
withoutTransition
/>
)
const children = () => {
switch (action) {
@ -63,7 +83,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor}
style={styles.icon}
/>
<Pressable onPress={onPress}>
<Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{miniAvatar}
{content(t('shared.actioned.favourite', { name }))}
</Pressable>
</>
@ -77,7 +98,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor}
style={styles.icon}
/>
<Pressable onPress={onPress}>
<Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{miniAvatar}
{content(t('shared.actioned.follow', { name }))}
</Pressable>
</>
@ -91,7 +113,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor}
style={styles.icon}
/>
<Pressable onPress={onPress}>
<Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{miniAvatar}
{content(t('shared.actioned.follow_request', { name }))}
</Pressable>
</>
@ -118,7 +141,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor}
style={styles.icon}
/>
<Pressable onPress={onPress}>
<Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{!myself ? miniAvatar : null}
{content(
isNotification
? t('shared.actioned.reblog.notification', { name })
@ -138,7 +162,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor}
style={styles.icon}
/>
<Pressable onPress={onPress}>
<Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{miniAvatar}
{content(t('shared.actioned.status', { name }))}
</Pressable>
</>

View File

@ -39,6 +39,7 @@ const TimelineHeaderAndroid: React.FC = () => {
<View
style={{
padding: StyleConstants.Spacing.L,
paddingBottom: StyleConstants.Spacing.S,
backgroundColor: colors.backgroundDefault
}}
>

View File

@ -11,11 +11,11 @@
},
"right": {
"button": {
"default": "Допіс",
"default": "Апублікаваць",
"conversation": "Асабістае паведамленне",
"reply": "Адказаць",
"deleteEdit": "Допіс",
"edit": "Допіс",
"deleteEdit": "Апублікаваць",
"edit": "Апублікаваць",
"share": "Допіс"
},
"alert": {

View File

@ -153,13 +153,13 @@
"refresh": "Actualitza"
},
"count": {
"voters_one": "{{count}} usuari ha votat",
"voters_other": "{{count}} usuaris han votat",
"voters_one": "{{count}} vot",
"voters_other": "{{count}} vots",
"votes_one": "{{count}} vot",
"votes_other": "{{count}} vots"
},
"expiration": {
"expired": "Votació finalitzada",
"expired": "Finalitzada",
"until": "Finalitza <0 />"
}
}

View File

@ -153,13 +153,13 @@
"refresh": "Actualizar"
},
"count": {
"voters_one": "{{count}} usuario ha votado",
"voters_other": "{{count}} usuarios han votado",
"voters_one": "{{count}} voto",
"voters_other": "{{count}} votos",
"votes_one": "{{count}} voto",
"votes_other": "{{count}} votos"
},
"expiration": {
"expired": "Votación expirada",
"expired": "Finalizado",
"until": "Expira <0 />"
}
}

View File

@ -17,7 +17,6 @@ import {
Dimensions,
NativeScrollEvent,
NativeSyntheticEvent,
Platform,
Pressable,
StyleSheet,
View
@ -198,7 +197,7 @@ const ScreenAnnouncements: React.FC<RootStackScreenProps<'Screen-Announcements'>
)
}
return Platform.OS === 'ios' ? (
return (
<BlurView
blurType={mode}
blurAmount={20}
@ -244,45 +243,6 @@ const ScreenAnnouncements: React.FC<RootStackScreenProps<'Screen-Announcements'>
</View>
</SafeAreaView>
</BlurView>
) : (
<SafeAreaView style={{ flex: 1, backgroundColor: colors.backgroundDefault }}>
<FlatList
horizontal
data={query.data}
pagingEnabled
renderItem={renderItem}
showsHorizontalScrollIndicator={false}
onMomentumScrollEnd={onMomentumScrollEnd}
ListEmptyComponent={ListEmptyComponent}
/>
<View
style={{
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
minHeight: 49
}}
>
{query.data && query.data.length > 1 ? (
<>
{query.data.map((d, i) => (
<View
key={i}
style={{
width: StyleConstants.Spacing.S,
height: StyleConstants.Spacing.S,
borderRadius: StyleConstants.BorderRadius,
borderWidth: 1,
borderColor: colors.primaryDefault,
backgroundColor: i === index ? colors.primaryDefault : undefined,
marginLeft: i === query.data.length ? 0 : StyleConstants.Spacing.S
}}
/>
))}
</>
) : null}
</View>
</SafeAreaView>
)
}

View File

@ -1,7 +1,6 @@
import Button from '@components/Button'
import haptics from '@components/haptics'
import { removeAccount, useGlobalStorage } from '@utils/storage/actions'
import { StyleConstants } from '@utils/styles/constants'
import React from 'react'
import { useTranslation } from 'react-i18next'
import { Alert } from 'react-native'
@ -15,11 +14,6 @@ const Logout: React.FC = () => {
<Button
type='text'
content={t('screenTabs:me.root.logout.button')}
style={{
marginHorizontal: StyleConstants.Spacing.Global.PagePadding * 2,
marginTop: StyleConstants.Spacing.Global.PagePadding,
marginBottom: StyleConstants.Spacing.Global.PagePadding * 2
}}
destructive
onPress={() =>
Alert.alert(
@ -43,6 +37,7 @@ const Logout: React.FC = () => {
]
)
}
style={{ flex: 1 }}
/>
)
}

View File

@ -1,6 +1,5 @@
import Button from '@components/Button'
import { useNavigation } from '@react-navigation/native'
import { StyleConstants } from '@utils/styles/constants'
import React from 'react'
import { useTranslation } from 'react-i18next'
@ -12,11 +11,8 @@ const AccountInformationSwitch: React.FC = () => {
<Button
type='text'
content={t('me.stacks.switch.name')}
style={{
marginHorizontal: StyleConstants.Spacing.Global.PagePadding * 2,
marginTop: StyleConstants.Spacing.Global.PagePadding
}}
onPress={() => navigation.navigate('Tab-Me-Switch')}
style={{ flex: 1 }}
/>
)
}

View File

@ -9,7 +9,9 @@ import AccountContext from '@screens/Tabs/Shared/Account/Context'
import AccountNav from '@screens/Tabs/Shared/Account/Nav'
import { useProfileQuery } from '@utils/queryHooks/profile'
import { useGlobalStorage } from '@utils/storage/actions'
import { StyleConstants } from '@utils/styles/constants'
import React, { useRef } from 'react'
import { View } from 'react-native'
import Animated, { useAnimatedScrollHandler, useSharedValue } from 'react-native-reanimated'
const TabMeRoot: React.FC = () => {
@ -39,8 +41,20 @@ const TabMeRoot: React.FC = () => {
{accountActive ? <MyInfo /> : <ComponentInstance />}
{accountActive ? <Collections /> : null}
<Settings />
{accountActive ? <AccountInformationSwitch /> : null}
{accountActive ? <Logout /> : null}
{accountActive ? (
<View
style={{
flexDirection: 'row',
marginHorizontal: StyleConstants.Spacing.Global.PagePadding,
marginTop: StyleConstants.Spacing.S,
marginBottom: StyleConstants.Spacing.XL,
gap: StyleConstants.Spacing.M
}}
>
<Logout />
<AccountInformationSwitch />
</View>
) : null}
</Animated.ScrollView>
</AccountContext.Provider>
)

View File

@ -1,12 +1,20 @@
import GracefullyImage from '@components/GracefullyImage'
import haptics from '@components/haptics'
import Icon from '@components/Icon'
import haptics from '@components/haptics'
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
import { ScreenTabsStackParamList } from '@utils/navigation/navigators'
import { getGlobalStorage, useAccountStorage, useGlobalStorage } from '@utils/storage/actions'
import {
getGlobalStorage,
getReadableAccounts,
setAccount,
useAccountStorage,
useGlobalStorage
} from '@utils/storage/actions'
import { useTheme } from '@utils/styles/ThemeManager'
import { StyleConstants } from '@utils/styles/constants'
import React from 'react'
import { Platform, View } from 'react-native'
import * as ContextMenu from 'zeego/context-menu'
import TabLocal from './Local'
import TabMe from './Me'
import TabNotifications from './Notifications'
@ -50,19 +58,70 @@ const ScreenTabs = () => {
return <Icon name='bell' size={size} color={color} />
case 'Tab-Me':
return (
<View key={avatarStatic} style={{ flexDirection: 'row', alignItems: 'center' }}>
<GracefullyImage
sources={{ default: { uri: avatarStatic } }}
dimension={{ width: size, height: size }}
style={{
borderRadius: 99,
overflow: 'hidden',
borderWidth: focused ? 2 : 0,
borderColor: focused ? colors.primaryDefault : color
}}
/>
<Icon name='more-vertical' size={size / 1.5} color={colors.secondary} />
</View>
<>
<ContextMenu.Root onOpenChange={() => haptics('Light')}>
<ContextMenu.Trigger>
<View
key={avatarStatic}
style={{ flexDirection: 'row', alignItems: 'center' }}
>
<GracefullyImage
sources={{ default: { uri: avatarStatic } }}
dimension={{ width: size, height: size }}
style={{
borderRadius: 99,
overflow: 'hidden',
borderWidth: focused ? 2 : 0,
borderColor: focused ? colors.primaryDefault : color
}}
/>
<Icon name='more-vertical' size={size / 1.5} color={colors.secondary} />
</View>
</ContextMenu.Trigger>
<ContextMenu.Content>
<ContextMenu.Preview preferredCommitStyle='pop'>
{() => (
<View
key={avatarStatic}
style={{
flexDirection: 'row',
alignItems: 'center',
padding: StyleConstants.Spacing.M
}}
>
<GracefullyImage
sources={{ default: { uri: avatarStatic } }}
dimension={{ width: size, height: size }}
style={{
borderRadius: 99,
overflow: 'hidden',
borderWidth: 2,
borderColor: colors.primaryDefault
}}
/>
</View>
)}
</ContextMenu.Preview>
{getReadableAccounts().map(account => (
<ContextMenu.CheckboxItem
key={account.key}
value={account.active ? 'on' : 'off'}
disabled={account.active}
onValueChange={async () => {
if (!account.active) {
await setAccount(account.key)
haptics('Light')
}
}}
>
<ContextMenu.ItemTitle children={account.acct} />
</ContextMenu.CheckboxItem>
))}
</ContextMenu.Content>
</ContextMenu.Root>
</>
)
default:
return <Icon name='alert-octagon' size={size} color={color} />
@ -88,13 +147,13 @@ const ScreenTabs = () => {
<Tab.Screen
name='Tab-Me'
component={TabMe}
listeners={({ navigation }) => ({
tabLongPress: () => {
haptics('Light')
navigation.navigate('Tab-Me', { screen: 'Tab-Me-Root' })
navigation.navigate('Tab-Me', { screen: 'Tab-Me-Switch' })
}
})}
// listeners={({ navigation }) => ({
// tabLongPress: () => {
// haptics('Light')
// navigation.navigate('Tab-Me', { screen: 'Tab-Me-Root' })
// navigation.navigate('Tab-Me', { screen: 'Tab-Me-Switch' })
// }
// })}
/>
</Tab.Navigator>
)

View File

@ -19,12 +19,11 @@ import { useInstanceQuery } from '@utils/queryHooks/instance'
import { usePreferencesQuery } from '@utils/queryHooks/preferences'
import { useProfileQuery } from '@utils/queryHooks/profile'
import { useFollowedTagsQuery } from '@utils/queryHooks/tags'
import { setAccount, setGlobalStorage, useGlobalStorage } from '@utils/storage/actions'
import { setGlobalStorage, useGlobalStorage } from '@utils/storage/actions'
import { useTheme } from '@utils/styles/ThemeManager'
import { themes } from '@utils/styles/themes'
import * as Linking from 'expo-linking'
import { addScreenshotListener } from 'expo-screen-capture'
import React, { useEffect, useState } from 'react'
import React, { useEffect } from 'react'
import { useTranslation } from 'react-i18next'
import { IntlProvider } from 'react-intl'
import { Alert, Platform, StatusBar } from 'react-native'

View File

@ -34,5 +34,7 @@ const features: { feature: Features; version: number }[] = [
]
export const featureCheck = (feature: Features, v?: string): boolean =>
(features.find(f => f.feature === feature)?.version || 999) <=
parseFloat(v || getAccountStorage.string('version'))
v
? (features.find(f => f.feature === feature)?.version || 999) <=
parseFloat(v || getAccountStorage.string('version'))
: false

View File

@ -248,7 +248,6 @@ export const setAccount = async (account: string) => {
storage.account = temp
setGlobalStorage('account.active', account)
await queryClient.resetQueries()
queryClient.clear()
await apiGeneral<Mastodon.Account>({
method: 'get',

2578
yarn.lock

File diff suppressed because it is too large Load Diff