From 27b8c9b8902b7a8f01c01169a4b919650f1b1b11 Mon Sep 17 00:00:00 2001 From: toki Date: Thu, 19 Mar 2026 08:36:05 +0900 Subject: [PATCH] Rebrand app to com.tokilabs.mattermost and add dev environment configs - Change Android package from com.mattermost.rnbeta to com.tokilabs.mattermost (build.gradle, source files, AndroidManifest, google-services.json) - Change iOS bundle identifiers and app groups to com.tokilabs.mattermost (Info.plist, entitlements, project.pbxproj) - Update auth URL scheme from mmauthbeta to mmauth_tokilabs - Update all Fastlane env files and Fastfile references - Replace google-services.json with own Firebase project - Add .vscode/launch.json and settings.json for dev environment - Update .gitignore to track .vscode config files Co-Authored-By: Claude Opus 4.6 --- .github/workflows/e2e-ios-template.yml | 2 +- .gitignore | 5 +- .vscode/launch.json | 31 ++++++++ .vscode/settings.json | 17 +++++ README.md | 4 +- android/app/build.gradle | 4 +- android/app/google-services.json | 70 +++---------------- .../mattermost}/DetoxTest.java | 2 +- android/app/src/main/AndroidManifest.xml | 2 +- .../helpers/CustomPushNotificationHelper.java | 2 +- .../mattermost}/CustomPushNotification.kt | 2 +- .../mattermost}/MainActivity.kt | 2 +- .../mattermost}/MainApplication.kt | 2 +- .../NotificationDismissService.java | 2 +- .../NotificationReplyBroadcastReceiver.java | 2 +- .../mattermost}/ReceiptDelivery.java | 2 +- app/database/manager/index.ts | 2 +- app/screens/settings/about/about.tsx | 2 +- assets/base/config.json | 2 +- detox/create_android_emulator.sh | 2 +- fastlane/.env.android.beta | 4 +- fastlane/.env.android.pr | 2 +- fastlane/.env.android.release | 4 +- fastlane/.env.ios.beta | 12 ++-- fastlane/.env.ios.pr | 12 ++-- fastlane/.env.ios.release | 12 ++-- fastlane/Fastfile | 44 ++++++------ fastlane/env_vars_example | 14 ++-- ios/Mattermost.xcodeproj/project.pbxproj | 12 ++-- ios/Mattermost/Info.plist | 6 +- ios/Mattermost/Mattermost.entitlements | 4 +- ios/MattermostShare/Info.plist | 4 +- .../MattermostShare.entitlements | 2 +- ios/NotificationService/Info.plist | 2 +- .../NotificationService.entitlements | 2 +- test/setup.ts | 6 +- 36 files changed, 148 insertions(+), 153 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json rename android/app/src/androidTest/java/com/{mattermost/rnbeta => tokilabs/mattermost}/DetoxTest.java (96%) rename android/app/src/main/java/com/{mattermost/rnbeta => tokilabs/mattermost}/CustomPushNotification.kt (99%) rename android/app/src/main/java/com/{mattermost/rnbeta => tokilabs/mattermost}/MainActivity.kt (99%) rename android/app/src/main/java/com/{mattermost/rnbeta => tokilabs/mattermost}/MainApplication.kt (99%) rename android/app/src/main/java/com/{mattermost/rnbeta => tokilabs/mattermost}/NotificationDismissService.java (96%) rename android/app/src/main/java/com/{mattermost/rnbeta => tokilabs/mattermost}/NotificationReplyBroadcastReceiver.java (99%) rename android/app/src/main/java/com/{mattermost/rnbeta => tokilabs/mattermost}/ReceiptDelivery.java (98%) diff --git a/.github/workflows/e2e-ios-template.yml b/.github/workflows/e2e-ios-template.yml index 63346be8b..ad2125f24 100644 --- a/.github/workflows/e2e-ios-template.yml +++ b/.github/workflows/e2e-ios-template.yml @@ -349,7 +349,7 @@ jobs: # Terminate app gracefully if [ ! -z "$SIMULATOR_ID" ]; then echo "Terminating app on simulator..." - xcrun simctl terminate "$SIMULATOR_ID" com.mattermost.rnbeta 2>/dev/null || true + xcrun simctl terminate "$SIMULATOR_ID" com.tokilabs.mattermost 2>/dev/null || true sleep 2 fi diff --git a/.gitignore b/.gitignore index 2b931cd7b..f3114949a 100644 --- a/.gitignore +++ b/.gitignore @@ -117,7 +117,9 @@ .tern-port .tmp .tsbuildinfo.precommit -.vscode +.vscode/* +!.vscode/launch.json +!.vscode/settings.json .vscode-test .vuepress/dist .yarn-integrity @@ -159,7 +161,6 @@ ios/Pods ios/build/* ios/sentry.properties jspm_packages/ -launch.json lerna-debug.log* lib-cov libraries/**/**/.build diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..337d90dff --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,31 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Metro: Start", + "type": "node", + "request": "launch", + "cwd": "${workspaceFolder}", + "runtimeExecutable": "bash", + "runtimeArgs": [ + "-c", + "lsof -ti:8081 | xargs kill -9 2>/dev/null; npm start" + ], + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen" + }, + { + "name": "Android: Run App", + "type": "node", + "request": "launch", + "cwd": "${workspaceFolder}", + "runtimeExecutable": "bash", + "runtimeArgs": [ + "-c", + "adb devices | grep -q emulator || (emulator -avd Pixel_7_Pro &); adb -e wait-for-device && npm run android -- --deviceId emulator-5554" + ], + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..42ad61676 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + "react-native.packager.port": 8081, + "terminal.integrated.env.osx": { + "NVM_DIR": "${env:HOME}/.nvm", + "JAVA_HOME": "/opt/homebrew/opt/openjdk@17", + "ANDROID_HOME": "${env:HOME}/Library/Android/sdk", + "ANDROID_SDK_ROOT": "${env:HOME}/Library/Android/sdk" + }, + "terminal.integrated.profiles.osx": { + "zsh": { + "path": "/bin/zsh", + "args": ["-l"] + } + }, + "terminal.integrated.defaultProfile.osx": "zsh", + "npm.scriptExplorerAction": "run" +} diff --git a/README.md b/README.md index 1764772bc..536a1f4e5 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ This script will: To help with testing app updates before they're released, you can: 1. Sign up to be a beta tester - - [Android](https://play.google.com/apps/testing/com.mattermost.rnbeta) + - [Android](https://play.google.com/apps/testing/com.tokilabs.mattermost) - [iOS](https://testflight.apple.com/join/Q7Rx7K9P) - Open this link from your iOS device 2. Install the `Mattermost Beta` app. New updates in the Beta app are released periodically. You will receive a notification when the new updates are available. 3. File any bugs you find by filing a [GitHub issue](https://github.com/mattermost/mattermost-mobile/issues) with: @@ -59,7 +59,7 @@ To help with testing app updates before they're released, you can: - Join the [Native Mobile Apps channel](https://community.mattermost.com/core/channels/native-mobile-apps) to see what's new and discuss feedback with other contributors and the core team You can leave the Beta testing program at any time: -- On Android, [click this link](https://play.google.com/apps/testing/com.mattermost.rnbeta) while logged in with your Google Play email address used to opt-in for the Beta program, then click **Leave the program**. +- On Android, [click this link](https://play.google.com/apps/testing/com.tokilabs.mattermost) while logged in with your Google Play email address used to opt-in for the Beta program, then click **Leave the program**. - On iOS, access the `Mattermost Beta` app page in TestFlight and click **Stop Testing**. ### Contribute Code diff --git a/android/app/build.gradle b/android/app/build.gradle index b6d3b734f..8f1b10455 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -104,7 +104,7 @@ android { ndkVersion rootProject.ext.ndkVersion buildToolsVersion rootProject.ext.buildToolsVersion compileSdkVersion rootProject.ext.compileSdkVersion - namespace "com.mattermost.rnbeta" + namespace "com.tokilabs.mattermost" lintOptions { checkReleaseBuilds false @@ -112,7 +112,7 @@ android { } defaultConfig { - applicationId "com.mattermost.rnbeta" + applicationId "com.tokilabs.mattermost" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 730 diff --git a/android/app/google-services.json b/android/app/google-services.json index 6b71b966d..24bda3739 100644 --- a/android/app/google-services.json +++ b/android/app/google-services.json @@ -1,80 +1,26 @@ { "project_info": { - "project_number": "184930218130", - "firebase_url": "https://api-7231322553409637977-752355.firebaseio.com", - "project_id": "api-7231322553409637977-752355", - "storage_bucket": "api-7231322553409637977-752355.firebasestorage.app" + "project_number": "1047648748539", + "project_id": "mattermost-6ac08", + "storage_bucket": "mattermost-6ac08.firebasestorage.app" }, "client": [ { "client_info": { - "mobilesdk_app_id": "1:184930218130:android:2db4058a5b5d6506", + "mobilesdk_app_id": "1:1047648748539:android:818bf70bfbb3f9d070415e", "android_client_info": { - "package_name": "com.mattermost.rn" + "package_name": "com.tokilabs.mattermost" } }, - "oauth_client": [ - { - "client_id": "184930218130-8nahrspll1opff0uogtkh2qsv8coqngo.apps.googleusercontent.com", - "client_type": 3 - } - ], + "oauth_client": [], "api_key": [ { - "current_key": "AIzaSyASRwdI3DKpyjt_gMbL1MpViI3BTHB9rFg" + "current_key": "AIzaSyAW6j_oPl9MVcm93qS3JgaEPD5ywp-TzZ0" } ], "services": { "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "109751306267633962395", - "client_type": 3 - }, - { - "client_id": "184930218130-1kq3fsu90eppbhh508f667og6qpqrpip.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.mattermost.rn" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:184930218130:android:c7debfa7ea3f75a7", - "android_client_info": { - "package_name": "com.mattermost.rnbeta" - } - }, - "oauth_client": [ - { - "client_id": "184930218130-8nahrspll1opff0uogtkh2qsv8coqngo.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyASRwdI3DKpyjt_gMbL1MpViI3BTHB9rFg" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "109751306267633962395", - "client_type": 3 - }, - { - "client_id": "184930218130-1kq3fsu90eppbhh508f667og6qpqrpip.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.mattermost.rn" - } - } - ] + "other_platform_oauth_client": [] } } } diff --git a/android/app/src/androidTest/java/com/mattermost/rnbeta/DetoxTest.java b/android/app/src/androidTest/java/com/tokilabs/mattermost/DetoxTest.java similarity index 96% rename from android/app/src/androidTest/java/com/mattermost/rnbeta/DetoxTest.java rename to android/app/src/androidTest/java/com/tokilabs/mattermost/DetoxTest.java index dfc645da8..39c6694b3 100644 --- a/android/app/src/androidTest/java/com/mattermost/rnbeta/DetoxTest.java +++ b/android/app/src/androidTest/java/com/tokilabs/mattermost/DetoxTest.java @@ -1,4 +1,4 @@ -package com.mattermost.rnbeta; +package com.tokilabs.mattermost; import com.wix.detox.Detox; import com.wix.detox.config.DetoxConfig; diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 1febc0b56..648a785b3 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -77,7 +77,7 @@ - + /Users/{username}/Library/Developer/CoreSimulator/Devices/DA6F1C73/data/Containers/Shared/AppGroup/ACA65327/databases"} - * Android Device: file:///data/user/0/com.mattermost.rnbeta/files/databases + * Android Device: file:///data/user/0/com.tokilabs.mattermost/files/databases * * @param {string} dbName * @returns {string} diff --git a/app/screens/settings/about/about.tsx b/app/screens/settings/about/about.tsx index a57ad934f..10d67be9d 100644 --- a/app/screens/settings/about/about.tsx +++ b/app/screens/settings/about/about.tsx @@ -33,7 +33,7 @@ import TosPrivacyContainer from './tos_privacy'; import type {AvailableScreens} from '@typings/screens/navigation'; -const MATTERMOST_BUNDLE_IDS = ['com.mattermost.rnbeta', 'com.mattermost.rn']; +const MATTERMOST_BUNDLE_IDS = ['com.tokilabs.mattermost', 'com.mattermost.rnbeta', 'com.mattermost.rn']; const getStyleSheet = makeStyleSheetFromTheme((theme) => { return { diff --git a/assets/base/config.json b/assets/base/config.json index 2ae360213..884efdda9 100644 --- a/assets/base/config.json +++ b/assets/base/config.json @@ -1,6 +1,6 @@ { "AuthUrlScheme": "mmauth://", - "AuthUrlSchemeDev": "mmauthbeta://", + "AuthUrlSchemeDev": "mmauth_tokilabs://", "DefaultServerUrl": "", "DefaultServerName": "", "TestServerUrl": "http://localhost:8065", diff --git a/detox/create_android_emulator.sh b/detox/create_android_emulator.sh index 252634146..1a4967f6d 100755 --- a/detox/create_android_emulator.sh +++ b/detox/create_android_emulator.sh @@ -85,7 +85,7 @@ wait_for_emulator() { install_app() { echo "Installing the app..." adb install -r ../android/app/build/outputs/apk/debug/app-debug.apk - adb shell pm list packages | grep "com.mattermost.rnbeta" && echo "App is installed." || echo "App is not installed." + adb shell pm list packages | grep "com.tokilabs.mattermost" && echo "App is installed." || echo "App is not installed." } start_server() { diff --git a/fastlane/.env.android.beta b/fastlane/.env.android.beta index 8944cde32..6ddd7740d 100644 --- a/fastlane/.env.android.beta +++ b/fastlane/.env.android.beta @@ -7,7 +7,7 @@ AWS_REGION=us-east-1 BETA_BUILD=true BUILD_FOR_RELEASE=true COLLECT_NETWORK_METRICS=true -MAIN_APP_IDENTIFIER=com.mattermost.rnbeta +MAIN_APP_IDENTIFIER=com.tokilabs.mattermost REPLACE_ASSETS=false SENTRY_ENABLED=true SENTRY_ORG=mattermost-mr @@ -15,5 +15,5 @@ SENTRY_PROJECT_ANDROID=mattermost-android-test SEPARATE_APKS=true SHOW_ONBOARDING=true SUPPLY_TRACK=alpha -SUPPLY_PACKAGE_NAME=com.mattermost.rnbeta +SUPPLY_PACKAGE_NAME=com.tokilabs.mattermost SUPPLY_VALIDATE_ONLY=false \ No newline at end of file diff --git a/fastlane/.env.android.pr b/fastlane/.env.android.pr index 9eb87d8b3..945fdc17f 100644 --- a/fastlane/.env.android.pr +++ b/fastlane/.env.android.pr @@ -8,6 +8,6 @@ BETA_BUILD=true BUILD_FOR_RELEASE=true BUILD_PR=true COLLECT_NETWORK_METRICS=true -MAIN_APP_IDENTIFIER=com.mattermost.rnbeta +MAIN_APP_IDENTIFIER=com.tokilabs.mattermost REPLACE_ASSETS=false SHOW_ONBOARDING=true \ No newline at end of file diff --git a/fastlane/.env.android.release b/fastlane/.env.android.release index 739951f3c..d65e15667 100644 --- a/fastlane/.env.android.release +++ b/fastlane/.env.android.release @@ -7,7 +7,7 @@ AWS_REGION=us-east-1 BETA_BUILD=false BUILD_FOR_RELEASE=true COLLECT_NETWORK_METRICS=false -MAIN_APP_IDENTIFIER=com.mattermost.rn +MAIN_APP_IDENTIFIER=com.tokilabs.mattermost REPLACE_ASSETS=true SENTRY_ENABLED=true SENTRY_ORG=mattermost-mr @@ -15,6 +15,6 @@ SENTRY_PROJECT_ANDROID=mattermost-mobile-android SEPARATE_APKS=true SHOW_ONBOARDING=true SHOW_REVIEW=true -SUPPLY_PACKAGE_NAME=com.mattermost.rn +SUPPLY_PACKAGE_NAME=com.tokilabs.mattermost SUPPLY_TRACK=beta SUPPLY_VALIDATE_ONLY=false \ No newline at end of file diff --git a/fastlane/.env.ios.beta b/fastlane/.env.ios.beta index 2ab81cce3..eebd68bb8 100644 --- a/fastlane/.env.ios.beta +++ b/fastlane/.env.ios.beta @@ -7,19 +7,19 @@ AWS_REGION=us-east-1 BETA_BUILD=true BUILD_FOR_RELEASE=true COLLECT_NETWORK_METRICS=true -EXTENSION_APP_IDENTIFIER=com.mattermost.rnbeta.MattermostShare +EXTENSION_APP_IDENTIFIER=com.tokilabs.mattermost.MattermostShare FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=120 FASTLANE_XCODEBUILD_SETTINGS_RETRIES=6 -IOS_APP_GROUP=group.com.mattermost.rnbeta +IOS_APP_GROUP=group.com.tokilabs.mattermost IOS_BUILD_EXPORT_METHOD=app-store -IOS_ICLOUD_CONTAINER=iCloud.com.mattermost.rnbeta -MAIN_APP_IDENTIFIER=com.mattermost.rnbeta -MATCH_APP_IDENTIFIER=com.mattermost.rnbeta.NotificationService,com.mattermost.rnbeta.MattermostShare,com.mattermost.rnbeta +IOS_ICLOUD_CONTAINER=iCloud.com.tokilabs.mattermost +MAIN_APP_IDENTIFIER=com.tokilabs.mattermost +MATCH_APP_IDENTIFIER=com.tokilabs.mattermost.NotificationService,com.tokilabs.mattermost.MattermostShare,com.tokilabs.mattermost MATCH_READONLY=true MATCH_SHALLOW_CLONE=true MATCH_SKIP_DOCS=true MATCH_TYPE=appstore -NOTIFICATION_SERVICE_IDENTIFIER=com.mattermost.rnbeta.NotificationService +NOTIFICATION_SERVICE_IDENTIFIER=com.tokilabs.mattermost.NotificationService PILOT_SKIP_WAITING_FOR_BUILD_PROCESSING=true REPLACE_ASSETS=false SENTRY_ENABLED=true diff --git a/fastlane/.env.ios.pr b/fastlane/.env.ios.pr index 558668bc3..c7de0201f 100644 --- a/fastlane/.env.ios.pr +++ b/fastlane/.env.ios.pr @@ -8,19 +8,19 @@ BETA_BUILD=true BUILD_FOR_RELEASE=true BUILD_PR=true COLLECT_NETWORK_METRICS=true -EXTENSION_APP_IDENTIFIER=com.mattermost.rnbeta.MattermostShare +EXTENSION_APP_IDENTIFIER=com.tokilabs.mattermost.MattermostShare FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=120 FASTLANE_XCODEBUILD_SETTINGS_RETRIES=6 -IOS_APP_GROUP=group.com.mattermost.rnbeta +IOS_APP_GROUP=group.com.tokilabs.mattermost IOS_BUILD_EXPORT_METHOD=ad-hoc -IOS_ICLOUD_CONTAINER=iCloud.com.mattermost.rnbeta -MAIN_APP_IDENTIFIER=com.mattermost.rnbeta -MATCH_APP_IDENTIFIER=com.mattermost.rnbeta.NotificationService,com.mattermost.rnbeta.MattermostShare,com.mattermost.rnbeta +IOS_ICLOUD_CONTAINER=iCloud.com.tokilabs.mattermost +MAIN_APP_IDENTIFIER=com.tokilabs.mattermost +MATCH_APP_IDENTIFIER=com.tokilabs.mattermost.NotificationService,com.tokilabs.mattermost.MattermostShare,com.tokilabs.mattermost MATCH_READONLY=true MATCH_SHALLOW_CLONE=true MATCH_SKIP_DOCS=true MATCH_TYPE=adhoc -NOTIFICATION_SERVICE_IDENTIFIER=com.mattermost.rnbeta.NotificationService +NOTIFICATION_SERVICE_IDENTIFIER=com.tokilabs.mattermost.NotificationService PILOT_SKIP_WAITING_FOR_BUILD_PROCESSING=true REPLACE_ASSETS=false SHOW_ONBOARDING=true diff --git a/fastlane/.env.ios.release b/fastlane/.env.ios.release index a4e1cee9a..6cabe7a75 100644 --- a/fastlane/.env.ios.release +++ b/fastlane/.env.ios.release @@ -6,19 +6,19 @@ AWS_FOLDER_NAME=mattermost-mobile AWS_REGION=us-east-1 BUILD_FOR_RELEASE=true COLLECT_NETWORK_METRICS=false -EXTENSION_APP_IDENTIFIER=com.mattermost.rn.MattermostShare +EXTENSION_APP_IDENTIFIER=com.tokilabs.mattermost.MattermostShare FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=120 FASTLANE_XCODEBUILD_SETTINGS_RETRIES=6 -IOS_APP_GROUP=group.com.mattermost +IOS_APP_GROUP=group.com.tokilabs.mattermost IOS_BUILD_EXPORT_METHOD=app-store -IOS_ICLOUD_CONTAINER=iCloud.com.mattermost.rn -MAIN_APP_IDENTIFIER=com.mattermost.rn -MATCH_APP_IDENTIFIER=com.mattermost.rn.NotificationService,com.mattermost.rn.MattermostShare,com.mattermost.rn +IOS_ICLOUD_CONTAINER=iCloud.com.tokilabs.mattermost +MAIN_APP_IDENTIFIER=com.tokilabs.mattermost +MATCH_APP_IDENTIFIER=com.tokilabs.mattermost.NotificationService,com.tokilabs.mattermost.MattermostShare,com.tokilabs.mattermost MATCH_READONLY=true MATCH_SHALLOW_CLONE=true MATCH_SKIP_DOCS=true MATCH_TYPE=appstore -NOTIFICATION_SERVICE_IDENTIFIER=com.mattermost.rn.NotificationService +NOTIFICATION_SERVICE_IDENTIFIER=com.tokilabs.mattermost.NotificationService PILOT_SKIP_WAITING_FOR_BUILD_PROCESSING=true REPLACE_ASSETS=true SENTRY_ENABLED=true diff --git a/fastlane/Fastfile b/fastlane/Fastfile index ab45e2a8a..3a79ad7de 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -49,8 +49,8 @@ after_all do |lane| if ENV['CI'] != 'true' if ENV['RESET_GIT_BRANCH'] == 'true' branch = ENV['BRANCH_TO_BUILD'] || 'main' - package_id = ENV['MAIN_APP_IDENTIFIER'] || 'com.mattermost.rnbeta' - beta_dir = '../android/app/src/main/java/com/mattermost/rnbeta' + package_id = ENV['MAIN_APP_IDENTIFIER'] || 'com.tokilabs.mattermost' + beta_dir = '../android/app/src/main/java/com/tokilabs/mattermost' release_dir = "../android/app/src/main/java/#{package_id.gsub '.', '/'}" if beta_dir != release_dir @@ -188,7 +188,7 @@ lane :configure do # Configure the auth schemes auth_scheme = ENV['APP_AUTH_SCHEME'].to_s.empty? ? 'mmauth' : ENV['APP_AUTH_SCHEME'] - auth_scheme_dev = ENV['APP_AUTH_SCHEME_BETA'].to_s.empty? ? 'mmauthbeta' : ENV['APP_AUTH_SCHEME_BETA'] + auth_scheme_dev = ENV['APP_AUTH_SCHEME_BETA'].to_s.empty? ? 'mmauth_tokilabs' : ENV['APP_AUTH_SCHEME_BETA'] json["AuthUrlScheme"] = auth_scheme.end_with?('://') ? auth_scheme : "#{auth_scheme}://" json["AuthUrlSchemeDev"] = auth_scheme_dev.end_with?('://') ? auth_scheme_dev : "#{auth_scheme_dev}://" @@ -495,9 +495,9 @@ platform :ios do lane :update_settings do # Configure Main app settings app_name = ENV['APP_NAME'] || 'Mattermost Beta' - app_bundle_id = ENV['MAIN_APP_IDENTIFIER'] || 'com.mattermost.rnbeta' - app_group_id = ENV['IOS_APP_GROUP'] || 'group.com.mattermost.rnbeta' - icloud_container = ENV['IOS_ICLOUD_CONTAINER'] || 'iCloud.com.mattermost.rnbeta' + app_bundle_id = ENV['MAIN_APP_IDENTIFIER'] || 'com.tokilabs.mattermost' + app_group_id = ENV['IOS_APP_GROUP'] || 'group.com.tokilabs.mattermost' + icloud_container = ENV['IOS_ICLOUD_CONTAINER'] || 'iCloud.com.tokilabs.mattermost' app_scheme = ENV['APP_SCHEME'] || 'mattermost' app_auth_scheme = get_auth_scheme keychain_group = "$(AppIdentifierPrefix)#{ENV["IOS_KEYCHAIN_GROUP"] || app_bundle_id}" @@ -514,7 +514,7 @@ platform :ios do find_replace_string( path_to_file: './ios/Mattermost.xcodeproj/project.pbxproj', - old_string: 'com.mattermost.rnbeta', + old_string: 'com.tokilabs.mattermost', new_string: app_bundle_id ) @@ -539,7 +539,7 @@ platform :ios do ) # Configure Share extension settings - extension_bundle_id = ENV['EXTENSION_APP_IDENTIFIER'] || 'com.mattermost.rnbeta.MattermostShare' + extension_bundle_id = ENV['EXTENSION_APP_IDENTIFIER'] || 'com.tokilabs.mattermost.MattermostShare' update_info_plist( xcodeproj: './ios/Mattermost.xcodeproj', @@ -553,7 +553,7 @@ platform :ios do find_replace_string( path_to_file: './ios/Mattermost.xcodeproj/project.pbxproj', - old_string: 'com.mattermost.rnbeta.MattermostShare', + old_string: 'com.tokilabs.mattermost.MattermostShare', new_string: extension_bundle_id ) @@ -563,7 +563,7 @@ platform :ios do ) # Configure Notification Service settings - notification_bundle_id = ENV['NOTIFICATION_SERVICE_IDENTIFIER'] || 'com.mattermost.rnbeta.NotificationService' + notification_bundle_id = ENV['NOTIFICATION_SERVICE_IDENTIFIER'] || 'com.tokilabs.mattermost.NotificationService' update_info_plist( xcodeproj: './ios/Mattermost.xcodeproj', plist_path: 'NotificationService/Info.plist', @@ -581,7 +581,7 @@ platform :ios do find_replace_string( path_to_file: './ios/Mattermost.xcodeproj/project.pbxproj', - old_string: 'com.mattermost.rnbeta.NotificationService', + old_string: 'com.tokilabs.mattermost.NotificationService', new_string: notification_bundle_id ) @@ -622,7 +622,7 @@ platform :ios do ] plist["IntuneMAMSettings"] = { - "AppGroupIdentifiers" => [ENV['IOS_APP_GROUP'] || 'group.com.mattermost.rnbeta'], + "AppGroupIdentifiers" => [ENV['IOS_APP_GROUP'] || 'group.com.tokilabs.mattermost'], "MAMTelemetryDisabled" => true, "MultiIdentity" => true, "ADALLogOverrideDisabled" => true, @@ -859,7 +859,7 @@ platform :android do stringsFile: './android/app/src/main/res/values/strings.xml' ) - package_id = ENV['MAIN_APP_IDENTIFIER'] || 'com.mattermost.rnbeta' + package_id = ENV['MAIN_APP_IDENTIFIER'] || 'com.tokilabs.mattermost' android_change_package_identifier(newIdentifier: package_id, manifest: './android/app/src/main/AndroidManifest.xml') android_update_application_id(app_folder_name: 'android/app', application_id: package_id) android_update_namespace(app_folder_name: 'android/app', namespace: package_id) @@ -876,12 +876,12 @@ platform :android do find_replace_string( path_to_file: "./android/app/src/main/AndroidManifest.xml", - old_string: 'scheme="mmauthbeta"', + old_string: 'scheme="mmauth_tokilabs"', new_string: "scheme=\"#{app_auth_scheme}\"", ) helpers_dir = './android/app/src/main/java/com/mattermost/helpers/' - beta_dir = './android/app/src/main/java/com/mattermost/rnbeta/' + beta_dir = './android/app/src/main/java/com/tokilabs/mattermost/' release_dir = "./android/app/src/main/java/#{package_id.gsub '.', '/'}/" if release_dir != beta_dir unless Dir.exist?(".#{release_dir}") @@ -893,7 +893,7 @@ platform :android do Dir.glob(".#{release_dir}*.java") do |item| find_replace_string( path_to_file: item[1..-1], - old_string: 'package com.mattermost.rnbeta;', + old_string: 'package com.tokilabs.mattermost;', new_string: "package #{package_id};" ) end @@ -901,7 +901,7 @@ platform :android do Dir.glob(".#{release_dir}*.kt") do |item| find_replace_string( path_to_file: item[1..-1], - old_string: 'package com.mattermost.rnbeta', + old_string: 'package com.tokilabs.mattermost', new_string: "package #{package_id}" ) end @@ -909,7 +909,7 @@ platform :android do Dir.glob('../android/app/src/main/java/com/mattermost/share/*.java') do |item| find_replace_string( path_to_file: item[1..-1], - old_string: 'import com.mattermost.rnbeta.MainApplication;', + old_string: 'import com.tokilabs.mattermost.MainApplication;', new_string: "import #{package_id}.MainApplication;" ) end @@ -917,7 +917,7 @@ platform :android do Dir.glob('../android/app/src/main/java/com/mattermost/helpers/*.java') do |item| find_replace_string( path_to_file: item[1..-1], - old_string: 'import com.mattermost.rnbeta.*;', + old_string: 'import com.tokilabs.mattermost.*;', new_string: "import #{package_id}.*;" ) end @@ -925,7 +925,7 @@ platform :android do Dir.glob('../android/app/src/main/java/com/mattermost/helpers/*.kt') do |item| find_replace_string( path_to_file: item[1..-1], - old_string: 'import com.mattermost.rnbeta.*', + old_string: 'import com.tokilabs.mattermost.*', new_string: "import #{package_id}.*" ) end @@ -1047,7 +1047,7 @@ end def get_auth_scheme if ENV['BETA_BUILD'] == 'true' - ENV['APP_AUTH_SCHEME_BETA'].to_s.empty? ? 'mmauthbeta' : ENV['APP_AUTH_SCHEME_BETA'] + ENV['APP_AUTH_SCHEME_BETA'].to_s.empty? ? 'mmauth_tokilabs' : ENV['APP_AUTH_SCHEME_BETA'] else ENV['APP_AUTH_SCHEME'].to_s.empty? ? 'mmauth' : ENV['APP_AUTH_SCHEME'] end @@ -1214,7 +1214,7 @@ def submit_to_google_play(file_path) if ENV['BETA_BUILD'] == 'true' pretext = '#### New Android beta published to Google Play' - msg = "Sign up as a beta tester [here](https://play.google.com/apps/testing/com.mattermost.rnbeta).\nDownload links:\n#{links}" + msg = "Sign up as a beta tester [here](https://play.google.com/apps/testing/com.tokilabs.mattermost).\nDownload links:\n#{links}" end send_message_to_mattermost({ diff --git a/fastlane/env_vars_example b/fastlane/env_vars_example index a8f1e924d..6735eeeb6 100644 --- a/fastlane/env_vars_example +++ b/fastlane/env_vars_example @@ -27,7 +27,7 @@ export FASTLANE_PASSWORD= export MATCH_PASSWORD= export MATCH_KEYCHAIN_PASSWORD= export MATCH_GIT_URL= -export MATCH_APP_IDENTIFIER=com.mattermost.rnbeta.NotificationService,com.mattermost.rnbeta.MattermostShare,com.mattermost.rnbeta +export MATCH_APP_IDENTIFIER=com.tokilabs.mattermost.NotificationService,com.tokilabs.mattermost.MattermostShare,com.tokilabs.mattermost export MATCH_TYPE=appstore export MATCH_SHALLOW_CLONE=true export MATCH_SKIP_DOCS=true @@ -40,7 +40,7 @@ export PILOT_SKIP_WAITING_FOR_BUILD_PROCESSING=true ############ NEEDED TO UPLOAD THE BUILD TO GOOGLE PLAY ############ export SUPPLY_TRACK=alpha -export SUPPLY_PACKAGE_NAME=com.mattermost.rnbeta +export SUPPLY_PACKAGE_NAME=com.tokilabs.mattermost export SUPPLY_JSON_KEY= export SUPPLY_VALIDATE_ONLY=false @@ -50,11 +50,11 @@ export BUILD_FOR_RELEASE=true export REPLACE_ASSETS=false ############ APP IDENTIFIERS ############ -export MAIN_APP_IDENTIFIER=com.mattermost.rnbeta -export EXTENSION_APP_IDENTIFIER=com.mattermost.rnbeta.MattermostShare -export NOTIFICATION_SERVICE_IDENTIFIER=com.mattermost.rnbeta.NotificationService -export IOS_APP_GROUP=group.com.mattermost.rnbeta -export IOS_ICLOUD_CONTAINER=iCloud.com.mattermost.rnbeta +export MAIN_APP_IDENTIFIER=com.tokilabs.mattermost +export EXTENSION_APP_IDENTIFIER=com.tokilabs.mattermost.MattermostShare +export NOTIFICATION_SERVICE_IDENTIFIER=com.tokilabs.mattermost.NotificationService +export IOS_APP_GROUP=group.com.tokilabs.mattermost +export IOS_ICLOUD_CONTAINER=iCloud.com.tokilabs.mattermost export IOS_BUILD_EXPORT_METHOD=app-store ############ SET TO TRUE TO UPLOAD THE BUILDS TO TESTFLIGH AND GOOGLE PLAY ############ diff --git a/ios/Mattermost.xcodeproj/project.pbxproj b/ios/Mattermost.xcodeproj/project.pbxproj index 4319b3f97..d93629ef9 100644 --- a/ios/Mattermost.xcodeproj/project.pbxproj +++ b/ios/Mattermost.xcodeproj/project.pbxproj @@ -2097,7 +2097,7 @@ "-lc++", ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.rnbeta; + PRODUCT_BUNDLE_IDENTIFIER = com.tokilabs.mattermost; PRODUCT_NAME = Mattermost; PROVISIONING_PROFILE = ""; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2136,7 +2136,7 @@ "-lc++", ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; - PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.rnbeta; + PRODUCT_BUNDLE_IDENTIFIER = com.tokilabs.mattermost; PRODUCT_NAME = Mattermost; PROVISIONING_PROFILE = ""; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2188,7 +2188,7 @@ "-DFB_SONARKIT_ENABLED=1", ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.rnbeta.NotificationService; + PRODUCT_BUNDLE_IDENTIFIER = com.tokilabs.mattermost.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; @@ -2236,7 +2236,7 @@ MTL_FAST_MATH = YES; OTHER_CFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; - PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.rnbeta.NotificationService; + PRODUCT_BUNDLE_IDENTIFIER = com.tokilabs.mattermost.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_COMPILATION_MODE = wholemodule; @@ -2287,7 +2287,7 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.rnbeta.MattermostShare; + PRODUCT_BUNDLE_IDENTIFIER = com.tokilabs.mattermost.MattermostShare; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; @@ -2339,7 +2339,7 @@ MARKETING_VERSION = 1.0; MTL_FAST_MATH = YES; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; - PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.rnbeta.MattermostShare; + PRODUCT_BUNDLE_IDENTIFIER = com.tokilabs.mattermost.MattermostShare; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/ios/Mattermost/Info.plist b/ios/Mattermost/Info.plist index 56ef8a0d2..364dbd895 100644 --- a/ios/Mattermost/Info.plist +++ b/ios/Mattermost/Info.plist @@ -3,7 +3,7 @@ AppGroupIdentifier - group.com.mattermost.rnbeta + group.com.tokilabs.mattermost BundleEntryFilename index.js CFBundleDevelopmentRegion @@ -13,7 +13,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.mattermost.rnbeta + com.tokilabs.mattermost CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -32,7 +32,7 @@ CFBundleURLSchemes mattermost - mmauthbeta + mmauth_tokilabs diff --git a/ios/Mattermost/Mattermost.entitlements b/ios/Mattermost/Mattermost.entitlements index 57e4a82f8..b7e68cd03 100644 --- a/ios/Mattermost/Mattermost.entitlements +++ b/ios/Mattermost/Mattermost.entitlements @@ -22,11 +22,11 @@ com.apple.security.application-groups - group.com.mattermost.rnbeta + group.com.tokilabs.mattermost keychain-access-groups - $(AppIdentifierPrefix)com.mattermost.rnbeta + $(AppIdentifierPrefix)com.tokilabs.mattermost diff --git a/ios/MattermostShare/Info.plist b/ios/MattermostShare/Info.plist index be97bcaaf..0f2143ae0 100644 --- a/ios/MattermostShare/Info.plist +++ b/ios/MattermostShare/Info.plist @@ -3,7 +3,7 @@ AppGroupIdentifier - group.com.mattermost.rnbeta + group.com.tokilabs.mattermost CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -11,7 +11,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.mattermost.rnbeta.MattermostShare + com.tokilabs.mattermost.MattermostShare CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/ios/MattermostShare/MattermostShare.entitlements b/ios/MattermostShare/MattermostShare.entitlements index b3269ff87..0bcf5bcd7 100644 --- a/ios/MattermostShare/MattermostShare.entitlements +++ b/ios/MattermostShare/MattermostShare.entitlements @@ -4,7 +4,7 @@ com.apple.security.application-groups - group.com.mattermost.rnbeta + group.com.tokilabs.mattermost \ No newline at end of file diff --git a/ios/NotificationService/Info.plist b/ios/NotificationService/Info.plist index 47a855a9d..688391160 100644 --- a/ios/NotificationService/Info.plist +++ b/ios/NotificationService/Info.plist @@ -3,7 +3,7 @@ AppGroupIdentifier - group.com.mattermost.rnbeta + group.com.tokilabs.mattermost CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName diff --git a/ios/NotificationService/NotificationService.entitlements b/ios/NotificationService/NotificationService.entitlements index 55fdcdea6..0ef208be9 100644 --- a/ios/NotificationService/NotificationService.entitlements +++ b/ios/NotificationService/NotificationService.entitlements @@ -4,7 +4,7 @@ com.apple.security.application-groups - group.com.mattermost.rnbeta + group.com.tokilabs.mattermost diff --git a/test/setup.ts b/test/setup.ts index de4b4eba8..d5a467292 100644 --- a/test/setup.ts +++ b/test/setup.ts @@ -29,7 +29,7 @@ jest.mock('expo-application', () => { nativeApplicationVersion: '0.0.0', nativeBuildVersion: '0', applicationName: 'Mattermost', - applicationId: 'com.mattermost.rnbeta', + applicationId: 'com.tokilabs.mattermost', }; }); @@ -47,7 +47,7 @@ jest.mock('expo-device', () => { deviceName: 'Device', osName: 'Test', osVersion: '0.0.0', - applicationId: 'com.mattermost.rnbeta', + applicationId: 'com.tokilabs.mattermost', isRootedExperimentalAsync: jest.fn().mockResolvedValue(false), }; }); @@ -70,7 +70,7 @@ jest.mock('expo-file-system', () => ({ jest.mock('expo-web-browser', () => ({ openAuthSessionAsync: jest.fn().mockResolvedValue(({ type: 'success', - url: 'mmauthbeta://callback?MMAUTHTOKEN=123&MMCSRF=456', + url: 'mmauth_tokilabs://callback?MMAUTHTOKEN=123&MMCSRF=456', })), }));