From b00c550cd69760d5dabeda09ee5b094ed291c139 Mon Sep 17 00:00:00 2001 From: Mattermost Build Date: Sat, 8 Feb 2025 01:46:54 +0200 Subject: [PATCH] Automated cherry pick of #8568 (#8572) * MM-62915 and MM-62919 (#8568) (cherry picked from commit ee66890d32a5dd2fd19867f8f1c8f5f853da6c7c) * remove duplicate backgroundColor in search results header --------- Co-authored-by: Elias Nahum --- .../java/com/mattermost/helpers/Network.java | 10 +- .../rnbeta/CustomPushNotification.kt | 2 +- .../NotificationReplyBroadcastReceiver.java | 14 +++ .../__snapshots__/channel_item.test.tsx.snap | 8 +- app/components/channel_item/channel_item.tsx | 2 +- .../threads_button.test.tsx.snap | 4 +- app/screens/home/account/account.tsx | 48 +++++----- .../home/recent_mentions/recent_mentions.tsx | 91 +++++++++---------- .../home/saved_messages/saved_messages.tsx | 91 +++++++++---------- app/screens/home/search/results/header.tsx | 2 +- .../home/search/results/post_results.tsx | 22 ++++- app/screens/home/search/results/results.tsx | 42 +++++---- app/screens/home/search/search.tsx | 15 ++- app/screens/home/tab_bar/index.tsx | 3 +- ios/Podfile.lock | 4 +- package-lock.json | 8 +- package.json | 2 +- ...t+react-native-network-client+1.8.1.patch} | 0 18 files changed, 200 insertions(+), 168 deletions(-) rename patches/{@mattermost+react-native-network-client+1.8.0.patch => @mattermost+react-native-network-client+1.8.1.patch} (100%) 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