diff --git a/android/app/src/main/java/com/mattermost/helpers/Network.java b/android/app/src/main/java/com/mattermost/helpers/Network.java
index 20ec787b5..c6d883c36 100644
--- a/android/app/src/main/java/com/mattermost/helpers/Network.java
+++ b/android/app/src/main/java/com/mattermost/helpers/Network.java
@@ -10,6 +10,7 @@ import com.facebook.react.bridge.ReadableMap;
import com.mattermost.networkclient.ApiClientModuleImpl;
import com.mattermost.networkclient.enums.RetryTypes;
+import com.mattermost.turbolog.TurboLog;
import okhttp3.HttpUrl;
import okhttp3.Response;
@@ -21,9 +22,12 @@ public class Network {
private static final Promise emptyPromise = new ResolvePromise();
public static void init(Context context) {
- final ReactApplicationContext reactContext = (ApiClientModuleImpl.context == null) ? (ReactApplicationContext) context.getApplicationContext() : ApiClientModuleImpl.context;
- clientModule = new ApiClientModuleImpl(reactContext);
- createClientOptions();
+ if (clientModule == null) {
+ clientModule = new ApiClientModuleImpl(context);
+ createClientOptions();
+ } else {
+ TurboLog.Companion.i("ReactNative", "Network already initialized");
+ }
}
public static void get(String baseUrl, String endpoint, ReadableMap options, Promise promise) {
diff --git a/android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.kt b/android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.kt
index 4bd0cf4c1..2fff04971 100644
--- a/android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.kt
+++ b/android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.kt
@@ -33,7 +33,6 @@ class CustomPushNotification(
init {
try {
DatabaseHelper.instance?.init(context)
- Network.init(context)
NotificationHelper.cleanNotificationPreferencesIfNeeded(context)
} catch (e: Exception) {
e.printStackTrace()
@@ -51,6 +50,7 @@ class CustomPushNotification(
val isIdLoaded = initialData.getString("id_loaded") == "true"
val notificationId = NotificationHelper.getNotificationId(initialData)
val serverUrl = addServerUrlToBundle(initialData)
+ Network.init(mContext)
GlobalScope.launch {
try {
diff --git a/android/app/src/main/java/com/mattermost/rnbeta/NotificationReplyBroadcastReceiver.java b/android/app/src/main/java/com/mattermost/rnbeta/NotificationReplyBroadcastReceiver.java
index e6afd609e..3fd32a778 100644
--- a/android/app/src/main/java/com/mattermost/rnbeta/NotificationReplyBroadcastReceiver.java
+++ b/android/app/src/main/java/com/mattermost/rnbeta/NotificationReplyBroadcastReceiver.java
@@ -13,12 +13,16 @@ import androidx.annotation.Nullable;
import androidx.core.app.NotificationCompat;
import androidx.core.app.Person;
+import com.facebook.react.ReactApplication;
+import com.facebook.react.ReactNativeHost;
import com.facebook.react.bridge.Arguments;
+import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.WritableMap;
import com.mattermost.helpers.*;
import com.mattermost.turbolog.TurboLog;
import com.wix.reactnativenotifications.core.NotificationIntentAdapter;
+import com.wix.reactnativenotifications.core.notification.INotificationsApplication;
import com.wix.reactnativenotifications.core.notification.PushNotificationProps;
public class NotificationReplyBroadcastReceiver extends BroadcastReceiver {
@@ -26,6 +30,15 @@ public class NotificationReplyBroadcastReceiver extends BroadcastReceiver {
private Bundle bundle;
private NotificationManager notificationManager;
+ private ReactApplicationContext getReactContext(Context context) {
+ if (context instanceof ReactApplication) {
+ ReactNativeHost host = ((ReactApplication) context).getReactNativeHost();
+ return (ReactApplicationContext) host.getReactInstanceManager().getCurrentReactContext();
+ }
+
+ return null;
+ }
+
@Override
public void onReceive(Context context, Intent intent) {
try {
@@ -40,6 +53,7 @@ public class NotificationReplyBroadcastReceiver extends BroadcastReceiver {
final int notificationId = intent.getIntExtra(CustomPushNotificationHelper.NOTIFICATION_ID, -1);
final String serverUrl = bundle.getString("server_url");
+ Network.init(context);
if (serverUrl != null) {
replyToMessage(serverUrl, notificationId, message);
} else {
diff --git a/app/components/channel_item/__snapshots__/channel_item.test.tsx.snap b/app/components/channel_item/__snapshots__/channel_item.test.tsx.snap
index 608d84a2c..4db607bcd 100644
--- a/app/components/channel_item/__snapshots__/channel_item.test.tsx.snap
+++ b/app/components/channel_item/__snapshots__/channel_item.test.tsx.snap
@@ -92,7 +92,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
"lineHeight": 24,
},
{
- "color": "#ffffff",
+ "color": "rgba(255,255,255,0.72)",
},
false,
null,
@@ -213,7 +213,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
"lineHeight": 24,
},
{
- "color": "#ffffff",
+ "color": "rgba(255,255,255,0.72)",
},
false,
null,
@@ -251,7 +251,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
"lineHeight": 24,
},
{
- "color": "#ffffff",
+ "color": "rgba(255,255,255,0.72)",
},
false,
null,
@@ -361,7 +361,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
"lineHeight": 24,
},
{
- "color": "#ffffff",
+ "color": "rgba(255,255,255,0.72)",
},
false,
null,
diff --git a/app/components/channel_item/channel_item.tsx b/app/components/channel_item/channel_item.tsx
index c67ac1213..e8f3f19b9 100644
--- a/app/components/channel_item/channel_item.tsx
+++ b/app/components/channel_item/channel_item.tsx
@@ -51,7 +51,7 @@ export const getStyleSheet = makeStyleSheetFromTheme((theme: Theme) => ({
marginRight: 12,
},
text: {
- color: theme.sidebarText,
+ color: changeOpacity(theme.sidebarText, 0.72),
},
highlight: {
color: theme.sidebarUnreadText,
diff --git a/app/components/threads_button/__snapshots__/threads_button.test.tsx.snap b/app/components/threads_button/__snapshots__/threads_button.test.tsx.snap
index 5da99c2df..857a7e3da 100644
--- a/app/components/threads_button/__snapshots__/threads_button.test.tsx.snap
+++ b/app/components/threads_button/__snapshots__/threads_button.test.tsx.snap
@@ -79,7 +79,7 @@ exports[`Thread item in the channel list Threads Component should match snapshot
"lineHeight": 24,
},
{
- "color": "#ffffff",
+ "color": "rgba(255,255,255,0.72)",
},
false,
false,
@@ -174,7 +174,7 @@ exports[`Thread item in the channel list Threads Component should match snapshot
"lineHeight": 24,
},
{
- "color": "#ffffff",
+ "color": "rgba(255,255,255,0.72)",
},
false,
false,
diff --git a/app/screens/home/account/account.tsx b/app/screens/home/account/account.tsx
index 7a58a8f97..bc632adf8 100644
--- a/app/screens/home/account/account.tsx
+++ b/app/screens/home/account/account.tsx
@@ -1,8 +1,9 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
-import {useRoute} from '@react-navigation/native';
+import {useIsFocused, useRoute} from '@react-navigation/native';
import React, {useCallback, useState} from 'react';
+import {Freeze} from 'react-freeze';
import {ScrollView, View} from 'react-native';
import Animated, {useAnimatedStyle, withTiming} from 'react-native-reanimated';
import {type Edge, SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context';
@@ -28,10 +29,6 @@ const edges: Edge[] = ['left', 'right'];
const getStyleSheet = makeStyleSheetFromTheme((theme: Theme) => {
return {
- container: {
- flex: 1,
- backgroundColor: theme.sidebarBg,
- },
flex: {
flex: 1,
},
@@ -62,6 +59,7 @@ const AccountScreen = ({currentUser, enableCustomUserStatuses, showFullName}: Ac
const route = useRoute();
const insets = useSafeAreaInsets();
const isTablet = useIsTablet();
+ const isFocused = useIsFocused();
let tabletSidebarStyle;
if (isTablet) {
@@ -113,27 +111,29 @@ const AccountScreen = ({currentUser, enableCustomUserStatuses, showFullName}: Ac
) : null;
return (
-
-
-
- {isTablet && }
-
-
+
- {content}
- {isTablet &&
-
-
+
+
+ {isTablet && }
- }
-
-
+
+ {content}
+ {isTablet &&
+
+
+
+ }
+
+
+
);
};
diff --git a/app/screens/home/recent_mentions/recent_mentions.tsx b/app/screens/home/recent_mentions/recent_mentions.tsx
index d05e01cb3..de6d36fdd 100644
--- a/app/screens/home/recent_mentions/recent_mentions.tsx
+++ b/app/screens/home/recent_mentions/recent_mentions.tsx
@@ -3,8 +3,9 @@
import {useIsFocused, useRoute} from '@react-navigation/native';
import React, {useCallback, useState, useEffect, useMemo} from 'react';
+import {Freeze} from 'react-freeze';
import {useIntl} from 'react-intl';
-import {ActivityIndicator, DeviceEventEmitter, type ListRenderItemInfo, View} from 'react-native';
+import {ActivityIndicator, DeviceEventEmitter, type ListRenderItemInfo, StyleSheet, View} from 'react-native';
import Animated, {useAnimatedStyle, useSharedValue, withTiming} from 'react-native-reanimated';
import {SafeAreaView, type Edge} from 'react-native-safe-area-context';
@@ -19,7 +20,6 @@ import {useServerUrl} from '@context/server';
import {useTheme} from '@context/theme';
import {useCollapsibleHeader} from '@hooks/header';
import {getDateForDateLine, selectOrderedPosts} from '@utils/post_list';
-import {makeStyleSheetFromTheme} from '@utils/theme';
import EmptyState from './components/empty';
@@ -35,20 +35,16 @@ type Props = {
mentions: PostModel[];
}
-const getStyleSheet = makeStyleSheetFromTheme((theme) => ({
+const styles = StyleSheet.create({
flex: {
flex: 1,
- backgroundColor: theme.centerChannelBg,
- },
- container: {
- flex: 1,
},
empty: {
alignItems: 'center',
flex: 1,
justifyContent: 'center',
},
-}));
+});
const RecentMentionsScreen = ({appsEnabled, customEmojiNames, mentions, currentTimezone}: Props) => {
const theme = useTheme();
@@ -58,7 +54,6 @@ const RecentMentionsScreen = ({appsEnabled, customEmojiNames, mentions, currentT
const [refreshing, setRefreshing] = useState(false);
const [loading, setLoading] = useState(true);
const serverUrl = useServerUrl();
- const styles = getStyleSheet(theme);
const params = route.params as {direction: string};
const toLeft = params.direction === 'left';
@@ -165,45 +160,47 @@ const RecentMentionsScreen = ({appsEnabled, customEmojiNames, mentions, currentT
}, [appsEnabled, customEmojiNames]);
return (
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
);
};
diff --git a/app/screens/home/saved_messages/saved_messages.tsx b/app/screens/home/saved_messages/saved_messages.tsx
index f34962b2f..930eaf067 100644
--- a/app/screens/home/saved_messages/saved_messages.tsx
+++ b/app/screens/home/saved_messages/saved_messages.tsx
@@ -3,8 +3,9 @@
import {useIsFocused, useRoute} from '@react-navigation/native';
import React, {useCallback, useEffect, useMemo, useState} from 'react';
+import {Freeze} from 'react-freeze';
import {useIntl} from 'react-intl';
-import {DeviceEventEmitter, type ListRenderItemInfo, View} from 'react-native';
+import {DeviceEventEmitter, type ListRenderItemInfo, StyleSheet, View} from 'react-native';
import Animated, {useAnimatedStyle, useSharedValue, withTiming} from 'react-native-reanimated';
import {type Edge, SafeAreaView} from 'react-native-safe-area-context';
@@ -20,7 +21,6 @@ import {useServerUrl} from '@context/server';
import {useTheme} from '@context/theme';
import {useCollapsibleHeader} from '@hooks/header';
import {getDateForDateLine, selectOrderedPosts} from '@utils/post_list';
-import {makeStyleSheetFromTheme} from '@utils/theme';
import EmptyState from './components/empty';
@@ -36,20 +36,16 @@ type Props = {
const edges: Edge[] = ['bottom', 'left', 'right'];
-const getStyleSheet = makeStyleSheetFromTheme((theme) => ({
+const styles = StyleSheet.create({
flex: {
flex: 1,
- backgroundColor: theme.centerChannelBg,
- },
- container: {
- flex: 1,
},
empty: {
alignItems: 'center',
flex: 1,
justifyContent: 'center',
},
-}));
+});
function SavedMessages({appsEnabled, posts, currentTimezone, customEmojiNames}: Props) {
const intl = useIntl();
@@ -59,7 +55,6 @@ function SavedMessages({appsEnabled, posts, currentTimezone, customEmojiNames}:
const serverUrl = useServerUrl();
const route = useRoute();
const isFocused = useIsFocused();
- const styles = getStyleSheet(theme);
const params = route.params as {direction: string};
const toLeft = params.direction === 'left';
@@ -167,45 +162,47 @@ function SavedMessages({appsEnabled, posts, currentTimezone, customEmojiNames}:
}, [appsEnabled, currentTimezone, customEmojiNames, theme]);
return (
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
);
}
diff --git a/app/screens/home/search/results/header.tsx b/app/screens/home/search/results/header.tsx
index e989ecd38..fa3819762 100644
--- a/app/screens/home/search/results/header.tsx
+++ b/app/screens/home/search/results/header.tsx
@@ -35,9 +35,9 @@ const getStyleFromTheme = makeStyleSheetFromTheme((theme: Theme) => {
return {
container: {
marginTop: 10,
- backgroundColor: theme.centerChannelBg,
borderBottomWidth: 1,
borderBottomColor: changeOpacity(theme.centerChannelColor, 0.1),
+ backgroundColor: theme.centerChannelBg,
},
badge: {
backgroundColor: theme.buttonBg,
diff --git a/app/screens/home/search/results/post_results.tsx b/app/screens/home/search/results/post_results.tsx
index e4cd6f06e..04dd00d45 100644
--- a/app/screens/home/search/results/post_results.tsx
+++ b/app/screens/home/search/results/post_results.tsx
@@ -2,13 +2,13 @@
// See LICENSE.txt for license information.
import React, {useCallback, useMemo} from 'react';
-import {FlatList, type ListRenderItemInfo, type StyleProp, type ViewStyle} from 'react-native';
+import {DeviceEventEmitter, FlatList, type ListRenderItemInfo, type StyleProp, type ViewStyle} from 'react-native';
import FormattedText from '@components/formatted_text';
import NoResultsWithTerm from '@components/no_results_with_term';
import DateSeparator from '@components/post_list/date_separator';
import PostWithChannelInfo from '@components/post_with_channel_info';
-import {Screens} from '@constants';
+import {Events, Screens} from '@constants';
import {ExtraKeyboardProvider} from '@context/extra_keyboard';
import {useTheme} from '@context/theme';
import {convertSearchTermToRegex, parseSearchTerms} from '@utils/markdown';
@@ -17,7 +17,7 @@ import {TabTypes} from '@utils/search';
import {makeStyleSheetFromTheme} from '@utils/theme';
import {typography} from '@utils/typography';
-import type {PostListItem, PostListOtherItem} from '@typings/components/post_list';
+import type {PostListItem, PostListOtherItem, ViewableItemsChanged} from '@typings/components/post_list';
import type PostModel from '@typings/database/models/servers/post';
import type {SearchPattern} from '@typings/global/markdown';
@@ -99,6 +99,21 @@ const PostResults = ({
/>
), [searchValue]);
+ const onViewableItemsChanged = useCallback(({viewableItems}: ViewableItemsChanged) => {
+ if (!viewableItems.length) {
+ return;
+ }
+
+ const viewableItemsMap = viewableItems.reduce((acc: Record, {item, isViewable}) => {
+ if (isViewable && item.type === 'post') {
+ acc[`${Screens.SEARCH}-${item.value.currentPost.id}`] = true;
+ }
+ return acc;
+ }, {});
+
+ DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, viewableItemsMap);
+ }, []);
+
return (
diff --git a/app/screens/home/search/results/results.tsx b/app/screens/home/search/results/results.tsx
index 4ace27205..b875a5abe 100644
--- a/app/screens/home/search/results/results.tsx
+++ b/app/screens/home/search/results/results.tsx
@@ -2,12 +2,14 @@
// See LICENSE.txt for license information.
import React, {useMemo} from 'react';
-import {StyleSheet, useWindowDimensions, View} from 'react-native';
+import {Freeze} from 'react-freeze';
+import {StyleSheet, View} from 'react-native';
import Animated, {useAnimatedStyle, withTiming} from 'react-native-reanimated';
import FileResults from '@components/files_search/file_results';
import Loading from '@components/loading';
import {useTheme} from '@context/theme';
+import {useWindowDimensions} from '@hooks/device';
import {TabTypes, type TabType} from '@utils/search';
import PostResults from './post_results';
@@ -99,25 +101,29 @@ const Results = ({
{!loading &&
-
+
+
+
-
+
+
+
}
diff --git a/app/screens/home/search/search.tsx b/app/screens/home/search/search.tsx
index 7010a6f8b..7a7da6add 100644
--- a/app/screens/home/search/search.tsx
+++ b/app/screens/home/search/search.tsx
@@ -4,8 +4,9 @@
import {useHardwareKeyboardEvents} from '@mattermost/hardware-keyboard';
import {useIsFocused, useNavigation} from '@react-navigation/native';
import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
+import {Freeze} from 'react-freeze';
import {useIntl} from 'react-intl';
-import {FlatList, type LayoutChangeEvent, Platform, type ViewStyle, KeyboardAvoidingView, Keyboard} from 'react-native';
+import {FlatList, type LayoutChangeEvent, Platform, type ViewStyle, KeyboardAvoidingView, Keyboard, StyleSheet} from 'react-native';
import Animated, {useAnimatedStyle, useDerivedValue, withTiming, type AnimatedStyle} from 'react-native-reanimated';
import {type Edge, SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context';
@@ -13,7 +14,6 @@ import {getPosts} from '@actions/local/post';
import {addSearchToTeamSearchHistory} from '@actions/local/team';
import {searchPosts, searchFiles} from '@actions/remote/search';
import Autocomplete from '@components/autocomplete';
-import FreezeScreen from '@components/freeze_screen';
import Loading from '@components/loading';
import NavigationHeader from '@components/navigation_header';
import RoundedHeaderContext from '@components/rounded_header_context';
@@ -27,7 +27,6 @@ import {useCollapsibleHeader} from '@hooks/header';
import NavigationStore from '@store/navigation_store';
import {type FileFilter, FileFilters, filterFileExtensions} from '@utils/file';
import {TabTypes, type TabType} from '@utils/search';
-import {makeStyleSheetFromTheme} from '@utils/theme';
import Initial from './initial';
import Results from './results';
@@ -53,10 +52,9 @@ type Props = {
teams: TeamModel[];
}
-const getStyleSheet = makeStyleSheetFromTheme((theme) => ({
+const styles = StyleSheet.create({
flex: {
flex: 1,
- backgroundColor: theme.centerChannelBg,
},
loading: {
flex: 1,
@@ -65,7 +63,7 @@ const getStyleSheet = makeStyleSheetFromTheme((theme) => ({
autocompleteContainer: {
zIndex: 11,
},
-}));
+});
const getSearchParams = (terms: string, filterValue?: FileFilter) => {
const fileExtensions = filterFileExtensions(filterValue);
@@ -86,7 +84,6 @@ const SearchScreen = ({teamId, teams}: Props) => {
const theme = useTheme();
const insets = useSafeAreaInsets();
const keyboardHeight = useKeyboardHeight();
- const styles = getStyleSheet(theme);
const stateIndex = nav.getState()?.index;
const serverUrl = useServerUrl();
@@ -354,7 +351,7 @@ const SearchScreen = ({teamId, teams}: Props) => {
useHardwareKeyboardEvents(events);
return (
-
+
{
teamId={searchTeamId}
/>
}
-
+
);
};
diff --git a/app/screens/home/tab_bar/index.tsx b/app/screens/home/tab_bar/index.tsx
index defba2cef..03c56f0a0 100644
--- a/app/screens/home/tab_bar/index.tsx
+++ b/app/screens/home/tab_bar/index.tsx
@@ -2,12 +2,13 @@
// See LICENSE.txt for license information.
import React, {useEffect, useState} from 'react';
-import {DeviceEventEmitter, View, TouchableOpacity, useWindowDimensions} from 'react-native';
+import {DeviceEventEmitter, View, TouchableOpacity} from 'react-native';
import Animated, {useAnimatedStyle, withTiming} from 'react-native-reanimated';
import {useSafeAreaInsets} from 'react-native-safe-area-context';
import {Shadow} from 'react-native-shadow-2';
import {Events, Navigation as NavigationConstants, Screens, View as ViewConstants} from '@constants';
+import {useWindowDimensions} from '@hooks/device';
import NavigationStore from '@store/navigation_store';
import {changeOpacity, makeStyleSheetFromTheme} from '@utils/theme';
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 4a51e47bd..298d4cd0a 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -1454,7 +1454,7 @@ PODS:
- Yoga
- react-native-netinfo (11.4.1):
- React-Core
- - react-native-network-client (1.8.0):
+ - react-native-network-client (1.8.1):
- Alamofire (~> 5.10.2)
- DoubleConversion
- glog
@@ -2518,7 +2518,7 @@ SPEC CHECKSUMS:
react-native-emm: f6003bebdf4fef4feef7c61f96a5c174f43c6b5f
react-native-image-picker: 130fad649d07e4eec8faaed361d3bba570e1e5ff
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
- react-native-network-client: 91d7b8fd83885a7fe470b23270bf71689871865d
+ react-native-network-client: f2996a6440c422e64e787bdf8c8e3f992be1cee6
react-native-notifications: 3bafa1237ae8a47569a84801f17d80242fe9f6a5
react-native-paste-input: d33daa183942fa57f34dff2088805a60895f14d2
react-native-performance: 125a96c145e29918b55b45ce25cbba54f1e24dcd
diff --git a/package-lock.json b/package-lock.json
index 12df3e7fc..b5741daf7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,7 +21,7 @@
"@mattermost/compass-icons": "0.1.48",
"@mattermost/hardware-keyboard": "file:./libraries/@mattermost/hardware-keyboard",
"@mattermost/react-native-emm": "1.5.1",
- "@mattermost/react-native-network-client": "1.8.0",
+ "@mattermost/react-native-network-client": "1.8.1",
"@mattermost/react-native-paste-input": "0.8.1",
"@mattermost/react-native-turbo-log": "0.5.0",
"@mattermost/rnshare": "file:./libraries/@mattermost/rnshare",
@@ -4631,9 +4631,9 @@
}
},
"node_modules/@mattermost/react-native-network-client": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@mattermost/react-native-network-client/-/react-native-network-client-1.8.0.tgz",
- "integrity": "sha512-Iv2ehPAxBwt07yrevbqVlzITG3TXWDZdHlEWDH5n3RvT/dytXYVfR8ckc4AAa7UOuWEtVBm2CLRsI3nNd+62aQ==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/@mattermost/react-native-network-client/-/react-native-network-client-1.8.1.tgz",
+ "integrity": "sha512-CrIVcIkSJej2Dg2162z2U4qyL0QIV/LYuHd0wXh9wnrcGBjk8Dt0TDhUkUaTe8V1YKYVQiJU7vsL9GlDMxVuXQ==",
"license": "MIT",
"dependencies": {
"validator": "13.12.0",
diff --git a/package.json b/package.json
index 8beec364e..203d9bdaa 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"@mattermost/compass-icons": "0.1.48",
"@mattermost/hardware-keyboard": "file:./libraries/@mattermost/hardware-keyboard",
"@mattermost/react-native-emm": "1.5.1",
- "@mattermost/react-native-network-client": "1.8.0",
+ "@mattermost/react-native-network-client": "1.8.1",
"@mattermost/react-native-paste-input": "0.8.1",
"@mattermost/react-native-turbo-log": "0.5.0",
"@mattermost/rnshare": "file:./libraries/@mattermost/rnshare",
diff --git a/patches/@mattermost+react-native-network-client+1.8.0.patch b/patches/@mattermost+react-native-network-client+1.8.1.patch
similarity index 100%
rename from patches/@mattermost+react-native-network-client+1.8.0.patch
rename to patches/@mattermost+react-native-network-client+1.8.1.patch