Compare commits

...

8 commits

Author SHA1 Message Date
unified-ci-app[bot]
043d529143
Bump app build number (#8132)
Some checks failed
github-release / test (push) Has been cancelled
github-release / build-ios-unsigned (push) Has been cancelled
github-release / build-android-unsigned (push) Has been cancelled
github-release / release (push) Has been cancelled
* Bump app build number to 543

* Update build.gradle

* Update project.pbxproj

* Update Info.plist

* Update Info.plist

* Update Info.plist

---------

Co-authored-by: runner <runner@Mac-1722960938962.local>
Co-authored-by: Amy Blais <29708087+amyblais@users.noreply.github.com>
2024-08-06 12:35:57 -04:00
unified-ci-app[bot]
f877df3f0a
Bump app build number to 542 (#8127)
Co-authored-by: runner <runner@Mac-1722610887106.local>
2024-08-02 11:17:52 -04:00
Mattermost Build
21c7628da1
fix: (MM-59956) Android crash when sharing (#8122) (#8126)
(cherry picked from commit 1de7b5e9b7)

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2024-08-02 11:10:47 -04:00
unified-ci-app[bot]
48b80ef09f
Bump app build number to 539 (#8111)
Co-authored-by: runner <runner@Mac-1721909426350.local>
2024-07-25 08:38:38 -04:00
Mattermost Build
6bbbd73deb
Avoid registering wrong performance load logs (#8107) (#8108)
(cherry picked from commit 26ae247d0f)

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2024-07-24 13:07:53 -04:00
unified-ci-app[bot]
6144f04180
Bump app build and version number (#8104)
* Bump app build number to 538

* Bump app version number to 2.19.0

---------

Co-authored-by: runner <runner@Mac-1721390087484.local>
2024-07-19 08:24:24 -04:00
Mattermost Build
0bf441b49d
Fix server list bottom sheet on tablet (#8094) (#8097)
(cherry picked from commit ea8adb5167)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2024-07-16 14:52:36 -04:00
Mattermost Build
6cc87dacc6
MM-56933 - password dont disable autocomplete (#8057) (#8090)
Some checks failed
github-release / test (push) Has been cancelled
github-release / build-ios-unsigned (push) Has been cancelled
github-release / build-android-unsigned (push) Has been cancelled
github-release / release (push) Has been cancelled
(cherry picked from commit d02e39b1f3)

Co-authored-by: Pablo Vélez <pablovv2016@gmail.com>
2024-07-15 09:40:23 -04:00
14 changed files with 47 additions and 17 deletions

View file

@ -111,8 +111,8 @@ android {
applicationId "com.mattermost.rnbeta"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 532
versionName "2.18.0"
versionCode 544
versionName "2.19.0"
testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}

View file

@ -21,6 +21,7 @@
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
<!-- Request legacy Bluetooth permissions on older devices. -->
<uses-permission android:name="android.permission.BLUETOOTH"
@ -116,5 +117,15 @@
android:foregroundServiceType="microphone"
android:exported="false"
/>
<!-- Android 14 requires the correct Foreground Service (FGS) type for RNShare -->
<service
android:name="androidx.work.impl.foreground.SystemForegroundService"
android:foregroundServiceType="dataSync"
android:exported="false"
android:stopWithTask="false"
tools:node="merge"
/>
</application>
</manifest>

View file

@ -4,6 +4,7 @@
import {fetchConfigAndLicense} from '@actions/remote/systems';
import DatabaseManager from '@database/manager';
import {getServerCredentials} from '@init/credentials';
import PerformanceMetricsManager from '@managers/performance_metrics_manager';
import WebsocketManager from '@managers/websocket_manager';
type AfterLoginArgs = {
@ -16,6 +17,11 @@ export async function loginEntry({serverUrl}: AfterLoginArgs): Promise<{error?:
return {error: `${serverUrl} database not found`};
}
// There are cases where the target may be reset and a performance metric
// be added after login. This would be done with a wrong value, so we make
// sure we don't do this by skipping the load metric here.
PerformanceMetricsManager.skipLoadMetric();
try {
const clData = await fetchConfigAndLicense(serverUrl, false);
if (clData.error) {

View file

@ -48,6 +48,10 @@ class PerformanceMetricsManager {
this.target = target;
}
public skipLoadMetric() {
this.hasRegisteredLoad = true;
}
public finishLoad(location: Target, serverUrl: string) {
this.finishLoadWithRetries(location, serverUrl, 0);
}

View file

@ -135,7 +135,7 @@ const Servers = React.forwardRef<ServersRef>((_, ref) => {
bottomSheet({
closeButtonId,
renderContent,
footerComponent: AddServerButton,
footerComponent: isTablet ? undefined : AddServerButton,
snapPoints,
theme,
title: intl.formatMessage({id: 'your.servers', defaultMessage: 'Your servers'}),

View file

@ -331,7 +331,7 @@ const LoginForm = ({config, extra, serverDisplayName, launchError, launchType, l
disableFullscreenUI={true}
enablesReturnKeyAutomatically={true}
error={error}
keyboardType='default'
keyboardType={isPasswordVisible ? 'visible-password' : 'default'}
label={intl.formatMessage({id: 'login.password', defaultMessage: 'Password'})}
onChangeText={onPasswordChange}
onSubmitEditing={onLogin}

View file

@ -1980,7 +1980,7 @@
CODE_SIGN_ENTITLEMENTS = Mattermost/Mattermost.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 532;
CURRENT_PROJECT_VERSION = 544;
DEVELOPMENT_TEAM = UQ8HT4Q2XM;
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = "$(inherited)";
@ -2022,7 +2022,7 @@
CODE_SIGN_ENTITLEMENTS = Mattermost/Mattermost.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 532;
CURRENT_PROJECT_VERSION = 544;
DEVELOPMENT_TEAM = UQ8HT4Q2XM;
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = "$(inherited)";
@ -2165,7 +2165,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 532;
CURRENT_PROJECT_VERSION = 544;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = UQ8HT4Q2XM;
GCC_C_LANGUAGE_STANDARD = gnu11;
@ -2215,7 +2215,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 532;
CURRENT_PROJECT_VERSION = 544;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = UQ8HT4Q2XM;
GCC_C_LANGUAGE_STANDARD = gnu11;

View file

@ -21,7 +21,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.18.0</string>
<string>2.19.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
@ -37,7 +37,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>532</string>
<string>544</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>

View file

@ -19,9 +19,9 @@
<key>CFBundlePackageType</key>
<string>XPC!</string>
<key>CFBundleShortVersionString</key>
<string>2.18.0</string>
<string>2.19.0</string>
<key>CFBundleVersion</key>
<string>532</string>
<string>544</string>
<key>UIAppFonts</key>
<array>
<string>OpenSans-Bold.ttf</string>

View file

@ -19,9 +19,9 @@
<key>CFBundlePackageType</key>
<string>XPC!</string>
<key>CFBundleShortVersionString</key>
<string>2.18.0</string>
<string>2.19.0</string>
<key>CFBundleVersion</key>
<string>532</string>
<string>544</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>

View file

@ -1,5 +1,6 @@
package com.mattermost.rnshare
import android.content.pm.ServiceInfo
import android.content.Context
import android.util.Log
import androidx.core.app.NotificationCompat
@ -147,7 +148,7 @@ class ShareWorker(context: Context, workerParameters: WorkerParameters) : Worker
.setSmallIcon(applicationContext.resources.getIdentifier("ic_notification", "mipmap", applicationContext.packageName))
.setOngoing(true)
.build()
return ForegroundInfo(1, notification)
return ForegroundInfo(1, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC)
}
}

2
package-lock.json generated
View file

@ -1,6 +1,6 @@
{
"name": "mattermost-mobile",
"version": "2.18.0",
"version": "2.19.0",
"lockfileVersion": 3,
"requires": true,
"packages": {

View file

@ -1,6 +1,6 @@
{
"name": "mattermost-mobile",
"version": "2.18.0",
"version": "2.19.0",
"description": "Mattermost Mobile with React Native",
"repository": "git@github.com:mattermost/mattermost-mobile.git",
"author": "Mattermost, Inc.",

View file

@ -11,6 +11,7 @@ import {Appearance, BackHandler} from 'react-native';
import {getDefaultThemeByAppearance} from '@context/theme';
import {DEFAULT_LOCALE, getTranslations} from '@i18n';
import {initialize} from '@init/app';
import PerformanceMetricsManager from '@managers/performance_metrics_manager';
import {extractStartLink, isValidUrl} from '@utils/url';
import ChannelsScreen from './screens/channels';
@ -63,6 +64,13 @@ const ShareExtension = () => {
return data?.filter((i) => !i.isString) || [];
}, [data]);
useEffect(() => {
// Since the share functionality inits the app, the init mark gets set
// at this point. Therefore, any check on load times after this is done
// over the wrong value.
PerformanceMetricsManager.skipLoadMetric();
}, []);
useEffect(() => {
initialize().finally(async () => {
const items = await MattermostShare.getSharedData();