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 <noreply@anthropic.com>
This commit is contained in:
toki 2026-03-19 08:36:05 +09:00
parent dce5874400
commit 27b8c9b890
36 changed files with 148 additions and 153 deletions

View file

@ -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

5
.gitignore vendored
View file

@ -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

31
.vscode/launch.json vendored Normal file
View file

@ -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"
}
]
}

17
.vscode/settings.json vendored Normal file
View file

@ -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"
}

View file

@ -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

View file

@ -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

View file

@ -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": []
}
}
}

View file

@ -1,4 +1,4 @@
package com.mattermost.rnbeta;
package com.tokilabs.mattermost;
import com.wix.detox.Detox;
import com.wix.detox.config.DetoxConfig;

View file

@ -77,7 +77,7 @@
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="mmauthbeta" />
<data android:scheme="mmauth_tokilabs" />
</intent-filter>
</activity>
<service android:name=".NotificationDismissService"

View file

@ -28,7 +28,7 @@ import androidx.core.app.Person;
import androidx.core.app.RemoteInput;
import androidx.core.graphics.drawable.IconCompat;
import com.mattermost.rnbeta.*;
import com.tokilabs.mattermost.*;
import com.mattermost.rnutils.helpers.NotificationHelper;
import com.nozbe.watermelondb.WMDatabase;
import com.mattermost.turbolog.TurboLog;

View file

@ -1,4 +1,4 @@
package com.mattermost.rnbeta
package com.tokilabs.mattermost
import android.app.PendingIntent
import android.content.Context

View file

@ -1,4 +1,4 @@
package com.mattermost.rnbeta
package com.tokilabs.mattermost
import android.content.res.Configuration
import android.os.Bundle

View file

@ -1,4 +1,4 @@
package com.mattermost.rnbeta
package com.tokilabs.mattermost
import android.annotation.SuppressLint

View file

@ -1,4 +1,4 @@
package com.mattermost.rnbeta;
package com.tokilabs.mattermost;
import android.content.Context;
import android.content.Intent;

View file

@ -1,4 +1,4 @@
package com.mattermost.rnbeta;
package com.tokilabs.mattermost;
import android.app.Notification;
import android.app.NotificationManager;

View file

@ -1,4 +1,4 @@
package com.mattermost.rnbeta;
package com.tokilabs.mattermost;
import android.os.Bundle;

View file

@ -536,7 +536,7 @@ class DatabaseManagerSingleton {
* On iOS, it will point towards the AppGroup shared directory while on Android, it will point towards the Files Directory.
* Please note that in each case, the *.db files will be created/grouped under a 'databases' sub-folder.
* iOS Simulator : appGroup => /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}

View file

@ -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 {

View file

@ -1,6 +1,6 @@
{
"AuthUrlScheme": "mmauth://",
"AuthUrlSchemeDev": "mmauthbeta://",
"AuthUrlSchemeDev": "mmauth_tokilabs://",
"DefaultServerUrl": "",
"DefaultServerName": "",
"TestServerUrl": "http://localhost:8065",

View file

@ -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() {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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({

View file

@ -27,7 +27,7 @@ export FASTLANE_PASSWORD=<itunes connect password>
export MATCH_PASSWORD=<itunes connect password>
export MATCH_KEYCHAIN_PASSWORD=<the password of the user running the build in the build machine>
export MATCH_GIT_URL=<private git repository to allow match sync the provisioning profiles>
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=<The path to the service account json file used to authenticate with Google>
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 ############

View file

@ -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;

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>AppGroupIdentifier</key>
<string>group.com.mattermost.rnbeta</string>
<string>group.com.tokilabs.mattermost</string>
<key>BundleEntryFilename</key>
<string>index.js</string>
<key>CFBundleDevelopmentRegion</key>
@ -13,7 +13,7 @@
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>com.mattermost.rnbeta</string>
<string>com.tokilabs.mattermost</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
@ -32,7 +32,7 @@
<key>CFBundleURLSchemes</key>
<array>
<string>mattermost</string>
<string>mmauthbeta</string>
<string>mmauth_tokilabs</string>
</array>
</dict>
</array>

View file

@ -22,11 +22,11 @@
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.mattermost.rnbeta</string>
<string>group.com.tokilabs.mattermost</string>
</array>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.mattermost.rnbeta</string>
<string>$(AppIdentifierPrefix)com.tokilabs.mattermost</string>
</array>
</dict>
</plist>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>AppGroupIdentifier</key>
<string>group.com.mattermost.rnbeta</string>
<string>group.com.tokilabs.mattermost</string>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
@ -11,7 +11,7 @@
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>com.mattermost.rnbeta.MattermostShare</string>
<string>com.tokilabs.mattermost.MattermostShare</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>

View file

@ -4,7 +4,7 @@
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.mattermost.rnbeta</string>
<string>group.com.tokilabs.mattermost</string>
</array>
</dict>
</plist>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>AppGroupIdentifier</key>
<string>group.com.mattermost.rnbeta</string>
<string>group.com.tokilabs.mattermost</string>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>

View file

@ -4,7 +4,7 @@
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.mattermost.rnbeta</string>
<string>group.com.tokilabs.mattermost</string>
</array>
</dict>
</plist>

View file

@ -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',
})),
}));