diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 73ce0f1d..5e159974 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -7,7 +7,7 @@ on:
jobs:
build:
- runs-on: macos-10.15
+ runs-on: macos-11
steps:
- name: -- Step 0 -- Extract branch name
shell: bash
@@ -20,11 +20,11 @@ jobs:
with:
node-version: 14.x
- name: -- Step 3 -- Use Expo action
- uses: expo/expo-github-action@v5
+ uses: expo/expo-github-action@v6
with:
expo-version: 4.x
- expo-username: ${{ secrets.EXPO_USERNAME }}
- expo-token: ${{ secrets.EXPO_TOKEN }}
+ username: ${{ secrets.EXPO_USERNAME }}
+ token: ${{ secrets.EXPO_TOKEN }}
- name: -- Step 4 -- Install node dependencies
run: yarn install
- name: -- Step 5 -- Install native dependencies
@@ -33,6 +33,7 @@ jobs:
run: bundle install
- name: -- Step 7 -- Run fastlane
env:
+ DEVELOPER_DIR: /Applications/Xcode_12.5.1.app/Contents/Developer
ENVIRONMENT: ${{ steps.branch.outputs.branch }}
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
diff --git a/VERSIONING.md b/VERSIONING.md
index c9d788ad..6d9e4861 100644
--- a/VERSIONING.md
+++ b/VERSIONING.md
@@ -5,7 +5,7 @@
* A new app store version has to be submitted.
* Outdated versions in principle do not receive further OTA updates.
-## Minor releases - App Store and OTA
+## Minor releases - App Store
"Minor releases" are artifacts published as `?.y.?`:
* An artifact can be released as `?.y.?` when there is no change nor update made to the native modules.
@@ -21,11 +21,12 @@
## OTA release channels
- * `MAJOR-environment`. Environments include `release`, `candidate` and `development`.
+ * `MAJOR.MINOR-environment`. Environments include `release`, `candidate` and `development`.
## Major versions mapping to native module versions
-| Major version | Native module version | Expo version |
-| :-----------: | :-------------------: | :----------: |
-| `0` | `210201` | `40.0.0` |
-| `1` | `210317` | `40.0.0` |
\ No newline at end of file
+| Version | Native module version | Expo version |
+| :------:| :-------------------: | :----------: |
+| `0-` | `210201` | `40.0.0` |
+| `1-` | `210317` | `40.0.0` |
+| `2.2` | `210916` | `41.0.0` |
\ No newline at end of file
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 69182fd5..23656c7e 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -78,7 +78,7 @@ import com.android.build.OutputFile
*/
project.ext.react = [
- enableHermes: true
+ enableHermes: (findProperty('expo.jsEngine') ?: "jsc") == "hermes"
]
apply from: '../../node_modules/react-native-unimodules/gradle.groovy'
diff --git a/android/gradle.properties b/android/gradle.properties
index 2ac55671..f249bc98 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -31,4 +31,8 @@ FLIPPER_VERSION=0.75.1
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
-org.gradle.configureondemand=true
\ No newline at end of file
+org.gradle.configureondemand=true
+
+# The hosted JavaScript engine
+# Supported values: expo.jsEngine = "hermes" | "jsc"
+expo.jsEngine=hermes
\ No newline at end of file
diff --git a/app.config.ts b/app.config.ts
index 6344887b..9de1facb 100644
--- a/app.config.ts
+++ b/app.config.ts
@@ -34,7 +34,7 @@ export default (): ExpoConfig => ({
bundleIdentifier: 'com.xmflsct.app.tooot'
},
android: {
- versionCode: 4,
+ jsEngine: 'hermes',
package: 'com.xmflsct.app.tooot',
googleServicesFile: './configs/google-services.json',
permissions: ['CAMERA', 'VIBRATE']
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index 7298ff94..21c536a8 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -8,7 +8,7 @@ ensure_env_vars(
VERSIONS = read_json( json_path: "./package.json" )[:versions]
ENVIRONMENT = ENV["ENVIRONMENT"]
VERSION = "#{VERSIONS[:major]}.#{VERSIONS[:minor]}"
-RELEASE_CHANNEL = "#{VERSIONS[:major]}-#{ENVIRONMENT}"
+RELEASE_CHANNEL = "#{VERSIONS[:major]}.#{VERSIONS[:minor]}-#{ENVIRONMENT}"
BUILD_NUMBER = "#{Time.now.strftime("%y%m%d")}#{ENV["GITHUB_RUN_NUMBER"]}"
GITHUB_REPO = "tooot-app/app"
case ENVIRONMENT
diff --git a/ios/File.swift b/ios/File.swift
index 5c905f26..8ac9906c 100644
--- a/ios/File.swift
+++ b/ios/File.swift
@@ -2,7 +2,7 @@
// File.swift
// tooot
//
-// Created by Zheng Zhiyuan (SEBD) on 2021-03-15.
+// Created by Zhiyuan Zheng on 2021-08-22.
//
import Foundation
diff --git a/ios/Podfile b/ios/Podfile
index db4de4cc..dd6f31a0 100644
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -11,7 +11,7 @@ target 'tooot' do
use_react_native!(
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
- :hermes_enabled => true
+ :hermes_enabled => false
)
# Enables Flipper.
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index b70113fb..2974ea51 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -1,85 +1,96 @@
PODS:
- boost-for-react-native (1.63.0)
- DoubleConversion (1.1.6)
- - EXApplication (3.1.2):
+ - EXApplication (3.2.0):
- UMCore
- - EXAV (9.1.2):
+ - EXAV (9.2.3):
+ - ExpoModulesCore
- UMCore
- - UMFileSystemInterface
- - UMPermissionsInterface
- - EXConstants (10.1.3):
- - UMConstantsInterface
+ - EXConstants (11.0.2):
+ - ExpoModulesCore
- UMCore
- - EXCrypto (9.1.0):
+ - EXCrypto (9.2.0):
- UMCore
- - EXDevice (2.4.0):
+ - EXDevice (3.3.0):
- UMCore
- - EXErrorRecovery (2.1.0):
+ - EXErrorRecovery (2.2.0):
- UMCore
- - EXFileSystem (11.0.2):
+ - EXFileSystem (11.1.3):
+ - ExpoModulesCore
- UMCore
- - UMFileSystemInterface
- - EXFirebaseAnalytics (4.0.2):
+ - EXFirebaseAnalytics (4.1.0):
- EXFirebaseCore
- Firebase/Core (= 7.7.0)
- UMCore
- - EXFirebaseCore (3.0.0):
+ - EXFirebaseCore (3.1.0):
- Firebase/Core (= 7.7.0)
- UMCore
- - EXFont (9.1.0):
+ - EXFont (9.2.1):
+ - ExpoModulesCore
- UMCore
- - UMFontInterface
- - EXHaptics (10.0.0):
+ - EXHaptics (10.1.0):
- UMCore
- - EXImageLoader (2.1.1):
+ - EXImageLoader (2.2.0):
+ - ExpoModulesCore
- React-Core
- UMCore
- - UMImageLoaderInterface
- - EXImageManipulator (9.1.0):
+ - EXImageManipulator (9.2.2):
+ - ExpoModulesCore
- UMCore
- - UMFileSystemInterface
- - UMImageLoaderInterface
- - EXImagePicker (10.1.4):
+ - EXImagePicker (10.2.3):
+ - ExpoModulesCore
- UMCore
- - UMFileSystemInterface
- - UMPermissionsInterface
- - EXKeepAwake (9.1.2):
+ - EXKeepAwake (9.2.0):
- UMCore
- - EXLocalization (10.1.0):
+ - EXLocalization (10.2.0):
- UMCore
- - EXNotifications (0.11.6):
+ - EXNotifications (0.12.3):
+ - ExpoModulesCore
- UMCore
- - UMPermissionsInterface
- - EXPermissions (12.0.1):
+ - EXPermissions (12.1.1):
+ - ExpoModulesCore
- UMCore
- - UMPermissionsInterface
- - EXRandom (11.1.2):
+ - ExpoModulesCore (0.2.0):
+ - ExpoModulesCore/Core (= 0.2.0)
+ - ExpoModulesCore/Interfaces (= 0.2.0)
+ - UMCore
+ - ExpoModulesCore/Core (0.2.0):
+ - UMCore
+ - ExpoModulesCore/Interfaces (0.2.0):
+ - ExpoModulesCore/Core
+ - UMCore
+ - EXRandom (11.2.0):
- React-Core
- - EXScreenCapture (3.1.0):
+ - EXScreenCapture (3.2.0):
- UMCore
- - EXSecureStore (10.1.0):
+ - EXSecureStore (10.2.0):
- UMCore
- - EXSplashScreen (0.10.2):
+ - EXSplashScreen (0.11.4):
- React-Core
- UMCore
- - EXStoreReview (4.0.2):
+ - EXStoreReview (4.1.0):
- UMCore
- - EXUpdates (0.3.5):
- - React
+ - EXStructuredHeaders (1.1.1):
- UMCore
- - EXVideoThumbnails (5.1.0):
+ - EXUpdates (0.8.5):
+ - EXStructuredHeaders
+ - EXUpdatesInterface
+ - React-Core
- UMCore
- - UMFileSystemInterface
- - EXWebBrowser (9.1.0):
+ - EXUpdatesInterface (0.2.2)
+ - EXVideoThumbnails (5.2.1):
+ - ExpoModulesCore
- UMCore
- - FBLazyVector (0.64.1)
- - FBReactNativeSpec (0.64.1):
+ - EXWebBrowser (9.2.0):
+ - UMCore
+ - FBLazyVector (0.64.2)
+ - FBReactNativeSpec (0.64.2):
- RCT-Folly (= 2020.01.13.00)
- - RCTRequired (= 0.64.1)
- - RCTTypeSafety (= 0.64.1)
- - React-Core (= 0.64.1)
- - React-jsi (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
+ - RCTRequired (= 0.64.2)
+ - RCTTypeSafety (= 0.64.2)
+ - React-Core (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
- Firebase/Core (7.7.0):
- Firebase/CoreOnly
- FirebaseAnalytics (= 7.7.0)
@@ -119,27 +130,25 @@ PODS:
- GoogleUtilities/Environment (~> 7.2)
- nanopb (~> 2.30907.0)
- PromisesObjC (~> 1.2)
- - GoogleUtilities/AppDelegateSwizzler (7.4.1):
+ - GoogleUtilities/AppDelegateSwizzler (7.5.1):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- - GoogleUtilities/Environment (7.4.1):
- - PromisesObjC (~> 1.2)
- - GoogleUtilities/Logger (7.4.1):
+ - GoogleUtilities/Environment (7.5.1):
+ - PromisesObjC (< 3.0, >= 1.2)
+ - GoogleUtilities/Logger (7.5.1):
- GoogleUtilities/Environment
- - GoogleUtilities/MethodSwizzler (7.4.1):
+ - GoogleUtilities/MethodSwizzler (7.5.1):
- GoogleUtilities/Logger
- - GoogleUtilities/Network (7.4.1):
+ - GoogleUtilities/Network (7.5.1):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- - "GoogleUtilities/NSData+zlib (7.4.1)"
- - GoogleUtilities/Reachability (7.4.1):
+ - "GoogleUtilities/NSData+zlib (7.5.1)"
+ - GoogleUtilities/Reachability (7.5.1):
- GoogleUtilities/Logger
- - GoogleUtilities/UserDefaults (7.4.1):
+ - GoogleUtilities/UserDefaults (7.5.1):
- GoogleUtilities/Logger
- - hermes-engine (0.7.2)
- - libevent (2.1.12)
- libwebp (1.2.0):
- libwebp/demux (= 1.2.0)
- libwebp/mux (= 1.2.0)
@@ -164,294 +173,277 @@ PODS:
- boost-for-react-native
- DoubleConversion
- glog
- - RCT-Folly/Futures (2020.01.13.00):
- - boost-for-react-native
- - DoubleConversion
- - glog
- - libevent
- - RCTRequired (0.64.1)
- - RCTTypeSafety (0.64.1):
- - FBLazyVector (= 0.64.1)
+ - RCTRequired (0.64.2)
+ - RCTTypeSafety (0.64.2):
+ - FBLazyVector (= 0.64.2)
- RCT-Folly (= 2020.01.13.00)
- - RCTRequired (= 0.64.1)
- - React-Core (= 0.64.1)
- - React (0.64.1):
- - React-Core (= 0.64.1)
- - React-Core/DevSupport (= 0.64.1)
- - React-Core/RCTWebSocket (= 0.64.1)
- - React-RCTActionSheet (= 0.64.1)
- - React-RCTAnimation (= 0.64.1)
- - React-RCTBlob (= 0.64.1)
- - React-RCTImage (= 0.64.1)
- - React-RCTLinking (= 0.64.1)
- - React-RCTNetwork (= 0.64.1)
- - React-RCTSettings (= 0.64.1)
- - React-RCTText (= 0.64.1)
- - React-RCTVibration (= 0.64.1)
- - React-callinvoker (0.64.1)
- - React-Core (0.64.1):
+ - RCTRequired (= 0.64.2)
+ - React-Core (= 0.64.2)
+ - React (0.64.2):
+ - React-Core (= 0.64.2)
+ - React-Core/DevSupport (= 0.64.2)
+ - React-Core/RCTWebSocket (= 0.64.2)
+ - React-RCTActionSheet (= 0.64.2)
+ - React-RCTAnimation (= 0.64.2)
+ - React-RCTBlob (= 0.64.2)
+ - React-RCTImage (= 0.64.2)
+ - React-RCTLinking (= 0.64.2)
+ - React-RCTNetwork (= 0.64.2)
+ - React-RCTSettings (= 0.64.2)
+ - React-RCTText (= 0.64.2)
+ - React-RCTVibration (= 0.64.2)
+ - React-callinvoker (0.64.2)
+ - React-Core (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-Core/Default (= 0.64.1)
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-Core/Default (= 0.64.2)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/CoreModulesHeaders (0.64.1):
+ - React-Core/CoreModulesHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/Default (0.64.1):
+ - React-Core/Default (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/DevSupport (0.64.1):
+ - React-Core/DevSupport (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-Core/Default (= 0.64.1)
- - React-Core/RCTWebSocket (= 0.64.1)
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-jsinspector (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-Core/Default (= 0.64.2)
+ - React-Core/RCTWebSocket (= 0.64.2)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-jsinspector (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/Hermes (0.64.1):
- - glog
- - hermes-engine
- - RCT-Folly (= 2020.01.13.00)
- - RCT-Folly/Futures
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
- - Yoga
- - React-Core/RCTActionSheetHeaders (0.64.1):
+ - React-Core/RCTActionSheetHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTAnimationHeaders (0.64.1):
+ - React-Core/RCTAnimationHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTBlobHeaders (0.64.1):
+ - React-Core/RCTBlobHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTImageHeaders (0.64.1):
+ - React-Core/RCTImageHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTLinkingHeaders (0.64.1):
+ - React-Core/RCTLinkingHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTNetworkHeaders (0.64.1):
+ - React-Core/RCTNetworkHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTSettingsHeaders (0.64.1):
+ - React-Core/RCTSettingsHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTTextHeaders (0.64.1):
+ - React-Core/RCTTextHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTVibrationHeaders (0.64.1):
+ - React-Core/RCTVibrationHeaders (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- React-Core/Default
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-Core/RCTWebSocket (0.64.1):
+ - React-Core/RCTWebSocket (0.64.2):
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-Core/Default (= 0.64.1)
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsiexecutor (= 0.64.1)
- - React-perflogger (= 0.64.1)
+ - React-Core/Default (= 0.64.2)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsiexecutor (= 0.64.2)
+ - React-perflogger (= 0.64.2)
- Yoga
- - React-CoreModules (0.64.1):
- - FBReactNativeSpec (= 0.64.1)
+ - React-CoreModules (0.64.2):
+ - FBReactNativeSpec (= 0.64.2)
- RCT-Folly (= 2020.01.13.00)
- - RCTTypeSafety (= 0.64.1)
- - React-Core/CoreModulesHeaders (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-RCTImage (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
- - React-cxxreact (0.64.1):
+ - RCTTypeSafety (= 0.64.2)
+ - React-Core/CoreModulesHeaders (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-RCTImage (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
+ - React-cxxreact (0.64.2):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-callinvoker (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-jsinspector (= 0.64.1)
- - React-perflogger (= 0.64.1)
- - React-runtimeexecutor (= 0.64.1)
- - React-jsi (0.64.1):
+ - React-callinvoker (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-jsinspector (= 0.64.2)
+ - React-perflogger (= 0.64.2)
+ - React-runtimeexecutor (= 0.64.2)
+ - React-jsi (0.64.2):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-jsi/Default (= 0.64.1)
- - React-jsi/Default (0.64.1):
+ - React-jsi/Default (= 0.64.2)
+ - React-jsi/Default (0.64.2):
- boost-for-react-native (= 1.63.0)
- DoubleConversion
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-jsiexecutor (0.64.1):
+ - React-jsiexecutor (0.64.2):
- DoubleConversion
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-perflogger (= 0.64.1)
- - React-jsinspector (0.64.1)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-perflogger (= 0.64.2)
+ - React-jsinspector (0.64.2)
- react-native-blur (0.8.0):
- React
- - react-native-blurhash (1.1.4):
+ - react-native-blurhash (1.1.5):
- React-Core
- react-native-cameraroll (4.0.4):
- React-Core
- - react-native-netinfo (6.0.0):
+ - react-native-netinfo (6.0.2):
- React-Core
- - react-native-pager-view (5.1.9):
+ - react-native-pager-view (5.4.6):
- React-Core
- react-native-safe-area-context (3.2.0):
- React-Core
- react-native-segmented-control (2.2.2):
- React-Core
- - React-perflogger (0.64.1)
- - React-RCTActionSheet (0.64.1):
- - React-Core/RCTActionSheetHeaders (= 0.64.1)
- - React-RCTAnimation (0.64.1):
- - FBReactNativeSpec (= 0.64.1)
+ - React-perflogger (0.64.2)
+ - React-RCTActionSheet (0.64.2):
+ - React-Core/RCTActionSheetHeaders (= 0.64.2)
+ - React-RCTAnimation (0.64.2):
+ - FBReactNativeSpec (= 0.64.2)
- RCT-Folly (= 2020.01.13.00)
- - RCTTypeSafety (= 0.64.1)
- - React-Core/RCTAnimationHeaders (= 0.64.1)
- - React-jsi (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
- - React-RCTBlob (0.64.1):
- - FBReactNativeSpec (= 0.64.1)
+ - RCTTypeSafety (= 0.64.2)
+ - React-Core/RCTAnimationHeaders (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
+ - React-RCTBlob (0.64.2):
+ - FBReactNativeSpec (= 0.64.2)
- RCT-Folly (= 2020.01.13.00)
- - React-Core/RCTBlobHeaders (= 0.64.1)
- - React-Core/RCTWebSocket (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-RCTNetwork (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
- - React-RCTImage (0.64.1):
- - FBReactNativeSpec (= 0.64.1)
+ - React-Core/RCTBlobHeaders (= 0.64.2)
+ - React-Core/RCTWebSocket (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-RCTNetwork (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
+ - React-RCTImage (0.64.2):
+ - FBReactNativeSpec (= 0.64.2)
- RCT-Folly (= 2020.01.13.00)
- - RCTTypeSafety (= 0.64.1)
- - React-Core/RCTImageHeaders (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-RCTNetwork (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
- - React-RCTLinking (0.64.1):
- - FBReactNativeSpec (= 0.64.1)
- - React-Core/RCTLinkingHeaders (= 0.64.1)
- - React-jsi (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
- - React-RCTNetwork (0.64.1):
- - FBReactNativeSpec (= 0.64.1)
+ - RCTTypeSafety (= 0.64.2)
+ - React-Core/RCTImageHeaders (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-RCTNetwork (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
+ - React-RCTLinking (0.64.2):
+ - FBReactNativeSpec (= 0.64.2)
+ - React-Core/RCTLinkingHeaders (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
+ - React-RCTNetwork (0.64.2):
+ - FBReactNativeSpec (= 0.64.2)
- RCT-Folly (= 2020.01.13.00)
- - RCTTypeSafety (= 0.64.1)
- - React-Core/RCTNetworkHeaders (= 0.64.1)
- - React-jsi (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
- - React-RCTSettings (0.64.1):
- - FBReactNativeSpec (= 0.64.1)
+ - RCTTypeSafety (= 0.64.2)
+ - React-Core/RCTNetworkHeaders (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
+ - React-RCTSettings (0.64.2):
+ - FBReactNativeSpec (= 0.64.2)
- RCT-Folly (= 2020.01.13.00)
- - RCTTypeSafety (= 0.64.1)
- - React-Core/RCTSettingsHeaders (= 0.64.1)
- - React-jsi (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
- - React-RCTText (0.64.1):
- - React-Core/RCTTextHeaders (= 0.64.1)
- - React-RCTVibration (0.64.1):
- - FBReactNativeSpec (= 0.64.1)
+ - RCTTypeSafety (= 0.64.2)
+ - React-Core/RCTSettingsHeaders (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
+ - React-RCTText (0.64.2):
+ - React-Core/RCTTextHeaders (= 0.64.2)
+ - React-RCTVibration (0.64.2):
+ - FBReactNativeSpec (= 0.64.2)
- RCT-Folly (= 2020.01.13.00)
- - React-Core/RCTVibrationHeaders (= 0.64.1)
- - React-jsi (= 0.64.1)
- - ReactCommon/turbomodule/core (= 0.64.1)
- - React-runtimeexecutor (0.64.1):
- - React-jsi (= 0.64.1)
- - ReactCommon/turbomodule/core (0.64.1):
+ - React-Core/RCTVibrationHeaders (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - ReactCommon/turbomodule/core (= 0.64.2)
+ - React-runtimeexecutor (0.64.2):
+ - React-jsi (= 0.64.2)
+ - ReactCommon/turbomodule/core (0.64.2):
- DoubleConversion
- glog
- RCT-Folly (= 2020.01.13.00)
- - React-callinvoker (= 0.64.1)
- - React-Core (= 0.64.1)
- - React-cxxreact (= 0.64.1)
- - React-jsi (= 0.64.1)
- - React-perflogger (= 0.64.1)
- - RNCAsyncStorage (1.15.4):
+ - React-callinvoker (= 0.64.2)
+ - React-Core (= 0.64.2)
+ - React-cxxreact (= 0.64.2)
+ - React-jsi (= 0.64.2)
+ - React-perflogger (= 0.64.2)
+ - RNCAsyncStorage (1.15.8):
- React-Core
- - RNCMaskedView (0.1.11):
- - React
- - RNFastImage (8.3.4):
+ - RNFastImage (8.5.11):
- React-Core
- - SDWebImage (~> 5.8)
- - SDWebImageWebPCoder (~> 0.6.1)
+ - SDWebImage (~> 5.11.1)
+ - SDWebImageWebPCoder (~> 0.8.4)
- RNGestureHandler (1.10.3):
- React-Core
- - RNReanimated (2.1.0):
+ - RNReanimated (2.2.2):
- DoubleConversion
- FBLazyVector
- FBReactNativeSpec
@@ -480,44 +472,30 @@ PODS:
- React-RCTVibration
- ReactCommon/turbomodule/core
- Yoga
- - RNScreens (3.3.0):
+ - RNScreens (3.8.0):
- React-Core
- React-RCTImage
- - RNSentry (2.4.3):
+ - RNSentry (2.6.2):
- React-Core
- - Sentry (= 6.1.4)
+ - Sentry (= 7.1.4)
- RNSVG (12.1.1):
- React
- SDWebImage (5.11.1):
- SDWebImage/Core (= 5.11.1)
- SDWebImage/Core (5.11.1)
- - SDWebImageWebPCoder (0.6.1):
+ - SDWebImageWebPCoder (0.8.4):
- libwebp (~> 1.0)
- - SDWebImage/Core (~> 5.7)
- - Sentry (6.1.4):
- - Sentry/Core (= 6.1.4)
- - Sentry/Core (6.1.4)
- - UMAppLoader (2.1.0)
- - UMBarCodeScannerInterface (6.1.0):
- - UMCore
- - UMCameraInterface (6.1.0):
- - UMCore
- - UMConstantsInterface (6.1.0):
- - UMCore
- - UMCore (7.1.0)
- - UMFaceDetectorInterface (6.1.0)
- - UMFileSystemInterface (6.1.0)
- - UMFontInterface (6.1.0)
- - UMImageLoaderInterface (6.1.0)
- - UMPermissionsInterface (6.1.0):
- - UMCore
- - UMReactNativeAdapter (6.2.2):
+ - SDWebImage/Core (~> 5.10)
+ - Sentry (7.1.4):
+ - Sentry/Core (= 7.1.4)
+ - Sentry/Core (7.1.4)
+ - UMAppLoader (2.2.0)
+ - UMCore (7.1.2)
+ - UMReactNativeAdapter (6.3.9):
+ - ExpoModulesCore
- React-Core
- UMCore
- - UMFontInterface
- - UMSensorsInterface (6.1.0):
- - UMCore
- - UMTaskManagerInterface (6.1.0):
+ - UMTaskManagerInterface (6.2.0):
- UMCore
- Yoga (1.14.0)
@@ -525,7 +503,7 @@ DEPENDENCIES:
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- EXApplication (from `../node_modules/expo-application/ios`)
- EXAV (from `../node_modules/expo-av/ios`)
- - EXConstants (from `../node_modules/expo-constants/ios`)
+ - EXConstants (from `../node_modules/react-native-unimodules/node_modules/expo-constants/ios`)
- EXCrypto (from `../node_modules/expo-crypto/ios`)
- EXDevice (from `../node_modules/expo-device/ios`)
- EXErrorRecovery (from `../node_modules/expo-error-recovery/ios`)
@@ -541,19 +519,20 @@ DEPENDENCIES:
- EXLocalization (from `../node_modules/expo-localization/ios`)
- EXNotifications (from `../node_modules/expo-notifications/ios`)
- EXPermissions (from `../node_modules/expo-permissions/ios`)
+ - ExpoModulesCore (from `../node_modules/expo-modules-core/ios`)
- EXRandom (from `../node_modules/expo-random/ios`)
- EXScreenCapture (from `../node_modules/expo-screen-capture/ios`)
- 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`)
- EXWebBrowser (from `../node_modules/expo-web-browser/ios`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- - hermes-engine (~> 0.7.2)
- - libevent (~> 2.1.12)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
@@ -561,7 +540,6 @@ DEPENDENCIES:
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Core (from `../node_modules/react-native/`)
- React-Core/DevSupport (from `../node_modules/react-native/`)
- - React-Core/Hermes (from `../node_modules/react-native/`)
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
@@ -588,7 +566,6 @@ DEPENDENCIES:
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
- - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
- RNFastImage (from `../node_modules/react-native-fast-image`)
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
- RNReanimated (from `../node_modules/react-native-reanimated`)
@@ -596,17 +573,8 @@ DEPENDENCIES:
- "RNSentry (from `../node_modules/@sentry/react-native`)"
- RNSVG (from `../node_modules/react-native-svg`)
- UMAppLoader (from `../node_modules/unimodules-app-loader/ios`)
- - UMBarCodeScannerInterface (from `../node_modules/unimodules-barcode-scanner-interface/ios`)
- - UMCameraInterface (from `../node_modules/unimodules-camera-interface/ios`)
- - UMConstantsInterface (from `../node_modules/unimodules-constants-interface/ios`)
- "UMCore (from `../node_modules/@unimodules/core/ios`)"
- - UMFaceDetectorInterface (from `../node_modules/unimodules-face-detector-interface/ios`)
- - UMFileSystemInterface (from `../node_modules/unimodules-file-system-interface/ios`)
- - UMFontInterface (from `../node_modules/unimodules-font-interface/ios`)
- - UMImageLoaderInterface (from `../node_modules/unimodules-image-loader-interface/ios`)
- - UMPermissionsInterface (from `../node_modules/unimodules-permissions-interface/ios`)
- "UMReactNativeAdapter (from `../node_modules/@unimodules/react-native-adapter/ios`)"
- - UMSensorsInterface (from `../node_modules/unimodules-sensors-interface/ios`)
- UMTaskManagerInterface (from `../node_modules/unimodules-task-manager-interface/ios`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
@@ -621,8 +589,6 @@ SPEC REPOS:
- GoogleAppMeasurement
- GoogleDataTransport
- GoogleUtilities
- - hermes-engine
- - libevent
- libwebp
- nanopb
- PromisesObjC
@@ -638,7 +604,7 @@ EXTERNAL SOURCES:
EXAV:
:path: "../node_modules/expo-av/ios"
EXConstants:
- :path: "../node_modules/expo-constants/ios"
+ :path: "../node_modules/react-native-unimodules/node_modules/expo-constants/ios"
EXCrypto:
:path: "../node_modules/expo-crypto/ios"
EXDevice:
@@ -669,6 +635,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-notifications/ios"
EXPermissions:
:path: "../node_modules/expo-permissions/ios"
+ ExpoModulesCore:
+ :path: "../node_modules/expo-modules-core/ios"
EXRandom:
:path: "../node_modules/expo-random/ios"
EXScreenCapture:
@@ -679,8 +647,12 @@ 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"
EXWebBrowser:
@@ -753,8 +725,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon"
RNCAsyncStorage:
:path: "../node_modules/@react-native-async-storage/async-storage"
- RNCMaskedView:
- :path: "../node_modules/@react-native-community/masked-view"
RNFastImage:
:path: "../node_modules/react-native-fast-image"
RNGestureHandler:
@@ -769,28 +739,10 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-svg"
UMAppLoader:
:path: "../node_modules/unimodules-app-loader/ios"
- UMBarCodeScannerInterface:
- :path: "../node_modules/unimodules-barcode-scanner-interface/ios"
- UMCameraInterface:
- :path: "../node_modules/unimodules-camera-interface/ios"
- UMConstantsInterface:
- :path: "../node_modules/unimodules-constants-interface/ios"
UMCore:
:path: "../node_modules/@unimodules/core/ios"
- UMFaceDetectorInterface:
- :path: "../node_modules/unimodules-face-detector-interface/ios"
- UMFileSystemInterface:
- :path: "../node_modules/unimodules-file-system-interface/ios"
- UMFontInterface:
- :path: "../node_modules/unimodules-font-interface/ios"
- UMImageLoaderInterface:
- :path: "../node_modules/unimodules-image-loader-interface/ios"
- UMPermissionsInterface:
- :path: "../node_modules/unimodules-permissions-interface/ios"
UMReactNativeAdapter:
:path: "../node_modules/@unimodules/react-native-adapter/ios"
- UMSensorsInterface:
- :path: "../node_modules/unimodules-sensors-interface/ios"
UMTaskManagerInterface:
:path: "../node_modules/unimodules-task-manager-interface/ios"
Yoga:
@@ -799,34 +751,37 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de
- EXApplication: 4797b8b37f0b0470f587fdccf6407f44b50d18b5
- EXAV: f7c1b9af3aff7834cbdbe3e002d1f70e21c38320
- EXConstants: c4dd28acc12039c999612507a5f935556f2c86ce
- EXCrypto: 9cbeb90f6c60a8ae9f26242fd2db916b21c55700
- EXDevice: 01f54314f618aa4098893f66cd8f2a8a411f33ee
- EXErrorRecovery: 720641265b8cf95e6cdeb1884ac38e794a352488
- EXFileSystem: dcf2273f49431e5037347c733a2dc5d08e0d0a9e
- EXFirebaseAnalytics: aa820eafe8527a32f65a285047ce475e622c7e8f
- EXFirebaseCore: 7865e37021ddcff5c575a4598686a2939d6c4183
- EXFont: d6fb79f9863120f0d0b26b0c2d1453bc9511e9df
- EXHaptics: 2de40c5f50a9e78da92c209db06db5134d8cac0b
- EXImageLoader: da941c9399e01ec28f2d5b270bdd21f2c8ca596c
- EXImageManipulator: a099e4694070c7cb86aa0b0b1afa3ea184153a7d
- EXImagePicker: dd05b8a5cb782c79d07d1d72e5850c6acc2b9a37
- EXKeepAwake: d4e4a3ed8c1c4fd940dd62fc5a8be2a190371fd4
- EXLocalization: f139efe4a06be1041815879959346e3d437a6e93
- EXNotifications: c13e078d83ce01c7aeb8e3f44a48c13f50099291
- EXPermissions: 8f8c1c05580c4e02d4ee2c8dd74bfe173ff6a723
- EXRandom: cbd66cd45434a494f5ef98650eec1f8d78b90270
- EXScreenCapture: 2903dace06f2d06cc161017637cc4cbfcaa98986
- EXSecureStore: da5a255445bb6ee8b8ac54f65412bc803272bd87
- EXSplashScreen: a9baaf4fa866003884c90ba049f18760d6a8ce39
- EXStoreReview: b1f68ed0369b0f1c443214ac8d6881ef3b64de9a
- EXUpdates: 74b39409f68eca207075d87b0077bdf37865a8bf
- EXVideoThumbnails: cd257fc6e07884a704a5674d362a6410933acb68
- EXWebBrowser: 0b466c50e5ff61c9758095d49d5081e3229d77ac
- FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53
- FBReactNativeSpec: 5058d1917c80dca4b9ed89bdf94385315939ab80
+ EXApplication: 9ff2a206009d6e55bca6c20b3f33d07986b51ef3
+ EXAV: 67bcc1d0afeb1fab854b206c84b9f2afbd61d0cd
+ EXConstants: 4cb52b6d8f636c767104a44bf7db3873e9c01a6f
+ EXCrypto: 46e28f1eb7ec3e2ae5aab652fe1dc4d46bafb386
+ EXDevice: 6f1eed02c099f5b382a12a40406c58868892aba6
+ EXErrorRecovery: 404d827bc7d42f306c062d58a60b06afc4d082b3
+ EXFileSystem: 0a04aba8da751b9ac954065911bcf166503f8267
+ EXFirebaseAnalytics: ca01838167729b67f838a673e4b3e0637faec118
+ EXFirebaseCore: 9b5380fd62fce3c790fa1d6727a8d7cbbef4f0fb
+ EXFont: 9846ba1bb6f5f5aed44e20eea3ac70693323832d
+ EXHaptics: 6dc4307ab0794fe7a87ec8d7d1c299cf103d6cb3
+ EXImageLoader: d3531a3fe530b22925c19977cb53bb43e3821fe6
+ EXImageManipulator: c9af8e8dc6543fdca23693eae280e388b2f93fb0
+ EXImagePicker: 414a3663910fd6604248e84c9c77a0501ae0d18b
+ EXKeepAwake: f4105ef469be7b283f66ce2d7234bb71ac80cd26
+ EXLocalization: 356f4e16a606cec21a77d6250528fde526152b45
+ EXNotifications: 171ccaf17643811673c78f4c4830560d6e5a92aa
+ EXPermissions: 916efb5b817cb0a40160c0cd2f369af3c23a78be
+ ExpoModulesCore: 2734852616127a6c1fc23012197890a6f3763dc7
+ EXRandom: ecb71f5d01991f29bb0277f8a2c35d168f85d637
+ EXScreenCapture: c51844407fbac8bbca4415467bc43f2b7764d225
+ EXSecureStore: 1aa80d49a3a101418bbd2675e2a0d32dceea10c2
+ EXSplashScreen: 847e0d8026731c1090bf269ede3e15ac87d88958
+ EXStoreReview: 40674cc897a6d7fd249969b86d1833f67b99170a
+ EXStructuredHeaders: e52b880264d15b8ad07d36670226c29476af6334
+ EXUpdates: 013d26649cb6ab4f8d8d80c35d3d4be150b47e7c
+ EXUpdatesInterface: b68e78b912a03fff7901a5f46ec200c45e3506a5
+ EXVideoThumbnails: 442c3abadb51a81551a3b53705b7560de390e6f7
+ EXWebBrowser: 76783ba5dcb8699237746ecf41a9643d428a4cc5
+ FBLazyVector: e686045572151edef46010a6f819ade377dfeb4b
+ FBReactNativeSpec: 23c392d9bbc0bef14737ae5109976815b182edcf
Firebase: cd2ab85eec8170dc260186159f21072ecb679ad5
FirebaseAnalytics: f3f8f75de34fe04141a69bb1c4bd7e24a80178e1
FirebaseCore: ac35d680a0bf32319a59966a1478e0741536b97b
@@ -835,68 +790,56 @@ SPEC CHECKSUMS:
glog: 73c2498ac6884b13ede40eda8228cb1eee9d9d62
GoogleAppMeasurement: 0c3b134b2c0a90c4c24833873894bfe0e42a0384
GoogleDataTransport: 8b0e733ea77c9218778e5a9e34ba9508b8328939
- GoogleUtilities: f8a43108b38a68eebe8b3540e1f4f2d28843ce20
- hermes-engine: 7d97ba46a1e29bacf3e3c61ecb2804a5ddd02d4f
- libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
+ GoogleUtilities: 3df19e3c24f7bbc291d8b5809aa6b0d41e642437
libwebp: e90b9c01d99205d03b6bb8f2c8c415e5a4ef66f0
nanopb: 59221d7f958fb711001e6a449489542d92ae113e
PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97
RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c
- RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2
- RCTTypeSafety: 22567f31e67c3e088c7ac23ea46ab6d4779c0ea5
- React: a241e3dbb1e91d06332f1dbd2b3ab26e1a4c4b9d
- React-callinvoker: da4d1c6141696a00163960906bc8a55b985e4ce4
- React-Core: 46ba164c437d7dac607b470c83c8308b05799748
- React-CoreModules: 217bd14904491c7b9940ff8b34a3fe08013c2f14
- React-cxxreact: 0090588ae6660c4615d3629fdd5c768d0983add4
- React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6
- React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9
- React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9
+ RCTRequired: 6d3e854f0e7260a648badd0d44fc364bc9da9728
+ RCTTypeSafety: c1f31d19349c6b53085766359caac425926fafaa
+ React: bda6b6d7ae912de97d7a61aa5c160db24aa2ad69
+ React-callinvoker: 9840ea7e8e88ed73d438edb725574820b29b5baa
+ React-Core: b5e385da7ce5f16a220fc60fd0749eae2c6120f0
+ React-CoreModules: 17071a4e2c5239b01585f4aa8070141168ab298f
+ React-cxxreact: 9be7b6340ed9f7c53e53deca7779f07cd66525ba
+ React-jsi: 67747b9722f6dab2ffe15b011bcf6b3f2c3f1427
+ React-jsiexecutor: 80c46bd381fd06e418e0d4f53672dc1d1945c4c3
+ React-jsinspector: cc614ec18a9ca96fd275100c16d74d62ee11f0ae
react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c
- react-native-blurhash: ec98d751a9cb9075cef0b9e3188244c517d6ab22
+ react-native-blurhash: d978f8017ed091d9e1179775fe7bac14297e6e1e
react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2
- react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d
- react-native-pager-view: 14653de580178af7e65aa7e3fa08b4f243c86d4d
+ react-native-netinfo: 92e6e4476eb8bf6fc2d7c0a6ca0a1406f663d73a
+ react-native-pager-view: b90963d848e777def6714ab7fd40d02fa797e930
react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79
react-native-segmented-control: 65df6cd0619b780b3843d574a72d4c7cec396097
- React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675
- React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a
- React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309
- React-RCTBlob: f758d4403fc5828a326dc69e27b41e1a92f34947
- React-RCTImage: ce57088705f4a8d03f6594b066a59c29143ba73e
- React-RCTLinking: 852a3a95c65fa63f657a4b4e2d3d83a815e00a7c
- React-RCTNetwork: 9d7ccb8a08d522d71700b4fb677d9fa28cccd118
- React-RCTSettings: d8aaf4389ff06114dee8c42ef5f0f2915946011e
- React-RCTText: 809c12ed6b261796ba056c04fcd20d8b90bcc81d
- React-RCTVibration: 4b99a7f5c6c0abbc5256410cc5425fb8531986e1
- React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6
- ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca
- RNCAsyncStorage: f47a7e8f927f7c9da947491fc55752eb9ce17f2d
- RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489
- RNFastImage: d4870d58f5936111c56218dbd7fcfc18e65b58ff
+ React-perflogger: 25373e382fed75ce768a443822f07098a15ab737
+ React-RCTActionSheet: af7796ba49ffe4ca92e7277a5d992d37203f7da5
+ React-RCTAnimation: 6a2e76ab50c6f25b428d81b76a5a45351c4d77aa
+ React-RCTBlob: 02a2887023e0eed99391b6445b2e23a2a6f9226d
+ React-RCTImage: ce5bf8e7438f2286d9b646a05d6ab11f38b0323d
+ React-RCTLinking: ccd20742de14e020cb5f99d5c7e0bf0383aefbd9
+ React-RCTNetwork: dfb9d089ab0753e5e5f55fc4b1210858f7245647
+ React-RCTSettings: b14aef2d83699e48b410fb7c3ba5b66cd3291ae2
+ React-RCTText: 41a2e952dd9adc5caf6fb68ed46b275194d5da5f
+ React-RCTVibration: 24600e3b1aaa77126989bc58b6747509a1ba14f3
+ React-runtimeexecutor: a9904c6d0218fb9f8b19d6dd88607225927668f9
+ ReactCommon: 149906e01aa51142707a10665185db879898e966
+ RNCAsyncStorage: e8b8d6320a0dd90eb610fb0d0b1ef90596697c69
+ RNFastImage: 1f2cab428712a4baaf78d6169eaec7f622556dd7
RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211
- RNReanimated: b8c8004b43446e3c2709fe64b2b41072f87428ad
- RNScreens: bf59f17fbf001f1025243eeed5f19419d3c11ef2
- RNSentry: 6f8f9ee7e4c939dcd35e5633b94d0e3782888e46
+ RNReanimated: 241c586663f44f19a53883c63375fdd041253960
+ RNScreens: 6e1ea5787989f92b0671049b808aef64fa1ef98c
+ RNSentry: 68644ef607b780551cc555f084869764f2566652
RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f
SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d
- SDWebImageWebPCoder: d0dac55073088d24b2ac1b191a71a8f8d0adac21
- Sentry: 9d055e2de30a77685e86b219acf02e59b82091fc
- UMAppLoader: fe2708bb0ac5cd70052bc207d06aa3b7e72b9e97
- UMBarCodeScannerInterface: 79f92bea5f7af39b381a4c82298105ceb537408a
- UMCameraInterface: 81ff46700da88435f17afedfc88915eaede7e6a6
- UMConstantsInterface: bb94dd46039dcde276ed50225b29e22785e604bf
- UMCore: 60b35f4d217461f7b54934b0c5be67442871f01f
- UMFaceDetectorInterface: 791eec55ffca1171992976b7eceb73e69e391c58
- UMFileSystemInterface: f72245e90ce78fa6427180ff0b0904ead13d8161
- UMFontInterface: 5843cff7db85a42ba629aaac53d33091c35524d3
- UMImageLoaderInterface: 9ddffeb644b3f45d4eb0c2f51a2fd95fd5c8d1a4
- UMPermissionsInterface: 40b72935a7d12a3f60dc6b7bb99ce47908380cb1
- UMReactNativeAdapter: 65ada852a648fcb6674acfbfe72ccb095f2f5b75
- UMSensorsInterface: a5e9db661e5d9ae214762033d725989880ae6993
- UMTaskManagerInterface: 203c11259d2699b5b3a4eda4adbc466f5cb5c561
- Yoga: a7de31c64fe738607e7a3803e3f591a4b1df7393
+ SDWebImageWebPCoder: f93010f3f6c031e2f8fb3081ca4ee6966c539815
+ Sentry: 1d3eb1a25f8c5333c88dd5603904a6d461cd9fcf
+ UMAppLoader: 21af63390e55c82e037fb9752d93114a80ecf16e
+ UMCore: ce3a4faa010239063b8343895b29a6d97b01069d
+ UMReactNativeAdapter: d03cefd0e4e4179ab8c490408589f1c8a6c8b785
+ UMTaskManagerInterface: 2be431101b73604e64fbfffcf759336f9d8fccbb
+ Yoga: 575c581c63e0d35c9a83f4b46d01d63abc1100ac
-PODFILE CHECKSUM: 34cad1fa3f14caa5b138177b6379ac2cba0e1087
+PODFILE CHECKSUM: ef8b50a8ef67c2c3062d4beeb7172184208da350
-COCOAPODS: 1.10.1
+COCOAPODS: 1.11.2
diff --git a/ios/tooot.xcodeproj/project.pbxproj b/ios/tooot.xcodeproj/project.pbxproj
index 0e2771ea..34838708 100644
--- a/ios/tooot.xcodeproj/project.pbxproj
+++ b/ios/tooot.xcodeproj/project.pbxproj
@@ -148,7 +148,6 @@
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */,
- 5C5B41FC5F9DBE367CF7EF21 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -247,24 +246,6 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 5C5B41FC5F9DBE367CF7EF21 /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-tooot/Pods-tooot-frameworks.sh",
- "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework",
- );
- name = "[CP] Embed Pods Frameworks";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-tooot/Pods-tooot-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -438,7 +419,7 @@
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 i386";
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
@@ -500,7 +481,7 @@
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 i386";
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
diff --git a/ios/tooot/Supporting/Expo.plist b/ios/tooot/Supporting/Expo.plist
index 51168cbe..bba13d22 100644
--- a/ios/tooot/Supporting/Expo.plist
+++ b/ios/tooot/Supporting/Expo.plist
@@ -11,7 +11,7 @@
EXUpdatesReleaseChannel
0-development
EXUpdatesSDKVersion
- 40.0.0
+ 0
EXUpdatesURL
https://exp.host/@xmflsct/tooot
diff --git a/package.json b/package.json
index 0f614641..bc35c345 100644
--- a/package.json
+++ b/package.json
@@ -1,11 +1,11 @@
{
"name": "tooot",
"versions": {
- "native": "210511",
+ "native": "210916",
"major": 2,
- "minor": 1,
- "patch": 3,
- "expo": "41.0.0"
+ "minor": 2,
+ "patch": 0,
+ "expo": "42.0.0"
},
"description": "tooot app for Mastodon",
"author": "xmflsct ",
@@ -19,108 +19,97 @@
"android": "react-native run-android",
"ios": "react-native run-ios",
"app:build": "bundle exec fastlane build",
- "test": "jest --watchAll",
"release": "scripts/release.sh",
"clean": "react-native-clean-project"
},
"dependencies": {
- "@expo/react-native-action-sheet": "^3.9.0",
- "@neverdull-agency/expo-unlimited-secure-store": "^1.0.10",
- "@react-native-async-storage/async-storage": "^1.15.4",
- "@react-native-community/blur": "^3.6.0",
- "@react-native-community/cameraroll": "^4.0.4",
- "@react-native-community/masked-view": "0.1.11",
- "@react-native-community/netinfo": "6.0.0",
+ "@expo/react-native-action-sheet": "3.11.0",
+ "@neverdull-agency/expo-unlimited-secure-store": "1.0.10",
+ "@react-native-async-storage/async-storage": "1.15.8",
+ "@react-native-community/blur": "3.6.0",
+ "@react-native-community/cameraroll": "4.0.4",
+ "@react-native-community/netinfo": "6.0.2",
"@react-native-community/segmented-control": "2.2.2",
- "@react-navigation/bottom-tabs": "^5.11.11",
- "@react-navigation/native": "^5.9.4",
- "@react-navigation/stack": "^5.14.5",
- "@reduxjs/toolkit": "^1.5.1",
- "@sentry/react-native": "^2.4.3",
- "@sharcoux/slider": "^5.3.0",
- "axios": "^0.21.1",
- "expo": "^41.0.1",
- "expo-auth-session": "~3.2.3",
- "expo-av": "~9.1.2",
- "expo-crypto": "~9.1.0",
- "expo-firebase-analytics": "~4.0.2",
- "expo-haptics": "~10.0.0",
- "expo-image-manipulator": "~9.1.0",
- "expo-image-picker": "~10.1.4",
- "expo-linking": "~2.2.3",
- "expo-localization": "~10.1.0",
- "expo-notifications": "~0.11.6",
- "expo-random": "~11.1.2",
- "expo-screen-capture": "^3.1.0",
- "expo-secure-store": "~10.1.0",
- "expo-splash-screen": "~0.10.2",
- "expo-status-bar": "~1.0.4",
- "expo-store-review": "~4.0.2",
- "expo-video-thumbnails": "~5.1.0",
- "expo-web-browser": "~9.1.0",
- "i18next": "^20.3.0",
- "li": "^1.3.0",
- "lodash": "^4.17.21",
+ "@react-navigation/bottom-tabs": "6.0.7",
+ "@react-navigation/native": "6.0.4",
+ "@react-navigation/native-stack": "6.2.2",
+ "@react-navigation/stack": "6.0.9",
+ "@reduxjs/toolkit": "1.6.1",
+ "@sentry/react-native": "2.6.2",
+ "@sharcoux/slider": "5.5.2",
+ "axios": "0.22.0",
+ "expo": "42.0.4",
+ "expo-auth-session": "3.3.1",
+ "expo-av": "9.2.3",
+ "expo-crypto": "9.2.0",
+ "expo-device": "^3.3.0",
+ "expo-firebase-analytics": "4.1.0",
+ "expo-haptics": "10.1.0",
+ "expo-image-manipulator": "9.2.2",
+ "expo-image-picker": "10.2.3",
+ "expo-linking": "2.3.1",
+ "expo-localization": "10.2.0",
+ "expo-notifications": "0.12.3",
+ "expo-permissions": "^12.1.1",
+ "expo-random": "11.2.0",
+ "expo-screen-capture": "3.2.0",
+ "expo-secure-store": "10.2.0",
+ "expo-splash-screen": "0.11.4",
+ "expo-status-bar": "1.0.4",
+ "expo-store-review": "4.1.0",
+ "expo-updates": "^0.8.5",
+ "expo-video-thumbnails": "^5.2.1",
+ "expo-web-browser": "9.2.0",
+ "i18next": "20.6.1",
+ "li": "1.3.0",
+ "lodash": "4.17.21",
"react": "17.0.2",
"react-dom": "17.0.2",
- "react-i18next": "^11.9.0",
- "react-native": "~0.64.1",
- "react-native-animated-spinkit": "^1.5.2",
- "react-native-blurhash": "^1.1.4",
- "react-native-fast-image": "^8.3.4",
- "react-native-feather": "^1.0.2",
- "react-native-flash-message": "^0.1.23",
- "react-native-gesture-handler": "~1.10.3",
- "react-native-htmlview": "^0.16.0",
- "react-native-pager-view": "5.1.9",
- "react-native-reanimated": "~2.1.0",
+ "react-i18next": "11.12.0",
+ "react-native": "0.64.2",
+ "react-native-animated-spinkit": "1.5.2",
+ "react-native-blurhash": "1.1.5",
+ "react-native-fast-image": "8.5.11",
+ "react-native-feather": "1.1.2",
+ "react-native-flash-message": "0.2.0",
+ "react-native-gesture-handler": "1.10.3",
+ "react-native-htmlview": "0.16.0",
+ "react-native-pager-view": "5.4.6",
+ "react-native-reanimated": "2.2.2",
"react-native-safe-area-context": "3.2.0",
- "react-native-screens": "~3.3.0",
+ "react-native-screens": "3.8.0",
"react-native-svg": "12.1.1",
- "react-native-swipe-list-view": "^3.2.7",
- "react-native-tab-view": "^3.0.1",
- "react-native-unimodules": "~0.13.3",
- "react-query": "^3.16.0",
- "react-redux": "^7.2.4",
- "react-timeago": "^5.2.0",
- "redux-persist": "^6.0.0",
- "rn-placeholder": "^3.0.3",
- "sentry-expo": "^3.1.3",
- "tslib": "^2.2.0",
- "valid-url": "^1.0.9"
+ "react-native-swipe-list-view": "3.2.9",
+ "react-native-tab-view": "3.1.1",
+ "react-native-unimodules": "0.14.8",
+ "react-query": "3.25.1",
+ "react-redux": "7.2.5",
+ "react-timeago": "6.2.1",
+ "redux-persist": "6.0.0",
+ "rn-placeholder": "3.0.3",
+ "sentry-expo": "4.0.1",
+ "tslib": "2.3.1",
+ "valid-url": "1.0.9"
},
"devDependencies": {
- "@babel/core": "~7.14.3",
- "@babel/plugin-proposal-optional-chaining": "^7.14.2",
- "@babel/preset-typescript": "^7.13.0",
- "@expo/config": "^3.3.43",
- "@jest/types": "^26.6.2",
- "@testing-library/jest-native": "^4.0.1",
- "@testing-library/react-hooks": "^5.1.2",
- "@testing-library/react-native": "^7.2.0",
- "@types/jest": "^26.0.23",
- "@types/lodash": "^4.14.170",
- "@types/react": "~17.0.8",
- "@types/react-dom": "~17.0.5",
- "@types/react-native": "~0.64.6",
- "@types/react-navigation": "^3.4.0",
- "@types/react-redux": "^7.1.16",
- "@types/react-test-renderer": "^17.0.1",
- "@types/react-timeago": "^4.1.2",
- "@types/valid-url": "^1.0.3",
- "@welldone-software/why-did-you-render": "^6.1.4",
- "babel-jest": "~26.6.3",
- "babel-plugin-module-resolver": "^4.1.0",
- "babel-plugin-transform-remove-console": "^6.9.4",
- "chalk": "^4.1.1",
- "dotenv": "^10.0.0",
- "jest": "^26.6.3",
- "jest-expo": "^41.0.0",
- "nock": "^13.0.11",
- "react-native-clean-project": "^3.6.4",
- "react-navigation": "^4.4.4",
- "react-navigation-stack": "^2.10.4",
- "react-test-renderer": "^17.0.2",
- "typescript": "~4.2.4"
+ "@babel/core": "7.15.5",
+ "@babel/plugin-proposal-optional-chaining": "7.14.5",
+ "@babel/preset-typescript": "7.15.0",
+ "@expo/config": "6.0.0",
+ "@types/lodash": "4.14.175",
+ "@types/react": "17.0.27",
+ "@types/react-dom": "17.0.9",
+ "@types/react-native": "0.64.13",
+ "@types/react-navigation": "3.4.0",
+ "@types/react-redux": "7.1.18",
+ "@types/react-timeago": "4.1.3",
+ "@types/valid-url": "1.0.3",
+ "@welldone-software/why-did-you-render": "6.2.1",
+ "babel-plugin-module-resolver": "4.1.0",
+ "babel-plugin-transform-remove-console": "6.9.4",
+ "chalk": "4.1.2",
+ "dotenv": "10.0.0",
+ "react-native-clean-project": "3.6.7",
+ "typescript": "4.4.3"
}
}
diff --git a/scripts/release.sh b/scripts/release.sh
index 8ba2bfd1..b7534c7e 100755
--- a/scripts/release.sh
+++ b/scripts/release.sh
@@ -5,4 +5,4 @@ if [ $# -ne 1 ]; then
exit 1
fi
-expo publish --target bare --release-channel=$1
\ No newline at end of file
+expo publish --quiet --target bare --release-channel=$1
\ No newline at end of file
diff --git a/src/@types/react-navigation.d.ts b/src/@types/react-navigation.d.ts
deleted file mode 100644
index 5f522ea1..00000000
--- a/src/@types/react-navigation.d.ts
+++ /dev/null
@@ -1,152 +0,0 @@
-declare namespace Nav {
- type RootStackParamList = {
- 'Screen-Tabs': undefined
- 'Screen-Actions':
- | {
- type: 'status'
- queryKey: QueryKeyTimeline
- rootQueryKey?: QueryKeyTimeline
- status: Mastodon.Status
- }
- | {
- type: 'account'
- account: Mastodon.Account
- }
- | {
- type: 'notifications_filter'
- }
- 'Screen-Announcements': { showAll: boolean }
- 'Screen-Compose':
- | {
- type: 'edit'
- incomingStatus: Mastodon.Status
- replyToStatus?: Mastodon.Status
- queryKey?: [
- 'Timeline',
- {
- page: App.Pages
- hashtag?: Mastodon.Tag['name']
- list?: Mastodon.List['id']
- toot?: Mastodon.Status['id']
- account?: Mastodon.Account['id']
- }
- ]
- }
- | {
- type: 'reply'
- incomingStatus: Mastodon.Status
- accts: Mastodon.Account['acct'][]
- queryKey?: [
- 'Timeline',
- {
- page: App.Pages
- hashtag?: Mastodon.Tag['name']
- list?: Mastodon.List['id']
- toot?: Mastodon.Status['id']
- account?: Mastodon.Account['id']
- }
- ]
- }
- | {
- type: 'conversation'
- accts: Mastodon.Account['acct'][]
- }
- | undefined
- 'Screen-ImagesViewer': {
- imageUrls: {
- id: Mastodon.Attachment['id']
- preview_url: Mastodon.AttachmentImage['preview_url']
- url: Mastodon.AttachmentImage['url']
- remote_url?: Mastodon.AttachmentImage['remote_url']
- blurhash: Mastodon.AttachmentImage['blurhash']
- width?: number
- height?: number
- }[]
- id: Mastodon.Attachment['id']
- }
- }
-
- type ScreenComposeStackParamList = {
- 'Screen-Compose-Root': undefined
- 'Screen-Compose-EditAttachment': { index: number }
- 'Screen-Compose-DraftsList': { timestamp: number }
- }
-
- type ScreenTabsStackParamList = {
- 'Tab-Local': undefined
- 'Tab-Public': undefined
- 'Tab-Compose': undefined
- 'Tab-Notifications': undefined
- 'Tab-Me': undefined
- }
-
- type TabSharedStackParamList = {
- 'Tab-Shared-Account': {
- account: Mastodon.Account | Mastodon.Mention
- }
- 'Tab-Shared-Attachments': { account: Mastodon.Account }
- 'Tab-Shared-Hashtag': {
- hashtag: Mastodon.Tag['name']
- }
- 'Tab-Shared-Search': { text: string | undefined }
- 'Tab-Shared-Toot': {
- toot: Mastodon.Status
- rootQueryKey?: QueryKeyTimeline
- }
- 'Tab-Shared-Users':
- | {
- reference: 'accounts'
- id: Mastodon.Account['id']
- type: 'following' | 'followers'
- count: number
- }
- | {
- reference: 'statuses'
- id: Mastodon.Status['id']
- type: 'reblogged_by' | 'favourited_by'
- count: number
- }
- }
-
- type TabLocalStackParamList = {
- 'Tab-Local-Root': undefined
- } & TabSharedStackParamList
-
- type TabPublicStackParamList = {
- 'Tab-Public-Root': undefined
- } & TabSharedStackParamList
-
- type TabNotificationsStackParamList = {
- 'Tab-Notifications-Root': undefined
- } & TabSharedStackParamList
-
- type TabMeStackParamList = {
- 'Tab-Me-Root': undefined
- 'Tab-Me-Bookmarks': undefined
- 'Tab-Me-Conversations': undefined
- 'Tab-Me-Favourites': undefined
- 'Tab-Me-Lists': undefined
- 'Tab-Me-Lists-List': {
- list: Mastodon.List['id']
- title: Mastodon.List['title']
- }
- 'Tab-Me-Profile': undefined
- 'Tab-Me-Push': undefined
- 'Tab-Me-Settings': undefined
- 'Tab-Me-Settings-Fontsize': undefined
- 'Tab-Me-Switch': undefined
- } & TabSharedStackParamList
-
- type TabMeProfileStackParamList = {
- 'Tab-Me-Profile-Root': undefined
- 'Tab-Me-Profile-Name': {
- display_name: Mastodon.Account['display_name']
- }
- 'Tab-Me-Profile-Note': {
- note: Mastodon.Source['note']
- }
- 'Tab-Me-Profile-Fields': {
- fields?: Mastodon.Source['fields']
- }
- }
-}
diff --git a/src/Screens.tsx b/src/Screens.tsx
index 955f9a31..b5fc58f5 100644
--- a/src/Screens.tsx
+++ b/src/Screens.tsx
@@ -1,13 +1,15 @@
-import { HeaderCenter, HeaderLeft } from '@components/Header'
+import { HeaderLeft } from '@components/Header'
import { displayMessage, Message, removeMessage } from '@components/Message'
import navigationRef from '@helpers/navigationRef'
import { useNetInfo } from '@react-native-community/netinfo'
import { NavigationContainer } from '@react-navigation/native'
+import { createNativeStackNavigator } from '@react-navigation/native-stack'
import ScreenActions from '@screens/Actions'
import ScreenAnnouncements from '@screens/Announcements'
import ScreenCompose from '@screens/Compose'
import ScreenImagesViewer from '@screens/ImagesViewer'
import ScreenTabs from '@screens/Tabs'
+import { RootStackParamList } from '@utils/navigation/navigators'
import pushUseConnect from '@utils/push/useConnect'
import pushUseReceive from '@utils/push/useReceive'
import pushUseRespond from '@utils/push/useRespond'
@@ -22,12 +24,11 @@ import { addScreenshotListener } from 'expo-screen-capture'
import React, { useCallback, useEffect, useRef } from 'react'
import { useTranslation } from 'react-i18next'
import { Alert, Platform, StatusBar } from 'react-native'
-import { createNativeStackNavigator } from 'react-native-screens/native-stack'
import { onlineManager, useQueryClient } from 'react-query'
import { useDispatch, useSelector } from 'react-redux'
import * as Sentry from 'sentry-expo'
-const Stack = createNativeStackNavigator()
+const Stack = createNativeStackNavigator()
export interface Props {
localCorrupt?: string
@@ -71,9 +72,9 @@ const Screens: React.FC = ({ localCorrupt }) => {
(prev, next) => prev.length === next.length
)
const queryClient = useQueryClient()
- pushUseConnect({ navigationRef, mode, t, instances, dispatch })
- pushUseReceive({ navigationRef, queryClient, instances })
- pushUseRespond({ navigationRef, queryClient, instances, dispatch })
+ pushUseConnect({ mode, t, instances, dispatch })
+ pushUseReceive({ queryClient, instances })
+ pushUseRespond({ queryClient, instances, dispatch })
// Prevent screenshot alert
useEffect(() => {
@@ -96,7 +97,7 @@ const Screens: React.FC = ({ localCorrupt }) => {
type: 'error',
mode
})
- navigationRef.current?.navigate('Screen-Tabs', {
+ navigationRef.navigate('Screen-Tabs', {
screen: 'Tab-Me'
})
}
@@ -114,7 +115,7 @@ const Screens: React.FC = ({ localCorrupt }) => {
// Callbacks
const navigationContainerOnReady = useCallback(() => {
- const currentRoute = navigationRef.current?.getCurrentRoute()
+ const currentRoute = navigationRef.getCurrentRoute()
routeRef.current = {
name: currentRoute?.name,
params: currentRoute?.params
@@ -124,7 +125,7 @@ const Screens: React.FC = ({ localCorrupt }) => {
}, [])
const navigationContainerOnStateChange = useCallback(() => {
const previousRoute = routeRef.current
- const currentRoute = navigationRef.current?.getCurrentRoute()
+ const currentRoute = navigationRef.getCurrentRoute()
const matchTabName = currentRoute?.name?.match(/(Tab-.*)-Root/)
if (matchTabName) {
@@ -166,8 +167,8 @@ const Screens: React.FC = ({ localCorrupt }) => {
name='Screen-Actions'
component={ScreenActions}
options={{
- stackPresentation: 'transparentModal',
- stackAnimation: 'fade',
+ presentation: 'transparentModal',
+ animation: 'fade',
headerShown: false
}}
/>
@@ -175,38 +176,33 @@ const Screens: React.FC = ({ localCorrupt }) => {
name='Screen-Announcements'
component={ScreenAnnouncements}
options={({ navigation }) => ({
- stackPresentation: 'transparentModal',
- stackAnimation: 'fade',
+ presentation: 'transparentModal',
+ animation: 'fade',
headerShown: true,
- headerHideShadow: true,
- headerTopInsetEnabled: false,
+ headerShadowVisible: false,
+ headerTransparent: true,
headerStyle: { backgroundColor: 'transparent' },
headerLeft: () => (
navigation.goBack()} />
),
- headerTitle: t('screenAnnouncements:heading'),
- ...(Platform.OS === 'android' && {
- headerCenter: () => (
-
- )
- })
+ headerTitle: t('screenAnnouncements:heading')
})}
/>
diff --git a/src/api/general.ts b/src/api/general.ts
index 6d3c3b6e..445a4d08 100644
--- a/src/api/general.ts
+++ b/src/api/general.ts
@@ -46,7 +46,7 @@ const apiGeneral = async ({
params,
headers: {
'Content-Type': 'application/json',
- 'User-Agent': `tooot/${Constants.manifest.version}`,
+ 'User-Agent': `tooot/${Constants.manifest?.version}`,
Accept: '*/*',
...headers
},
diff --git a/src/api/instance.ts b/src/api/instance.ts
index cd3a3c9e..e8a95d87 100644
--- a/src/api/instance.ts
+++ b/src/api/instance.ts
@@ -68,7 +68,7 @@ const apiInstance = async ({
params,
headers: {
'Content-Type': 'application/json',
- 'User-Agent': `tooot/${Constants.manifest.version}`,
+ 'User-Agent': `tooot/${Constants.manifest?.version}`,
Accept: '*/*',
...headers,
...(token && {
diff --git a/src/api/tooot.ts b/src/api/tooot.ts
index 0958661a..a15b23bc 100644
--- a/src/api/tooot.ts
+++ b/src/api/tooot.ts
@@ -28,7 +28,7 @@ const apiTooot = async ({
body,
sentry = false
}: Params): Promise<{ body: T }> => {
- const key = Constants.manifest.extra?.toootApiKey
+ const key = Constants.manifest?.extra?.toootApiKey
console.log(
ctx.bgGreen.bold(' API tooot ') +
@@ -49,7 +49,7 @@ const apiTooot = async ({
headers: {
...(key && { 'x-tooot-key': key }),
'Content-Type': 'application/json',
- 'User-Agent': `tooot/${Constants.manifest.version}`,
+ 'User-Agent': `tooot/${Constants.manifest?.version}`,
Accept: '*/*',
...headers
},
diff --git a/src/components/Account.tsx b/src/components/Account.tsx
index 1b4d78f7..ca9d2f17 100644
--- a/src/components/Account.tsx
+++ b/src/components/Account.tsx
@@ -1,6 +1,7 @@
import { ParseEmojis } from '@components/Parse'
import { useNavigation } from '@react-navigation/native'
import { StackNavigationProp } from '@react-navigation/stack'
+import { TabLocalStackParamList } from '@utils/navigation/navigators'
import { StyleConstants } from '@utils/styles/constants'
import { useTheme } from '@utils/styles/ThemeManager'
import React, { useCallback } from 'react'
@@ -21,7 +22,7 @@ const ComponentAccount: React.FC = ({
}) => {
const { theme } = useTheme()
const navigation = useNavigation<
- StackNavigationProp
+ StackNavigationProp
>()
const onPress = useCallback(() => {
diff --git a/src/components/Instance/Auth.tsx b/src/components/Instance/Auth.tsx
index 14ffae4f..765d20ef 100644
--- a/src/components/Instance/Auth.tsx
+++ b/src/components/Instance/Auth.tsx
@@ -1,4 +1,5 @@
import { useNavigation } from '@react-navigation/native'
+import { TabMeStackNavigationProp } from '@utils/navigation/navigators'
import addInstance from '@utils/slices/instances/add'
import { Instance } from '@utils/slices/instancesSlice'
import * as AuthSession from 'expo-auth-session'
@@ -21,7 +22,9 @@ const InstanceAuth = React.memo(
useProxy: false
})
- const navigation = useNavigation()
+ const navigation = useNavigation<
+ TabMeStackNavigationProp<'Tab-Me-Root' | 'Tab-Me-Switch'>
+ >()
const queryClient = useQueryClient()
const dispatch = useDispatch()
diff --git a/src/components/Timeline/Default.tsx b/src/components/Timeline/Default.tsx
index 36260389..47e18c98 100644
--- a/src/components/Timeline/Default.tsx
+++ b/src/components/Timeline/Default.tsx
@@ -10,10 +10,9 @@ import TimelinePoll from '@components/Timeline/Shared/Poll'
import { useNavigation } from '@react-navigation/native'
import { StackNavigationProp } from '@react-navigation/stack'
import { QueryKeyTimeline } from '@utils/queryHooks/timeline'
-import { getInstance, getInstanceAccount } from '@utils/slices/instancesSlice'
+import { getInstanceAccount } from '@utils/slices/instancesSlice'
import { StyleConstants } from '@utils/styles/constants'
import { useTheme } from '@utils/styles/ThemeManager'
-import htmlparser2 from 'htmlparser2-without-node-native'
import { uniqBy } from 'lodash'
import React, { useCallback } from 'react'
import { Pressable, StyleSheet, View } from 'react-native'
diff --git a/src/components/Timeline/Shared/Attachment.tsx b/src/components/Timeline/Shared/Attachment.tsx
index aad3c1fc..347709ef 100644
--- a/src/components/Timeline/Shared/Attachment.tsx
+++ b/src/components/Timeline/Shared/Attachment.tsx
@@ -6,6 +6,7 @@ import AttachmentImage from '@components/Timeline/Shared/Attachment/Image'
import AttachmentUnsupported from '@components/Timeline/Shared/Attachment/Unsupported'
import AttachmentVideo from '@components/Timeline/Shared/Attachment/Video'
import { useNavigation } from '@react-navigation/native'
+import { RootStackParamList } from '@utils/navigation/navigators'
import { StyleConstants } from '@utils/styles/constants'
import layoutAnimation from '@utils/styles/layoutAnimation'
import React, { useCallback, useMemo, useRef, useState } from 'react'
@@ -35,7 +36,7 @@ const TimelineAttachment = React.memo(
}, [])
const imageUrls = useRef<
- Nav.RootStackParamList['Screen-ImagesViewer']['imageUrls']
+ RootStackParamList['Screen-ImagesViewer']['imageUrls']
>([])
const navigation = useNavigation()
useEffect(() => {
diff --git a/src/components/Timeline/Shared/Attachment/Video.tsx b/src/components/Timeline/Shared/Attachment/Video.tsx
index 35ad16e9..4c204716 100644
--- a/src/components/Timeline/Shared/Attachment/Video.tsx
+++ b/src/components/Timeline/Shared/Attachment/Video.tsx
@@ -1,8 +1,14 @@
import Button from '@components/Button'
import { StyleConstants } from '@utils/styles/constants'
import { Video } from 'expo-av'
-import React, { useCallback, useRef, useState } from 'react'
-import { Pressable, StyleSheet, View } from 'react-native'
+import React, { useCallback, useEffect, useRef, useState } from 'react'
+import {
+ AppState,
+ AppStateStatus,
+ Pressable,
+ StyleSheet,
+ View
+} from 'react-native'
import { Blurhash } from 'react-native-blurhash'
import attachmentAspectRatio from './aspectRatio'
import analytics from '@components/analytics'
@@ -45,15 +51,43 @@ const AttachmentVideo: React.FC = ({
videoPlayer.current?.setOnPlaybackStatusUpdate(props => {
if (props.isLoaded) {
setVideoLoaded(true)
- }
- // @ts-ignore
- if (props.positionMillis) {
- // @ts-ignore
- setVideoPosition(props.positionMillis)
+ if (props.positionMillis) {
+ setVideoPosition(props.positionMillis)
+ }
}
})
}, [videoLoaded, videoPosition])
+ const appState = useRef(AppState.currentState)
+ useEffect(() => {
+ AppState.addEventListener('change', _handleAppStateChange)
+
+ return () => {
+ AppState.removeEventListener('change', _handleAppStateChange)
+ }
+ }, [])
+ const _handleAppStateChange = async (nextAppState: AppStateStatus) => {
+ if (appState.current.match(/active/) && nextAppState.match(/inactive/)) {
+ await videoPlayer.current?.pauseAsync()
+ } else if (
+ gifv &&
+ appState.current.match(/background/) &&
+ nextAppState.match(/active/)
+ ) {
+ await videoPlayer.current?.setIsMutedAsync(true)
+ await videoPlayer.current?.playAsync()
+ }
+
+ appState.current = nextAppState
+ }
+
+ const playerStatus = useRef(null)
+ useEffect(() => {
+ videoPlayer.current?.setOnPlaybackStatusUpdate(playbackStatus => {
+ playerStatus.current = playbackStatus
+ })
+ }, [])
+
return (
= ({
posterStyle: { resizeMode: 'cover' }
})}
useNativeControls={false}
- onFullscreenUpdate={event => {
+ onFullscreenUpdate={async event => {
if (
event.fullscreenUpdate ===
Video.FULLSCREEN_UPDATE_PLAYER_DID_DISMISS
) {
if (gifv) {
- videoPlayer.current?.setIsLoopingAsync(true)
- videoPlayer.current?.playAsync()
+ await videoPlayer.current?.pauseAsync()
} else {
- videoPlayer.current?.pauseAsync()
+ await videoPlayer.current?.pauseAsync()
}
}
}}
@@ -108,7 +141,7 @@ const AttachmentVideo: React.FC = ({
}}
/>
) : null
- ) : !gifv ? (
+ ) : !gifv || (gifv && playerStatus.current === false) ? (