diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ba01d2b..767b944 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,284 +1,327 @@
name: Deploy
on:
- push:
- paths:
- - "projects/**"
- branches:
- - main
- - develop
+ push:
+ paths:
+ - "projects/**"
+ branches:
+ - main
+ - develop
concurrency:
- group: release
- cancel-in-progress: true
+ group: release
+ cancel-in-progress: true
jobs:
- deploy_imessageclone_ios:
- name: Deploy iMessage clone iOS to Testflight
- runs-on: macos-latest
- steps:
- - uses: actions/checkout@master
- with:
- persist-credentials: false
- fetch-depth: 0
- - name: Install Ruby and Gems
- uses: ruby/setup-ruby@v1
- with:
- working-directory: projects/iMessageClone
- bundler-cache: true
- - name: Install Yarn dependencies
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 10
- max_attempts: 3
- command: |
- cd projects/iMessageClone;
- yarn install --frozen-lockfile;
- - name: Cache pods
- uses: actions/cache@v2
- with:
- path: projects/iMessageClone/ios/Pods
- key: ${{ runner.os }}-iMessageClone-pods-${{ hashFiles('projects/iMessageClone/ios/Podfile.lock') }}
- restore-keys: |
- ${{ runner.os }}-pods-
- - name: iOS pods setup
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 30
- max_attempts: 3
- command: |
- cd projects/iMessageClone/ios;
- bundle exec pod install;
- - name: Build and deploy
- env:
- MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
- MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
- FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
- APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
- APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
- APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
- run: |
- cd projects/iMessageClone;
- bundle exec fastlane ios deploy_to_testflight;
+ deploy_imessageclone_ios:
+ name: Deploy iMessage clone iOS to Testflight
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@master
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - name: Install Ruby and Gems
+ uses: ruby/setup-ruby@v1
+ with:
+ working-directory: projects/iMessageClone
+ bundler-cache: true
+ - name: Install Yarn dependencies
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 10
+ max_attempts: 3
+ command: |
+ cd projects/iMessageClone;
+ yarn install --frozen-lockfile;
+ - name: "Create .env file and paste the environment variables"
+ run: |
+ cd projects/iMessageClone
+ touch .env
+ echo STREAM_API_KEY=${{ secrets.IMESSAGE_API_KEY }} >> .env
+ echo STREAM_USER_ID=${{ secrets.IMESSAGE_USER_ID }} >> .env
+ echo STREAM_USER_TOKEN=${{ secrets.IMESSAGE_USER_TOKEN }} >> .env
+ - name: Cache pods
+ uses: actions/cache@v2
+ with:
+ path: projects/iMessageClone/ios/Pods
+ key: ${{ runner.os }}-iMessageClone-pods-${{ hashFiles('projects/iMessageClone/ios/Podfile.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-pods-
+ - name: iOS pods setup
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 30
+ max_attempts: 3
+ command: |
+ cd projects/iMessageClone/ios;
+ bundle exec pod install;
+ - name: Build and deploy
+ env:
+ MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
+ MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
+ FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
+ APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
+ APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
+ APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
+ run: |
+ cd projects/iMessageClone;
+ bundle exec fastlane ios deploy_to_testflight;
- deploy_slackclone_ios:
- name: Deploy Slack clone iOS to Testflight
- runs-on: macos-latest
- steps:
- - uses: actions/checkout@master
- with:
- persist-credentials: false
- fetch-depth: 0
- - name: Install Ruby and Gems
- uses: ruby/setup-ruby@v1
- with:
- working-directory: projects/SlackClone
- bundler-cache: true
- - name: Install Yarn dependencies
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 10
- max_attempts: 3
- command: |
- cd projects/SlackClone;
- yarn install --frozen-lockfile;
- - name: Cache pods
- uses: actions/cache@v2
- with:
- path: projects/SlackClone/ios/Pods
- key: ${{ runner.os }}-SlackClone-pods-${{ hashFiles('projects/SlackClone/ios/Podfile.lock') }}
- restore-keys: |
- ${{ runner.os }}-pods-
- - name: iOS pods setup
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 30
- max_attempts: 3
- command: |
- cd projects/SlackClone/ios;
- bundle exec pod install;
- - name: Build and deploy
- env:
- MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
- MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
- FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
- APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
- APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
- APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
- run: |
- cd projects/SlackClone;
- bundle exec fastlane ios deploy_to_testflight;
+ deploy_slackclone_ios:
+ name: Deploy Slack clone iOS to Testflight
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@master
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - name: Install Ruby and Gems
+ uses: ruby/setup-ruby@v1
+ with:
+ working-directory: projects/SlackClone
+ bundler-cache: true
+ - name: Install Yarn dependencies
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 10
+ max_attempts: 3
+ command: |
+ cd projects/SlackClone;
+ yarn install --frozen-lockfile;
+ - name: "Create .env file and paste the environment variables"
+ run: |
+ cd projects/SlackClone
+ touch .env
+ echo API_KEY=${{ secrets.SLACK_API_KEY }} >> .env
+ echo USER_ID=${{ secrets.SLACK_USER_ID }} >> .env
+ echo USER_TOKEN=${{ secrets.SLACK_USER_TOKEN }} >> .env
+ - name: Cache pods
+ uses: actions/cache@v2
+ with:
+ path: projects/SlackClone/ios/Pods
+ key: ${{ runner.os }}-SlackClone-pods-${{ hashFiles('projects/SlackClone/ios/Podfile.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-pods-
+ - name: iOS pods setup
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 30
+ max_attempts: 3
+ command: |
+ cd projects/SlackClone/ios;
+ bundle exec pod install;
+ - name: Build and deploy
+ env:
+ MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
+ MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
+ FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
+ APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
+ APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
+ APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
+ run: |
+ cd projects/SlackClone;
+ bundle exec fastlane ios deploy_to_testflight;
- deploy_whatsappclone_ios:
- name: Deploy Whatsapp clone iOS to Testflight
- runs-on: macos-latest
- steps:
- - uses: actions/checkout@master
- with:
- persist-credentials: false
- fetch-depth: 0
- - name: Install Ruby and Gems
- uses: ruby/setup-ruby@v1
- with:
- working-directory: projects/WhatsAppClone
- bundler-cache: true
- - name: Install Yarn dependencies
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 10
- max_attempts: 3
- command: |
- cd projects/WhatsAppClone;
- yarn install --frozen-lockfile;
- - name: Cache pods
- uses: actions/cache@v2
- with:
- path: projects/WhatsAppClone/ios/Pods
- key: ${{ runner.os }}-WhatsAppClone-pods-${{ hashFiles('projects/WhatsAppClone/ios/Podfile.lock') }}
- restore-keys: |
- ${{ runner.os }}-pods-
- - name: iOS pods setup
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 30
- max_attempts: 3
- command: |
- cd projects/WhatsAppClone/ios;
- bundle exec pod install;
- - name: Build and deploy
- env:
- MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
- MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
- FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
- APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
- APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
- APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
- run: |
- cd projects/WhatsAppClone;
- bundle exec fastlane ios deploy_to_testflight;
+ deploy_whatsappclone_ios:
+ name: Deploy Whatsapp clone iOS to Testflight
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@master
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - name: Install Ruby and Gems
+ uses: ruby/setup-ruby@v1
+ with:
+ working-directory: projects/WhatsAppClone
+ bundler-cache: true
+ - name: Install Yarn dependencies
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 10
+ max_attempts: 3
+ command: |
+ cd projects/WhatsAppClone;
+ yarn install --frozen-lockfile;
+ - name: "Create .env file and paste the environment variables"
+ run: |
+ cd projects/WhatsAppClone
+ touch .env
+ echo STREAM_API_KEY=${{ secrets.WHATSAPP_API_KEY }} >> .env
+ echo STREAM_USER_ID=${{ secrets.WHATSAPP_USER_ID }} >> .env
+ echo STREAM_USER_TOKEN=${{ secrets.WHATSAPP_USER_TOKEN }} >> .env
+ - name: Cache pods
+ uses: actions/cache@v2
+ with:
+ path: projects/WhatsAppClone/ios/Pods
+ key: ${{ runner.os }}-WhatsAppClone-pods-${{ hashFiles('projects/WhatsAppClone/ios/Podfile.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-pods-
+ - name: iOS pods setup
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 30
+ max_attempts: 3
+ command: |
+ cd projects/WhatsAppClone/ios;
+ bundle exec pod install;
+ - name: Build and deploy
+ env:
+ MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
+ MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
+ FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
+ APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
+ APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
+ APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
+ run: |
+ cd projects/WhatsAppClone;
+ bundle exec fastlane ios deploy_to_testflight;
- deploy_imessageclone_android:
- name: Deploy iMessage clone Android to Firebase App Distribution
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@master
- with:
- persist-credentials: false
- fetch-depth: 0
- - name: Install Ruby and Gems
- uses: ruby/setup-ruby@v1
- with:
- working-directory: projects/iMessageClone
- bundler-cache: true
- - uses: actions/setup-java@v3
- with:
- distribution: "zulu"
- java-version: "11"
- check-latest: true
- - name: Install Yarn dependencies
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 10
- max_attempts: 3
- command: |
- cd projects/iMessageClone;
- yarn install --frozen-lockfile;
- - name: Cache Gradle
- uses: actions/cache@v3
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- key: ${{ runner.os }}-iMessageClone-gradle-${{ hashFiles('projects/iMessageClone/*.gradle*', 'projects/iMessageClone/gradle-wrapper.properties') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
- - name: Build and deploy
- env:
- FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
- run: |
- cd projects/iMessageClone;
- bundle exec fastlane android deploy_to_firebase;
+ deploy_imessageclone_android:
+ name: Deploy iMessage clone Android to Firebase App Distribution
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - name: Install Ruby and Gems
+ uses: ruby/setup-ruby@v1
+ with:
+ working-directory: projects/iMessageClone
+ bundler-cache: true
+ - uses: actions/setup-java@v3
+ with:
+ distribution: "zulu"
+ java-version: "11"
+ check-latest: true
- deploy_slackclone_android:
- name: Deploy Slack clone Android to Firebase App Distribution
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@master
- with:
- persist-credentials: false
- fetch-depth: 0
- - name: Install Ruby and Gems
- uses: ruby/setup-ruby@v1
- with:
- working-directory: projects/SlackClone
- bundler-cache: true
- - uses: actions/setup-java@v3
- with:
- distribution: "zulu"
- java-version: "11"
- check-latest: true
- - name: Install Yarn dependencies
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 10
- max_attempts: 3
- command: |
- cd projects/SlackClone;
- yarn install --frozen-lockfile;
- - name: Cache Gradle
- uses: actions/cache@v3
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('projects/SlackClone/*.gradle*', 'projects/SlackClone/gradle-wrapper.properties') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
- - name: Build and deploy
- env:
- FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
- run: |
- cd projects/SlackClone;
- bundle exec fastlane android deploy_to_firebase;
+ - name: Install Yarn dependencies
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 10
+ max_attempts: 3
+ command: |
+ cd projects/iMessageClone;
+ yarn install --frozen-lockfile;
+ - name: "Create .env file and paste the environment variables"
+ run: |
+ cd projects/iMessageClone
+ touch .env
+ echo STREAM_API_KEY=${{ secrets.IMESSAGE_API_KEY }} >> .env
+ echo STREAM_USER_ID=${{ secrets.IMESSAGE_USER_ID }} >> .env
+ echo STREAM_USER_TOKEN=${{ secrets.IMESSAGE_USER_TOKEN }} >> .env
+ - name: Cache Gradle
+ uses: actions/cache@v3
+ with:
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-iMessageClone-gradle-${{ hashFiles('projects/iMessageClone/*.gradle*', 'projects/iMessageClone/gradle-wrapper.properties') }}
+ restore-keys: |
+ ${{ runner.os }}-gradle-
+ - name: Build and deploy
+ env:
+ FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
+ run: |
+ cd projects/iMessageClone;
+ bundle exec fastlane android deploy_to_firebase;
- deploy_whatsappclone_android:
- name: Deploy WhatsApp clone Android to Firebase App Distribution
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@master
- with:
- persist-credentials: false
- fetch-depth: 0
- - name: Install Ruby and Gems
- uses: ruby/setup-ruby@v1
- with:
- working-directory: projects/WhatsAppClone
- bundler-cache: true
- - uses: actions/setup-java@v3
- with:
- distribution: "zulu"
- java-version: "11"
- check-latest: true
- - name: Install Yarn dependencies
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 10
- max_attempts: 3
- command: |
- cd projects/WhatsAppClone;
- yarn install --frozen-lockfile;
- - name: Cache Gradle
- uses: actions/cache@v3
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- key: ${{ runner.os }}-WhatsAppClone-gradle-${{ hashFiles('projects/WhatsAppClone/*.gradle*', 'projects/WhatsAppClone/gradle-wrapper.properties') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
- - name: Build and deploy
- env:
- FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
- run: |
- cd projects/WhatsAppClone;
- bundle exec fastlane android deploy_to_firebase;
+ deploy_slackclone_android:
+ name: Deploy Slack clone Android to Firebase App Distribution
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - name: Install Ruby and Gems
+ uses: ruby/setup-ruby@v1
+ with:
+ working-directory: projects/SlackClone
+ bundler-cache: true
+ - uses: actions/setup-java@v3
+ with:
+ distribution: "zulu"
+ java-version: "11"
+ check-latest: true
+ - name: Install Yarn dependencies
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 10
+ max_attempts: 3
+ command: |
+ cd projects/SlackClone;
+ yarn install --frozen-lockfile;
+ - name: "Create .env file and paste the environment variables"
+ run: |
+ cd projects/SlackClone
+ touch .env
+ echo API_KEY=${{ secrets.SLACK_API_KEY }} >> .env
+ echo USER_ID=${{ secrets.SLACK_USER_ID }} >> .env
+ echo USER_TOKEN=${{ secrets.SLACK_USER_TOKEN }} >> .env
+ - name: Cache Gradle
+ uses: actions/cache@v3
+ with:
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle-${{ hashFiles('projects/SlackClone/*.gradle*', 'projects/SlackClone/gradle-wrapper.properties') }}
+ restore-keys: |
+ ${{ runner.os }}-gradle-
+ - name: Build and deploy
+ env:
+ FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
+ run: |
+ cd projects/SlackClone;
+ bundle exec fastlane android deploy_to_firebase;
+
+ deploy_whatsappclone_android:
+ name: Deploy WhatsApp clone Android to Firebase App Distribution
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - name: Install Ruby and Gems
+ uses: ruby/setup-ruby@v1
+ with:
+ working-directory: projects/WhatsAppClone
+ bundler-cache: true
+ - uses: actions/setup-java@v3
+ with:
+ distribution: "zulu"
+ java-version: "11"
+ check-latest: true
+ - name: Install Yarn dependencies
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 10
+ max_attempts: 3
+ command: |
+ cd projects/WhatsAppClone;
+ yarn install --frozen-lockfile;
+ - name: "Create .env file and paste the environment variables"
+ run: |
+ cd projects/WhatsAppClone
+ touch .env
+ echo STREAM_API_KEY=${{ secrets.WHATSAPP_API_KEY }} >> .env
+ echo STREAM_USER_ID=${{ secrets.WHATSAPP_USER_ID }} >> .env
+ echo STREAM_USER_TOKEN=${{ secrets.WHATSAPP_USER_TOKEN }} >> .env
+ - name: Cache Gradle
+ uses: actions/cache@v3
+ with:
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-WhatsAppClone-gradle-${{ hashFiles('projects/WhatsAppClone/*.gradle*', 'projects/WhatsAppClone/gradle-wrapper.properties') }}
+ restore-keys: |
+ ${{ runner.os }}-gradle-
+ - name: Build and deploy
+ env:
+ FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
+ run: |
+ cd projects/WhatsAppClone;
+ bundle exec fastlane android deploy_to_firebase;
diff --git a/projects/SlackClone/android/build.gradle b/projects/SlackClone/android/build.gradle
index 93232f5..c19052f 100644
--- a/projects/SlackClone/android/build.gradle
+++ b/projects/SlackClone/android/build.gradle
@@ -2,9 +2,8 @@
buildscript {
ext {
- buildToolsVersion = "29.0.3"
minSdkVersion = 21
- compileSdkVersion = 29
+ compileSdkVersion = 32
targetSdkVersion = 29
ndkVersion = "20.1.5948944"
}
diff --git a/projects/SlackClone/fastlane/Fastfile b/projects/SlackClone/fastlane/Fastfile
index 612daff..5dc1752 100644
--- a/projects/SlackClone/fastlane/Fastfile
+++ b/projects/SlackClone/fastlane/Fastfile
@@ -82,6 +82,9 @@ platform :ios do
testflight_groups = (git_branch() == "main") ? ['Dev Testers', 'Public Testers'] : ['Dev Testers']
+ # https://github.com/fastlane/fastlane/issues/20741
+ ENV['ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD'] = 'true'
+
begin
upload_to_testflight(
groups: testflight_groups,
diff --git a/projects/SlackClone/ios/Podfile.lock b/projects/SlackClone/ios/Podfile.lock
index c724135..74f46bd 100644
--- a/projects/SlackClone/ios/Podfile.lock
+++ b/projects/SlackClone/ios/Podfile.lock
@@ -294,9 +294,9 @@ PODS:
- React
- react-native-blur (0.8.0):
- React
- - react-native-cameraroll (5.0.1):
+ - react-native-cameraroll (5.0.4):
- React-Core
- - react-native-document-picker (5.2.0):
+ - react-native-document-picker (8.1.2):
- React-Core
- react-native-image-resizer (1.4.5):
- React-Core
@@ -671,8 +671,8 @@ SPEC CHECKSUMS:
React-logger: 1e10789cb84f99288479ba5f20822ce43ced6ffe
react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa
react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c
- react-native-cameraroll: c7b7b52aff5d3bfa10ee566020fa31c8a4c0e2f2
- react-native-document-picker: f1b5398801b332c77bc62ae0eae2116f49bdff26
+ react-native-cameraroll: 38b40d9033e4077b6c603f92f95c6d05fa7907df
+ react-native-document-picker: f5ec1a712ca2a975c233117f044817bb8393cad4
react-native-image-resizer: d9fb629a867335bdc13230ac2a58702bb8c8828f
react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d
react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79
diff --git a/projects/SlackClone/package.json b/projects/SlackClone/package.json
index ca87b44..ae427f6 100644
--- a/projects/SlackClone/package.json
+++ b/projects/SlackClone/package.json
@@ -30,7 +30,7 @@
"react-native": "0.67.3",
"react-native-appearance": "^0.3.4",
"react-native-autocomplete-input": "^5.0.0",
- "react-native-document-picker": "^5.2.0",
+ "react-native-document-picker": "^8.1.2",
"react-native-dotenv": "^2.5.5",
"react-native-fs": "^2.18.0",
"react-native-gesture-handler": "^1.10.3",
@@ -43,7 +43,7 @@
"react-native-share": "^6.2.1",
"react-native-svg": "^12.1.1",
"react-native-svg-transformer": "^0.14.3",
- "stream-chat-react-native": "5.1.0"
+ "stream-chat-react-native": "5.4.1"
},
"devDependencies": {
"@babel/core": "^7.12.9",
diff --git a/projects/SlackClone/yarn.lock b/projects/SlackClone/yarn.lock
index ada73a3..d11f4ab 100644
--- a/projects/SlackClone/yarn.lock
+++ b/projects/SlackClone/yarn.lock
@@ -1237,9 +1237,9 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@react-native-camera-roll/camera-roll@^5.0.1":
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.0.1.tgz#278a2280db9b1f1326fc9202f1b265cec89c51e6"
- integrity sha512-C+6glzmhNLJV2GIZTjmd0zyNUiUVoSZ+iEWWpYTXHjqmuiAgXSfpPPKY5nv95ONLY3wL1N2O3T1vQNzdIa0O6Q==
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.0.4.tgz#341b8275363ee496b796fa58cb592697798d39e5"
+ integrity sha512-3kBRgW3VfmLQmQm70gPUVDu8rPSZymoPc9vmeiPLMKBqtWaqPNuPX0jQ6mZ8AEtYbBdoWC360Q4YYPalXv37zA==
"@react-native-community/async-storage@^1.12.1":
version "1.12.1"
@@ -6415,10 +6415,12 @@ react-native-codegen@^0.0.8:
jscodeshift "^0.11.0"
nullthrows "^1.1.1"
-react-native-document-picker@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/react-native-document-picker/-/react-native-document-picker-5.2.0.tgz#1fb2185a56ba6b2509acdc418a8a75906c31e58e"
- integrity sha512-zXK34hW6fM0gXoo6v7edZZxKvLT7DyjOdBXi7WrxbKqZchDokTEQ/tNTeZxky+7oI8sVz8T3uXBBEW0sp+VfXQ==
+react-native-document-picker@^8.1.2:
+ version "8.1.2"
+ resolved "https://registry.yarnpkg.com/react-native-document-picker/-/react-native-document-picker-8.1.2.tgz#503cce26086020c833f08a405fe2da28f735ed08"
+ integrity sha512-R126YsjTXBuvigRRExyAQ+yn1UGV4dGcMI9x4UAY8TBTSOt6nOQcWS/AQcbzjk9MnN8ISDGqNq9GmN51Q1aHjA==
+ dependencies:
+ invariant "^2.2.4"
react-native-dotenv@^2.5.5:
version "2.6.2"
@@ -7268,10 +7270,10 @@ stream-buffers@~2.2.0:
resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4"
integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=
-stream-chat-react-native-core@5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/stream-chat-react-native-core/-/stream-chat-react-native-core-5.1.0.tgz#65a867ad684add2fc6ec702a65d57010434f550b"
- integrity sha512-jWIB5tjCPqFsnPOkB+yKD2bW18NYlt6AFMjrHIurKkdR08+8E4/wtCutZztTCTqyiJ3RXA2NL8d8vDWfBzV4zg==
+stream-chat-react-native-core@5.4.1:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/stream-chat-react-native-core/-/stream-chat-react-native-core-5.4.1.tgz#623d678c9cef0a46a0baff48a83e10c821bcf225"
+ integrity sha512-0E/4+Cwel7Q9hhAN+QOo7FKn304kTBGIE8MW7JhQQXt7NqPPJWz9CkEyyoVuS7UNnz4g+ViiINM/eNAomGRaTA==
dependencies:
"@babel/runtime" "^7.12.5"
"@gorhom/bottom-sheet" "^4.1.6"
@@ -7287,13 +7289,13 @@ stream-chat-react-native-core@5.1.0:
react-native-url-polyfill "^1.3.0"
stream-chat "7.0.0"
-stream-chat-react-native@5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/stream-chat-react-native/-/stream-chat-react-native-5.1.0.tgz#28e6e5ab778157456ba2f7d2917ec80fbb7b021f"
- integrity sha512-Zpq5l1Giy18VA15L4WKXZ5nTa0fPsS5QtwkUN03FNdGiFt4Slh5QLvdA2G2vuE870lOk4BHdiMcb0CQRGn4uag==
+stream-chat-react-native@5.4.1:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/stream-chat-react-native/-/stream-chat-react-native-5.4.1.tgz#04226352557dc2f80de0e6756ebf9a2da7f88d52"
+ integrity sha512-K6I9Bac5hZq8PqWUhNt58/LOC7YS8Dytr9FY4O/BFmYLofgilemThhwP3grLn12yQ4uVeyuNE5YLpGAE28mppA==
dependencies:
es6-symbol "^3.1.3"
- stream-chat-react-native-core "5.1.0"
+ stream-chat-react-native-core "5.4.1"
stream-chat-test-data-cli@0.1.0-beta.4:
version "0.1.0-beta.4"
diff --git a/projects/WhatsAppClone/fastlane/Fastfile b/projects/WhatsAppClone/fastlane/Fastfile
index 78cdd97..69aff6f 100644
--- a/projects/WhatsAppClone/fastlane/Fastfile
+++ b/projects/WhatsAppClone/fastlane/Fastfile
@@ -84,6 +84,9 @@ platform :ios do
testflight_groups = (git_branch() == "main") ? ['Dev Testers', 'Public Testers'] : ['Dev Testers']
+ # https://github.com/fastlane/fastlane/issues/20741
+ ENV['ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD'] = 'true'
+
begin
upload_to_testflight(
groups: testflight_groups,
diff --git a/projects/iMessageClone/fastlane/Fastfile b/projects/iMessageClone/fastlane/Fastfile
index 176ee1d..fc3099d 100644
--- a/projects/iMessageClone/fastlane/Fastfile
+++ b/projects/iMessageClone/fastlane/Fastfile
@@ -84,6 +84,9 @@ platform :ios do
testflight_groups = (git_branch() == "main") ? ['Dev Testers', 'Public Testers'] : ['Dev Testers']
+ # https://github.com/fastlane/fastlane/issues/20741
+ ENV['ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD'] = 'true'
+
begin
upload_to_testflight(
groups: testflight_groups,
diff --git a/projects/iMessageClone/ios/Podfile.lock b/projects/iMessageClone/ios/Podfile.lock
index e4fa03f..55611b2 100644
--- a/projects/iMessageClone/ios/Podfile.lock
+++ b/projects/iMessageClone/ios/Podfile.lock
@@ -284,9 +284,9 @@ PODS:
- React-jsinspector (0.69.5)
- React-logger (0.69.5):
- glog
- - react-native-cameraroll (5.0.1):
+ - react-native-cameraroll (5.0.4):
- React-Core
- - react-native-document-picker (5.3.0):
+ - react-native-document-picker (8.1.2):
- React-Core
- react-native-image-resizer (1.4.5):
- React-Core
@@ -604,7 +604,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
boost: a7c83b31436843459a1961bfd74b96033dc77234
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
- DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
+ DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662
FBLazyVector: 0045cf98ca4a48af3bf7108d85b1c243740fa289
FBReactNativeSpec: 82e74141263f8c962e288f5cd6b5d149cdc8afe1
Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0
@@ -617,10 +617,10 @@ SPEC CHECKSUMS:
Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541
FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
- glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a
+ glog: 85ecdd10ee8d8ec362ef519a6a45ff9aa27b2e85
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
- RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a
+ RCT-Folly: 803a9cfd78114b2ec0f140cfa6fa2a6bafb2d685
RCTRequired: 85c60c4bde8241278be2c93420de4c65475a2151
RCTTypeSafety: 15990f289215eb0fc65c5eb6e2610faeeda8d5e1
React: 6cfa9367042a85f6235740420df017d51efc6494
@@ -634,8 +634,8 @@ SPEC CHECKSUMS:
React-jsiexecutor: e42f0b46de293a026c2fb20e524d4fe09f81f575
React-jsinspector: e385fb7a1440ae3f3b2cd1a139ca5aadaab43c10
React-logger: 15c734997c06fe9c9b88e528fb7757601e7a56df
- react-native-cameraroll: c7b7b52aff5d3bfa10ee566020fa31c8a4c0e2f2
- react-native-document-picker: 226068006be4c52f8ef7f32d855ee025a12e9e64
+ react-native-cameraroll: 38b40d9033e4077b6c603f92f95c6d05fa7907df
+ react-native-document-picker: f5ec1a712ca2a975c233117f044817bb8393cad4
react-native-image-resizer: d9fb629a867335bdc13230ac2a58702bb8c8828f
react-native-netinfo: 3d3769f0d65de15c83a9bf1346f8be71de5a24bf
react-native-safe-area-context: 6c12e3859b6f27b25de4fee8201cfb858432d8de
diff --git a/projects/iMessageClone/ios/iMessageCloneReactNative.xcodeproj/project.pbxproj b/projects/iMessageClone/ios/iMessageCloneReactNative.xcodeproj/project.pbxproj
index 5bb8735..60bac76 100644
--- a/projects/iMessageClone/ios/iMessageCloneReactNative.xcodeproj/project.pbxproj
+++ b/projects/iMessageClone/ios/iMessageCloneReactNative.xcodeproj/project.pbxproj
@@ -486,6 +486,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = EHV7XZLAHA;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = iMessageCloneReactNative/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
@@ -497,7 +498,7 @@
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_BUNDLE_IDENTIFIER = io.getstream.reactnative.imessageclone;
PRODUCT_NAME = iMessageCloneReactNative;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -511,7 +512,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "iPhone Distribution";
+ CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = EHV7XZLAHA;
INFOPLIST_FILE = iMessageCloneReactNative/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -522,8 +526,9 @@
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_BUNDLE_IDENTIFIER = io.getstream.reactnative.imessageclone;
PRODUCT_NAME = iMessageCloneReactNative;
+ PROVISIONING_PROFILE_SPECIFIER = "match AdHoc io.getstream.reactnative.imessageclone";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
diff --git a/projects/iMessageClone/ios/iMessageCloneReactNative/Info.plist b/projects/iMessageClone/ios/iMessageCloneReactNative/Info.plist
index 00fa50c..455d99f 100644
--- a/projects/iMessageClone/ios/iMessageCloneReactNative/Info.plist
+++ b/projects/iMessageClone/ios/iMessageCloneReactNative/Info.plist
@@ -22,6 +22,8 @@
????
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
+ ITSAppUsesNonExemptEncryption
+
LSRequiresIPhoneOS
NSAppTransportSecurity
@@ -53,7 +55,5 @@
UIViewControllerBasedStatusBarAppearance
- ITSAppUsesNonExemptEncryption
-
diff --git a/projects/iMessageClone/package.json b/projects/iMessageClone/package.json
index 3ad8704..1faaeae 100644
--- a/projects/iMessageClone/package.json
+++ b/projects/iMessageClone/package.json
@@ -12,14 +12,14 @@
"clean-all": "yarn clean && rm -rf node_modules && rm -rf ios/Pods && rm -rf vendor && bundle install && yarn install && cd ios && bundle exec pod install && cd -"
},
"dependencies": {
- "@react-native-camera-roll/camera-roll": "5.0.0",
+ "@react-native-camera-roll/camera-roll": "~5.0.4",
"@react-native-community/netinfo": "^6.0.0",
"@react-navigation/native": "6.0.11",
"@react-navigation/stack": "6.2.2",
"@stream-io/flat-list-mvcp": "0.10.2",
"react": "^18.2.0",
"react-native": "0.69.5",
- "react-native-document-picker": "^5.2.0",
+ "react-native-document-picker": "^8.1.2",
"react-native-dotenv": "^2.5.5",
"react-native-fs": "2.20.0",
"react-native-gesture-handler": "2.5.0",
@@ -31,7 +31,7 @@
"react-native-screens": "3.14.1",
"react-native-share": "7.6.4",
"react-native-svg": "12.3.0",
- "stream-chat-react-native": "5.0.0"
+ "stream-chat-react-native": "5.4.1"
},
"devDependencies": {
"@babel/core": "^7.12.9",
diff --git a/projects/iMessageClone/yarn.lock b/projects/iMessageClone/yarn.lock
index 18a8c21..99203b5 100644
--- a/projects/iMessageClone/yarn.lock
+++ b/projects/iMessageClone/yarn.lock
@@ -1112,10 +1112,10 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@react-native-camera-roll/camera-roll@5.0.0":
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.0.0.tgz#86564e335df5fc1e765a025f369c653283bd54ab"
- integrity sha512-H7xfQnzNUnJ/TN+cqtepJ3A6CP4c1zaRKYkoL/DGISzcZFCLwrRcOnrgZLyeJwQhfXwgcoZMFlUtfUDiKO9YMg==
+"@react-native-camera-roll/camera-roll@~5.0.4":
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.0.4.tgz#341b8275363ee496b796fa58cb592697798d39e5"
+ integrity sha512-3kBRgW3VfmLQmQm70gPUVDu8rPSZymoPc9vmeiPLMKBqtWaqPNuPX0jQ6mZ8AEtYbBdoWC360Q4YYPalXv37zA==
"@react-native-community/cli-clean@^8.0.4":
version "8.0.4"
@@ -6178,10 +6178,10 @@ react-native-codegen@^0.69.2:
jscodeshift "^0.13.1"
nullthrows "^1.1.1"
-react-native-document-picker@^5.2.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/react-native-document-picker/-/react-native-document-picker-5.3.0.tgz#90f53def42d87a316b76311c729ba401c2823ffa"
- integrity sha512-vFw9pHJywEY+xeMGM8LgfZYMw12bXQNi8vf2DblFLh11lSLf6J99nZweAGVDB8Va+Fg6CP+nLfWG2bWgL4XmMw==
+react-native-document-picker@^8.1.2:
+ version "8.1.2"
+ resolved "https://registry.yarnpkg.com/react-native-document-picker/-/react-native-document-picker-8.1.2.tgz#503cce26086020c833f08a405fe2da28f735ed08"
+ integrity sha512-R126YsjTXBuvigRRExyAQ+yn1UGV4dGcMI9x4UAY8TBTSOt6nOQcWS/AQcbzjk9MnN8ISDGqNq9GmN51Q1aHjA==
dependencies:
invariant "^2.2.4"
@@ -7023,10 +7023,10 @@ statuses@~1.5.0:
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
-stream-chat-react-native-core@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/stream-chat-react-native-core/-/stream-chat-react-native-core-5.0.0.tgz#e8ac37c627b58baaedf19084eee4cbdde6033aac"
- integrity sha512-2IWVRICko95poQZJPVWhbQ8rlFD2nWqMfRG+YYUEc3657/uw3gf5sKJq95DMbGd6R8xPSNZVE542YgBTWSGL+g==
+stream-chat-react-native-core@5.4.1:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/stream-chat-react-native-core/-/stream-chat-react-native-core-5.4.1.tgz#623d678c9cef0a46a0baff48a83e10c821bcf225"
+ integrity sha512-0E/4+Cwel7Q9hhAN+QOo7FKn304kTBGIE8MW7JhQQXt7NqPPJWz9CkEyyoVuS7UNnz4g+ViiINM/eNAomGRaTA==
dependencies:
"@babel/runtime" "^7.12.5"
"@gorhom/bottom-sheet" "^4.1.6"
@@ -7042,13 +7042,13 @@ stream-chat-react-native-core@5.0.0:
react-native-url-polyfill "^1.3.0"
stream-chat "7.0.0"
-stream-chat-react-native@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/stream-chat-react-native/-/stream-chat-react-native-5.0.0.tgz#17fc3c4e7e62b54eacca13b39480bd80c4916a70"
- integrity sha512-Wnzqya7gecfykuerOHLvjkZUer352PXkQo4ApSbODWALc+Wvhckrz4p2F/WKKQClsdILNiGbslaMhTeLM5SMDQ==
+stream-chat-react-native@5.4.1:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/stream-chat-react-native/-/stream-chat-react-native-5.4.1.tgz#04226352557dc2f80de0e6756ebf9a2da7f88d52"
+ integrity sha512-K6I9Bac5hZq8PqWUhNt58/LOC7YS8Dytr9FY4O/BFmYLofgilemThhwP3grLn12yQ4uVeyuNE5YLpGAE28mppA==
dependencies:
es6-symbol "^3.1.3"
- stream-chat-react-native-core "5.0.0"
+ stream-chat-react-native-core "5.4.1"
stream-chat-test-data-cli@^0.1.0-beta.0:
version "0.1.0-beta.0"