diff --git a/.dockerignore b/.dockerignore index 481f9ac66..fbd0f59f6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,45 +1,44 @@ .dockerignore .DS_Store .git .eslintcache .vscode !.vscode/extensions.json node_modules landing/node_modules landing/dist lib/node_modules native !native/package.json !native/.flowconfig !native/ios/Podfile !native/cpp/CommonCpp/grpc !native/expo-modules/comm-expo-package/package.json -!native/expo-modules/thumbhash/package.json web/node_modules web/dist keyserver/dist keyserver/node_modules keyserver/facts keyserver/secrets keyserver/*.env keyserver/*.env.* services/tunnelbroker/Dockerfile services/identity/target services/identity/Dockerfile services/backup/Dockerfile services/blob/target services/blob/Dockerfile services/electron-update-server/node_modules native/cpp/**/build services/*/build services/build services/lib/src/build shared/protos/build diff --git a/keyserver/Dockerfile b/keyserver/Dockerfile index be2308477..e7c0a4336 100644 --- a/keyserver/Dockerfile +++ b/keyserver/Dockerfile @@ -1,205 +1,203 @@ FROM node:16.18.0-bullseye #------------------------------------------------------------------------------- # STEP 0: SET UP USER # Set up Linux user and group for the container #------------------------------------------------------------------------------- # We use bind mounts for our backups folder, which means Docker on Linux will # blindly match the UID/GID for the backups folder on the container with the # host. In order to make sure the container is able to create backups with the # right UID/GID, we need to do two things: # 1. Make sure that the user that runs the Docker container on the host has # permissions to write to the backups folder on the host. We rely on the host # to configure this properly # 2. Make sure we're running this container with the same UID/GID that the host # is using, so the UID/GID show up correctly on both sides of the bind mount # To handle 2 correctly, we have the host pass the UID/GID with which they're # running the container. Our approach is based on this one: # https://github.com/mhart/alpine-node/issues/48#issuecomment-430902787 ARG HOST_UID ARG HOST_GID ARG COMM_JSONCONFIG_secrets_alchemy ARG COMM_JSONCONFIG_secrets_walletconnect ARG COMM_JSONCONFIG_secrets_geoip_license USER root RUN \ if [ -z "`getent group $HOST_GID`" ]; then \ addgroup --system --gid $HOST_GID comm; \ else \ groupmod --new-name comm `getent group $HOST_GID | cut -d: -f1`; \ fi && \ if [ -z "`getent passwd $HOST_UID`" ]; then \ adduser --system --uid $HOST_UID --ingroup comm --shell /bin/bash comm; \ else \ usermod --login comm --gid $HOST_GID --home /home/comm --move-home \ `getent passwd $HOST_UID | cut -d: -f1`; \ fi #------------------------------------------------------------------------------- # STEP 1: INSTALL PREREQS # Install prereqs first so we don't have to reinstall them if anything changes #------------------------------------------------------------------------------- # We need to add the MariaDB repo to apt in order to install mariadb-client RUN wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup \ && chmod +x mariadb_repo_setup \ && ./mariadb_repo_setup \ && rm mariadb_repo_setup # We need rsync in the prod-build yarn script # We need mariadb-client so we can use mysqldump for backups # We need cmake to install protobuf (prereq for rust-node-addon) RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ rsync \ mariadb-client \ cmake \ && rm -rf /var/lib/apt/lists/* # Install protobuf manually to ensure that we have the correct version COPY scripts/install_protobuf.sh scripts/ RUN cd scripts && ./install_protobuf.sh #------------------------------------------------------------------------------- # STEP 2: DEVOLVE PRIVILEGES # Create another user to run the rest of the commands #------------------------------------------------------------------------------- USER comm WORKDIR /home/comm/app #------------------------------------------------------------------------------- # STEP 3: SET UP MYSQL BACKUPS # Prepare the system to properly handle mysqldump backups #------------------------------------------------------------------------------- # Prepare the directory that will hold the backups RUN mkdir /home/comm/backups #------------------------------------------------------------------------------- # STEP 4: SET UP CARGO (RUST PACKAGE MANAGER) # We use Cargo to build pre-compiled Node.js addons in Rust #------------------------------------------------------------------------------- # Install Rust and add Cargo's bin directory to the $PATH environment variable RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ENV PATH /home/comm/.cargo/bin:$PATH #------------------------------------------------------------------------------- # STEP 5: SET UP NVM # We use nvm to make sure we're running the right Node version #------------------------------------------------------------------------------- # First we install nvm ENV NVM_DIR /home/comm/.nvm RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh \ | bash # Then we use nvm to install the right version of Node. We call this early so # Docker build caching saves us from re-downloading Node when any file changes COPY --chown=comm keyserver/.nvmrc keyserver/ COPY --chown=comm keyserver/bash/source-nvm.sh keyserver/bash/ RUN cd keyserver && . bash/source-nvm.sh #------------------------------------------------------------------------------- # STEP 6: YARN CLEANINSTALL # We run yarn cleaninstall before copying most of the files in for build caching #------------------------------------------------------------------------------- # Copy in package.json files, yarn.lock files, and relevant installation scripts COPY --chown=comm package.json yarn.lock postinstall.sh ./ COPY --chown=comm keyserver/package.json keyserver/.flowconfig keyserver/ COPY --chown=comm lib/package.json lib/.flowconfig lib/ COPY --chown=comm web/package.json web/.flowconfig web/ COPY --chown=comm native/package.json native/.flowconfig native/ COPY --chown=comm landing/package.json landing/.flowconfig landing/ COPY --chown=comm desktop/package.json desktop/ COPY --chown=comm desktop/addons/windows-pushnotifications/package.json \ desktop/addons/windows-pushnotifications/ COPY --chown=comm keyserver/addons/rust-node-addon/package.json \ keyserver/addons/rust-node-addon/install_ci_deps.sh \ keyserver/addons/rust-node-addon/postinstall.sh \ keyserver/addons/rust-node-addon/ COPY --chown=comm native/expo-modules/comm-expo-package/package.json \ native/expo-modules/comm-expo-package/ -COPY --chown=comm native/expo-modules/thumbhash/package.json \ - native/expo-modules/thumbhash/ COPY --chown=comm services/electron-update-server/package.json \ services/electron-update-server/ # Create empty Rust library and copy in Cargo.toml file RUN cargo init keyserver/addons/rust-node-addon --lib COPY --chown=comm keyserver/addons/rust-node-addon/Cargo.toml \ keyserver/addons/rust-node-addon/ # Copy in local dependencies of rust-node-addon COPY --chown=comm shared/comm-opaque shared/comm-opaque/ COPY --chown=comm shared/comm-opaque2 shared/comm-opaque2/ # Copy protobuf files as a dependency for the shared client libraries COPY --chown=comm shared/protos shared/protos/ # Copy in files needed for patch-package COPY --chown=comm patches patches/ # Actually run yarn RUN yarn cleaninstall #------------------------------------------------------------------------------- # STEP 7: GEOIP UPDATE # We update the GeoIP database for mapping from IP address to timezone #------------------------------------------------------------------------------- COPY --chown=comm keyserver/bash/docker-update-geoip.sh keyserver/bash/ RUN cd keyserver && bash/docker-update-geoip.sh #------------------------------------------------------------------------------- # STEP 8: WEBPACK BUILD # We do this first so Docker doesn't rebuild when only keyserver files change #------------------------------------------------------------------------------- # These are needed for babel-build-comm-config COPY --chown=comm keyserver/src keyserver/src COPY --chown=comm keyserver/bash/source-nvm.sh keyserver/bash/source-nvm.sh COPY --chown=comm keyserver/babel.config.cjs keyserver/babel.config.cjs COPY --chown=comm lib lib/ COPY --chown=comm landing landing/ RUN yarn workspace landing prod COPY --chown=comm web web/ RUN yarn workspace web prod #------------------------------------------------------------------------------- # STEP 9: COPY IN SOURCE FILES # We run this later so the above layers are cached if only source files change #------------------------------------------------------------------------------- COPY --chown=comm . . #------------------------------------------------------------------------------- # STEP 10: BUILD NODE ADDON # Now that source files have been copied in, build rust-node-addon #------------------------------------------------------------------------------- RUN yarn workspace rust-node-addon build #------------------------------------------------------------------------------- # STEP 11: RUN BUILD SCRIPTS # We need to populate keyserver/dist, among other things #------------------------------------------------------------------------------- # Babel transpilation of keyserver src RUN yarn workspace keyserver prod-build #------------------------------------------------------------------------------- # STEP 12: RUN THE SERVER # Actually run the Node.js keyserver using nvm #------------------------------------------------------------------------------- EXPOSE 3000 WORKDIR /home/comm/app/keyserver CMD bash/run-prod.sh diff --git a/native/expo-modules/thumbhash/android/src/main/java/app/comm/android/thumbhash/ThumbhashModule.kt b/native/expo-modules/comm-expo-package/android/src/main/java/app/comm/android/thumbhash/ThumbhashModule.kt similarity index 100% rename from native/expo-modules/thumbhash/android/src/main/java/app/comm/android/thumbhash/ThumbhashModule.kt rename to native/expo-modules/comm-expo-package/android/src/main/java/app/comm/android/thumbhash/ThumbhashModule.kt diff --git a/native/expo-modules/thumbhash/android/src/main/java/thirdparty/LICENSE.txt b/native/expo-modules/comm-expo-package/android/src/main/java/thirdparty/LICENSE.txt similarity index 100% rename from native/expo-modules/thumbhash/android/src/main/java/thirdparty/LICENSE.txt rename to native/expo-modules/comm-expo-package/android/src/main/java/thirdparty/LICENSE.txt diff --git a/native/expo-modules/thumbhash/android/src/main/java/thirdparty/ThumbHash.java b/native/expo-modules/comm-expo-package/android/src/main/java/thirdparty/ThumbHash.java similarity index 100% rename from native/expo-modules/thumbhash/android/src/main/java/thirdparty/ThumbHash.java rename to native/expo-modules/comm-expo-package/android/src/main/java/thirdparty/ThumbHash.java diff --git a/native/expo-modules/comm-expo-package/expo-module.config.json b/native/expo-modules/comm-expo-package/expo-module.config.json index ff2960119..4c7e88903 100644 --- a/native/expo-modules/comm-expo-package/expo-module.config.json +++ b/native/expo-modules/comm-expo-package/expo-module.config.json @@ -1,13 +1,14 @@ { "platforms": ["ios", "android"], "ios": { - "modules": ["AESCryptoModule", "HelloWorldModule"] + "modules": ["AESCryptoModule", "HelloWorldModule", "ThumbhashModule"] }, "android": { "modules": [ "app.comm.android.aescrypto.AESCryptoModule", "app.comm.android.lifecycle.AndroidLifecycleModule", - "app.comm.android.expo.HelloWorldModule" + "app.comm.android.expo.HelloWorldModule", + "app.comm.android.thumbhash.ThumbhashModule" ] } } diff --git a/native/expo-modules/thumbhash/ios/ThumbhashModule.swift b/native/expo-modules/comm-expo-package/ios/ThumbhashModule.swift similarity index 100% rename from native/expo-modules/thumbhash/ios/ThumbhashModule.swift rename to native/expo-modules/comm-expo-package/ios/ThumbhashModule.swift diff --git a/native/expo-modules/thumbhash/ios/third_party/LICENSE.txt b/native/expo-modules/comm-expo-package/ios/third_party/LICENSE.txt similarity index 100% rename from native/expo-modules/thumbhash/ios/third_party/LICENSE.txt rename to native/expo-modules/comm-expo-package/ios/third_party/LICENSE.txt diff --git a/native/expo-modules/thumbhash/ios/third_party/Thumbhash.swift b/native/expo-modules/comm-expo-package/ios/third_party/Thumbhash.swift similarity index 100% rename from native/expo-modules/thumbhash/ios/third_party/Thumbhash.swift rename to native/expo-modules/comm-expo-package/ios/third_party/Thumbhash.swift diff --git a/native/expo-modules/thumbhash/android/build.gradle b/native/expo-modules/thumbhash/android/build.gradle deleted file mode 100644 index 98d71e8ff..000000000 --- a/native/expo-modules/thumbhash/android/build.gradle +++ /dev/null @@ -1,92 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'maven-publish' - -group = 'app.comm.android.thumbhash' -version = '0.0.1' - -buildscript { - def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle") - if (expoModulesCorePlugin.exists()) { - apply from: expoModulesCorePlugin - applyKotlinExpoModulesCorePlugin() - } - - // Simple helper that allows the root project to override versions declared by this library. - ext.safeExtGet = { prop, fallback -> - rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback - } - - // Ensures backward compatibility - ext.getKotlinVersion = { - if (ext.has("kotlinVersion")) { - ext.kotlinVersion() - } else { - ext.safeExtGet("kotlinVersion", "1.6.10") - } - } - - repositories { - mavenCentral() - } - - dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${getKotlinVersion()}") - } -} - -// Creating sources with comments -task androidSourcesJar(type: Jar) { - classifier = 'sources' - from android.sourceSets.main.java.srcDirs -} - -afterEvaluate { - publishing { - publications { - release(MavenPublication) { - from components.release - // Add additional sourcesJar to artifacts - artifact(androidSourcesJar) - } - } - repositories { - maven { - url = mavenLocal().url - } - } - } -} - -android { - compileSdkVersion safeExtGet("compileSdkVersion", 33) - - compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.majorVersion - } - - defaultConfig { - minSdkVersion safeExtGet("minSdkVersion", 21) - targetSdkVersion safeExtGet("targetSdkVersion", 33) - versionCode 1 - versionName "0.1.0" - } - lintOptions { - abortOnError false - } -} - -repositories { - mavenCentral() -} - -dependencies { - implementation project(':expo-modules-core') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${getKotlinVersion()}" - implementation 'com.facebook.react:react-native:+' -} diff --git a/native/expo-modules/thumbhash/android/src/main/AndroidManifest.xml b/native/expo-modules/thumbhash/android/src/main/AndroidManifest.xml deleted file mode 100644 index 671e9f220..000000000 --- a/native/expo-modules/thumbhash/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/native/expo-modules/thumbhash/expo-module.config.json b/native/expo-modules/thumbhash/expo-module.config.json deleted file mode 100644 index d69cd4a80..000000000 --- a/native/expo-modules/thumbhash/expo-module.config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "platforms": ["ios", "android"], - "ios": { - "modules": ["ThumbhashModule"] - }, - "android": { - "modules": ["app.comm.android.thumbhash.ThumbhashModule"] - } -} diff --git a/native/expo-modules/thumbhash/ios/Thumbhash.podspec b/native/expo-modules/thumbhash/ios/Thumbhash.podspec deleted file mode 100644 index 2d2b5bed9..000000000 --- a/native/expo-modules/thumbhash/ios/Thumbhash.podspec +++ /dev/null @@ -1,27 +0,0 @@ -require 'json' - -package = JSON.parse(File.read(File.join(__dir__, '..', 'package.json'))) - -Pod::Spec.new do |s| - s.name = 'Thumbhash' - s.version = package['version'] - s.summary = package['description'] - s.description = package['description'] - s.license = package['license'] - s.author = 'Comm' - s.homepage = 'https://comm.app' - s.platform = :ios, '13.0' - s.swift_version = '5.4' - s.source = { git: 'https://github.com/CommE2E/comm' } - s.static_framework = true - - s.dependency 'ExpoModulesCore' - - # Swift/Objective-C compatibility - s.pod_target_xcconfig = { - 'DEFINES_MODULE' => 'YES', - 'SWIFT_COMPILATION_MODE' => 'wholemodule' - } - - s.source_files = "**/*.{h,m,swift}" -end diff --git a/native/expo-modules/thumbhash/package.json b/native/expo-modules/thumbhash/package.json deleted file mode 100644 index 4e025b5bd..000000000 --- a/native/expo-modules/thumbhash/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "@commapp/thumbhash", - "version": "0.0.1", - "private": true, - "license": "BSD-3-Clause", - "description": "Thumbhash generator module", - "dependencies": {}, - "devDependencies": { - "expo-module-scripts": "^3.0.3", - "expo-modules-core": "1.1.1" - }, - "peerDependencies": { - "expo": "*", - "react": "*", - "react-native": "*" - } -} diff --git a/native/ios/Podfile.lock b/native/ios/Podfile.lock index 2b5392a1c..358586d6e 100644 --- a/native/ios/Podfile.lock +++ b/native/ios/Podfile.lock @@ -1,947 +1,941 @@ PODS: - boost (1.76.0) - CommExpoPackage (0.0.1): - ExpoModulesCore - DoubleConversion (1.1.6) - DVAssetLoaderDelegate (0.3.3) - EXApplication (5.1.1): - ExpoModulesCore - EXConstants (14.0.2): - ExpoModulesCore - EXFileSystem (15.1.1): - ExpoModulesCore - EXFont (11.0.1): - ExpoModulesCore - EXImageLoader (4.0.0): - ExpoModulesCore - React-Core - EXJSONUtils (0.4.0) - EXManifests (0.4.0): - EXJSONUtils - EXMediaLibrary (15.0.0): - ExpoModulesCore - React-Core - Expo (47.0.14): - ExpoModulesCore - expo-dev-client (2.0.1): - EXManifests - expo-dev-launcher - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface - expo-dev-launcher (2.0.2): - EXManifests - expo-dev-launcher/Main (= 2.0.2) - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore - EXUpdatesInterface - React-Core - expo-dev-launcher/Main (2.0.2): - EXManifests - expo-dev-launcher/Unsafe - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore - EXUpdatesInterface - React-Core - expo-dev-launcher/Unsafe (2.0.2): - EXManifests - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore - EXUpdatesInterface - React-Core - expo-dev-menu (2.0.2): - expo-dev-menu/Main (= 2.0.2) - expo-dev-menu-interface (1.0.0) - expo-dev-menu/GestureHandler (2.0.2) - expo-dev-menu/Main (2.0.2): - EXManifests - expo-dev-menu-interface - expo-dev-menu/Vendored - ExpoModulesCore - React-Core - expo-dev-menu/Reanimated (2.0.2): - DoubleConversion - FBLazyVector - FBReactNativeSpec - glog - RCT-Folly - RCTRequired - RCTTypeSafety - React-callinvoker - React-Core - React-Core/DevSupport - React-Core/RCTWebSocket - React-CoreModules - React-cxxreact - React-jsi - React-jsiexecutor - React-jsinspector - React-RCTActionSheet - React-RCTAnimation - React-RCTBlob - React-RCTImage - React-RCTLinking - React-RCTNetwork - React-RCTSettings - React-RCTText - React-RCTVibration - ReactCommon/turbomodule/core - Yoga - expo-dev-menu/SafeAreaView (2.0.2) - expo-dev-menu/Vendored (2.0.2): - expo-dev-menu/GestureHandler - expo-dev-menu/Reanimated - expo-dev-menu/SafeAreaView - ExpoHaptics (12.0.1): - ExpoModulesCore - ExpoImage (1.2.2): - ExpoModulesCore - SDWebImage (~> 5.15.0) - SDWebImageAVIFCoder (~> 0.9.4) - SDWebImageSVGCoder (~> 1.6.1) - SDWebImageWebPCoder (~> 0.9.1) - ExpoImageManipulator (11.0.0): - EXImageLoader - ExpoModulesCore - ExpoImagePicker (14.0.2): - ExpoModulesCore - ExpoKeepAwake (11.0.1): - ExpoModulesCore - ExpoModulesCore (1.1.1): - React-Core - ReactCommon/turbomodule/core - EXSecureStore (12.0.0): - ExpoModulesCore - EXSplashScreen (0.17.5): - ExpoModulesCore - React-Core - EXUpdatesInterface (0.8.1) - FBLazyVector (0.70.8) - FBReactNativeSpec (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTRequired (= 0.70.8) - RCTTypeSafety (= 0.70.8) - React-Core (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - fmt (6.2.1) - glog (0.3.5) - hermes-engine (0.70.8) - libaom (2.0.2): - libvmaf - libavif (0.10.1): - libavif/libaom (= 0.10.1) - libavif/core (0.10.1) - libavif/libaom (0.10.1): - libaom (>= 2.0.0) - libavif/core - libevent (2.1.12) - libvmaf (2.2.0) - libwebp (1.2.4): - libwebp/demux (= 1.2.4) - libwebp/mux (= 1.2.4) - libwebp/webp (= 1.2.4) - libwebp/demux (1.2.4): - libwebp/webp - libwebp/mux (1.2.4): - libwebp/demux - libwebp/webp (1.2.4) - lottie-ios (3.4.4) - lottie-react-native (5.1.4): - lottie-ios (~> 3.4.0) - React-Core - mobile-ffmpeg-min (4.3.1.LTS) - OLMKit (3.2.14): - OLMKit/olmc (= 3.2.14) - OLMKit/olmcpp (= 3.2.14) - OLMKit/olmc (3.2.14) - OLMKit/olmcpp (3.2.14) - OpenSSL-Universal (1.1.1900) - RCT-Folly (2021.07.22.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - RCT-Folly/Default (= 2021.07.22.00) - RCT-Folly/Default (2021.07.22.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - RCT-Folly/Futures (2021.07.22.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - libevent - RCTRequired (0.70.8) - RCTTypeSafety (0.70.8): - FBLazyVector (= 0.70.8) - RCTRequired (= 0.70.8) - React-Core (= 0.70.8) - React (0.70.8): - React-Core (= 0.70.8) - React-Core/DevSupport (= 0.70.8) - React-Core/RCTWebSocket (= 0.70.8) - React-RCTActionSheet (= 0.70.8) - React-RCTAnimation (= 0.70.8) - React-RCTBlob (= 0.70.8) - React-RCTImage (= 0.70.8) - React-RCTLinking (= 0.70.8) - React-RCTNetwork (= 0.70.8) - React-RCTSettings (= 0.70.8) - React-RCTText (= 0.70.8) - React-RCTVibration (= 0.70.8) - React-bridging (0.70.8): - RCT-Folly (= 2021.07.22.00) - React-jsi (= 0.70.8) - React-callinvoker (0.70.8) - React-Codegen (0.70.8): - FBReactNativeSpec (= 0.70.8) - RCT-Folly (= 2021.07.22.00) - RCTRequired (= 0.70.8) - RCTTypeSafety (= 0.70.8) - React-Core (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-Core (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.70.8) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/CoreModulesHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/Default (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/DevSupport (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.70.8) - React-Core/RCTWebSocket (= 0.70.8) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-jsinspector (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTActionSheetHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTAnimationHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTBlobHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTImageHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTLinkingHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTNetworkHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTSettingsHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTTextHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTVibrationHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTWebSocket (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.70.8) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-CoreModules (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/CoreModulesHeaders (= 0.70.8) - React-jsi (= 0.70.8) - React-RCTImage (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-cxxreact (0.70.8): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 0.70.8) - React-jsi (= 0.70.8) - React-jsinspector (= 0.70.8) - React-logger (= 0.70.8) - React-perflogger (= 0.70.8) - React-runtimeexecutor (= 0.70.8) - React-hermes (0.70.8): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - RCT-Folly/Futures (= 2021.07.22.00) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-jsinspector (= 0.70.8) - React-perflogger (= 0.70.8) - React-jsi (0.70.8): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-jsi/Default (= 0.70.8) - React-jsi/Default (0.70.8): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-jsiexecutor (0.70.8): - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-perflogger (= 0.70.8) - React-jsinspector (0.70.8) - React-logger (0.70.8): - glog - react-native-background-upload (6.6.0): - React - react-native-camera (3.31.0): - React - react-native-camera/RCT (= 3.31.0) - react-native-camera/RN (= 3.31.0) - react-native-camera/RCT (3.31.0): - React - react-native-camera/RN (3.31.0): - React - react-native-ffmpeg/min-lts (0.4.4): - mobile-ffmpeg-min (= 4.3.1.LTS) - React - react-native-in-app-message (1.0.2): - React - react-native-netinfo (9.3.7): - React-Core - react-native-orientation-locker (1.5.0): - React-Core - react-native-pager-view (6.0.1): - React-Core - react-native-safe-area-context (4.4.1): - RCT-Folly - RCTRequired - RCTTypeSafety - React-Core - ReactCommon/turbomodule/core - react-native-video/Video (5.2.1): - React-Core - react-native-video/VideoCaching (5.2.1): - DVAssetLoaderDelegate (~> 0.3.1) - React-Core - react-native-video/Video - SPTPersistentCache (~> 1.1.0) - react-native-webview (11.23.0): - React-Core - React-perflogger (0.70.8) - React-RCTActionSheet (0.70.8): - React-Core/RCTActionSheetHeaders (= 0.70.8) - React-RCTAnimation (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/RCTAnimationHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTBlob (0.70.8): - RCT-Folly (= 2021.07.22.00) - React-Codegen (= 0.70.8) - React-Core/RCTBlobHeaders (= 0.70.8) - React-Core/RCTWebSocket (= 0.70.8) - React-jsi (= 0.70.8) - React-RCTNetwork (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTImage (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/RCTImageHeaders (= 0.70.8) - React-jsi (= 0.70.8) - React-RCTNetwork (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTLinking (0.70.8): - React-Codegen (= 0.70.8) - React-Core/RCTLinkingHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTNetwork (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/RCTNetworkHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTSettings (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/RCTSettingsHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTText (0.70.8): - React-Core/RCTTextHeaders (= 0.70.8) - React-RCTVibration (0.70.8): - RCT-Folly (= 2021.07.22.00) - React-Codegen (= 0.70.8) - React-Core/RCTVibrationHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-runtimeexecutor (0.70.8): - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (0.70.8): - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-bridging (= 0.70.8) - React-callinvoker (= 0.70.8) - React-Core (= 0.70.8) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-logger (= 0.70.8) - React-perflogger (= 0.70.8) - ReactNativeART (1.2.0): - React - ReactNativeKeyboardInput (6.0.1): - React - ReactNativeKeyboardTrackingView (5.7.0): - React - RNCAsyncStorage (1.17.10): - React-Core - RNCClipboard (1.11.1): - React-Core - SDWebImage (~> 5.8) - RNCMaskedView (0.2.8): - React-Core - RNDeviceInfo (10.3.0): - React-Core - RNFS (2.20.0): - React-Core - RNGestureHandler (2.8.0): - React-Core - RNKeychain (8.0.0): - React-Core - RNReanimated (2.12.0): - DoubleConversion - FBLazyVector - FBReactNativeSpec - glog - RCT-Folly - RCTRequired - RCTTypeSafety - React-callinvoker - React-Core - React-Core/DevSupport - React-Core/RCTWebSocket - React-CoreModules - React-cxxreact - React-jsi - React-jsiexecutor - React-jsinspector - React-RCTActionSheet - React-RCTAnimation - React-RCTBlob - React-RCTImage - React-RCTLinking - React-RCTNetwork - React-RCTSettings - React-RCTText - ReactCommon/turbomodule/core - Yoga - RNScreens (3.18.2): - React-Core - React-RCTImage - RNSVG (12.3.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.10) - SDWebImageSVGCoder (1.6.1): - SDWebImage/Core (~> 5.6) - SDWebImageWebPCoder (0.9.1): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.13) - SPTPersistentCache (1.1.0) - SQLCipher-Amalgamation (4.4.3): - OpenSSL-Universal - SQLCipher-Amalgamation/standard (= 4.4.3) - SQLCipher-Amalgamation/common (4.4.3): - OpenSSL-Universal - SQLCipher-Amalgamation/standard (4.4.3): - OpenSSL-Universal - SQLCipher-Amalgamation/common - - Thumbhash (0.0.1): - - ExpoModulesCore - Yoga (1.14.0) DEPENDENCIES: - boost (from `../../node_modules/react-native/third-party-podspecs/boost.podspec`) - CommExpoPackage (from `../expo-modules/comm-expo-package/ios`) - DoubleConversion (from `../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - EXApplication (from `../../node_modules/expo-application/ios`) - EXConstants (from `../../node_modules/expo-constants/ios`) - EXFileSystem (from `../../node_modules/expo-file-system/ios`) - EXFont (from `../../node_modules/expo-font/ios`) - EXImageLoader (from `../../node_modules/expo-image-loader/ios`) - EXJSONUtils (from `../../node_modules/expo-json-utils/ios`) - EXManifests (from `../../node_modules/expo-manifests/ios`) - EXMediaLibrary (from `../../node_modules/expo-media-library/ios`) - Expo (from `../../node_modules/expo`) - expo-dev-client (from `../../node_modules/expo-dev-client/ios`) - expo-dev-launcher (from `../../node_modules/expo-dev-launcher`) - expo-dev-menu (from `../../node_modules/expo-dev-menu`) - expo-dev-menu-interface (from `../../node_modules/expo-dev-menu-interface/ios`) - ExpoHaptics (from `../../node_modules/expo-haptics/ios`) - ExpoImage (from `../../node_modules/expo-image/ios`) - ExpoImageManipulator (from `../../node_modules/expo-image-manipulator/ios`) - ExpoImagePicker (from `../../node_modules/expo-image-picker/ios`) - ExpoKeepAwake (from `../../node_modules/expo-keep-awake/ios`) - ExpoModulesCore (from `../../node_modules/expo-modules-core`) - EXSecureStore (from `../../node_modules/expo-secure-store/ios`) - EXSplashScreen (from `../../node_modules/expo-splash-screen/ios`) - EXUpdatesInterface (from `../../node_modules/expo-updates-interface/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 (from `../../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) - libevent (~> 2.1.12) - lottie-react-native (from `../node_modules/lottie-react-native`) - OLMKit (from `../node_modules/olm`) - 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`) - React (from `../../node_modules/react-native/`) - React-bridging (from `../../node_modules/react-native/ReactCommon`) - React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - React-Core (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`) - React-hermes (from `../../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector`) - React-logger (from `../../node_modules/react-native/ReactCommon/logger`) - react-native-background-upload (from `../node_modules/react-native-background-upload`) - react-native-camera (from `../node_modules/react-native-camera`) - react-native-ffmpeg/min-lts (from `../node_modules/react-native-ffmpeg`) - react-native-in-app-message (from `../node_modules/react-native-in-app-message`) - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" - react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`) - react-native-pager-view (from `../node_modules/react-native-pager-view`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - react-native-video/VideoCaching (from `../node_modules/react-native-video`) - react-native-webview (from `../node_modules/react-native-webview`) - React-perflogger (from `../../node_modules/react-native/ReactCommon/reactperflogger`) - React-RCTActionSheet (from `../../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`) - React-RCTImage (from `../../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../../node_modules/react-native/Libraries/Network`) - React-RCTSettings (from `../../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../../node_modules/react-native/Libraries/Vibration`) - React-runtimeexecutor (from `../../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../../node_modules/react-native/ReactCommon`) - "ReactNativeART (from `../node_modules/@react-native-community/art`)" - ReactNativeKeyboardInput (from `../node_modules/react-native-keyboard-input`) - ReactNativeKeyboardTrackingView (from `../../node_modules/react-native-keyboard-tracking-view`) - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" - "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)" - "RNCMaskedView (from `../node_modules/@react-native-masked-view/masked-view`)" - RNDeviceInfo (from `../node_modules/react-native-device-info`) - RNFS (from `../node_modules/react-native-fs`) - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNKeychain (from `../node_modules/react-native-keychain`) - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) - RNSVG (from `../node_modules/react-native-svg`) - "SQLCipher-Amalgamation (from `../../node_modules/@commapp/sqlcipher-amalgamation`)" - - Thumbhash (from `../expo-modules/thumbhash/ios`) - Yoga (from `../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: - DVAssetLoaderDelegate - fmt - libaom - libavif - libevent - libvmaf - libwebp - lottie-ios - mobile-ffmpeg-min - OpenSSL-Universal - SDWebImage - SDWebImageAVIFCoder - SDWebImageSVGCoder - SDWebImageWebPCoder - SPTPersistentCache EXTERNAL SOURCES: boost: :podspec: "../../node_modules/react-native/third-party-podspecs/boost.podspec" CommExpoPackage: :path: "../expo-modules/comm-expo-package/ios" DoubleConversion: :podspec: "../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" EXApplication: :path: "../../node_modules/expo-application/ios" EXConstants: :path: "../../node_modules/expo-constants/ios" EXFileSystem: :path: "../../node_modules/expo-file-system/ios" EXFont: :path: "../../node_modules/expo-font/ios" EXImageLoader: :path: "../../node_modules/expo-image-loader/ios" EXJSONUtils: :path: "../../node_modules/expo-json-utils/ios" EXManifests: :path: "../../node_modules/expo-manifests/ios" EXMediaLibrary: :path: "../../node_modules/expo-media-library/ios" Expo: :path: "../../node_modules/expo" expo-dev-client: :path: "../../node_modules/expo-dev-client/ios" expo-dev-launcher: :path: "../../node_modules/expo-dev-launcher" expo-dev-menu: :path: "../../node_modules/expo-dev-menu" expo-dev-menu-interface: :path: "../../node_modules/expo-dev-menu-interface/ios" ExpoHaptics: :path: "../../node_modules/expo-haptics/ios" ExpoImage: :path: "../../node_modules/expo-image/ios" ExpoImageManipulator: :path: "../../node_modules/expo-image-manipulator/ios" ExpoImagePicker: :path: "../../node_modules/expo-image-picker/ios" ExpoKeepAwake: :path: "../../node_modules/expo-keep-awake/ios" ExpoModulesCore: :path: "../../node_modules/expo-modules-core" EXSecureStore: :path: "../../node_modules/expo-secure-store/ios" EXSplashScreen: :path: "../../node_modules/expo-splash-screen/ios" EXUpdatesInterface: :path: "../../node_modules/expo-updates-interface/ios" FBLazyVector: :path: "../../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: :path: "../../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: :podspec: "../../node_modules/react-native/sdks/hermes/hermes-engine.podspec" lottie-react-native: :path: "../node_modules/lottie-react-native" OLMKit: :path: "../node_modules/olm" RCT-Folly: :podspec: "../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: :path: "../../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: :path: "../../node_modules/react-native/Libraries/TypeSafety" React: :path: "../../node_modules/react-native/" React-bridging: :path: "../../node_modules/react-native/ReactCommon" React-callinvoker: :path: "../../node_modules/react-native/ReactCommon/callinvoker" React-Codegen: :path: build/generated/ios React-Core: :path: "../../node_modules/react-native/" React-CoreModules: :path: "../../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../../node_modules/react-native/ReactCommon/cxxreact" React-hermes: :path: "../../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: :path: "../../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: :path: "../../node_modules/react-native/ReactCommon/jsinspector" React-logger: :path: "../../node_modules/react-native/ReactCommon/logger" react-native-background-upload: :path: "../node_modules/react-native-background-upload" react-native-camera: :path: "../node_modules/react-native-camera" react-native-ffmpeg: :podspec: "../node_modules/react-native-ffmpeg" react-native-in-app-message: :path: "../node_modules/react-native-in-app-message" react-native-netinfo: :path: "../node_modules/@react-native-community/netinfo" react-native-orientation-locker: :path: "../node_modules/react-native-orientation-locker" react-native-pager-view: :path: "../node_modules/react-native-pager-view" react-native-safe-area-context: :path: "../node_modules/react-native-safe-area-context" react-native-video: :podspec: "../node_modules/react-native-video" react-native-webview: :path: "../node_modules/react-native-webview" React-perflogger: :path: "../../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: :path: "../../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: :path: "../../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: :path: "../../node_modules/react-native/Libraries/Blob" React-RCTImage: :path: "../../node_modules/react-native/Libraries/Image" React-RCTLinking: :path: "../../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: :path: "../../node_modules/react-native/Libraries/Network" React-RCTSettings: :path: "../../node_modules/react-native/Libraries/Settings" React-RCTText: :path: "../../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../../node_modules/react-native/Libraries/Vibration" React-runtimeexecutor: :path: "../../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: :path: "../../node_modules/react-native/ReactCommon" ReactNativeART: :path: "../node_modules/@react-native-community/art" ReactNativeKeyboardInput: :path: "../node_modules/react-native-keyboard-input" ReactNativeKeyboardTrackingView: :path: "../../node_modules/react-native-keyboard-tracking-view" RNCAsyncStorage: :path: "../node_modules/@react-native-async-storage/async-storage" RNCClipboard: :path: "../node_modules/@react-native-clipboard/clipboard" RNCMaskedView: :path: "../node_modules/@react-native-masked-view/masked-view" RNDeviceInfo: :path: "../node_modules/react-native-device-info" RNFS: :path: "../node_modules/react-native-fs" RNGestureHandler: :path: "../node_modules/react-native-gesture-handler" RNKeychain: :path: "../node_modules/react-native-keychain" RNReanimated: :path: "../node_modules/react-native-reanimated" RNScreens: :path: "../node_modules/react-native-screens" RNSVG: :path: "../node_modules/react-native-svg" SQLCipher-Amalgamation: :path: "../../node_modules/@commapp/sqlcipher-amalgamation" - Thumbhash: - :path: "../expo-modules/thumbhash/ios" Yoga: :path: "../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 CommExpoPackage: 3f9d8a25537fb9d80f79a63fd1e73c51f55b87e9 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 DVAssetLoaderDelegate: 0caec20e4e08b8560b691131539e9180024d4bce EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903 EXConstants: 3c86653c422dd77e40d10cbbabb3025003977415 EXFileSystem: 60602b6eefa6873f97172c684b7537c9760b50d6 EXFont: 319606bfe48c33b5b5063fb0994afdc496befe80 EXImageLoader: 84b65e6bd9d3345d6fbb3ab936a546c54496a64d EXJSONUtils: 09aef2c1fba1a116ca8c73a2c8299aac00d96b43 EXManifests: 347f49430b63444579aa013f0ad057d16b8d1cc8 EXMediaLibrary: b1c4f78878e45f6a359aff3a059e1660c41b73ab Expo: 5f4240506a147162542178989696e56e3dd72924 expo-dev-client: d723d52ccfbe2eb47ee24d1ac0cf5b39001589c2 expo-dev-launcher: 953f564f7d006f1af50b119cacb48cafcad40c73 expo-dev-menu: 73476baf8eb6ab44ede1bc0033074fe21aa50f19 expo-dev-menu-interface: 45581093393dacd51ce5e7f641cf9ed5064a2e3f ExpoHaptics: 5a56d30a87ea213dd00b09566dc4b441a4dff97f ExpoImage: 5129495e9981da259c652e23bd87615980864818 ExpoImageManipulator: 5f3c1ab8dd81de11491b5051bb925abc91fe57e4 ExpoImagePicker: d2a1cea4023008ae2fb0d95f33422b80772cc76e ExpoKeepAwake: 69b59d0a8d2b24de9f82759c39b3821fec030318 ExpoModulesCore: 485dff3a59b036a33b6050c0a5aea3cf1037fdd1 EXSecureStore: daec0117c922a67c658cb229152a9e252e5c1750 EXSplashScreen: 3e989924f61a8dd07ee4ea584c6ba14be9b51949 EXUpdatesInterface: bffd1ead18f0bab04fa784ca159c115607b8a23c FBLazyVector: ce6c993e675c5e9684e3b83aa0c346eb116c3ec6 FBReactNativeSpec: 3fddd09ba885a2be54efc49fb2d328f01e18d16e fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b hermes-engine: 0b19f33a9c2ec1dbdede3232606eeb1101db4cec libaom: 9bb51e0f8f9192245e3ca2a1c9e4375d9cbccc52 libavif: e242998ccec1c83bcba0bbdc256f460ad5077348 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libvmaf: 8d61aabc2f4ed3e6591cf7406fa00a223ec11289 libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef lottie-ios: 8f97d3271e155c2d688875c29cd3c74908aef5f8 lottie-react-native: b702fab740cdb952a8e2354713d3beda63ff97b0 mobile-ffmpeg-min: d5d22dcef5c8ec56f771258f1f5be245d914f193 OLMKit: a13e1a20579e88d03971c5821360be24949a1a09 OpenSSL-Universal: 84efb8a29841f2764ac5403e0c4119a28b713346 RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda RCTRequired: 35a7977a5a3cb2d3830c3fef7352b7b116115829 RCTTypeSafety: 259790fb8b16c94e57e0d3d1e2479e69a2b93f50 React: 89f0551b8f7a555e38ce016a81c50bc68f1972a8 React-bridging: 2e425b6bc8536206918fa55bf9dd37016f99bb33 React-callinvoker: 1c733126b1e4d95d0d412d95c51cedf06b3b979d React-Codegen: 41d2ddcd966eac2a5f2698d5cd21e3d741e999bd React-Core: 3021f04b6b1a2064952e166470a58db671ed65b1 React-CoreModules: f569f295874d0864bfd7a686dad3f828f4e8813a React-cxxreact: a6c952ae24061777510f7e60b808b673e624009e React-hermes: be32d1db90d052cc025a38ec2ea4e1a493d33c6a React-jsi: 3d7bafe69dddd780fb3527b7f939dfcbfd6790b5 React-jsiexecutor: bc8556d76f83a1a9075cdee207aad7c0b7b30a33 React-jsinspector: 5e5497c844f2381e8648ec3a7d0ad25b3f27f23e React-logger: b277ad8f4473f2506fb30b762b6348534a3de10e react-native-background-upload: 7c608537f87106c93530a3a19a853afd55466823 react-native-camera: b5c8c7a71feecfdd5b39f0dbbf6b64b957ed55f2 react-native-ffmpeg: f9a60452aaa5d478aac205b248224994f3bde416 react-native-in-app-message: f91de5009620af01456531118264c93e249b83ec react-native-netinfo: 2517ad504b3d303e90d7a431b0fcaef76d207983 react-native-orientation-locker: 851f6510d8046ea2f14aa169b1e01fcd309a94ba react-native-pager-view: 3051346698a0ba0c4e13e40097cc11b00ee03cca react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a react-native-video: 10f689069cb894d75030190a9bc62d9393e1f997 react-native-webview: e771bc375f789ebfa02a26939a57dbc6fa897336 React-perflogger: e9249a18e055cae96fdf685bf6145cbea62506c8 React-RCTActionSheet: a6d2a544a4605a111ce80fa9319cc870ca3ea778 React-RCTAnimation: 21b776b15aa5451a0b5bcb342fd2f346817c1101 React-RCTBlob: 95f54d45305b4103b29d8b2c1e705b5c3183239a React-RCTImage: 1b76ab9e3b60313edd85bc3fd3e07c29cec6ab68 React-RCTLinking: 7176da2a80f3056152a51587812d6d0c451b1f7b React-RCTNetwork: d36f896304e6ef2998f58cd4199a0239bd312318 React-RCTSettings: 004b9a1afb5870f4bcd06521c088e738c1558940 React-RCTText: a2606a79fdb52dd2bde0d7fde7726160fa16b70c React-RCTVibration: 19d21a3ed620352180800447771f68a101f196e9 React-runtimeexecutor: f795fd426264709901c09432c6ce072f8400147e ReactCommon: c440e7f15075e81eb29802521c58a1f38b1aa903 ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab ReactNativeKeyboardInput: 266ba27a2e9921f5bdc0b4cc30289b2a2f46b157 ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306 RNCAsyncStorage: 0c357f3156fcb16c8589ede67cc036330b6698ca RNCClipboard: f66930407a30948ffdecf43a2459bcf05aa59804 RNCMaskedView: bc0170f389056201c82a55e242e5d90070e18e5a RNDeviceInfo: 4701f0bf2a06b34654745053db0ce4cb0c53ada7 RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 RNGestureHandler: 62232ba8f562f7dea5ba1b3383494eb5bf97a4d3 RNKeychain: 4f63aada75ebafd26f4bc2c670199461eab85d94 RNReanimated: f586bc5fd8ce1b6efadffb875319705939843c3b RNScreens: 34cc502acf1b916c582c60003dc3089fa01dc66d RNSVG: 302bfc9905bd8122f08966dc2ce2d07b7b52b9f8 SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe SDWebImageAVIFCoder: d759e21cf4efb640cc97250566aa556ad8bb877c SDWebImageSVGCoder: 6fc109f9c2a82ab44510fff410b88b1a6c271ee8 SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0 SPTPersistentCache: df36ea46762d7cf026502bbb86a8b79d0080dff4 SQLCipher-Amalgamation: cbd36045fe7b458b8a442958a01aefdbc44c20f8 - Thumbhash: 38f05b358a74ff8946820dc5f8330071e931925a Yoga: d6133108734e69e8c0becc6ba587294b94829687 PODFILE CHECKSUM: 60ed9de6b14a66c6022cd82cafcb04594edd7eaf COCOAPODS: 1.11.3 diff --git a/native/package.json b/native/package.json index 483322c74..5863c762a 100644 --- a/native/package.json +++ b/native/package.json @@ -1,132 +1,131 @@ { "name": "native", "version": "0.0.1", "private": true, "license": "BSD-3-Clause", "scripts": { "clean": "yarn clean-commoncpp && yarn clean-android && yarn clean-ios && rm -rf node_modules/ && rm -f ios/.xcode.env.local && (yarn clean-rust || true)", "clean-commoncpp": "rm -rf cpp/CommonCpp/build && rm -rf cpp/CommonCpp/CryptoTools/build && rm -rf cpp/CommonCpp/DatabaseManagers/build && rm -rf cpp/CommonCpp/NativeModules/build && rm -rf cpp/CommonCpp/Tools/build", "clean-rust": "cargo clean --manifest-path native_rust_library/Cargo.toml", "clean-android": "rm -rf android/build android/app/build android/app/.cxx", "clean-ios": "rm -rf ios/Pods/", "clean-all": "yarn clean && rm -rf ~/Library/Developer/Xcode/DerivedData/Comm-*; cd android && (./gradlew clean || true)", "start": "COMM_DEV=1 yarn expo start --dev-client", "dev": "yarn start", "test": "yarn jest", "run-ios": "COMM_DEV=1 yarn expo run:ios", "run-android": "COMM_DEV=1 yarn expo run:android", "logfirebase": "adb shell logcat | grep -E -i 'FIRMessagingModule|firebase'", "redux-devtools": "redux-devtools --port=8043 --open", "codegen-jsi": "flow && babel codegen/src/ -d codegen/dist/ && node codegen/dist", "react-native": "PATH=/usr/bin:/bin:\"$PATH\" react-native", "expo": "PATH=/usr/bin:/bin:\"$PATH\" expo", "xcodebuild": "cd ios && PATH=/usr/bin:/bin:\"$PATH\" xcodebuild" }, "devDependencies": { "@babel/cli": "^7.8.4", "@babel/core": "^7.13.14", "@babel/node": "^7.8.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", "@babel/plugin-proposal-optional-chaining": "^7.13.12", "@babel/preset-flow": "^7.9.0", "@redux-devtools/cli": "^1.0.7", "babel-jest": "^26.6.3", "babel-plugin-transform-remove-console": "^6.9.4", "babel-plugin-transform-remove-strict-mode": "0.0.2", "flow-bin": "^0.182.0", "flow-typed": "^3.2.1", "fs-extra": "^8.1.0", "googleapis": "^89.0.0", "internal-ip": "4.3.0", "jest": "^26.6.3", "jetifier": "^1.6.4", "jsonwebtoken": "^9.0.0", "metro-react-native-babel-preset": "^0.72.3", "react-devtools": "^4.27.0", "react-native-codegen": "^0.70.6", "react-test-renderer": "18.1.0", "remote-redux-devtools": "git+https://git@github.com/zalmoxisus/remote-redux-devtools.git", "remotedev": "git+https://git@github.com/zalmoxisus/remotedev.git" }, "dependencies": { "@commapp/expo-package": "0.0.1", "@commapp/sqlcipher-amalgamation": "^4.4.3-a", - "@commapp/thumbhash": "0.0.1", "@ethersproject/shims": "^5.7.0", "@expo/react-native-action-sheet": "^3.14.0", "@expo/vector-icons": "^13.0.0", "@gorhom/bottom-sheet": "^4.4.5", "@react-native-async-storage/async-storage": "^1.17.10", "@react-native-clipboard/clipboard": "^1.11.1", "@react-native-community/art": "^1.2.0", "@react-native-community/netinfo": "^9.3.7", "@react-native-masked-view/masked-view": "^0.2.8", "@react-navigation/bottom-tabs": "^6.4.0", "@react-navigation/devtools": "^6.0.10", "@react-navigation/drawer": "^6.5.0", "@react-navigation/elements": "^1.3.6", "@react-navigation/material-top-tabs": "^6.3.0", "@react-navigation/native": "^6.0.13", "@react-navigation/stack": "^6.3.2", "base-64": "^0.1.0", "ethers": "^5.7.2", "expo": "47.0.14", "expo-application": "^5.1.1", "expo-dev-client": "~2.0.1", "expo-font": "~11.0.1", "expo-haptics": "~12.0.1", "expo-image": "^1.2.2", "expo-image-manipulator": "~11.0.0", "expo-image-picker": "~14.0.2", "expo-media-library": "~15.0.0", "expo-secure-store": "~12.0.0", "expo-splash-screen": "~0.17.4", "find-root": "^1.1.0", "invariant": "^2.2.4", "lib": "0.0.1", "lodash": "^4.17.21", "lottie-react-native": "^5.1.4", "md5": "^2.2.1", "olm": "git+https://github.com/CommE2E/olm.git#v0.0.10", "react": "18.1.0", "react-native": "^0.70.8", "react-native-background-upload": "^6.6.0", "react-native-camera": "^3.31.0", "react-native-device-info": "^10.3.0", "react-native-ffmpeg": "^0.4.4", "react-native-figma-squircle": "^0.1.2", "react-native-floating-action": "^1.22.0", "react-native-fs": "^2.20.0", "react-native-gesture-handler": "^2.8.0", "react-native-in-app-message": "^1.0.2", "react-native-keyboard-input": "6.0.1", "react-native-keychain": "^8.0.0", "react-native-orientation-locker": "^1.5.0", "react-native-pager-view": "^6.0.1", "react-native-progress": "^4.1.2", "react-native-reanimated": "^2.12.0", "react-native-safe-area-context": "^4.4.1", "react-native-screens": "^3.18.2", "react-native-svg": "^12.3.0", "react-native-tab-view": "^3.3.0", "react-native-video": "^5.2.1", "react-native-webview": "^11.23.0", "react-redux": "^7.1.1", "reactotron-react-native": "^5.0.3", "reactotron-redux": "^3.1.3", "redux": "^4.0.4", "redux-persist": "^6.0.0", "redux-thunk": "^2.2.0", "reselect": "^4.0.0", "rn-emoji-keyboard": "^1.2.0", "shallowequal": "^1.0.2", "simple-markdown": "^0.7.2", "tinycolor2": "^1.4.1", "url": "^0.11.0", "url-parse-lax": "^3.0.0", "uuid": "^3.4.0" }, "jest": { "preset": "react-native" } } diff --git a/package.json b/package.json index d668f615e..e5a82e91f 100644 --- a/package.json +++ b/package.json @@ -1,58 +1,57 @@ { "private": true, "license": "BSD-3-Clause", "workspaces": [ "lib", "web", "native", "keyserver", "landing", "desktop", "keyserver/addons/rust-node-addon", "native/expo-modules/comm-expo-package", - "native/expo-modules/thumbhash", "services/electron-update-server", "web/opaque-ke-wasm" ], "scripts": { "clean": "yarn workspace lib clean && yarn workspace web clean && yarn workspace native clean && yarn workspace keyserver clean && yarn workspace landing clean && yarn workspace desktop clean && yarn workspace rust-node-addon clean && yarn workspace electron-update-server clean && rm -rf node_modules/", "cleaninstall": "(killall flow || pkill flow || true) && yarn clean && yarn", "ci-cleaninstall": "yarn cleaninstall --frozen-lockfile --skip-optional --network-timeout 180000", "eslint": "eslint .", "eslint:fix": "eslint --fix .", "clang-format-all": "eval `node scripts/get_clang_paths_cli.js` | xargs clang-format -i", "rust-pre-commit": "./scripts/rust_pre_commit.sh", "terraform-pre-commit": "./scripts/terraform_pre_commit.sh", "prepare": "husky install", "arcpatch": "git pull --all --tags && arc patch", "postinstall": "bash ./postinstall.sh", "flow-all": "yarn workspace lib flow && yarn workspace web flow && yarn workspace landing flow && yarn workspace native flow && yarn workspace keyserver flow && yarn workspace desktop flow && yarn workspace electron-update-server flow", "jest-all": "yarn workspace lib test && yarn workspace keyserver test && yarn workspace web test && yarn workspace native test" }, "devDependencies": { "babel-eslint": "^10.1.0", "clang-format": "^1.8.0", "core-js": "^3.6.5", "eslint": "^7.32.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-flowtype": "^5.4.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-jest": "^24.2.2", "eslint-plugin-monorepo": "^0.3.2", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-react": "^7.22.0", "eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-react-native": "^3.10.0", "find-up": "^5.0.0", "flow-mono-cli": "^1.5.0", "gaxios": "^4.3.2", "husky": "^7.0.0", "lint-staged": "^12.1.4", "patch-package": "^6.4.7", "postinstall-postinstall": "^2.0.0", "prettier": "^2.8.4" }, "resolutions": { "react-native-flipper": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz" } }