Merge branch 'single-server' into single-server-4.29

# Conflicts:
#	android/app/build.gradle
#	android/app/src/main/assets/fonts/custom.ttf
#	app.json
#	app/AppContainer.tsx
#	app/actions/actionsTypes.ts
#	app/actions/login.ts
#	app/actions/room.ts
#	app/containers/ActionSheet/ActionSheet.tsx
#	app/containers/ActionSheet/BottomSheetContent.tsx
#	app/containers/ActionSheet/Button.ts
#	app/containers/ActionSheet/Handle.tsx
#	app/containers/ActionSheet/Provider.tsx
#	app/containers/ActionSheet/styles.ts
#	app/containers/AppVersion.tsx
#	app/containers/Avatar/Avatar.tsx
#	app/containers/Avatar/index.tsx
#	app/containers/Avatar/interfaces.ts
#	app/containers/CustomIcon/index.tsx
#	app/containers/CustomIcon/mappedIcons.js
#	app/containers/CustomIcon/selection.json
#	app/containers/DirectoryItem/index.tsx
#	app/containers/EmojiPicker/CustomEmoji.tsx
#	app/containers/EmojiPicker/EmojiCategory.tsx
#	app/containers/EmojiPicker/index.tsx
#	app/containers/FormContainer.tsx
#	app/containers/HeaderButton/Common.tsx
#	app/containers/HeaderButton/HeaderButtonItem.tsx
#	app/containers/HeaderButton/HeaderButtonItemBadge.tsx
#	app/containers/ImageViewer/index.ts
#	app/containers/ImageViewer/types.ts
#	app/containers/InAppNotification/NotifierComponent.tsx
#	app/containers/InAppNotification/index.tsx
#	app/containers/KeyboardView.tsx
#	app/containers/List/ListContainer.tsx
#	app/containers/List/ListItem.tsx
#	app/containers/MessageActions/Header.tsx
#	app/containers/MessageActions/index.tsx
#	app/containers/MessageBox/CommandsPreview/Item.tsx
#	app/containers/MessageBox/Mentions/MentionEmoji.tsx
#	app/containers/MessageBox/RecordAudio.tsx
#	app/containers/MessageBox/forceJpgExtension.ts
#	app/containers/MessageBox/index.tsx
#	app/containers/MessageBox/styles.ts
#	app/containers/MessageErrorActions.tsx
#	app/containers/Passcode/Base/Button.tsx
#	app/containers/Passcode/Base/Locked.tsx
#	app/containers/Passcode/PasscodeEnter.tsx
#	app/containers/RoomHeader/RoomHeader.stories.js
#	app/containers/RoomHeader/RoomHeader.tsx
#	app/containers/RoomHeader/__snapshots__/RoomHeader.stories.storyshot
#	app/containers/RoomHeader/index.tsx
#	app/containers/RoomItem/Actions.tsx
#	app/containers/RoomItem/LastMessage.tsx
#	app/containers/RoomItem/RoomItem.tsx
#	app/containers/RoomItem/Title.tsx
#	app/containers/RoomItem/Touchable.tsx
#	app/containers/RoomItem/UpdatedAt.tsx
#	app/containers/RoomItem/Wrapper.tsx
#	app/containers/RoomItem/index.tsx
#	app/containers/RoomItem/interfaces.ts
#	app/containers/RoomItem/styles.ts
#	app/containers/SearchHeader.tsx
#	app/containers/ServerItem/index.tsx
#	app/containers/TextInput/FormTextInput.tsx
#	app/containers/TextInput/TextInput.stories.js
#	app/containers/Toast.tsx
#	app/containers/TwoFactor/index.tsx
#	app/containers/UIKit/DatePicker.tsx
#	app/containers/UIKit/Image.tsx
#	app/containers/UIKit/MultiSelect/Chips.tsx
#	app/containers/UIKit/MultiSelect/Input.tsx
#	app/containers/UIKit/MultiSelect/Items.tsx
#	app/containers/UIKit/MultiSelect/index.tsx
#	app/containers/UIKit/MultiSelect/styles.ts
#	app/containers/UIKit/Select.tsx
#	app/containers/UIKit/index.tsx
#	app/containers/UIKit/utils.ts
#	app/containers/UnreadBadge/index.tsx
#	app/containers/UserItem.tsx
#	app/containers/markdown/AtMention.tsx
#	app/containers/markdown/Emoji.tsx
#	app/containers/markdown/Hashtag.tsx
#	app/containers/markdown/Link.tsx
#	app/containers/markdown/Preview.tsx
#	app/containers/markdown/index.tsx
#	app/containers/markdown/new/BigEmoji.tsx
#	app/containers/markdown/new/Emoji.tsx
#	app/containers/markdown/new/Image.tsx
#	app/containers/markdown/new/Inline.tsx
#	app/containers/markdown/new/Link.tsx
#	app/containers/message/Attachments.tsx
#	app/containers/message/Audio.tsx
#	app/containers/message/Components/CollapsibleQuote/__snapshots__/CollapsibleQuote.stories.storyshot
#	app/containers/message/Discussion.tsx
#	app/containers/message/Emoji.tsx
#	app/containers/message/Image.tsx
#	app/containers/message/Message.tsx
#	app/containers/message/Reply.tsx
#	app/containers/message/Urls.tsx
#	app/containers/message/Video.tsx
#	app/containers/message/index.tsx
#	app/containers/message/interfaces.ts
#	app/containers/message/styles.ts
#	app/definitions/IEmoji.ts
#	app/definitions/IRoom.ts
#	app/definitions/ISubscription.ts
#	app/definitions/rest/v1/users.ts
#	app/definitions/rest/v1/videoConference.ts
#	app/ee/omnichannel/containers/OmnichannelHeader/index.tsx
#	app/ee/omnichannel/lib/index.ts
#	app/ee/omnichannel/lib/subscriptions/inquiry.ts
#	app/ee/omnichannel/sagas/inquiry.js
#	app/ee/omnichannel/views/QueueListView.tsx
#	app/externalModules.d.ts
#	app/i18n/index.ts
#	app/i18n/locales/ar.json
#	app/i18n/locales/de.json
#	app/i18n/locales/en.json
#	app/i18n/locales/es-ES.json
#	app/i18n/locales/fr.json
#	app/i18n/locales/it.json
#	app/i18n/locales/ja.json
#	app/i18n/locales/nl.json
#	app/i18n/locales/pt-BR.json
#	app/i18n/locales/ru.json
#	app/i18n/locales/tr.json
#	app/i18n/locales/zh-CN.json
#	app/i18n/locales/zh-TW.json
#	app/index.tsx
#	app/lib/constants/colors.ts
#	app/lib/constants/defaultSettings.ts
#	app/lib/constants/links.ts
#	app/lib/database/index.ts
#	app/lib/database/model/migrations.js
#	app/lib/database/schema/app.js
#	app/lib/encryption/encryption.ts
#	app/lib/encryption/room.ts
#	app/lib/encryption/utils.ts
#	app/lib/hooks/index.ts
#	app/lib/methods/actions.ts
#	app/lib/methods/callJitsi.ts
#	app/lib/methods/enterpriseModules.ts
#	app/lib/methods/getCustomEmojis.ts
#	app/lib/methods/getPermalinks.ts
#	app/lib/methods/getPermissions.ts
#	app/lib/methods/getRoles.ts
#	app/lib/methods/getSettings.ts
#	app/lib/methods/getSlashCommands.ts
#	app/lib/methods/getThreadName.ts
#	app/lib/methods/getUsersPresence.ts
#	app/lib/methods/helpers/mergeSubscriptionsRooms.ts
#	app/lib/methods/helpers/showToast.ts
#	app/lib/methods/index.ts
#	app/lib/methods/loadMessagesForRoom.ts
#	app/lib/methods/loadMissedMessages.ts
#	app/lib/methods/loadNextMessages.ts
#	app/lib/methods/loadSurroundingMessages.ts
#	app/lib/methods/loadThreadMessages.ts
#	app/lib/methods/logout.ts
#	app/lib/methods/readMessages.ts
#	app/lib/methods/search.ts
#	app/lib/methods/sendFileMessage.ts
#	app/lib/methods/sendMessage.ts
#	app/lib/methods/setUser.ts
#	app/lib/methods/shareExtension.ts
#	app/lib/methods/subscribeRooms.ts
#	app/lib/methods/subscriptions/room.ts
#	app/lib/methods/subscriptions/rooms.ts
#	app/lib/navigation/appNavigation.ts
#	app/lib/navigation/shareNavigation.ts
#	app/lib/notifications/push.ts
#	app/lib/services/connect.ts
#	app/lib/services/restApi.ts
#	app/lib/services/sdk.ts
#	app/presentation/ImageViewer/index.js
#	app/presentation/ImageViewer/index.ts
#	app/presentation/ImageViewer/types.js
#	app/presentation/ImageViewer/types.ts
#	app/reducers/login.ts
#	app/reducers/room.test.ts
#	app/sagas/createChannel.js
#	app/sagas/createDiscussion.js
#	app/sagas/deepLinking.js
#	app/sagas/encryption.js
#	app/sagas/init.js
#	app/sagas/inviteLinks.js
#	app/sagas/login.js
#	app/sagas/messages.js
#	app/sagas/room.js
#	app/sagas/selectServer.js
#	app/sagas/state.js
#	app/share.tsx
#	app/stacks/InsideStack.tsx
#	app/stacks/MasterDetailStack/index.tsx
#	app/stacks/MasterDetailStack/types.ts
#	app/stacks/OutsideStack.tsx
#	app/stacks/types.ts
#	app/views/AddExistingChannelView.tsx
#	app/views/AttachmentView.tsx
#	app/views/AuthenticationWebView.tsx
#	app/views/AutoTranslateView/index.tsx
#	app/views/CannedResponseDetail.tsx
#	app/views/CannedResponsesListView/Dropdown/DropdownItem.tsx
#	app/views/CannedResponsesListView/index.tsx
#	app/views/ChangePasscodeView.tsx
#	app/views/CreateChannelView.tsx
#	app/views/CreateDiscussionView/SelectChannel.tsx
#	app/views/CreateDiscussionView/SelectUsers.tsx
#	app/views/CreateDiscussionView/index.tsx
#	app/views/CreateDiscussionView/interfaces.ts
#	app/views/DefaultBrowserView.tsx
#	app/views/DirectoryView/Options.tsx
#	app/views/DirectoryView/index.tsx
#	app/views/DiscussionsView/Item.tsx
#	app/views/DiscussionsView/__snapshots__/Item.stories.storyshot
#	app/views/DiscussionsView/index.tsx
#	app/views/DisplayPrefsView.tsx
#	app/views/E2EEncryptionSecurityView.tsx
#	app/views/E2EEnterYourPasswordView.tsx
#	app/views/E2ESaveYourPasswordView.tsx
#	app/views/ForgotPasswordView.tsx
#	app/views/ForwardLivechatView.tsx
#	app/views/InviteUsersEditView/index.tsx
#	app/views/InviteUsersView/index.tsx
#	app/views/JitsiMeetView.tsx
#	app/views/LanguageView/index.tsx
#	app/views/LegalView.tsx
#	app/views/LivechatEditView.tsx
#	app/views/LoginView.tsx
#	app/views/MarkdownTableView.tsx
#	app/views/MessagesView/index.tsx
#	app/views/ModalBlockView.tsx
#	app/views/NewMessageView.tsx
#	app/views/NewServerView/ServerInput/Item.tsx
#	app/views/NewServerView/ServerInput/index.tsx
#	app/views/NewServerView/index.tsx
#	app/views/NotificationPreferencesView/index.tsx
#	app/views/PickerView.tsx
#	app/views/ProfileView/index.tsx
#	app/views/RegisterView.tsx
#	app/views/RoomActionsView/index.tsx
#	app/views/RoomInfoEditView/index.tsx
#	app/views/RoomInfoView/index.tsx
#	app/views/RoomMembersView/index.tsx
#	app/views/RoomView/JoinCode.tsx
#	app/views/RoomView/LeftButtons.tsx
#	app/views/RoomView/List/List.tsx
#	app/views/RoomView/List/NavBottomFAB.tsx
#	app/views/RoomView/List/index.tsx
#	app/views/RoomView/LoadMore/__snapshots__/LoadMore.stories.storyshot
#	app/views/RoomView/LoadMore/index.tsx
#	app/views/RoomView/ReactionPicker.tsx
#	app/views/RoomView/RightButtons.tsx
#	app/views/RoomView/UploadProgress.tsx
#	app/views/RoomView/index.tsx
#	app/views/RoomsListView/Header/Header.tsx
#	app/views/RoomsListView/Header/index.tsx
#	app/views/RoomsListView/ServerDropdown.tsx
#	app/views/RoomsListView/index.tsx
#	app/views/ScreenLockConfigView.tsx
#	app/views/ScreenLockedView.tsx
#	app/views/SearchMessagesView/index.tsx
#	app/views/SecurityPrivacyView.tsx
#	app/views/SelectListView.tsx
#	app/views/SelectedUsersView.tsx
#	app/views/SendEmailConfirmationView.tsx
#	app/views/SetUsernameView.tsx
#	app/views/SettingsView/index.tsx
#	app/views/ShareListView/Header/Header.ios.tsx
#	app/views/ShareListView/Header/Header.tsx
#	app/views/ShareListView/index.tsx
#	app/views/ShareListView/styles.ts
#	app/views/ShareView/Header.tsx
#	app/views/ShareView/Preview.tsx
#	app/views/ShareView/Thumbs.tsx
#	app/views/ShareView/index.tsx
#	app/views/ShareView/utils.ts
#	app/views/SidebarView/SidebarItem.tsx
#	app/views/SidebarView/index.tsx
#	app/views/StatusView/index.tsx
#	app/views/TeamChannelsView.tsx
#	app/views/ThemeView.tsx
#	app/views/ThreadMessagesView/Dropdown/DropdownItem.tsx
#	app/views/ThreadMessagesView/Dropdown/index.tsx
#	app/views/ThreadMessagesView/Item.tsx
#	app/views/ThreadMessagesView/__snapshots__/Item.stories.storyshot
#	app/views/ThreadMessagesView/index.tsx
#	app/views/UserPreferencesView/index.tsx
#	app/views/WorkspaceView/ServerAvatar.tsx
#	docs/icons.md
#	e2e/tests/assorted/03-profile.spec.js
#	e2e/tests/assorted/06-status.spec.js
#	e2e/tests/room/03-roomactions.spec.js
#	e2e/tests/room/08-roominfo.spec.js
#	ios/Gemfile.lock
#	ios/Podfile.lock
#	ios/RocketChatRN.xcodeproj/project.pbxproj
#	ios/RocketChatRN/Info.plist
#	ios/ShareRocketChatRN/Info.plist
#	ios/custom.ttf
#	jest.setup.js
#	package.json
#	storybook/stories/HeaderButtons.js
#	storybook/stories/Markdown.tsx
#	storybook/stories/NewMarkdown.js
#	storybook/stories/RoomItem.js
#	storybook/stories/__snapshots__/Avatar.storyshot
#	storybook/stories/__snapshots__/HeaderButtons.storyshot
#	storybook/stories/__snapshots__/List.storyshot
#	storybook/stories/__snapshots__/Markdown.storyshot
#	storybook/stories/__snapshots__/Message.storyshot
#	storybook/stories/__snapshots__/NewMarkdown.storyshot
#	storybook/stories/__snapshots__/RoomItem.storyshot
#	storybook/stories/__snapshots__/ServerItem.storyshot
#	storybook/stories/index.js
#	yarn.lock
This commit is contained in:
Diego Mello 2022-07-18 14:48:17 -03:00
commit 3650a3fe94
12 changed files with 358 additions and 209 deletions

View File

@ -1,83 +0,0 @@
{
"project_info": {
"project_number": "115198584049",
"firebase_url": "https://rocketchat-reactnative-test.firebaseio.com",
"project_id": "rocketchat-reactnative-test",
"storage_bucket": "rocketchat-reactnative-test.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:115198584049:android:a79216ae48935d2c9ab550",
"android_client_info": {
"package_name": "chat.rocket.android"
}
},
"oauth_client": [
{
"client_id": "115198584049-ack609b1338b827fta26s9rd2ab1aad5.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAWwowhAfACHBw3YxmDOXY3QyakgjhJLqc"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "115198584049-ack609b1338b827fta26s9rd2ab1aad5.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "115198584049-0efgfvm0oh9ap55g7epmqnjm27mq3j4e.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "chat.rocket.reactnative"
}
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:115198584049:android:8be27b1f7c42a2ed",
"android_client_info": {
"package_name": "chat.rocket.reactnative"
}
},
"oauth_client": [
{
"client_id": "115198584049-ack609b1338b827fta26s9rd2ab1aad5.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAWwowhAfACHBw3YxmDOXY3QyakgjhJLqc"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "115198584049-ack609b1338b827fta26s9rd2ab1aad5.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "115198584049-0efgfvm0oh9ap55g7epmqnjm27mq3j4e.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "chat.rocket.reactnative"
}
}
]
}
}
}
],
"configuration_version": "1"
}

View File

@ -1,4 +0,0 @@
<resources>
<string name="app_name">[DEBUG] Rocket.Chat Experimental</string>
<string name="share_extension_name">[DEBUG] Rocket.Chat Experimental</string>
</resources>

View File

@ -31,7 +31,9 @@ FLIPPER_VERSION=0.75.1
# Application ID
APPLICATION_ID=chat.rocket.reactnative
# App properties
VERSIONCODE=999999999
BugsnagAPIKey=""
VERSIONCODE=1
BugsnagAPIKey=""
KEYSTORE=my-upload-key.keystore
KEY_ALIAS=my-key-alias
KEYSTORE_PASSWORD=
KEY_PASSWORD=

View File

@ -1,5 +1,8 @@
{
"name": "RocketChatRN",
"share": "ShareRocketChatRN",
"displayName": "RocketChatRN"
"displayName": "RocketChatRN",
"server": "https://open.rocket.chat",
"appGroup": "group.ios.chat.rocket",
"appStoreID": "1272915472"
}

View File

@ -3,7 +3,7 @@ import RNBootSplash from 'react-native-bootsplash';
import { BIOMETRY_ENABLED_KEY, CURRENT_SERVER, TOKEN_KEY } from '../lib/constants';
import UserPreferences from '../lib/methods/userPreferences';
import { selectServerRequest } from '../actions/server';
import { selectServerRequest, serverRequest } from '../actions/server';
import { setAllPreferences } from '../actions/sortPreferences';
import { APP } from '../actions/actionsTypes';
import log from '../lib/methods/helpers/log';
@ -13,6 +13,8 @@ import { appReady, appStart } from '../actions/app';
import { RootEnum } from '../definitions';
import { getSortPreferences } from '../lib/methods';
import appConfig from '../../app.json';
export const initLocalSettings = function* initLocalSettings() {
const sortPreferences = getSortPreferences();
yield put(setAllPreferences(sortPreferences));
@ -22,8 +24,8 @@ const BIOMETRY_MIGRATION_KEY = 'kBiometryMigration';
const restore = function* restore() {
try {
const server = UserPreferences.getString(CURRENT_SERVER);
let userId = UserPreferences.getString(`${TOKEN_KEY}-${server}`);
// const server = UserPreferences.getString(CURRENT_SERVER);
// let userId = UserPreferences.getString(`${TOKEN_KEY}-${server}`);
// Migration biometry setting from WatermelonDB to MMKV
// TODO: remove it after a few versions
@ -37,23 +39,30 @@ const restore = function* restore() {
UserPreferences.setBool(BIOMETRY_MIGRATION_KEY, true);
}
if (!server) {
yield put(appStart({ root: RootEnum.ROOT_OUTSIDE }));
} else if (!userId) {
const serversDB = database.servers;
const serversCollection = serversDB.get('servers');
const servers = yield serversCollection.query().fetch();
// if (!server) {
// yield put(appStart({ root: RootEnum.ROOT_OUTSIDE }));
// } else if (!userId) {
// const serversDB = database.servers;
// const serversCollection = serversDB.get('servers');
// const servers = yield serversCollection.query().fetch();
// Check if there're other logged in servers and picks first one
if (servers.length > 0) {
for (let i = 0; i < servers.length; i += 1) {
const newServer = servers[i].id;
userId = UserPreferences.getString(`${TOKEN_KEY}-${newServer}`);
if (userId) {
return yield put(selectServerRequest(newServer));
}
}
}
// // Check if there're other logged in servers and picks first one
// if (servers.length > 0) {
// for (let i = 0; i < servers.length; i += 1) {
// const newServer = servers[i].id;
// userId = UserPreferences.getString(`${TOKEN_KEY}-${newServer}`);
// if (userId) {
// return yield put(selectServerRequest(newServer));
// }
// }
// }
const { server } = appConfig;
const userId = UserPreferences.getString(`${TOKEN_KEY}-${server}`);
if (!userId) {
UserPreferences.removeItem(TOKEN_KEY);
UserPreferences.removeItem(CURRENT_SERVER);
yield put(serverRequest(appConfig.server));
yield put(appStart({ root: RootEnum.ROOT_OUTSIDE }));
} else {
const serversDB = database.servers;

View File

@ -4,7 +4,7 @@ import { Q } from '@nozbe/watermelondb';
import * as types from '../actions/actionsTypes';
import { appStart } from '../actions/app';
import { selectServerRequest, serverFinishAdd } from '../actions/server';
import { selectServerRequest, serverFinishAdd, serverRequest } from '../actions/server';
import { loginFailure, loginSuccess, logout as logoutAction, setUser } from '../actions/login';
import { roomsRequest } from '../actions/rooms';
import log, { events, logEvent } from '../lib/methods/helpers/log';
@ -37,6 +37,8 @@ import {
} from '../lib/methods';
import { Services } from '../lib/services';
import appConfig from '../../app.json';
const getServer = state => state.server.server;
const loginWithPasswordCall = args => Services.loginWithPassword(args);
const loginCall = (credentials, isFromWebView) => Services.login(credentials, isFromWebView);
@ -202,33 +204,17 @@ const handleLogout = function* handleLogout({ forcedByServer, message }) {
try {
yield call(logoutCall, { server });
yield put(appStart({ root: RootEnum.ROOT_OUTSIDE }));
yield put(serverRequest(appConfig.server));
// if the user was logged out by the server
if (forcedByServer) {
yield put(appStart({ root: RootEnum.ROOT_OUTSIDE }));
// yield put(appStart({ root: RootEnum.ROOT_OUTSIDE }));
if (message) {
showErrorAlert(I18n.t(message), I18n.t('Oops'));
}
yield delay(300);
EventEmitter.emit('NewServer', { server });
} else {
const serversDB = database.servers;
// all servers
const serversCollection = serversDB.get('servers');
const servers = yield serversCollection.query().fetch();
// see if there're other logged in servers and selects first one
if (servers.length > 0) {
for (let i = 0; i < servers.length; i += 1) {
const newServer = servers[i].id;
const token = UserPreferences.getString(`${TOKEN_KEY}-${newServer}`);
if (token) {
yield put(selectServerRequest(newServer));
return;
}
}
}
// if there's no servers, go outside
yield put(appStart({ root: RootEnum.ROOT_OUTSIDE }));
}
} catch (e) {
yield put(appStart({ root: RootEnum.ROOT_OUTSIDE }));

View File

@ -5,7 +5,7 @@ import { connect } from 'react-redux';
import { ThemeContext } from '../theme';
import { ModalAnimation, StackAnimation, defaultHeader, themedHeader } from '../lib/methods/helpers/navigation';
// Outside Stack
import NewServerView from '../views/NewServerView';
// import NewServerView from '../views/NewServerView';
import WorkspaceView from '../views/WorkspaceView';
import LoginView from '../views/LoginView';
import ForgotPasswordView from '../views/ForgotPasswordView';
@ -22,7 +22,7 @@ const _OutsideStack = () => {
return (
<Outside.Navigator screenOptions={{ ...defaultHeader, ...themedHeader(theme), ...StackAnimation } as StackNavigationOptions}>
<Outside.Screen name='NewServerView' component={NewServerView} options={NewServerView.navigationOptions} />
{/* <Outside.Screen name='NewServerView' component={NewServerView} options={NewServerView.navigationOptions} /> */}
<Outside.Screen name='WorkspaceView' component={WorkspaceView} options={WorkspaceView.navigationOptions} />
<Outside.Screen name='LoginView' component={LoginView} options={LoginView.navigationOptions} />
<Outside.Screen name='ForgotPasswordView' component={ForgotPasswordView} options={ForgotPasswordView.navigationOptions} />

View File

@ -3,7 +3,7 @@ import { StyleSheet, Text, TextInputProps, TouchableOpacity, TouchableOpacityPro
import I18n from '../../../i18n';
import sharedStyles from '../../Styles';
import { CustomIcon } from '../../../containers/CustomIcon';
// import { CustomIcon } from '../../../containers/CustomIcon';
import { isIOS, isTablet } from '../../../lib/methods/helpers';
import { useOrientation } from '../../../dimensions';
import { useTheme } from '../../../theme';
@ -49,10 +49,10 @@ const Header = React.memo(
isFetching,
serverName = 'Rocket.Chat',
server,
showServerDropdown,
// showServerDropdown,
showSearchHeader,
onSearchChangeText,
onPress
onSearchChangeText
// onPress
}: IRoomHeader) => {
const { colors } = useTheme();
const { isLandscape } = useOrientation();
@ -75,27 +75,27 @@ const Header = React.memo(
}
return (
<View style={styles.container}>
<TouchableOpacity onPress={onPress} testID='rooms-list-header-server-dropdown-button'>
<View style={styles.button}>
<Text style={[styles.title, { fontSize: titleFontSize, color: colors.headerTitleColor }]} numberOfLines={1}>
{serverName}
</Text>
<CustomIcon
name='chevron-down'
color={colors.headerTintColor}
style={[showServerDropdown && styles.upsideDown]}
size={18}
/>
</View>
{subtitle ? (
<Text
testID='rooms-list-header-server-subtitle'
style={[styles.subtitle, { color: colors.auxiliaryText, fontSize: subTitleFontSize }]}
numberOfLines={1}>
{subtitle}
</Text>
) : null}
</TouchableOpacity>
{/* <TouchableOpacity onPress={onPress} testID='rooms-list-header-server-dropdown-button'> */}
<View style={styles.button}>
<Text style={[styles.title, { fontSize: titleFontSize, color: colors.headerTitleColor }]} numberOfLines={1}>
{serverName}
</Text>
{/* <CustomIcon
name='chevron-down'
color={colors.headerTintColor}
style={[showServerDropdown && styles.upsideDown]}
size={18}
/> */}
</View>
{subtitle ? (
<Text
testID='rooms-list-header-server-subtitle'
style={[styles.subtitle, { color: colors.auxiliaryText, fontSize: subTitleFontSize }]}
numberOfLines={1}>
{subtitle}
</Text>
) : null}
{/* </TouchableOpacity> */}
</View>
);
}

View File

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>115198584049-0efgfvm0oh9ap55g7epmqnjm27mq3j4e.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.115198584049-0efgfvm0oh9ap55g7epmqnjm27mq3j4e</string>
<key>API_KEY</key>
<string>AIzaSyDEMLMz0En0vwFBlLSQkQ9oyhmCMPcpZxc</string>
<key>GCM_SENDER_ID</key>
<string>115198584049</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>chat.rocket.reactnative</string>
<key>PROJECT_ID</key>
<string>rocketchat-reactnative-test</string>
<key>STORAGE_BUCKET</key>
<string>rocketchat-reactnative-test.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:115198584049:ios:8be27b1f7c42a2ed</string>
<key>DATABASE_URL</key>
<string>https://rocketchat-reactnative-test.firebaseio.com</string>
</dict>
</plist>

View File

@ -47,7 +47,6 @@
1E598AE925151A63002BDFBD /* SendMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE825151A63002BDFBD /* SendMessage.swift */; };
1E67380424DC529B0009E081 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E67380324DC529B0009E081 /* String+Extensions.swift */; };
1E680ED92512990700C9257A /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E680ED82512990700C9257A /* Request.swift */; };
1E6CC61F2513DBF400965591 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7A006F13229C83B600803143 /* GoogleService-Info.plist */; };
1E76CBC2251529560067298C /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EB8EF712510F1EE00F352B7 /* Storage.swift */; };
1E76CBC325152A460067298C /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E67380324DC529B0009E081 /* String+Extensions.swift */; };
1E76CBC725152BFF0067298C /* Payload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E01C8262511303900FEF824 /* Payload.swift */; };
@ -75,7 +74,6 @@
1EC6ACBB22CB9FC300A41C61 /* ShareRocketChatRN.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 1EC6ACB022CB9FC300A41C61 /* ShareRocketChatRN.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
1EC6ACF622CBA01500A41C61 /* ShareRocketChatRN.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EC6ACF522CBA01500A41C61 /* ShareRocketChatRN.m */; };
1ED00BB12513E04400A1331F /* ReplyNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ED00BB02513E04400A1331F /* ReplyNotification.swift */; };
1ED59D4C22CBA77D00C54289 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1ED59D4B22CBA77D00C54289 /* GoogleService-Info.plist */; };
1EF5FBD1250C109E00614FEA /* Encryption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF5FBD0250C109E00614FEA /* Encryption.swift */; };
1EFEB5982493B6640072EDC0 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EFEB5972493B6640072EDC0 /* NotificationService.swift */; };
1EFEB59C2493B6640072EDC0 /* NotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 1EFEB5952493B6640072EDC0 /* NotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
@ -251,7 +249,6 @@
1EC6ACF522CBA01500A41C61 /* ShareRocketChatRN.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareRocketChatRN.m; sourceTree = "<group>"; };
1EC6AD6022CBA20C00A41C61 /* ShareRocketChatRN.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ShareRocketChatRN.entitlements; sourceTree = "<group>"; };
1ED00BB02513E04400A1331F /* ReplyNotification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplyNotification.swift; sourceTree = "<group>"; };
1ED59D4B22CBA77D00C54289 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = SOURCE_ROOT; };
1EF5FBD0250C109E00614FEA /* Encryption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Encryption.swift; sourceTree = "<group>"; };
1EFEB5952493B6640072EDC0 /* NotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = NotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; };
1EFEB5972493B6640072EDC0 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; };
@ -346,7 +343,6 @@
13B07FAE1A68108700A75B9A /* RocketChatRN */ = {
isa = PBXGroup;
children = (
7A006F13229C83B600803143 /* GoogleService-Info.plist */,
60B2A6A31FC4588700BD58E5 /* RocketChatRN.entitlements */,
008F07F21AC5B25A0029DE68 /* main.jsbundle */,
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
@ -445,7 +441,6 @@
1EC6ACB122CB9FC300A41C61 /* ShareRocketChatRN */ = {
isa = PBXGroup;
children = (
1ED59D4B22CBA77D00C54289 /* GoogleService-Info.plist */,
1EC6AD6022CBA20C00A41C61 /* ShareRocketChatRN.entitlements */,
1EC6ACB522CB9FC300A41C61 /* MainInterface.storyboard */,
1EC6ACB822CB9FC300A41C61 /* Info.plist */,
@ -733,7 +728,6 @@
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
7A610CD227ECE38100B8ABDD /* custom.ttf in Resources */,
7A14FCED257FEB3A005BDCD4 /* Experimental.xcassets in Resources */,
7A006F14229C83B600803143 /* GoogleService-Info.plist in Resources */,
7A0D62D2242AB187006D5C06 /* LaunchScreen.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -744,7 +738,6 @@
files = (
7A610CD327ECE38100B8ABDD /* custom.ttf in Resources */,
1EC6ACB722CB9FC300A41C61 /* MainInterface.storyboard in Resources */,
1ED59D4C22CBA77D00C54289 /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1573,7 +1566,7 @@
"$(inherited)",
"$(SRCROOT)/../node_modules/rn-extensions-share/ios/**",
"$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**",
"$PODS_CONFIGURATION_BUILD_DIR/Firebase",
$PODS_CONFIGURATION_BUILD_DIR/Firebase,
);
INFOPLIST_FILE = ShareRocketChatRN/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
@ -1639,7 +1632,7 @@
"$(inherited)",
"$(SRCROOT)/../node_modules/rn-extensions-share/ios/**",
"$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**",
"$PODS_CONFIGURATION_BUILD_DIR/Firebase",
$PODS_CONFIGURATION_BUILD_DIR/Firebase,
);
INFOPLIST_FILE = ShareRocketChatRN/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;

View File

@ -0,0 +1,128 @@
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */
import React from 'react';
import { storiesOf } from '@storybook/react-native';
import { View } from 'react-native';
import * as HeaderButton from '../../app/containers/HeaderButton';
import Header from '../../app/containers/Header';
import { ThemeContext } from '../../app/theme';
const stories = storiesOf('Header Buttons', module);
const HeaderExample = ({ left, right }) => (
<Header headerLeft={left} headerTitle={() => <View style={{ flex: 1 }} />} headerRight={right} />
);
stories.add('title', () => (
<>
<HeaderExample
left={() => (
<HeaderButton.Container left>
<HeaderButton.Item title='threads' />
</HeaderButton.Container>
)}
right={() => (
<HeaderButton.Container>
<HeaderButton.Item title='threads' />
</HeaderButton.Container>
)}
/>
<HeaderExample
left={() => (
<HeaderButton.Container left>
<HeaderButton.Item title='threads' />
<HeaderButton.Item title='search' />
</HeaderButton.Container>
)}
right={() => (
<HeaderButton.Container>
<HeaderButton.Item title='threads' />
<HeaderButton.Item title='search' />
</HeaderButton.Container>
)}
/>
</>
));
stories.add('icons', () => (
<>
<HeaderExample
left={() => (
<HeaderButton.Container left>
<HeaderButton.Item iconName='threads' />
</HeaderButton.Container>
)}
right={() => (
<HeaderButton.Container>
<HeaderButton.Item iconName='threads' />
</HeaderButton.Container>
)}
/>
<HeaderExample
left={() => (
<HeaderButton.Container left>
<HeaderButton.Item iconName='threads' />
<HeaderButton.Item iconName='search' />
</HeaderButton.Container>
)}
right={() => (
<HeaderButton.Container>
<HeaderButton.Item iconName='threads' />
<HeaderButton.Item iconName='search' />
</HeaderButton.Container>
)}
/>
</>
));
stories.add('badge', () => (
<>
<HeaderExample
left={() => (
<HeaderButton.Container left>
<HeaderButton.Item iconName='threads' badge={() => <HeaderButton.Badge tunread={[1]} />} />
<HeaderButton.Item iconName='threads' badge={() => <HeaderButton.Badge tunread={[1]} tunreadUser={[1]} />} />
<HeaderButton.Item iconName='threads' badge={() => <HeaderButton.Badge tunread={[1]} tunreadGroup={[1]} />} />
</HeaderButton.Container>
)}
/>
</>
));
const ThemeStory = ({ theme }) => (
<ThemeContext.Provider value={{ theme }}>
<HeaderExample
left={() => (
<HeaderButton.Container left>
<HeaderButton.Item iconName='threads' />
</HeaderButton.Container>
)}
right={() => (
<HeaderButton.Container>
<HeaderButton.Item title='Threads' />
<HeaderButton.Item iconName='threads' badge={() => <HeaderButton.Badge tunread={[1]} />} />
</HeaderButton.Container>
)}
/>
</ThemeContext.Provider>
);
stories.add('themes', () => (
<>
<ThemeStory theme='light' />
<ThemeStory theme='dark' />
<ThemeStory theme='black' />
</>
));
stories.add('common', () => (
<>
<HeaderExample left={() => <HeaderButton.Drawer />} />
<HeaderExample left={() => <HeaderButton.CloseModal />} />
<HeaderExample left={() => <HeaderButton.CancelModal />} />
<HeaderExample right={() => <HeaderButton.More />} />
<HeaderExample right={() => <HeaderButton.Download />} />
<HeaderExample right={() => <HeaderButton.Preferences />} />
<HeaderExample right={() => <HeaderButton.Legal />} />
</>
));

161
yarn.lock
View File

@ -2587,6 +2587,30 @@
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
"@babel/types@^7.12.17", "@babel/types@^7.15.4", "@babel/types@^7.15.6":
version "7.15.6"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f"
integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==
dependencies:
"@babel/helper-validator-identifier" "^7.14.9"
to-fast-properties "^2.0.0"
"@babel/types@^7.14.5", "@babel/types@^7.4.0":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff"
integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==
dependencies:
"@babel/helper-validator-identifier" "^7.14.5"
to-fast-properties "^2.0.0"
"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0":
version "7.17.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
dependencies:
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@ -5732,6 +5756,17 @@ array-includes@^3.0.3, array-includes@^3.1.1, array-includes@^3.1.3, array-inclu
get-intrinsic "^1.1.1"
is-string "^1.0.7"
array-includes@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a"
integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.18.0-next.2"
get-intrinsic "^1.1.1"
is-string "^1.0.5"
array-map@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
@ -5791,6 +5826,16 @@ array.prototype.flatmap@^1.2.1, array.prototype.flatmap@^1.3.0:
es-abstract "^1.19.2"
es-shim-unscopables "^1.0.0"
array.prototype.flatmap@^1.2.3:
version "1.2.4"
resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9"
integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==
dependencies:
call-bind "^1.0.0"
define-properties "^1.1.3"
es-abstract "^1.18.0-next.1"
function-bind "^1.1.1"
array.prototype.map@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec"
@ -6384,6 +6429,11 @@ base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.0, base64-j
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.0, base64-js@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
@ -9032,6 +9082,11 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
estraverse@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@ -10078,6 +10133,18 @@ glob@7.1.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@7.1.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@7.1.7, glob@^7.0.0, glob@^7.1.6:
version "7.1.7"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
@ -10762,6 +10829,15 @@ internal-slot@^1.0.3:
has "^1.0.3"
side-channel "^1.0.4"
internal-slot@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
dependencies:
get-intrinsic "^1.1.0"
has "^1.0.3"
side-channel "^1.0.4"
interpret@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
@ -12286,6 +12362,11 @@ json5@^2.1.2:
dependencies:
minimist "^1.2.5"
json5@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
jsonfile@^2.1.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
@ -12572,6 +12653,11 @@ lodash.debounce@^4.0.8:
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
lodash.frompairs@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz#bc4e5207fa2757c136e573614e9664506b2b1bd2"
integrity sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=
lodash.includes@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
@ -12587,6 +12673,11 @@ lodash.isplainobject@^4.0.6:
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
lodash.isstring@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
@ -13370,6 +13461,11 @@ moment@2.29.3, moment@2.x.x, moment@^2.19.3, moment@^2.24.0:
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3"
integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==
moment@2.x.x:
version "2.26.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.26.0.tgz#5e1f82c6bafca6e83e808b30c8705eed0dcbd39a"
integrity sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@ -13719,7 +13815,7 @@ ob1@0.64.0:
resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.64.0.tgz#f254a55a53ca395c4f9090e28a85483eac5eba19"
integrity sha512-CO1N+5dhvy+MoAwxz8+fymEUcwsT4a+wHhrHFb02LppcJdHxgcBWviwEhUwKOD2kLMQ7ijrrzybOqpGcqEtvpQ==
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@ -13806,6 +13902,16 @@ object.entries@^1.1.0, object.entries@^1.1.5:
define-properties "^1.1.3"
es-abstract "^1.19.1"
object.fromentries@^2.0.2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8"
integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.18.0-next.2"
has "^1.0.3"
object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
@ -13838,6 +13944,15 @@ object.values@^1.1.0, object.values@^1.1.1, object.values@^1.1.4, object.values@
define-properties "^1.1.3"
es-abstract "^1.19.1"
object.values@^1.1.1, object.values@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30"
integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.18.2"
omggif@^1.0.10, omggif@^1.0.9:
version "1.0.10"
resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19"
@ -15223,6 +15338,11 @@ react-native-iphone-x-helper@^1.0.3:
resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.2.1.tgz#645e2ffbbb49e80844bb4cbbe34a126fda1e6772"
integrity sha512-/VbpIEp8tSNNHIvstuA3Swx610whci1Zpc9mqNkqn14DkMbw+ORviln2u0XyHG1kPvvwTNGZY6QpeFwxYaSdbQ==
react-native-iphone-x-helper@^1.3.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz#20c603e9a0e765fd6f97396638bdeb0e5a60b010"
integrity sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==
react-native-jitsi-meet@RocketChat/react-native-jitsi-meet:
version "3.6.0"
resolved "https://codeload.github.com/RocketChat/react-native-jitsi-meet/tar.gz/90bae9b9d779c13829d7dc618e31d11dba60140d"
@ -15885,10 +16005,10 @@ regexpp@^3.1.0:
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
regexpu-core@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==
regexpu-core@^4.7.1:
version "4.7.1"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6"
integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==
dependencies:
regenerate "^1.4.0"
regenerate-unicode-properties "^8.2.0"
@ -16571,6 +16691,15 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
side-channel@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
dependencies:
call-bind "^1.0.0"
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
@ -17044,6 +17173,20 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0:
regexp.prototype.flags "^1.4.1"
side-channel "^1.0.4"
string.prototype.matchall@^4.0.2:
version "4.0.5"
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da"
integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.18.2"
get-intrinsic "^1.1.1"
has-symbols "^1.0.2"
internal-slot "^1.0.3"
regexp.prototype.flags "^1.3.1"
side-channel "^1.0.4"
string.prototype.padend@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz#dc08f57a8010dc5c153550318f67e13adbb72ac3"
@ -18078,6 +18221,14 @@ url-parse@1.5.10, url-parse@^1.2.0, url-parse@^1.4.3, url-parse@^1.4.4:
querystringify "^2.1.1"
requires-port "^1.0.0"
url-parse@^1.4.3:
version "1.5.1"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"