Merge branch 'develop' into 4.36.0-single-server

This commit is contained in:
Diego Mello 2023-03-02 11:21:23 -03:00
commit d005ed6ee7
60 changed files with 1103 additions and 737 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -147,7 +147,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode VERSIONCODE as Integer versionCode VERSIONCODE as Integer
versionName "4.35.1" versionName "4.36.0"
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
if (!isFoss) { if (!isFoss) {
manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String] manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String]

View File

@ -12,14 +12,8 @@
<uses-permission android:name="android.permission.AUDIO_CAPTURE" /> <uses-permission android:name="android.permission.AUDIO_CAPTURE" />
<!-- permissions related to jitsi call --> <!-- permissions related to jitsi call -->
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" /> <uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" android:usesPermissionFlags="neverForLocation" tools:targetApi="s" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="28"/>
<uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION" tools:targetApi="Q"/>
<application <application
android:name="chat.rocket.reactnative.MainApplication" android:name="chat.rocket.reactnative.MainApplication"
android:allowBackup="false" android:allowBackup="false"

View File

@ -40,7 +40,14 @@ export const INQUIRY = createRequestTypes('INQUIRY', [
'QUEUE_UPDATE', 'QUEUE_UPDATE',
'QUEUE_REMOVE' 'QUEUE_REMOVE'
]); ]);
export const APP = createRequestTypes('APP', ['START', 'READY', 'INIT', 'INIT_LOCAL_SETTINGS', 'SET_MASTER_DETAIL']); export const APP = createRequestTypes('APP', [
'START',
'READY',
'INIT',
'INIT_LOCAL_SETTINGS',
'SET_MASTER_DETAIL',
'SET_NOTIFICATION_PRESENCE_CAP'
]);
export const MESSAGES = createRequestTypes('MESSAGES', ['REPLY_BROADCAST']); export const MESSAGES = createRequestTypes('MESSAGES', ['REPLY_BROADCAST']);
export const CREATE_CHANNEL = createRequestTypes('CREATE_CHANNEL', [...defaultTypes]); export const CREATE_CHANNEL = createRequestTypes('CREATE_CHANNEL', [...defaultTypes]);
export const CREATE_DISCUSSION = createRequestTypes('CREATE_DISCUSSION', [...defaultTypes]); export const CREATE_DISCUSSION = createRequestTypes('CREATE_DISCUSSION', [...defaultTypes]);

View File

@ -12,7 +12,11 @@ interface ISetMasterDetail extends Action {
isMasterDetail: boolean; isMasterDetail: boolean;
} }
export type TActionApp = IAppStart & ISetMasterDetail; interface ISetNotificationPresenceCap extends Action {
show: boolean;
}
export type TActionApp = IAppStart & ISetMasterDetail & ISetNotificationPresenceCap;
interface Params { interface Params {
root: RootEnum; root: RootEnum;
@ -51,3 +55,10 @@ export function setMasterDetail(isMasterDetail: boolean): ISetMasterDetail {
isMasterDetail isMasterDetail
}; };
} }
export function setNotificationPresenceCap(show: boolean): ISetNotificationPresenceCap {
return {
type: APP.SET_NOTIFICATION_PRESENCE_CAP,
show
};
}

View File

@ -1,4 +1,5 @@
export const mappedIcons = { export const mappedIcons = {
'status-disabled': 59837,
'lamp-bulb': 59836, 'lamp-bulb': 59836,
'phone-in': 59835, 'phone-in': 59835,
'basketball': 59776, 'basketball': 59776,

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,7 @@
import React from 'react'; import React from 'react';
import { StyleSheet } from 'react-native'; import { StyleSheet, View } from 'react-native';
import { STATUS_COLORS } from '../../lib/constants';
import UnreadBadge from '../UnreadBadge'; import UnreadBadge from '../UnreadBadge';
const styles = StyleSheet.create({ const styles = StyleSheet.create({
@ -15,6 +16,8 @@ const styles = StyleSheet.create({
} }
}); });
export const Badge = ({ ...props }): React.ReactElement => <UnreadBadge {...props} style={styles.badgeContainer} small />; export const BadgeUnread = ({ ...props }): React.ReactElement => <UnreadBadge {...props} style={styles.badgeContainer} small />;
export default Badge; export const BadgeWarn = (): React.ReactElement => (
<View style={[styles.badgeContainer, { width: 10, height: 10, backgroundColor: STATUS_COLORS.disabled }]} />
);

View File

@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import { View } from 'react-native';
import { Header, HeaderBackground } from '@react-navigation/elements'; import { Header, HeaderBackground } from '@react-navigation/elements';
import { NavigationContainer } from '@react-navigation/native'; import { NavigationContainer } from '@react-navigation/native';
import { SafeAreaProvider } from 'react-native-safe-area-context'; import { SafeAreaProvider } from 'react-native-safe-area-context';
@ -103,9 +104,10 @@ export const Badge = () => (
<HeaderExample <HeaderExample
left={() => ( left={() => (
<HeaderButton.Container left> <HeaderButton.Container left>
<HeaderButton.Item iconName='threads' badge={() => <HeaderButton.Badge tunread={[1]} />} /> <HeaderButton.Item iconName='threads' badge={() => <HeaderButton.BadgeUnread tunread={[1]} />} />
<HeaderButton.Item iconName='threads' badge={() => <HeaderButton.Badge tunread={[1]} tunreadUser={[1]} />} /> <HeaderButton.Item iconName='threads' badge={() => <HeaderButton.BadgeUnread tunread={[1]} tunreadUser={[1]} />} />
<HeaderButton.Item iconName='threads' badge={() => <HeaderButton.Badge tunread={[1]} tunreadGroup={[1]} />} /> <HeaderButton.Item iconName='threads' badge={() => <HeaderButton.BadgeUnread tunread={[1]} tunreadGroup={[1]} />} />
<HeaderButton.Drawer badge={() => <HeaderButton.BadgeWarn />} />
</HeaderButton.Container> </HeaderButton.Container>
)} )}
/> />
@ -114,20 +116,23 @@ export const Badge = () => (
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => ( const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
<ThemeContext.Provider value={{ theme, colors: colors[theme] }}> <ThemeContext.Provider value={{ theme, colors: colors[theme] }}>
<HeaderExample <View style={{ flexDirection: 'column' }}>
left={() => ( <HeaderExample
<HeaderButton.Container left> left={() => (
<HeaderButton.Item iconName='threads' /> <HeaderButton.Container left>
</HeaderButton.Container> <HeaderButton.Drawer badge={() => <HeaderButton.BadgeWarn />} />
)} <HeaderButton.Item iconName='threads' />
right={() => ( </HeaderButton.Container>
<HeaderButton.Container> )}
<HeaderButton.Item title='Threads' /> right={() => (
<HeaderButton.Item iconName='threads' badge={() => <HeaderButton.Badge tunread={[1]} />} /> <HeaderButton.Container>
</HeaderButton.Container> <HeaderButton.Item title='Threads' />
)} <HeaderButton.Item iconName='threads' badge={() => <HeaderButton.BadgeUnread tunread={[1]} />} />
colors={colors[theme]} </HeaderButton.Container>
/> )}
colors={colors[theme]}
/>
</View>
</ThemeContext.Provider> </ThemeContext.Provider>
); );

View File

@ -1,4 +1,4 @@
export { default as Container } from './HeaderButtonContainer'; export { default as Container } from './HeaderButtonContainer';
export { default as Item } from './HeaderButtonItem'; export { default as Item } from './HeaderButtonItem';
export { default as Badge } from './HeaderButtonItemBadge'; export * from './HeaderButtonItemBadge';
export * from './Common'; export * from './Common';

View File

@ -1062,7 +1062,7 @@ class MessageBox extends Component<IMessageBoxProps, IMessageBoxState> {
}; };
formatReplyMessage = async (replyingMessage: IMessage, message = '') => { formatReplyMessage = async (replyingMessage: IMessage, message = '') => {
const { user, roomType, replyWithMention } = this.props; const { user, roomType, replyWithMention, serverVersion } = this.props;
const permalink = await this.getPermalink(replyingMessage); const permalink = await this.getPermalink(replyingMessage);
let msg = `[ ](${permalink}) `; let msg = `[ ](${permalink}) `;
@ -1071,7 +1071,8 @@ class MessageBox extends Component<IMessageBoxProps, IMessageBoxState> {
msg += `@${replyingMessage?.u?.username} `; msg += `@${replyingMessage?.u?.username} `;
} }
return `${msg} ${message}`; const connectionString = compareServerVersion(serverVersion, 'lowerThan', '5.0.0') ? ' ' : '\n';
return `${msg}${connectionString}${message}`;
}; };
updateMentions = (keyword: any, type: string) => { updateMentions = (keyword: any, type: string) => {

View File

@ -46,6 +46,7 @@ const RoomHeaderContainer = React.memo(
const connecting = useSelector((state: IApplicationState) => state.meteor.connecting || state.server.loading); const connecting = useSelector((state: IApplicationState) => state.meteor.connecting || state.server.loading);
const usersTyping = useSelector((state: IApplicationState) => state.usersTyping, shallowEqual); const usersTyping = useSelector((state: IApplicationState) => state.usersTyping, shallowEqual);
const connected = useSelector((state: IApplicationState) => state.meteor.connected); const connected = useSelector((state: IApplicationState) => state.meteor.connected);
const presenceDisabled = useSelector((state: IApplicationState) => state.settings.Presence_broadcast_disabled);
const activeUser = useSelector( const activeUser = useSelector(
(state: IApplicationState) => (roomUserId ? state.activeUsers?.[roomUserId] : undefined), (state: IApplicationState) => (roomUserId ? state.activeUsers?.[roomUserId] : undefined),
shallowEqual shallowEqual
@ -61,9 +62,13 @@ const RoomHeaderContainer = React.memo(
if (connected) { if (connected) {
if ((type === 'd' || (tmid && roomUserId)) && activeUser) { if ((type === 'd' || (tmid && roomUserId)) && activeUser) {
const { status: statusActiveUser, statusText: statusTextActiveUser } = activeUser; if (presenceDisabled) {
status = statusActiveUser; status = 'disabled';
statusText = statusTextActiveUser; } else {
const { status: statusActiveUser, statusText: statusTextActiveUser } = activeUser;
status = statusActiveUser;
statusText = statusTextActiveUser;
}
} else if (type === 'l' && visitor?.status) { } else if (type === 'l' && visitor?.status) {
const { status: statusVisitor } = visitor; const { status: statusVisitor } = visitor;
status = statusVisitor; status = statusVisitor;

View File

@ -65,6 +65,7 @@ export const UserStatus = () => (
<RoomItem status='busy' /> <RoomItem status='busy' />
<RoomItem status='offline' /> <RoomItem status='offline' />
<RoomItem status='loading' /> <RoomItem status='loading' />
<RoomItem status='disabled' />
<RoomItem status='wrong' /> <RoomItem status='wrong' />
</> </>
); );

View File

@ -8,11 +8,17 @@ export const useUserStatus = (
id?: string id?: string
): { connected: boolean; status: TUserStatus } => { ): { connected: boolean; status: TUserStatus } => {
const connected = useAppSelector(state => state.meteor.connected); const connected = useAppSelector(state => state.meteor.connected);
const presenceDisabled = useAppSelector(state => state.settings.Presence_broadcast_disabled);
const userStatus = useAppSelector(state => state.activeUsers[id || '']?.status); const userStatus = useAppSelector(state => state.activeUsers[id || '']?.status);
let status = 'loading'; let status = 'loading';
if (connected) { if (connected) {
if (type === 'd') { if (type === 'd') {
status = userStatus || 'loading'; if (presenceDisabled) {
status = 'disabled';
} else {
status = userStatus || 'loading';
}
} else if (type === 'l' && liveChatStatus) { } else if (type === 'l' && liveChatStatus) {
status = liveChatStatus; status = liveChatStatus;
} }

View File

@ -1,4 +1,4 @@
import React from 'react'; import React, { useState } from 'react';
import { StyleProp, ViewStyle } from 'react-native'; import { StyleProp, ViewStyle } from 'react-native';
import { SvgUri } from 'react-native-svg'; import { SvgUri } from 'react-native-svg';
@ -29,22 +29,12 @@ interface IOmnichannelRoomIconProps {
} }
export const OmnichannelRoomIcon = ({ size, style, sourceType, status }: IOmnichannelRoomIconProps) => { export const OmnichannelRoomIcon = ({ size, style, sourceType, status }: IOmnichannelRoomIconProps) => {
const [loading, setLoading] = useState(true);
const [svgError, setSvgError] = useState(false);
const baseUrl = useAppSelector(state => state.server?.server); const baseUrl = useAppSelector(state => state.server?.server);
const connected = useAppSelector(state => state.meteor?.connected); const connected = useAppSelector(state => state.meteor?.connected);
if (sourceType?.type === OmnichannelSourceType.APP && sourceType.id && sourceType.sidebarIcon && connected) { const customIcon = (
return (
<SvgUri
height={size}
width={size}
color={STATUS_COLORS[status || 'offline']}
uri={`${baseUrl}/api/apps/public/${sourceType.id}/get-sidebar-icon?icon=${sourceType.sidebarIcon}`}
style={style}
/>
);
}
return (
<CustomIcon <CustomIcon
name={iconMap[sourceType?.type || 'other']} name={iconMap[sourceType?.type || 'other']}
size={size} size={size}
@ -52,4 +42,23 @@ export const OmnichannelRoomIcon = ({ size, style, sourceType, status }: IOmnich
color={STATUS_COLORS[status || 'offline']} color={STATUS_COLORS[status || 'offline']}
/> />
); );
if (!svgError && sourceType?.type === OmnichannelSourceType.APP && sourceType.id && sourceType.sidebarIcon && connected) {
return (
<>
<SvgUri
height={size}
width={size}
color={STATUS_COLORS[status || 'offline']}
uri={`${baseUrl}/api/apps/public/${sourceType.id}/get-sidebar-icon?icon=${sourceType.sidebarIcon}`}
style={style}
onError={() => setSvgError(true)}
onLoad={() => setLoading(false)}
/>
{loading ? customIcon : null}
</>
);
}
return customIcon;
}; };

View File

@ -6,9 +6,15 @@ import { IStatus } from './definition';
import { useAppSelector } from '../../lib/hooks'; import { useAppSelector } from '../../lib/hooks';
const StatusContainer = ({ id, style, size = 32, ...props }: Omit<IStatus, 'status'>): React.ReactElement => { const StatusContainer = ({ id, style, size = 32, ...props }: Omit<IStatus, 'status'>): React.ReactElement => {
const status = useAppSelector(state => const status = useAppSelector(state => {
state.meteor.connected ? state.activeUsers[id] && state.activeUsers[id].status : 'loading' if (state.settings.Presence_broadcast_disabled) {
) as TUserStatus; return 'disabled';
}
if (state.meteor.connected) {
return state.activeUsers[id] && state.activeUsers[id].status;
}
return 'loading';
}) as TUserStatus;
return <Status size={size} style={style} status={status} {...props} />; return <Status size={size} style={style} status={status} {...props} />;
}; };

View File

@ -18,13 +18,29 @@ import MarkdownContext from './MarkdownContext';
interface IParagraphProps { interface IParagraphProps {
value: ParagraphProps['value']; value: ParagraphProps['value'];
forceTrim?: boolean;
} }
const Inline = ({ value }: IParagraphProps): React.ReactElement | null => { const Inline = ({ value, forceTrim }: IParagraphProps): React.ReactElement | null => {
const { useRealName, username, navToRoomInfo, mentions, channels } = useContext(MarkdownContext); const { useRealName, username, navToRoomInfo, mentions, channels } = useContext(MarkdownContext);
return ( return (
<Text style={styles.inline}> <Text style={styles.inline}>
{value.map(block => { {value.map((block, index) => {
// We are forcing trim when is a `[ ](https://https://open.rocket.chat/) plain_text`
// to clean the empty spaces
if (forceTrim) {
if (index === 0 && block.type === 'LINK') {
block.value.label.value =
// Need to update the @rocket.chat/message-parser to understand that the label can be a Markup | Markup[]
// https://github.com/RocketChat/fuselage/blob/461ecf661d9ff4a46390957c915e4352fa942a7c/packages/message-parser/src/definitions.ts#L141
// @ts-ignore
block.value?.label?.value?.toString().trimLeft() || block?.value?.label?.[0]?.value?.toString().trimLeft();
}
if (index === 1 && block.type !== 'LINK') {
block.value = block.value?.toString().trimLeft();
}
}
switch (block.type) { switch (block.type) {
case 'IMAGE': case 'IMAGE':
return <Image value={block.value} />; return <Image value={block.value} />;

View File

@ -381,27 +381,6 @@ export const BlockQuote = () => (
</View> </View>
); );
const rocketChatLink = [
{
type: 'PARAGRAPH',
value: [
{
type: 'LINK',
value: {
src: {
type: 'PLAIN_TEXT',
value: 'https://rocket.chat'
},
label: {
type: 'PLAIN_TEXT',
value: 'https://rocket.chat'
}
}
}
]
}
];
const markdownLink = [ const markdownLink = [
{ {
type: 'PARAGRAPH', type: 'PARAGRAPH',
@ -487,7 +466,6 @@ const markdownLinkWithEmphasis = [
export const Links = () => ( export const Links = () => (
<View style={styles.container}> <View style={styles.container}>
<NewMarkdown tokens={rocketChatLink} />
<NewMarkdown tokens={markdownLink} /> <NewMarkdown tokens={markdownLink} />
<NewMarkdown tokens={markdownLinkWithEmphasis} /> <NewMarkdown tokens={markdownLinkWithEmphasis} />
</View> </View>
@ -806,3 +784,128 @@ export const InlineKatex = () => (
<NewMarkdown tokens={inlineKatex} /> <NewMarkdown tokens={inlineKatex} />
</View> </View>
); );
const messageQuote = {
/**
# Hello head 1
[ ](https://google.com)
*/
headAndLink: [
{ type: 'HEADING', level: 1, value: [{ type: 'PLAIN_TEXT', value: 'Hello head 1' }] },
{ type: 'LINE_BREAK' },
{
type: 'PARAGRAPH',
value: [
{
type: 'LINK',
value: { src: { type: 'PLAIN_TEXT', value: 'https://google.com' }, label: { type: 'PLAIN_TEXT', value: ' ' } }
}
]
}
],
/**
# Head 1 as the first line then line break and after paragraph
bla bla bla bla bla bla
bla bla bla bla bla bla
[ ](https://google.com)
*/
headTextAndLink: [
{
type: 'HEADING',
level: 1,
value: [{ type: 'PLAIN_TEXT', value: 'Head 1 as the first line then line break and after paragraph' }]
},
{ type: 'LINE_BREAK' },
{ type: 'PARAGRAPH', value: [{ type: 'PLAIN_TEXT', value: 'bla bla bla bla bla bla ' }] },
{ type: 'PARAGRAPH', value: [{ type: 'PLAIN_TEXT', value: 'bla bla bla bla bla bla ' }] },
{
type: 'PARAGRAPH',
value: [
{
type: 'LINK',
value: { src: { type: 'PLAIN_TEXT', value: 'https://google.com' }, label: { type: 'PLAIN_TEXT', value: ' ' } }
}
]
}
],
/**
[ ](permalink from message)\n# Head 1 after a forced line break
asdas asd asd asd
*/
headTextAndQuote: [
{
type: 'PARAGRAPH',
value: [
{
type: 'LINK',
value: {
src: { type: 'PLAIN_TEXT', value: 'https://open.rocket.chat/direct/subaru123?msg=QB42gWcaO6BgqtLTo' },
label: { type: 'PLAIN_TEXT', value: ' ' }
}
},
{ type: 'PLAIN_TEXT', value: ' ' }
]
},
{ type: 'HEADING', level: 1, value: [{ type: 'PLAIN_TEXT', value: 'Head 1 after a forced line break' }] },
{ type: 'LINE_BREAK' },
{ type: 'PARAGRAPH', value: [{ type: 'PLAIN_TEXT', value: 'Description' }] }
],
/**
[ ](https://google.com) *There is a link before this bold separated by single space*
*/
linkAndBoldText: [
{
type: 'PARAGRAPH',
value: [
{
type: 'LINK',
value: { src: { type: 'PLAIN_TEXT', value: 'https://google.com' }, label: { type: 'PLAIN_TEXT', value: ' ' } }
},
{ type: 'PLAIN_TEXT', value: ' ' },
{ type: 'BOLD', value: [{ type: 'PLAIN_TEXT', value: 'There is a link before this bold separated by single space' }] }
]
}
],
simpleQuote: [
{
type: 'PARAGRAPH',
value: [
{
type: 'LINK',
value: {
src: {
type: 'PLAIN_TEXT',
value: 'https://open.rocket.chat/group/quoteeee9798789?msg=ZZp6t2dCRX4TqExht'
},
// format of label for servers greater or equal than 6.0
label: [
{
type: 'PLAIN_TEXT',
value: ' '
}
]
}
}
]
},
{
type: 'PARAGRAPH',
value: [
{
type: 'PLAIN_TEXT',
value: 'Quoting a message wrote before'
}
]
}
]
};
export const MessageQuote = () => (
<View style={styles.container}>
<NewMarkdown tokens={messageQuote.headAndLink} />
<NewMarkdown tokens={messageQuote.headTextAndLink} />
<NewMarkdown tokens={messageQuote.headTextAndQuote} />
<NewMarkdown tokens={messageQuote.linkAndBoldText} />
<NewMarkdown tokens={messageQuote.simpleQuote} />
</View>
);

View File

@ -12,10 +12,28 @@ interface IParagraphProps {
} }
const Paragraph = ({ value }: IParagraphProps) => { const Paragraph = ({ value }: IParagraphProps) => {
let forceTrim = false;
const { theme } = useTheme(); const { theme } = useTheme();
if (
value?.[0]?.type === 'LINK' &&
// Need to update the @rocket.chat/message-parser to understand that the label can be a Markup | Markup[]
// https://github.com/RocketChat/fuselage/blob/461ecf661d9ff4a46390957c915e4352fa942a7c/packages/message-parser/src/definitions.ts#L141
// @ts-ignore
(value?.[0]?.value?.label?.value?.toString().trim() === '' || value?.[0]?.value?.label?.[0]?.value?.toString().trim() === '')
) {
// We are returning null when we receive a message like this: `[ ](https://open.rocket.chat/)\nplain_text`
// to avoid render a line empty above the the message
if (value.length === 1) {
return null;
}
if (value.length === 2 && value?.[1]?.type === 'PLAIN_TEXT' && value?.[1]?.value?.toString().trim() === '') {
return null;
}
forceTrim = true;
}
return ( return (
<Text style={[styles.text, { color: themes[theme].bodyText }]}> <Text style={[styles.text, { color: themes[theme].bodyText }]}>
<Inline value={value} /> <Inline value={value} forceTrim={forceTrim} />
</Text> </Text>
); );
}; };

View File

@ -8,7 +8,7 @@ interface IPlainProps {
value: PlainProps['value']; value: PlainProps['value'];
} }
const Plain = ({ value }: IPlainProps) => ( const Plain = ({ value }: IPlainProps): React.ReactElement => (
<Text accessibilityLabel={value} style={styles.plainText}> <Text accessibilityLabel={value} style={styles.plainText}>
{value} {value}
</Text> </Text>

View File

@ -4,7 +4,6 @@ import { Tasks as TasksProps } from '@rocket.chat/message-parser';
import Inline from './Inline'; import Inline from './Inline';
import styles from '../styles'; import styles from '../styles';
import { themes } from '../../../lib/constants';
import { useTheme } from '../../../theme'; import { useTheme } from '../../../theme';
interface ITasksProps { interface ITasksProps {
@ -12,13 +11,15 @@ interface ITasksProps {
} }
const TaskList = ({ value = [] }: ITasksProps) => { const TaskList = ({ value = [] }: ITasksProps) => {
const { theme } = useTheme(); const { colors } = useTheme();
return ( return (
<View> <View>
{value.map(item => ( {value.map(item => (
<View style={styles.row}> <View style={styles.row}>
<Text style={[styles.text, { color: themes[theme].bodyText }]}>{item.status ? '- [x] ' : '- [ ] '}</Text> <Text style={[styles.text, { color: colors.bodyText }]}>{item.status ? '- [x] ' : '- [ ] '}</Text>
<Inline value={item.value} /> <Text style={[styles.inline, { color: colors.bodyText }]}>
<Inline value={item.value} />
</Text>
</View> </View>
))} ))}
</View> </View>

View File

@ -1,14 +1,20 @@
import React from 'react'; import React from 'react';
import { themes } from '../../../../lib/constants';
import { CustomIcon } from '../../../CustomIcon'; import { CustomIcon } from '../../../CustomIcon';
import styles from '../../styles'; import styles from '../../styles';
import { useTheme } from '../../../../theme'; import { useTheme } from '../../../../theme';
const ReadReceipt = React.memo(({ isReadReceiptEnabled, unread }: { isReadReceiptEnabled?: boolean; unread?: boolean }) => { const ReadReceipt = React.memo(({ isReadReceiptEnabled, unread }: { isReadReceiptEnabled?: boolean; unread?: boolean }) => {
const { theme } = useTheme(); const { colors } = useTheme();
if (isReadReceiptEnabled && !unread && unread !== null) { if (isReadReceiptEnabled) {
return <CustomIcon name='check' color={themes[theme].tintColor} size={16} style={styles.rightIcons} />; return (
<CustomIcon
name='check'
color={!unread && unread !== null ? colors.tintColor : colors.auxiliaryTintColor}
size={16}
style={styles.rightIcons}
/>
);
} }
return null; return null;
}); });

View File

@ -1,3 +1,3 @@
export const STATUSES = ['offline', 'online', 'away', 'busy'] as const; export const STATUSES = ['offline', 'online', 'away', 'busy', 'disabled'] as const;
export type TUserStatus = typeof STATUSES[number]; export type TUserStatus = typeof STATUSES[number];

View File

@ -876,5 +876,8 @@
"Call": "Call", "Call": "Call",
"Reply_in_direct_message": "Reply in Direct Message", "Reply_in_direct_message": "Reply in Direct Message",
"room_archived": "archived room", "room_archived": "archived room",
"room_unarchived": "unarchived room" "room_unarchived": "unarchived room",
"Presence_Cap_Warning_Title": "User status temporarily disabled",
"Presence_Cap_Warning_Description": "Active connections have reached the limit for the workspace, thus the service that handles user status is disabled. It can be re-enabled manually in workspace settings.",
"Learn_more": "Learn more"
} }

View File

@ -875,5 +875,7 @@
"Call": "Ligar", "Call": "Ligar",
"Reply_in_direct_message": "Responder por mensagem direta", "Reply_in_direct_message": "Responder por mensagem direta",
"room_archived": "{{username}} arquivou a sala", "room_archived": "{{username}} arquivou a sala",
"room_unarchived": "{{username}} desarquivou a sala" "room_unarchived": "{{username}} desarquivou a sala",
"Presence_Cap_Warning_Title": "Status do usuário desabilitado temporariamente",
"Presence_Cap_Warning_Description": "O limite de conexões ativas para a workspace foi atingido, por isso o serviço responsável pela presença dos usuários está temporariamente desabilitado. Ele pode ser reabilitado manualmente nas configurações da workspace."
} }

View File

@ -3,7 +3,8 @@ export const STATUS_COLORS: any = {
busy: '#f5455c', busy: '#f5455c',
away: '#ffd21f', away: '#ffd21f',
offline: '#cbced1', offline: '#cbced1',
loading: '#9ea2a8' loading: '#9ea2a8',
disabled: '#F38C39'
}; };
export const SWITCH_TRACK_COLOR = { export const SWITCH_TRACK_COLOR = {

View File

@ -1,3 +1,4 @@
// 🚨🚨 48 settings after login. Pay attention not to reach 50 as that's the limit per request.
export const defaultSettings = { export const defaultSettings = {
Accounts_AllowEmailChange: { Accounts_AllowEmailChange: {
type: 'valueAsBoolean' type: 'valueAsBoolean'
@ -229,5 +230,8 @@ export const defaultSettings = {
}, },
Number_of_users_autocomplete_suggestions: { Number_of_users_autocomplete_suggestions: {
type: 'valueAsNumber' type: 'valueAsNumber'
},
Presence_broadcast_disabled: {
type: 'valueAsBoolean'
} }
} as const; } as const;

View File

@ -8,5 +8,6 @@ export * from './localAuthentication';
export * from './localPath'; export * from './localPath';
export * from './messagesStatus'; export * from './messagesStatus';
export * from './messageTypeLoad'; export * from './messageTypeLoad';
export * from './notifications';
export * from './defaultSettings'; export * from './defaultSettings';
export * from './tablet'; export * from './tablet';

View File

@ -0,0 +1 @@
export const NOTIFICATION_PRESENCE_CAP = 'NOTIFICATION_PRESENCE_CAP';

View File

@ -52,7 +52,7 @@ export const deleteAllAudioFiles = async (serverUrl: string): Promise<void> => {
try { try {
const serverUrlParsed = sanitizeString(serverUrl); const serverUrlParsed = sanitizeString(serverUrl);
const path = `${FileSystem.documentDirectory}audios/${serverUrlParsed}`; const path = `${FileSystem.documentDirectory}audios/${serverUrlParsed}`;
await FileSystem.deleteAsync(path); await FileSystem.deleteAsync(path, { idempotent: true });
} catch (error) { } catch (error) {
log(error); log(error);
} }

View File

@ -11,6 +11,7 @@ import database from '../database';
import sdk from '../services/sdk'; import sdk from '../services/sdk';
import protectedFunction from './helpers/protectedFunction'; import protectedFunction from './helpers/protectedFunction';
import { parseSettings, _prepareSettings } from './parseSettings'; import { parseSettings, _prepareSettings } from './parseSettings';
import { setPresenceCap } from './getUsersPresence';
const serverInfoKeys = [ const serverInfoKeys = [
'Site_Name', 'Site_Name',
@ -157,8 +158,11 @@ export async function getSettings(): Promise<void> {
const data: IData[] = result.settings || []; const data: IData[] = result.settings || [];
const filteredSettings: IPreparedSettings[] = _prepareSettings(data); const filteredSettings: IPreparedSettings[] = _prepareSettings(data);
const filteredSettingsIds = filteredSettings.map(s => s._id); const filteredSettingsIds = filteredSettings.map(s => s._id);
const parsedSettings = parseSettings(filteredSettings);
reduxStore.dispatch(addSettings(parseSettings(filteredSettings))); reduxStore.dispatch(addSettings(parsedSettings));
setPresenceCap(parsedSettings.Presence_broadcast_disabled);
// filter server info // filter server info
const serverInfo = filteredSettings.filter(i1 => serverInfoKeys.includes(i1._id)); const serverInfo = filteredSettings.filter(i1 => serverInfoKeys.includes(i1._id));

View File

@ -9,6 +9,9 @@ import database from '../database';
import { IUser } from '../../definitions'; import { IUser } from '../../definitions';
import sdk from '../services/sdk'; import sdk from '../services/sdk';
import { compareServerVersion } from './helpers'; import { compareServerVersion } from './helpers';
import userPreferences from './userPreferences';
import { NOTIFICATION_PRESENCE_CAP } from '../constants';
import { setNotificationPresenceCap } from '../../actions/app';
export const _activeUsersSubTimeout: { activeUsersSubTimeout: boolean | ReturnType<typeof setTimeout> | number } = { export const _activeUsersSubTimeout: { activeUsersSubTimeout: boolean | ReturnType<typeof setTimeout> | number } = {
activeUsersSubTimeout: false activeUsersSubTimeout: false
@ -124,3 +127,16 @@ export function getUserPresence(uid: string) {
usersBatch.push(uid); usersBatch.push(uid);
} }
} }
export const setPresenceCap = async (enabled: boolean) => {
if (enabled) {
const notificationPresenceCap = await userPreferences.getBool(NOTIFICATION_PRESENCE_CAP);
if (notificationPresenceCap !== false) {
userPreferences.setBool(NOTIFICATION_PRESENCE_CAP, true);
reduxStore.dispatch(setNotificationPresenceCap(true));
}
} else {
userPreferences.removeItem(NOTIFICATION_PRESENCE_CAP);
reduxStore.dispatch(setNotificationPresenceCap(false));
}
};

View File

@ -38,7 +38,8 @@ export const localSearchSubscription = async ({ text = '', filterUsers = true, f
t: item.t, t: item.t,
encrypted: item.encrypted, encrypted: item.encrypted,
lastMessage: item.lastMessage, lastMessage: item.lastMessage,
status: item.status status: item.status,
teamMain: item.teamMain
})) as ISearchLocal[]; })) as ISearchLocal[];
return search; return search;

View File

@ -138,6 +138,23 @@ export default class RoomSubscription {
reduxStore.dispatch(removeUserTyping(name)); reduxStore.dispatch(removeUserTyping(name));
} }
} }
} else if (ev === 'user-activity') {
const { user } = reduxStore.getState().login;
const { UI_Use_Real_Name } = reduxStore.getState().settings;
const { subscribedRoom } = reduxStore.getState().room;
if (subscribedRoom !== _rid) {
return;
}
const [name, activities] = ddpMessage.fields.args;
const key = UI_Use_Real_Name ? 'name' : 'username';
if (name !== user[key]) {
if (activities.includes('user-typing')) {
reduxStore.dispatch(addUserTyping(name));
}
if (!activities.length) {
reduxStore.dispatch(removeUserTyping(name));
}
}
} else if (ev === 'deleteMessage') { } else if (ev === 'deleteMessage') {
InteractionManager.runAfterInteractions(async () => { InteractionManager.runAfterInteractions(async () => {
if (ddpMessage && ddpMessage.fields && ddpMessage.fields.args.length > 0) { if (ddpMessage && ddpMessage.fields && ddpMessage.fields.args.length > 0) {

View File

@ -16,42 +16,43 @@ class UserPreferences {
getString(key: string): string | null { getString(key: string): string | null {
try { try {
return this.mmkv.getString(key) || null; return this.mmkv.getString(key) ?? null;
} catch { } catch {
return null; return null;
} }
} }
setString(key: string, value: string): boolean | undefined { setString(key: string, value: string): boolean | undefined {
return this.mmkv.setString(key, value) || undefined; return this.mmkv.setString(key, value) ?? undefined;
} }
getBool(key: string): boolean | null { getBool(key: string): boolean | null {
try { try {
return this.mmkv.getBool(key) || null; console.log(this.mmkv.getBool(key));
return this.mmkv.getBool(key) ?? null;
} catch { } catch {
return null; return null;
} }
} }
setBool(key: string, value: boolean): boolean | undefined { setBool(key: string, value: boolean): boolean | undefined {
return this.mmkv.setBool(key, value) || undefined; return this.mmkv.setBool(key, value) ?? undefined;
} }
getMap(key: string): object | null { getMap(key: string): object | null {
try { try {
return this.mmkv.getMap(key) || null; return this.mmkv.getMap(key) ?? null;
} catch { } catch {
return null; return null;
} }
} }
setMap(key: string, value: object): boolean | undefined { setMap(key: string, value: object): boolean | undefined {
return this.mmkv.setMap(key, value) || undefined; return this.mmkv.setMap(key, value) ?? undefined;
} }
removeItem(key: string): boolean | undefined { removeItem(key: string): boolean | undefined {
return this.mmkv.removeItem(key) || undefined; return this.mmkv.removeItem(key) ?? undefined;
} }
} }

View File

@ -20,7 +20,16 @@ import { updatePermission } from '../../actions/permissions';
import EventEmitter from '../methods/helpers/events'; import EventEmitter from '../methods/helpers/events';
import { updateSettings } from '../../actions/settings'; import { updateSettings } from '../../actions/settings';
import { defaultSettings, MIN_ROCKETCHAT_VERSION } from '../constants'; import { defaultSettings, MIN_ROCKETCHAT_VERSION } from '../constants';
import { getSettings, IActiveUsers, unsubscribeRooms, _activeUsers, _setUser, _setUserTimer, onRolesChanged } from '../methods'; import {
getSettings,
IActiveUsers,
unsubscribeRooms,
_activeUsers,
_setUser,
_setUserTimer,
onRolesChanged,
setPresenceCap
} from '../methods';
import { compareServerVersion, isIOS, isSsl } from '../methods/helpers'; import { compareServerVersion, isIOS, isSsl } from '../methods/helpers';
interface IServices { interface IServices {
@ -144,6 +153,10 @@ function connect({ server, logoutOnError = false }: { server: string; logoutOnEr
}); });
} }
store.dispatch(updateSettings(_id, value)); store.dispatch(updateSettings(_id, value));
if (_id === 'Presence_broadcast_disabled') {
setPresenceCap(value);
}
} catch (e) { } catch (e) {
log(e); log(e);
} }

View File

@ -812,10 +812,14 @@ export const addUsersToRoom = (rid: string): Promise<boolean> => {
}; };
export const emitTyping = (room: IRoom, typing = true) => { export const emitTyping = (room: IRoom, typing = true) => {
const { login, settings } = reduxStore.getState(); const { login, settings, server } = reduxStore.getState();
const { UI_Use_Real_Name } = settings; const { UI_Use_Real_Name } = settings;
const { version: serverVersion } = server;
const { user } = login; const { user } = login;
const name = UI_Use_Real_Name ? user.name : user.username; const name = UI_Use_Real_Name ? user.name : user.username;
if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '4.0.0')) {
return sdk.methodCall('stream-notify-room', `${room}/user-activity`, name, typing ? ['user-typing'] : []);
}
return sdk.methodCall('stream-notify-room', `${room}/typing`, name, typing); return sdk.methodCall('stream-notify-room', `${room}/typing`, name, typing);
}; };

View File

@ -6,7 +6,7 @@ import { twoFactor } from './twoFactor';
import { isSsl } from '../methods/helpers/url'; import { isSsl } from '../methods/helpers/url';
import { store as reduxStore } from '../store/auxStore'; import { store as reduxStore } from '../store/auxStore';
import { Serialized, MatchPathPattern, OperationParams, PathFor, ResultFor } from '../../definitions/rest/helpers'; import { Serialized, MatchPathPattern, OperationParams, PathFor, ResultFor } from '../../definitions/rest/helpers';
import { random } from '../methods/helpers'; import { compareServerVersion, random } from '../methods/helpers';
class Sdk { class Sdk {
private sdk: typeof Rocketchat; private sdk: typeof Rocketchat;
@ -162,7 +162,22 @@ class Sdk {
} }
subscribeRoom(...args: any[]) { subscribeRoom(...args: any[]) {
return this.current.subscribeRoom(...args); const { server } = reduxStore.getState();
const { version: serverVersion } = server;
const topic = 'stream-notify-room';
let eventUserTyping;
if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '4.0.0')) {
eventUserTyping = this.subscribe(topic, `${args[0]}/user-activity`, ...args);
} else {
eventUserTyping = this.subscribe(topic, `${args[0]}/typing`, ...args);
}
// Taken from https://github.com/RocketChat/Rocket.Chat.js.SDK/blob/454b4ba784095057b8de862eb99340311b672e15/lib/drivers/ddp.ts#L555
return Promise.all([
this.subscribe('stream-room-messages', args[0], ...args),
eventUserTyping,
this.subscribe(topic, `${args[0]}/deleteMessage`, ...args)
]);
} }
unsubscribe(subscription: any[]) { unsubscribe(subscription: any[]) {

View File

@ -1,4 +1,4 @@
import { appStart, appInit, setMasterDetail } from '../actions/app'; import { appStart, appInit, setMasterDetail, setNotificationPresenceCap, appReady } from '../actions/app';
import { initialState } from './app'; import { initialState } from './app';
import { mockedStore } from './mockedStore'; import { mockedStore } from './mockedStore';
import { RootEnum } from '../definitions'; import { RootEnum } from '../definitions';
@ -20,6 +20,9 @@ describe('test reducer', () => {
mockedStore.dispatch(appInit()); mockedStore.dispatch(appInit());
const { ready } = mockedStore.getState().app; const { ready } = mockedStore.getState().app;
expect(ready).toEqual(false); expect(ready).toEqual(false);
mockedStore.dispatch(appReady());
const { ready: ready2 } = mockedStore.getState().app;
expect(ready2).toEqual(true);
}); });
it('should return ready state after dispatch setMasterDetail action', () => { it('should return ready state after dispatch setMasterDetail action', () => {
@ -41,4 +44,13 @@ describe('test reducer', () => {
expect(foreground).toEqual(false); expect(foreground).toEqual(false);
expect(background).toEqual(true); expect(background).toEqual(true);
}); });
it('should return correct state after dispatch setNotificationPresenceCap action', () => {
mockedStore.dispatch(setNotificationPresenceCap(true));
const { notificationPresenceCap } = mockedStore.getState().app;
expect(notificationPresenceCap).toEqual(true);
mockedStore.dispatch(setNotificationPresenceCap(false));
const { notificationPresenceCap: notificationPresenceCap2 } = mockedStore.getState().app;
expect(notificationPresenceCap2).toEqual(false);
});
}); });

View File

@ -9,6 +9,7 @@ export interface IApp {
ready: boolean; ready: boolean;
foreground: boolean; foreground: boolean;
background: boolean; background: boolean;
notificationPresenceCap: boolean;
} }
export const initialState: IApp = { export const initialState: IApp = {
@ -17,7 +18,8 @@ export const initialState: IApp = {
text: undefined, text: undefined,
ready: false, ready: false,
foreground: true, foreground: true,
background: false background: false,
notificationPresenceCap: false
}; };
export default function app(state = initialState, action: TActionApp): IApp { export default function app(state = initialState, action: TActionApp): IApp {
@ -55,6 +57,11 @@ export default function app(state = initialState, action: TActionApp): IApp {
...state, ...state,
isMasterDetail: action.isMasterDetail isMasterDetail: action.isMasterDetail
}; };
case APP.SET_NOTIFICATION_PRESENCE_CAP:
return {
...state,
notificationPresenceCap: action.show
};
default: default:
return state; return state;
} }

View File

@ -105,11 +105,7 @@ const ChatsStackNavigator = () => {
/> />
<ChatsStack.Screen name='SelectedUsersView' component={SelectedUsersView} /> <ChatsStack.Screen name='SelectedUsersView' component={SelectedUsersView} />
<ChatsStack.Screen name='InviteUsersView' component={InviteUsersView} /> <ChatsStack.Screen name='InviteUsersView' component={InviteUsersView} />
<ChatsStack.Screen <ChatsStack.Screen name='InviteUsersEditView' component={InviteUsersEditView} />
name='InviteUsersEditView'
component={InviteUsersEditView}
options={InviteUsersEditView.navigationOptions}
/>
<ChatsStack.Screen name='MessagesView' component={MessagesView} /> <ChatsStack.Screen name='MessagesView' component={MessagesView} />
<ChatsStack.Screen name='AutoTranslateView' component={AutoTranslateView} options={AutoTranslateView.navigationOptions} /> <ChatsStack.Screen name='AutoTranslateView' component={AutoTranslateView} options={AutoTranslateView.navigationOptions} />
<ChatsStack.Screen name='DirectoryView' component={DirectoryView} options={DirectoryView.navigationOptions} /> <ChatsStack.Screen name='DirectoryView' component={DirectoryView} options={DirectoryView.navigationOptions} />

View File

@ -142,11 +142,7 @@ const ModalStackNavigator = React.memo(({ navigation }: INavigation) => {
component={AddExistingChannelView} component={AddExistingChannelView}
options={AddExistingChannelView.navigationOptions} options={AddExistingChannelView.navigationOptions}
/> />
<ModalStack.Screen <ModalStack.Screen name='InviteUsersEditView' component={InviteUsersEditView} />
name='InviteUsersEditView'
component={InviteUsersEditView}
options={InviteUsersEditView.navigationOptions}
/>
<ModalStack.Screen name='MessagesView' component={MessagesView} /> <ModalStack.Screen name='MessagesView' component={MessagesView} />
<ModalStack.Screen name='AutoTranslateView' component={AutoTranslateView} options={AutoTranslateView.navigationOptions} /> <ModalStack.Screen name='AutoTranslateView' component={AutoTranslateView} options={AutoTranslateView.navigationOptions} />
<ModalStack.Screen <ModalStack.Screen

View File

@ -0,0 +1,92 @@
import React from 'react';
import { TextInputProps } from 'react-native';
import RNPickerSelect from 'react-native-picker-select';
import { useDispatch } from 'react-redux';
import { inviteLinksSetParams } from '../../actions/inviteLinks';
import { useTheme } from '../../theme';
import { useAppSelector } from '../../lib/hooks';
import I18n from '../../i18n';
import styles from './styles';
import { events, logEvent } from '../../lib/methods/helpers/log';
const OPTIONS = {
days: [
{
label: '1',
value: 1
},
{
label: '7',
value: 7
},
{
label: '15',
value: 15
},
{
label: '30',
value: 30
}
],
maxUses: [
{
label: '1',
value: 1
},
{
label: '5',
value: 5
},
{
label: '10',
value: 10
},
{
label: '25',
value: 25
},
{
label: '50',
value: 50
},
{
label: '100',
value: 100
}
]
};
const Picker = ({ param, first }: { param: 'days' | 'maxUses'; first: string }): JSX.Element => {
const { colors } = useTheme();
const inviteLinkParam = useAppSelector(state => state.inviteLinks[param]);
const dispatch = useDispatch();
const onValueChangePicker = (value: number) => {
logEvent(events.IU_EDIT_SET_LINK_PARAM);
const params = {
[param]: value
};
dispatch(inviteLinksSetParams(params));
};
const textInputStyle: TextInputProps = { style: { ...styles.pickerText, color: colors.actionTintColor } };
const firstEl = [
{
label: I18n.t(first),
value: 0
}
];
return (
<RNPickerSelect
style={{ viewContainer: styles.viewContainer }}
value={inviteLinkParam}
textInputProps={textInputStyle}
useNativeAndroidPickerStyle={false}
onValueChange={value => onValueChangePicker(value)}
items={firstEl.concat(OPTIONS[param])}
/>
);
};
export default Picker;

View File

@ -1,149 +1,54 @@
import { StackNavigationOptions } from '@react-navigation/stack'; import { StackNavigationProp } from '@react-navigation/stack';
import React from 'react'; import React, { useLayoutEffect } from 'react';
import { TextInputProps, View } from 'react-native'; import { View } from 'react-native';
import RNPickerSelect from 'react-native-picker-select'; import { useDispatch } from 'react-redux';
import { connect } from 'react-redux'; import { RouteProp, useNavigation, useRoute } from '@react-navigation/native';
import { inviteLinksCreate, inviteLinksSetParams } from '../../actions/inviteLinks'; import { inviteLinksCreate } from '../../actions/inviteLinks';
import { themes } from '../../lib/constants';
import Button from '../../containers/Button'; import Button from '../../containers/Button';
import * as List from '../../containers/List'; import * as List from '../../containers/List';
import SafeAreaView from '../../containers/SafeAreaView'; import SafeAreaView from '../../containers/SafeAreaView';
import StatusBar from '../../containers/StatusBar'; import StatusBar from '../../containers/StatusBar';
import { IApplicationState, IBaseScreen } from '../../definitions';
import I18n from '../../i18n'; import I18n from '../../i18n';
import { ChatsStackParamList } from '../../stacks/types'; import { ChatsStackParamList } from '../../stacks/types';
import { withTheme } from '../../theme';
import { events, logEvent } from '../../lib/methods/helpers/log'; import { events, logEvent } from '../../lib/methods/helpers/log';
import styles from './styles'; import styles from './styles';
import Picker from './Picker';
const OPTIONS = { const InviteUsersEditView = () => {
days: [ const navigation = useNavigation<StackNavigationProp<ChatsStackParamList, 'InviteUsersEditView'>>();
{ const { rid } = useRoute<RouteProp<ChatsStackParamList, 'InviteUsersEditView'>>().params;
label: '1', const dispatch = useDispatch();
value: 1
},
{
label: '7',
value: 7
},
{
label: '15',
value: 15
},
{
label: '30',
value: 30
}
],
maxUses: [
{
label: '1',
value: 1
},
{
label: '5',
value: 5
},
{
label: '10',
value: 10
},
{
label: '25',
value: 25
},
{
label: '50',
value: 50
},
{
label: '100',
value: 100
}
]
};
interface IInviteUsersEditViewProps extends IBaseScreen<ChatsStackParamList, 'InviteUsersEditView'> { useLayoutEffect(() => {
days: number; navigation.setOptions({
maxUses: number; title: I18n.t('Invite_users')
} });
}, [navigation]);
class InviteUsersEditView extends React.Component<IInviteUsersEditViewProps, any> { const createInviteLink = () => {
static navigationOptions = (): StackNavigationOptions => ({
title: I18n.t('Invite_users')
});
private rid: string;
constructor(props: IInviteUsersEditViewProps) {
super(props);
this.rid = props.route.params?.rid;
}
onValueChangePicker = (key: string, value: number) => {
const { dispatch } = this.props;
logEvent(events.IU_EDIT_SET_LINK_PARAM);
const params = {
[key]: value
};
dispatch(inviteLinksSetParams(params));
};
createInviteLink = () => {
const { dispatch, navigation } = this.props;
logEvent(events.IU_EDIT_CREATE_LINK); logEvent(events.IU_EDIT_CREATE_LINK);
dispatch(inviteLinksCreate(this.rid)); dispatch(inviteLinksCreate(rid));
navigation.pop(); navigation.pop();
}; };
renderPicker = (key: 'days' | 'maxUses', first: string) => { return (
const { props } = this; <SafeAreaView>
const { theme } = props; <List.Container>
const textInputStyle: TextInputProps = { style: { ...styles.pickerText, color: themes[theme].actionTintColor } }; <StatusBar />
const firstEl = [ <List.Section>
{ <List.Separator />
label: I18n.t(first), <List.Item title='Expiration_Days' right={() => <Picker param={'days'} first={'Never'} />} />
value: 0 <List.Separator />
} <List.Item title='Max_number_of_uses' right={() => <Picker param='maxUses' first='No_limit' />} />
]; <List.Separator />
return ( </List.Section>
<RNPickerSelect <View style={styles.innerContainer}>
style={{ viewContainer: styles.viewContainer }} <Button title={I18n.t('Generate_New_Link')} type='primary' onPress={createInviteLink} />
value={props[key]} </View>
textInputProps={textInputStyle} </List.Container>
useNativeAndroidPickerStyle={false} </SafeAreaView>
placeholder={{}} );
onValueChange={value => this.onValueChangePicker(key, value)} };
items={firstEl.concat(OPTIONS[key])}
/>
);
};
render() { export default InviteUsersEditView;
return (
<SafeAreaView>
<List.Container>
<StatusBar />
<List.Section>
<List.Separator />
<List.Item title='Expiration_Days' right={() => this.renderPicker('days', 'Never')} />
<List.Separator />
<List.Item title='Max_number_of_uses' right={() => this.renderPicker('maxUses', 'No_limit')} />
<List.Separator />
</List.Section>
<View style={styles.innerContainer}>
<Button title={I18n.t('Generate_New_Link')} type='primary' onPress={this.createInviteLink} />
</View>
</List.Container>
</SafeAreaView>
);
}
}
const mapStateToProps = (state: IApplicationState) => ({
days: state.inviteLinks.days,
maxUses: state.inviteLinks.maxUses
});
export default connect(mapStateToProps)(withTheme(InviteUsersEditView));

View File

@ -371,7 +371,7 @@ class RightButtonsContainer extends Component<IRightButtonsProps, IRigthButtonsS
iconName='threads' iconName='threads'
onPress={this.goThreadsView} onPress={this.goThreadsView}
testID='room-view-header-threads' testID='room-view-header-threads'
badge={() => <HeaderButton.Badge tunread={tunread} tunreadUser={tunreadUser} tunreadGroup={tunreadGroup} />} badge={() => <HeaderButton.BadgeUnread tunread={tunread} tunreadUser={tunreadUser} tunreadGroup={tunreadGroup} />}
/> />
) : null} ) : null}
<HeaderButton.Item iconName='search' onPress={this.goSearchView} testID='room-view-search' /> <HeaderButton.Item iconName='search' onPress={this.goSearchView} testID='room-view-search' />

View File

@ -785,13 +785,22 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
}); });
}; };
handleCloseEmoji = (action?: Function, params?: any) => {
if (this.messagebox?.current) {
return this.messagebox?.current.closeEmojiAndAction(action, params);
}
if (action) {
return action(params);
}
};
errorActionsShow = (message: TAnyMessageModel) => { errorActionsShow = (message: TAnyMessageModel) => {
this.messagebox?.current?.closeEmojiAndAction(this.messageErrorActions?.showMessageErrorActions, message); this.handleCloseEmoji(this.messageErrorActions?.showMessageErrorActions, message);
}; };
showActionSheet = (options: any) => { showActionSheet = (options: any) => {
const { showActionSheet } = this.props; const { showActionSheet } = this.props;
this.messagebox?.current?.closeEmojiAndAction(showActionSheet, options); this.handleCloseEmoji(showActionSheet, options);
}; };
onEditInit = (message: TAnyMessageModel) => { onEditInit = (message: TAnyMessageModel) => {
@ -850,7 +859,7 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
}; };
onReactionInit = (message: TAnyMessageModel) => { onReactionInit = (message: TAnyMessageModel) => {
this.messagebox?.current?.closeEmojiAndAction(() => { this.handleCloseEmoji(() => {
this.setState({ selectedMessage: message }, this.showReactionPicker); this.setState({ selectedMessage: message }, this.showReactionPicker);
}); });
}; };
@ -865,7 +874,7 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
if (message.tmid && !this.tmid) { if (message.tmid && !this.tmid) {
return; return;
} }
this.messagebox?.current?.closeEmojiAndAction(this.messageActions?.showMessageActions, message); this.handleCloseEmoji(this.messageActions?.showMessageActions, message);
}; };
showAttachment = (attachment: IAttachment) => { showAttachment = (attachment: IAttachment) => {
@ -894,7 +903,7 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
this.setState({ selectedMessage: message }); this.setState({ selectedMessage: message });
const { showActionSheet } = this.props; const { showActionSheet } = this.props;
const { selectedMessage } = this.state; const { selectedMessage } = this.state;
this.messagebox?.current?.closeEmojiAndAction(showActionSheet, { this.handleCloseEmoji(showActionSheet, {
children: <ReactionsList reactions={selectedMessage?.reactions} getCustomEmoji={this.getCustomEmoji} />, children: <ReactionsList reactions={selectedMessage?.reactions} getCustomEmoji={this.getCustomEmoji} />,
snaps: ['50%', '80%'], snaps: ['50%', '80%'],
enableContentPanningGesture: false enableContentPanningGesture: false
@ -1380,7 +1389,7 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
jumpToMessage={this.jumpToMessageByUrl} jumpToMessage={this.jumpToMessageByUrl}
highlighted={highlightedMessage === item.id} highlighted={highlightedMessage === item.id}
theme={theme} theme={theme}
closeEmojiAndAction={this.messagebox?.current?.closeEmojiAndAction} closeEmojiAndAction={this.handleCloseEmoji}
/> />
); );
} }

View File

@ -86,6 +86,7 @@ interface IRoomsListViewProps {
StoreLastMessage: boolean; StoreLastMessage: boolean;
useRealName: boolean; useRealName: boolean;
isMasterDetail: boolean; isMasterDetail: boolean;
notificationPresenceCap: boolean;
subscribedRoom: string; subscribedRoom: string;
width: number; width: number;
insets: { insets: {
@ -146,6 +147,7 @@ const shouldUpdateProps = [
'StoreLastMessage', 'StoreLastMessage',
'theme', 'theme',
'isMasterDetail', 'isMasterDetail',
'notificationPresenceCap',
'refreshing', 'refreshing',
'queueSize', 'queueSize',
'inquiryEnabled', 'inquiryEnabled',
@ -255,21 +257,18 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
shouldComponentUpdate(nextProps: IRoomsListViewProps, nextState: IRoomsListViewState) { shouldComponentUpdate(nextProps: IRoomsListViewProps, nextState: IRoomsListViewState) {
const { chatsUpdate, searching, item, canCreateRoom, omnichannelsUpdate } = this.state; const { chatsUpdate, searching, item, canCreateRoom, omnichannelsUpdate } = this.state;
// eslint-disable-next-line react/destructuring-assignment
const propsUpdated = shouldUpdateProps.some(key => nextProps[key] !== this.props[key]); const propsUpdated = shouldUpdateProps.some(key => nextProps[key] !== this.props[key]);
if (propsUpdated) { if (propsUpdated) {
return true; return true;
} }
// check if some display props are changed to force update when focus this view again // check if some display props are changed to force update when focus this view again
// eslint-disable-next-line react/destructuring-assignment
const displayUpdated = displayPropsShouldUpdate.some(key => nextProps[key] !== this.props[key]); const displayUpdated = displayPropsShouldUpdate.some(key => nextProps[key] !== this.props[key]);
if (displayUpdated) { if (displayUpdated) {
this.shouldUpdate = true; this.shouldUpdate = true;
} }
// check if some sort preferences are changed to getSubscription() when focus this view again // check if some sort preferences are changed to getSubscription() when focus this view again
// eslint-disable-next-line react/destructuring-assignment
const sortPreferencesUpdate = sortPreferencesShouldUpdate.some(key => nextProps[key] !== this.props[key]); const sortPreferencesUpdate = sortPreferencesShouldUpdate.some(key => nextProps[key] !== this.props[key]);
if (sortPreferencesUpdate) { if (sortPreferencesUpdate) {
this.sortPreferencesChanged = true; this.sortPreferencesChanged = true;
@ -339,6 +338,7 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
showUnread, showUnread,
subscribedRoom, subscribedRoom,
isMasterDetail, isMasterDetail,
notificationPresenceCap,
insets, insets,
createTeamPermission, createTeamPermission,
createPublicChannelPermission, createPublicChannelPermission,
@ -366,7 +366,11 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
if (isMasterDetail && item?.rid !== subscribedRoom && subscribedRoom !== prevProps.subscribedRoom) { if (isMasterDetail && item?.rid !== subscribedRoom && subscribedRoom !== prevProps.subscribedRoom) {
this.setState({ item: { rid: subscribedRoom } as ISubscription }); this.setState({ item: { rid: subscribedRoom } as ISubscription });
} }
if (insets.left !== prevProps.insets.left || insets.right !== prevProps.insets.right) { if (
insets.left !== prevProps.insets.left ||
insets.right !== prevProps.insets.right ||
notificationPresenceCap !== prevProps.notificationPresenceCap
) {
this.setHeader(); this.setHeader();
} }
@ -421,7 +425,7 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
getHeader = (): StackNavigationOptions => { getHeader = (): StackNavigationOptions => {
const { searching, canCreateRoom } = this.state; const { searching, canCreateRoom } = this.state;
const { navigation, isMasterDetail } = this.props; const { navigation, isMasterDetail, notificationPresenceCap } = this.props;
if (searching) { if (searching) {
return { return {
headerTitleAlign: 'left', headerTitleAlign: 'left',
@ -451,6 +455,7 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
: // @ts-ignore : // @ts-ignore
() => navigation.toggleDrawer() () => navigation.toggleDrawer()
} }
badge={() => (notificationPresenceCap ? <HeaderButton.BadgeWarn /> : null)}
/> />
), ),
headerTitle: () => <RoomsListHeaderView />, headerTitle: () => <RoomsListHeaderView />,
@ -1034,6 +1039,7 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
const mapStateToProps = (state: IApplicationState) => ({ const mapStateToProps = (state: IApplicationState) => ({
user: getUserSelector(state), user: getUserSelector(state),
isMasterDetail: state.app.isMasterDetail, isMasterDetail: state.app.isMasterDetail,
notificationPresenceCap: state.app.notificationPresenceCap,
server: state.server.server, server: state.server.server,
changingServer: state.server.changingServer, changingServer: state.server.changingServer,
searchText: state.rooms.searchText, searchText: state.rooms.searchText,

View File

@ -250,7 +250,8 @@ class ShareListView extends React.Component<IShareListViewProps, IState> {
prid: item.prid, prid: item.prid,
uids: item.uids, uids: item.uids,
usernames: item.usernames, usernames: item.usernames,
topic: item.topic topic: item.topic,
teamMain: item.teamMain
})); }));
}; };
@ -380,6 +381,7 @@ class ShareListView extends React.Component<IShareListViewProps, IState> {
type={item.prid ? 'discussion' : item.t} type={item.prid ? 'discussion' : item.t}
onPress={() => this.shareMessage(item)} onPress={() => this.shareMessage(item)}
testID={`share-extension-item-${item.name}`} testID={`share-extension-item-${item.name}`}
teamMain={item.teamMain}
/> />
); );
}; };

View File

@ -1,17 +1,19 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { DrawerNavigationProp } from '@react-navigation/drawer'; import { DrawerNavigationProp } from '@react-navigation/drawer';
import { DrawerNavigationState } from '@react-navigation/native'; import { DrawerNavigationState } from '@react-navigation/native';
import { ScrollView, Text, TouchableWithoutFeedback, View } from 'react-native'; import { Alert, ScrollView, Text, TouchableWithoutFeedback, View, Linking } from 'react-native';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { dequal } from 'dequal'; import { dequal } from 'dequal';
import { Dispatch } from 'redux';
import Avatar from '../../containers/Avatar'; import Avatar from '../../containers/Avatar';
import Status from '../../containers/Status/Status'; import Status from '../../containers/Status/Status';
import { events, logEvent } from '../../lib/methods/helpers/log'; import { events, logEvent } from '../../lib/methods/helpers/log';
import I18n from '../../i18n'; import I18n from '../../i18n';
import scrollPersistTaps from '../../lib/methods/helpers/scrollPersistTaps'; import scrollPersistTaps from '../../lib/methods/helpers/scrollPersistTaps';
import userPreferences from '../../lib/methods/userPreferences';
import { CustomIcon } from '../../containers/CustomIcon'; import { CustomIcon } from '../../containers/CustomIcon';
import { themes } from '../../lib/constants'; import { NOTIFICATION_PRESENCE_CAP, STATUS_COLORS, themes } from '../../lib/constants';
import { TSupportedThemes, withTheme } from '../../theme'; import { TSupportedThemes, withTheme } from '../../theme';
import { getUserSelector } from '../../selectors/login'; import { getUserSelector } from '../../selectors/login';
import SafeAreaView from '../../containers/SafeAreaView'; import SafeAreaView from '../../containers/SafeAreaView';
@ -21,6 +23,7 @@ import styles from './styles';
import { DrawerParamList } from '../../stacks/types'; import { DrawerParamList } from '../../stacks/types';
import { IApplicationState, IUser } from '../../definitions'; import { IApplicationState, IUser } from '../../definitions';
import * as List from '../../containers/List'; import * as List from '../../containers/List';
import { setNotificationPresenceCap } from '../../actions/app';
interface ISidebarState { interface ISidebarState {
showStatus: boolean; showStatus: boolean;
@ -29,6 +32,7 @@ interface ISidebarState {
interface ISidebarProps { interface ISidebarProps {
baseUrl: string; baseUrl: string;
navigation?: DrawerNavigationProp<DrawerParamList>; navigation?: DrawerNavigationProp<DrawerParamList>;
dispatch: Dispatch;
state?: DrawerNavigationState<DrawerParamList>; state?: DrawerNavigationState<DrawerParamList>;
Site_Name: string; Site_Name: string;
user: IUser; user: IUser;
@ -36,6 +40,8 @@ interface ISidebarProps {
loadingServer: boolean; loadingServer: boolean;
useRealName: boolean; useRealName: boolean;
allowStatusMessage: boolean; allowStatusMessage: boolean;
notificationPresenceCap: boolean;
Presence_broadcast_disabled: boolean;
isMasterDetail: boolean; isMasterDetail: boolean;
viewStatisticsPermission: string[]; viewStatisticsPermission: string[];
viewRoomAdministrationPermission: string[]; viewRoomAdministrationPermission: string[];
@ -59,8 +65,10 @@ class Sidebar extends Component<ISidebarProps, ISidebarState> {
baseUrl, baseUrl,
state, state,
isMasterDetail, isMasterDetail,
notificationPresenceCap,
useRealName, useRealName,
theme, theme,
Presence_broadcast_disabled,
viewStatisticsPermission, viewStatisticsPermission,
viewRoomAdministrationPermission, viewRoomAdministrationPermission,
viewUserAdministrationPermission, viewUserAdministrationPermission,
@ -91,9 +99,15 @@ class Sidebar extends Component<ISidebarProps, ISidebarState> {
if (nextProps.isMasterDetail !== isMasterDetail) { if (nextProps.isMasterDetail !== isMasterDetail) {
return true; return true;
} }
if (nextProps.notificationPresenceCap !== notificationPresenceCap) {
return true;
}
if (nextProps.useRealName !== useRealName) { if (nextProps.useRealName !== useRealName) {
return true; return true;
} }
if (nextProps.Presence_broadcast_disabled !== Presence_broadcast_disabled) {
return true;
}
if (!dequal(nextProps.viewStatisticsPermission, viewStatisticsPermission)) { if (!dequal(nextProps.viewStatisticsPermission, viewStatisticsPermission)) {
return true; return true;
} }
@ -156,6 +170,33 @@ class Sidebar extends Component<ISidebarProps, ISidebarState> {
navigation?.closeDrawer(); navigation?.closeDrawer();
}; };
onPressLearnMorePresenceCap = () => {
Linking.openURL('https://go.rocket.chat/i/presence-cap-learn-more');
};
onPressPresenceLearnMore = () => {
const { dispatch } = this.props;
dispatch(setNotificationPresenceCap(false));
userPreferences.setBool(NOTIFICATION_PRESENCE_CAP, false);
Alert.alert(
I18n.t('Presence_Cap_Warning_Title'),
I18n.t('Presence_Cap_Warning_Description'),
[
{
text: I18n.t('Learn_more'),
onPress: this.onPressLearnMorePresenceCap,
style: 'cancel'
},
{
text: I18n.t('Close'),
style: 'default'
}
],
{ cancelable: false }
);
};
renderAdmin = () => { renderAdmin = () => {
const { theme, isMasterDetail } = this.props; const { theme, isMasterDetail } = this.props;
if (!this.getIsAdmin()) { if (!this.getIsAdmin()) {
@ -219,14 +260,27 @@ class Sidebar extends Component<ISidebarProps, ISidebarState> {
}; };
renderCustomStatus = () => { renderCustomStatus = () => {
const { user, theme } = this.props; const { user, theme, Presence_broadcast_disabled, notificationPresenceCap } = this.props;
let status = user?.status;
if (Presence_broadcast_disabled) {
status = 'disabled';
}
let right: React.ReactElement | undefined = <CustomIcon name='edit' size={20} color={themes[theme!].titleText} />;
if (notificationPresenceCap) {
right = <View style={[styles.customStatusDisabled, { backgroundColor: STATUS_COLORS.disabled }]} />;
} else if (Presence_broadcast_disabled) {
right = undefined;
}
return ( return (
<SidebarItem <SidebarItem
text={user.statusText || I18n.t('Edit_Status')} text={user.statusText || I18n.t('Edit_Status')}
left={<Status size={24} status={user?.status} />} left={<Status size={24} status={status} />}
theme={theme!} theme={theme!}
right={<CustomIcon name='edit' size={20} color={themes[theme!].titleText} />} right={right}
onPress={() => this.sidebarNavigate('StatusView')} onPress={() => (Presence_broadcast_disabled ? this.onPressPresenceLearnMore() : this.sidebarNavigate('StatusView'))}
testID={`sidebar-custom-status-${user.status}`} testID={`sidebar-custom-status-${user.status}`}
/> />
); );
@ -294,6 +348,8 @@ const mapStateToProps = (state: IApplicationState) => ({
loadingServer: state.server.loading, loadingServer: state.server.loading,
useRealName: state.settings.UI_Use_Real_Name as boolean, useRealName: state.settings.UI_Use_Real_Name as boolean,
allowStatusMessage: state.settings.Accounts_AllowUserStatusMessageChange as boolean, allowStatusMessage: state.settings.Accounts_AllowUserStatusMessageChange as boolean,
Presence_broadcast_disabled: state.settings.Presence_broadcast_disabled as boolean,
notificationPresenceCap: state.app.notificationPresenceCap,
isMasterDetail: state.app.isMasterDetail, isMasterDetail: state.app.isMasterDetail,
viewStatisticsPermission: state.permissions['view-statistics'] as string[], viewStatisticsPermission: state.permissions['view-statistics'] as string[],
viewRoomAdministrationPermission: state.permissions['view-room-administration'] as string[], viewRoomAdministrationPermission: state.permissions['view-room-administration'] as string[],

View File

@ -63,5 +63,10 @@ export default StyleSheet.create({
}, },
inverted: { inverted: {
transform: [{ scaleY: -1 }] transform: [{ scaleY: -1 }]
},
customStatusDisabled: {
width: 10,
height: 10,
borderRadius: 5
} }
}); });

View File

@ -28,14 +28,14 @@ PODS:
- ExpoModulesCore - ExpoModulesCore
- EXVideoThumbnails (6.3.0): - EXVideoThumbnails (6.3.0):
- ExpoModulesCore - ExpoModulesCore
- FBLazyVector (0.68.2) - FBLazyVector (0.68.6)
- FBReactNativeSpec (0.68.2): - FBReactNativeSpec (0.68.6):
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.2) - RCTRequired (= 0.68.6)
- RCTTypeSafety (= 0.68.2) - RCTTypeSafety (= 0.68.6)
- React-Core (= 0.68.2) - React-Core (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- Firebase/AnalyticsWithoutAdIdSupport (8.15.0): - Firebase/AnalyticsWithoutAdIdSupport (8.15.0):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseAnalytics/WithoutAdIdSupport (~> 8.15.0) - FirebaseAnalytics/WithoutAdIdSupport (~> 8.15.0)
@ -149,212 +149,212 @@ PODS:
- fmt (~> 6.2.1) - fmt (~> 6.2.1)
- glog - glog
- libevent - libevent
- RCTRequired (0.68.2) - RCTRequired (0.68.6)
- RCTTypeSafety (0.68.2): - RCTTypeSafety (0.68.6):
- FBLazyVector (= 0.68.2) - FBLazyVector (= 0.68.6)
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.2) - RCTRequired (= 0.68.6)
- React-Core (= 0.68.2) - React-Core (= 0.68.6)
- React (0.68.2): - React (0.68.6):
- React-Core (= 0.68.2) - React-Core (= 0.68.6)
- React-Core/DevSupport (= 0.68.2) - React-Core/DevSupport (= 0.68.6)
- React-Core/RCTWebSocket (= 0.68.2) - React-Core/RCTWebSocket (= 0.68.6)
- React-RCTActionSheet (= 0.68.2) - React-RCTActionSheet (= 0.68.6)
- React-RCTAnimation (= 0.68.2) - React-RCTAnimation (= 0.68.6)
- React-RCTBlob (= 0.68.2) - React-RCTBlob (= 0.68.6)
- React-RCTImage (= 0.68.2) - React-RCTImage (= 0.68.6)
- React-RCTLinking (= 0.68.2) - React-RCTLinking (= 0.68.6)
- React-RCTNetwork (= 0.68.2) - React-RCTNetwork (= 0.68.6)
- React-RCTSettings (= 0.68.2) - React-RCTSettings (= 0.68.6)
- React-RCTText (= 0.68.2) - React-RCTText (= 0.68.6)
- React-RCTVibration (= 0.68.2) - React-RCTVibration (= 0.68.6)
- React-callinvoker (0.68.2) - React-callinvoker (0.68.6)
- React-Codegen (0.68.2): - React-Codegen (0.68.6):
- FBReactNativeSpec (= 0.68.2) - FBReactNativeSpec (= 0.68.6)
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.2) - RCTRequired (= 0.68.6)
- RCTTypeSafety (= 0.68.2) - RCTTypeSafety (= 0.68.6)
- React-Core (= 0.68.2) - React-Core (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-Core (0.68.2): - React-Core (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.2) - React-Core/Default (= 0.68.6)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/CoreModulesHeaders (0.68.2): - React-Core/CoreModulesHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/Default (0.68.2): - React-Core/Default (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/DevSupport (0.68.2): - React-Core/DevSupport (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.2) - React-Core/Default (= 0.68.6)
- React-Core/RCTWebSocket (= 0.68.2) - React-Core/RCTWebSocket (= 0.68.6)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-jsinspector (= 0.68.2) - React-jsinspector (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTActionSheetHeaders (0.68.2): - React-Core/RCTActionSheetHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTAnimationHeaders (0.68.2): - React-Core/RCTAnimationHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTBlobHeaders (0.68.2): - React-Core/RCTBlobHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTImageHeaders (0.68.2): - React-Core/RCTImageHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTLinkingHeaders (0.68.2): - React-Core/RCTLinkingHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTNetworkHeaders (0.68.2): - React-Core/RCTNetworkHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTSettingsHeaders (0.68.2): - React-Core/RCTSettingsHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTTextHeaders (0.68.2): - React-Core/RCTTextHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTVibrationHeaders (0.68.2): - React-Core/RCTVibrationHeaders (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-Core/RCTWebSocket (0.68.2): - React-Core/RCTWebSocket (0.68.6):
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.2) - React-Core/Default (= 0.68.6)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- Yoga - Yoga
- React-CoreModules (0.68.2): - React-CoreModules (0.68.6):
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.2) - RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.2) - React-Codegen (= 0.68.6)
- React-Core/CoreModulesHeaders (= 0.68.2) - React-Core/CoreModulesHeaders (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-RCTImage (= 0.68.2) - React-RCTImage (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-cxxreact (0.68.2): - React-cxxreact (0.68.6):
- boost (= 1.76.0) - boost (= 1.76.0)
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.68.2) - React-callinvoker (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsinspector (= 0.68.2) - React-jsinspector (= 0.68.6)
- React-logger (= 0.68.2) - React-logger (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- React-runtimeexecutor (= 0.68.2) - React-runtimeexecutor (= 0.68.6)
- React-hermes (0.68.2): - React-hermes (0.68.6):
- DoubleConversion - DoubleConversion
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly/Futures (= 2021.06.28.00-v2) - RCT-Folly/Futures (= 2021.06.28.00-v2)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.2) - React-jsiexecutor (= 0.68.6)
- React-jsinspector (= 0.68.2) - React-jsinspector (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- React-jsi (0.68.2): - React-jsi (0.68.6):
- boost (= 1.76.0) - boost (= 1.76.0)
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-jsi/Default (= 0.68.2) - React-jsi/Default (= 0.68.6)
- React-jsi/Default (0.68.2): - React-jsi/Default (0.68.6):
- boost (= 1.76.0) - boost (= 1.76.0)
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-jsiexecutor (0.68.2): - React-jsiexecutor (0.68.6):
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- React-jsinspector (0.68.2) - React-jsinspector (0.68.6)
- React-logger (0.68.2): - React-logger (0.68.6):
- glog - glog
- react-native-background-timer (2.4.1): - react-native-background-timer (2.4.1):
- React-Core - React-Core
@ -389,100 +389,100 @@ PODS:
- React-Core - React-Core
- react-native-webview (10.3.2): - react-native-webview (10.3.2):
- React - React
- React-perflogger (0.68.2) - React-perflogger (0.68.6)
- React-RCTActionSheet (0.68.2): - React-RCTActionSheet (0.68.6):
- React-Core/RCTActionSheetHeaders (= 0.68.2) - React-Core/RCTActionSheetHeaders (= 0.68.6)
- React-RCTAnimation (0.68.2): - React-RCTAnimation (0.68.6):
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.2) - RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.2) - React-Codegen (= 0.68.6)
- React-Core/RCTAnimationHeaders (= 0.68.2) - React-Core/RCTAnimationHeaders (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTBlob (0.68.2): - React-RCTBlob (0.68.6):
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Codegen (= 0.68.2) - React-Codegen (= 0.68.6)
- React-Core/RCTBlobHeaders (= 0.68.2) - React-Core/RCTBlobHeaders (= 0.68.6)
- React-Core/RCTWebSocket (= 0.68.2) - React-Core/RCTWebSocket (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-RCTNetwork (= 0.68.2) - React-RCTNetwork (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTImage (0.68.2): - React-RCTImage (0.68.6):
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.2) - RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.2) - React-Codegen (= 0.68.6)
- React-Core/RCTImageHeaders (= 0.68.2) - React-Core/RCTImageHeaders (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-RCTNetwork (= 0.68.2) - React-RCTNetwork (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTLinking (0.68.2): - React-RCTLinking (0.68.6):
- React-Codegen (= 0.68.2) - React-Codegen (= 0.68.6)
- React-Core/RCTLinkingHeaders (= 0.68.2) - React-Core/RCTLinkingHeaders (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTNetwork (0.68.2): - React-RCTNetwork (0.68.6):
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.2) - RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.2) - React-Codegen (= 0.68.6)
- React-Core/RCTNetworkHeaders (= 0.68.2) - React-Core/RCTNetworkHeaders (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTSettings (0.68.2): - React-RCTSettings (0.68.6):
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.2) - RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.2) - React-Codegen (= 0.68.6)
- React-Core/RCTSettingsHeaders (= 0.68.2) - React-Core/RCTSettingsHeaders (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTText (0.68.2): - React-RCTText (0.68.6):
- React-Core/RCTTextHeaders (= 0.68.2) - React-Core/RCTTextHeaders (= 0.68.6)
- React-RCTVibration (0.68.2): - React-RCTVibration (0.68.6):
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-Codegen (= 0.68.2) - React-Codegen (= 0.68.6)
- React-Core/RCTVibrationHeaders (= 0.68.2) - React-Core/RCTVibrationHeaders (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- React-runtimeexecutor (0.68.2): - React-runtimeexecutor (0.68.6):
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- ReactCommon (0.68.2): - ReactCommon (0.68.6):
- React-logger (= 0.68.2) - React-logger (= 0.68.6)
- ReactCommon/react_debug_core (= 0.68.2) - ReactCommon/react_debug_core (= 0.68.6)
- ReactCommon/turbomodule (= 0.68.2) - ReactCommon/turbomodule (= 0.68.6)
- ReactCommon/react_debug_core (0.68.2): - ReactCommon/react_debug_core (0.68.6):
- React-logger (= 0.68.2) - React-logger (= 0.68.6)
- ReactCommon/turbomodule (0.68.2): - ReactCommon/turbomodule (0.68.6):
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.68.2) - React-callinvoker (= 0.68.6)
- React-Core (= 0.68.2) - React-Core (= 0.68.6)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-logger (= 0.68.2) - React-logger (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- ReactCommon/turbomodule/samples (= 0.68.2) - ReactCommon/turbomodule/samples (= 0.68.6)
- ReactCommon/turbomodule/core (0.68.2): - ReactCommon/turbomodule/core (0.68.6):
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.68.2) - React-callinvoker (= 0.68.6)
- React-Core (= 0.68.2) - React-Core (= 0.68.6)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-logger (= 0.68.2) - React-logger (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- ReactCommon/turbomodule/samples (0.68.2): - ReactCommon/turbomodule/samples (0.68.6):
- DoubleConversion - DoubleConversion
- glog - glog
- RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.68.2) - React-callinvoker (= 0.68.6)
- React-Core (= 0.68.2) - React-Core (= 0.68.6)
- React-cxxreact (= 0.68.2) - React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.2) - React-jsi (= 0.68.6)
- React-logger (= 0.68.2) - React-logger (= 0.68.6)
- React-perflogger (= 0.68.2) - React-perflogger (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.2) - ReactCommon/turbomodule/core (= 0.68.6)
- ReactNativeART (1.2.0): - ReactNativeART (1.2.0):
- React - React
- ReactNativeUiLib (3.0.4): - ReactNativeUiLib (3.0.4):
@ -571,7 +571,7 @@ PODS:
- RNScreens (3.13.1): - RNScreens (3.13.1):
- React-Core - React-Core
- React-RCTImage - React-RCTImage
- RNSVG (12.3.0): - RNSVG (13.8.0):
- React-Core - React-Core
- RNVectorIcons (9.1.0): - RNVectorIcons (9.1.0):
- React-Core - React-Core
@ -902,8 +902,8 @@ SPEC CHECKSUMS:
ExpoModulesCore: e281bb7b78ea47e227dd5af94d04b24d8b2e1255 ExpoModulesCore: e281bb7b78ea47e227dd5af94d04b24d8b2e1255
ExpoWebBrowser: 4b5f9633e5f169dc948587cb6d26d2d1d1406187 ExpoWebBrowser: 4b5f9633e5f169dc948587cb6d26d2d1d1406187
EXVideoThumbnails: 19e055dc3245b53c536da9e0ef9c618fd2118297 EXVideoThumbnails: 19e055dc3245b53c536da9e0ef9c618fd2118297
FBLazyVector: a7a655862f6b09625d11c772296b01cd5164b648 FBLazyVector: 74b042924fe14da854ac4e87cefc417f583b22b1
FBReactNativeSpec: 66b5770d86bfee27d67b850416dbc7123c4f6311 FBReactNativeSpec: 847d588a676110304f9bd83ac255b00de80bd45c
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
FirebaseAnalytics: 7761cbadb00a717d8d0939363eb46041526474fa FirebaseAnalytics: 7761cbadb00a717d8d0939363eb46041526474fa
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1 FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
@ -928,19 +928,19 @@ SPEC CHECKSUMS:
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
RCT-Folly: 4d8508a426467c48885f1151029bc15fa5d7b3b8 RCT-Folly: 4d8508a426467c48885f1151029bc15fa5d7b3b8
RCTRequired: 3e917ea5377751094f38145fdece525aa90545a0 RCTRequired: 92cbd71369a2de6add25fd2403ac39838f1b694f
RCTTypeSafety: c43c072a4bd60feb49a9570b0517892b4305c45e RCTTypeSafety: 494e8af41d7410ed0b877210859ee3984f37e6b4
React: 176dd882de001854ced260fad41bb68a31aa4bd0 React: 59989499c0e8926a90d34a9ae0bdb2d1b5b53406
React-callinvoker: c2864d1818d6e64928d2faf774a3800dfc38fe1f React-callinvoker: 8187db1c71cf2c1c66e8f7328a0cf77a2b255d94
React-Codegen: 98b6f97f0a7abf7d67e4ce435c77c05b7a95cf05 React-Codegen: e806dc2f10ddae645d855cb58acf73ce41eb8ea5
React-Core: fdaa2916b1c893f39f02cff0476d1fb0cab1e352 React-Core: fc7339b493e368ae079850a4721bdf716cf3dba2
React-CoreModules: fd8705b80699ec36c2cdd635c2ce9d874b9cfdfc React-CoreModules: 2f54f6bbf2764044379332089fcbdaf79197021e
React-cxxreact: 1832d971f7b0cb2c7b943dc0ec962762c90c906e React-cxxreact: ee119270006794976e1ab271f0111a5a88b16bcf
React-hermes: 14e0ea3ce4b44bb3ac7663d96d0e3e28857f7b62 React-hermes: da05900062e21a1ef4e14cddf3b562ae02a93a5a
React-jsi: 72af715135abe8c3f0dcf3b2548b71d048b69a7e React-jsi: ec691b2a475d13b1fd39f697145a526eeeb6661c
React-jsiexecutor: b7b553412f2ec768fe6c8f27cd6bafdb9d8719e6 React-jsiexecutor: b4ce4afc5dd9c8fdd2ac59049ccf420f288ecef7
React-jsinspector: c5989c77cb89ae6a69561095a61cce56a44ae8e8 React-jsinspector: e396d5e56af08fce39f50571726b68a40f1e302d
React-logger: a0833912d93b36b791b7a521672d8ee89107aff1 React-logger: cec52b3f8fb0be0d47b2cb75dec69de60f2de3b6
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
react-native-blur: ba2f37268542f8a26d809f48c5162705a3261fc6 react-native-blur: ba2f37268542f8a26d809f48c5162705a3261fc6
react-native-cameraroll: 2957f2bce63ae896a848fbe0d5352c1bd4d20866 react-native-cameraroll: 2957f2bce63ae896a848fbe0d5352c1bd4d20866
@ -956,18 +956,18 @@ SPEC CHECKSUMS:
react-native-simple-crypto: a26121696064628b6cb92f52f653353114deb7f4 react-native-simple-crypto: a26121696064628b6cb92f52f653353114deb7f4
react-native-slider: 2f25c919f1dc309b90e2cc8346b8042ecec2102f react-native-slider: 2f25c919f1dc309b90e2cc8346b8042ecec2102f
react-native-webview: 679b6f400176e2ea8a785acf7ae16cf282e7d1eb react-native-webview: 679b6f400176e2ea8a785acf7ae16cf282e7d1eb
React-perflogger: a18b4f0bd933b8b24ecf9f3c54f9bf65180f3fe6 React-perflogger: 46620fc6d1c3157b60ed28434e08f7fd7f3f3353
React-RCTActionSheet: 547fe42fdb4b6089598d79f8e1d855d7c23e2162 React-RCTActionSheet: b1f7e72a0ba760ec684df335c61f730b5179f5ff
React-RCTAnimation: bc9440a1c37b06ae9ebbb532d244f607805c6034 React-RCTAnimation: d73b62d42867ab608dfb10e100d8b91106275b18
React-RCTBlob: a1295c8e183756d7ef30ba6e8f8144dfe8a19215 React-RCTBlob: b5f59693721d50967c35598158e6ca01b474c7de
React-RCTImage: a30d1ee09b1334067fbb6f30789aae2d7ac150c9 React-RCTImage: 37cf34d0c2fbef2e0278d42a7c5e8ea06a9fed6b
React-RCTLinking: ffc6d5b88d1cb9aca13c54c2ec6507fbf07f2ac4 React-RCTLinking: a11dced20019cf1c2ec7fd120f18b08f2851f79e
React-RCTNetwork: f807a2facab6cf5cf36d592e634611de9cf12d81 React-RCTNetwork: ba097188e5eac42e070029e7cedd9b978940833a
React-RCTSettings: 861806819226ed8332e6a8f90df2951a34bb3e7f React-RCTSettings: 147073708a1c1bde521cf3af045a675682772726
React-RCTText: f3fb464cc41a50fc7a1aba4deeb76a9ad8282cb9 React-RCTText: 23f76ebfb2717d181476432e5ecf1c6c4a104c5e
React-RCTVibration: 79040b92bfa9c3c2d2cb4f57e981164ec7ab9374 React-RCTVibration: be5f18ffc644f96f904e0e673ab639ca5d673ee8
React-runtimeexecutor: b960b687d2dfef0d3761fbb187e01812ebab8b23 React-runtimeexecutor: d5498cfb7059bf8397b6416db4777843f3f4c1e7
ReactCommon: 095366164a276d91ea704ce53cb03825c487a3f2 ReactCommon: 1974dab5108c79b40199f12a4833d2499b9f6303
ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab
ReactNativeUiLib: cde7263a7d308b60161cd286f95c9433e79f2f7d ReactNativeUiLib: cde7263a7d308b60161cd286f95c9433e79f2f7d
rn-extensions-share: 5fd84a80e6594706f0dfa1884f2d6d591b382cf5 rn-extensions-share: 5fd84a80e6594706f0dfa1884f2d6d591b382cf5
@ -992,14 +992,14 @@ SPEC CHECKSUMS:
RNReanimated: 64573e25e078ae6bec03b891586d50b9ec284393 RNReanimated: 64573e25e078ae6bec03b891586d50b9ec284393
RNRootView: 895a4813dedeaca82db2fa868ca1c333d790e494 RNRootView: 895a4813dedeaca82db2fa868ca1c333d790e494
RNScreens: 40a2cb40a02a609938137a1e0acfbf8fc9eebf19 RNScreens: 40a2cb40a02a609938137a1e0acfbf8fc9eebf19
RNSVG: 302bfc9905bd8122f08966dc2ce2d07b7b52b9f8 RNSVG: c1e76b81c76cdcd34b4e1188852892dc280eb902
RNVectorIcons: 7923e585eaeb139b9f4531d25a125a1500162a0b RNVectorIcons: 7923e585eaeb139b9f4531d25a125a1500162a0b
SDWebImage: a47aea9e3d8816015db4e523daff50cfd294499d SDWebImage: a47aea9e3d8816015db4e523daff50cfd294499d
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
simdjson: 85016870cd17207312b718ef6652eb6a1cd6a2b0 simdjson: 85016870cd17207312b718ef6652eb6a1cd6a2b0
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863 TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
WatermelonDB: 577c61fceff16e9f9103b59d14aee4850c0307b6 WatermelonDB: 577c61fceff16e9f9103b59d14aee4850c0307b6
Yoga: 99652481fcd320aefa4a7ef90095b95acd181952 Yoga: 7929b92b1828675c1bebeb114dae8cb8fa7ef6a3
PODFILE CHECKSUM: 670cc455843e2a5aeeaabfba29cc1194a8948056 PODFILE CHECKSUM: 670cc455843e2a5aeeaabfba29cc1194a8948056

View File

@ -8,8 +8,10 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
0C6E2DE448364EA896869ADF /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B37C79D9BD0742CE936B6982 /* libc++.tbd */; }; 0C6E2DE448364EA896869ADF /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B37C79D9BD0742CE936B6982 /* libc++.tbd */; };
120231A2D6D72F6F158D427F /* libPods-defaults-ShareRocketChatRN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A12689B57CCCE8779F27F1BB /* libPods-defaults-ShareRocketChatRN.a */; };
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
169B5F4627F418BF3F4EEDA9 /* libPods-defaults-NotificationService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27622696E038BD9807E430F4 /* libPods-defaults-NotificationService.a */; };
1E01C81C2511208400FEF824 /* URL+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E01C81B2511208400FEF824 /* URL+Extensions.swift */; }; 1E01C81C2511208400FEF824 /* URL+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E01C81B2511208400FEF824 /* URL+Extensions.swift */; };
1E01C8212511301400FEF824 /* PushResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E01C8202511301400FEF824 /* PushResponse.swift */; }; 1E01C8212511301400FEF824 /* PushResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E01C8202511301400FEF824 /* PushResponse.swift */; };
1E01C8252511303100FEF824 /* Notification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E01C8242511303100FEF824 /* Notification.swift */; }; 1E01C8252511303100FEF824 /* Notification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E01C8242511303100FEF824 /* Notification.swift */; };
@ -76,8 +78,8 @@
1EF5FBD1250C109E00614FEA /* Encryption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF5FBD0250C109E00614FEA /* Encryption.swift */; }; 1EF5FBD1250C109E00614FEA /* Encryption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF5FBD0250C109E00614FEA /* Encryption.swift */; };
1EFEB5982493B6640072EDC0 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EFEB5972493B6640072EDC0 /* NotificationService.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, ); }; }; 1EFEB59C2493B6640072EDC0 /* NotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 1EFEB5952493B6640072EDC0 /* NotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
22CA8612B15DD734B5743B5D /* libPods-defaults-RocketChatRN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13DB30BB858F5EADA8D901D1 /* libPods-defaults-RocketChatRN.a */; };
24A2AEF2383D44B586D31C01 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 06BB44DD4855498082A744AD /* libz.tbd */; }; 24A2AEF2383D44B586D31C01 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 06BB44DD4855498082A744AD /* libz.tbd */; };
460E782729C913ACC2B8EA57 /* libPods-defaults-Rocket.Chat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EFDB72665B51D50D102E732D /* libPods-defaults-Rocket.Chat.a */; };
4C4C8603EF082F0A33A95522 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45D5C142B655F8EFD006792C /* ExpoModulesProvider.swift */; }; 4C4C8603EF082F0A33A95522 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45D5C142B655F8EFD006792C /* ExpoModulesProvider.swift */; };
7A006F14229C83B600803143 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7A006F13229C83B600803143 /* GoogleService-Info.plist */; }; 7A006F14229C83B600803143 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7A006F13229C83B600803143 /* GoogleService-Info.plist */; };
7A0D62D2242AB187006D5C06 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7A0D62D1242AB187006D5C06 /* LaunchScreen.storyboard */; }; 7A0D62D2242AB187006D5C06 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7A0D62D1242AB187006D5C06 /* LaunchScreen.storyboard */; };
@ -138,11 +140,9 @@
7AE10C0628A59530003593CB /* Inter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7AE10C0528A59530003593CB /* Inter.ttf */; }; 7AE10C0628A59530003593CB /* Inter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7AE10C0528A59530003593CB /* Inter.ttf */; };
7AE10C0728A59530003593CB /* Inter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7AE10C0528A59530003593CB /* Inter.ttf */; }; 7AE10C0728A59530003593CB /* Inter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7AE10C0528A59530003593CB /* Inter.ttf */; };
7AE10C0828A59530003593CB /* Inter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7AE10C0528A59530003593CB /* Inter.ttf */; }; 7AE10C0828A59530003593CB /* Inter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7AE10C0528A59530003593CB /* Inter.ttf */; };
7CD6EA74BD37266C0BCAC972 /* libPods-defaults-ShareRocketChatRN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A99BB53A40C30B4B264BFA5 /* libPods-defaults-ShareRocketChatRN.a */; };
85160EB6C143E0493FE5F014 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 194D9A8897F4A486C2C6F89A /* ExpoModulesProvider.swift */; }; 85160EB6C143E0493FE5F014 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 194D9A8897F4A486C2C6F89A /* ExpoModulesProvider.swift */; };
A809BED7D6DCDD5DC5D2140F /* libPods-defaults-RocketChatRN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EDFA9E4FA6C0BDF77CD23B /* libPods-defaults-RocketChatRN.a */; }; 979509E6A0F1972E73608E63 /* libPods-defaults-Rocket.Chat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC210086172D4E1CE6BF19E2 /* libPods-defaults-Rocket.Chat.a */; };
BC404914E86821389EEB543D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 391C4F7AA7023CD41EEBD106 /* ExpoModulesProvider.swift */; }; BC404914E86821389EEB543D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 391C4F7AA7023CD41EEBD106 /* ExpoModulesProvider.swift */; };
CF05A6FEE970FC0F23969445 /* libPods-defaults-NotificationService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7107AAFABF867C2E02778938 /* libPods-defaults-NotificationService.a */; };
D94D81FB9E10756FAA03F203 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016747EF3B9FED8DE2C9DA14 /* ExpoModulesProvider.swift */; }; D94D81FB9E10756FAA03F203 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016747EF3B9FED8DE2C9DA14 /* ExpoModulesProvider.swift */; };
DD2BA30A89E64F189C2C24AC /* libWatermelonDB.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BA7E862283664608B3894E34 /* libWatermelonDB.a */; }; DD2BA30A89E64F189C2C24AC /* libWatermelonDB.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BA7E862283664608B3894E34 /* libWatermelonDB.a */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
@ -209,14 +209,16 @@
008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; }; 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; };
016747EF3B9FED8DE2C9DA14 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-defaults-ShareRocketChatRN/ExpoModulesProvider.swift"; sourceTree = "<group>"; }; 016747EF3B9FED8DE2C9DA14 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-defaults-ShareRocketChatRN/ExpoModulesProvider.swift"; sourceTree = "<group>"; };
06BB44DD4855498082A744AD /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 06BB44DD4855498082A744AD /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
06C3117EECD04F11CB1C29A9 /* Pods-defaults-Rocket.Chat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.release.xcconfig"; path = "Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.release.xcconfig"; sourceTree = "<group>"; }; 08211712CAB38560EA4833C5 /* Pods-defaults-RocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.release.xcconfig"; path = "Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.release.xcconfig"; sourceTree = "<group>"; };
0A99BB53A40C30B4B264BFA5 /* libPods-defaults-ShareRocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-ShareRocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 0EBF1F098698854FB86D9A64 /* Pods-defaults-RocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.debug.xcconfig"; path = "Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.debug.xcconfig"; sourceTree = "<group>"; };
13B07F961A680F5B00A75B9A /* Rocket.Chat Experimental.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Rocket.Chat Experimental.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07F961A680F5B00A75B9A /* Rocket.Chat Experimental.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Rocket.Chat Experimental.app"; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = RocketChatRN/AppDelegate.h; sourceTree = "<group>"; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = RocketChatRN/AppDelegate.h; sourceTree = "<group>"; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = RocketChatRN/Images.xcassets; sourceTree = "<group>"; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = RocketChatRN/Images.xcassets; sourceTree = "<group>"; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RocketChatRN/Info.plist; sourceTree = "<group>"; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RocketChatRN/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = RocketChatRN/main.m; sourceTree = "<group>"; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = RocketChatRN/main.m; sourceTree = "<group>"; };
13DB30BB858F5EADA8D901D1 /* libPods-defaults-RocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-RocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; };
194D9A8897F4A486C2C6F89A /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-defaults-NotificationService/ExpoModulesProvider.swift"; sourceTree = "<group>"; }; 194D9A8897F4A486C2C6F89A /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-defaults-NotificationService/ExpoModulesProvider.swift"; sourceTree = "<group>"; };
19D2E2FEA39121FD901D67BD /* Pods-defaults-Rocket.Chat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.debug.xcconfig"; path = "Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.debug.xcconfig"; sourceTree = "<group>"; };
1E01C81B2511208400FEF824 /* URL+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+Extensions.swift"; sourceTree = "<group>"; }; 1E01C81B2511208400FEF824 /* URL+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+Extensions.swift"; sourceTree = "<group>"; };
1E01C8202511301400FEF824 /* PushResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushResponse.swift; sourceTree = "<group>"; }; 1E01C8202511301400FEF824 /* PushResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushResponse.swift; sourceTree = "<group>"; };
1E01C8242511303100FEF824 /* Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notification.swift; sourceTree = "<group>"; }; 1E01C8242511303100FEF824 /* Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notification.swift; sourceTree = "<group>"; };
@ -262,13 +264,12 @@
1EFEB5972493B6640072EDC0 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; }; 1EFEB5972493B6640072EDC0 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; };
1EFEB5992493B6640072EDC0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 1EFEB5992493B6640072EDC0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
1EFEB5A12493B67D0072EDC0 /* NotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = NotificationService.entitlements; sourceTree = "<group>"; }; 1EFEB5A12493B67D0072EDC0 /* NotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = NotificationService.entitlements; sourceTree = "<group>"; };
27622696E038BD9807E430F4 /* libPods-defaults-NotificationService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-NotificationService.a"; sourceTree = BUILT_PRODUCTS_DIR; };
35563E2152CBFEE0D573F7F8 /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-ShareRocketChatRN.debug.xcconfig"; path = "Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN.debug.xcconfig"; sourceTree = "<group>"; };
391C4F7AA7023CD41EEBD106 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-defaults-Rocket.Chat/ExpoModulesProvider.swift"; sourceTree = "<group>"; }; 391C4F7AA7023CD41EEBD106 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-defaults-Rocket.Chat/ExpoModulesProvider.swift"; sourceTree = "<group>"; };
45D5C142B655F8EFD006792C /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-defaults-RocketChatRN/ExpoModulesProvider.swift"; sourceTree = "<group>"; }; 45D5C142B655F8EFD006792C /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-defaults-RocketChatRN/ExpoModulesProvider.swift"; sourceTree = "<group>"; };
496B9AFC1A3BFACA18566761 /* Pods-defaults-RocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.release.xcconfig"; path = "Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.release.xcconfig"; sourceTree = "<group>"; };
4E3D7377D5EE259A4C9889A7 /* Pods-defaults-RocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.debug.xcconfig"; path = "Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.debug.xcconfig"; sourceTree = "<group>"; };
60B2A6A31FC4588700BD58E5 /* RocketChatRN.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = RocketChatRN.entitlements; path = RocketChatRN/RocketChatRN.entitlements; sourceTree = "<group>"; }; 60B2A6A31FC4588700BD58E5 /* RocketChatRN.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = RocketChatRN.entitlements; path = RocketChatRN/RocketChatRN.entitlements; sourceTree = "<group>"; };
65360F272979AA1500778C04 /* JitsiMeetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = JitsiMeetViewController.swift; path = "../node_modules/@socialcode-rob1/react-native-jitsimeet-custom/ios/JitsiMeetViewController.swift"; sourceTree = "<group>"; }; 65360F272979AA1500778C04 /* JitsiMeetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = JitsiMeetViewController.swift; path = "../node_modules/@socialcode-rob1/react-native-jitsimeet-custom/ios/JitsiMeetViewController.swift"; sourceTree = "<group>"; };
7107AAFABF867C2E02778938 /* libPods-defaults-NotificationService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-NotificationService.a"; sourceTree = BUILT_PRODUCTS_DIR; };
7A006F13229C83B600803143 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; }; 7A006F13229C83B600803143 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
7A0D62D1242AB187006D5C06 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; }; 7A0D62D1242AB187006D5C06 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
7A14FCEC257FEB3A005BDCD4 /* Experimental.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Experimental.xcassets; sourceTree = "<group>"; }; 7A14FCEC257FEB3A005BDCD4 /* Experimental.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Experimental.xcassets; sourceTree = "<group>"; };
@ -279,15 +280,14 @@
7AAB3E52257E6A6E00707CF6 /* Rocket.Chat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rocket.Chat.app; sourceTree = BUILT_PRODUCTS_DIR; }; 7AAB3E52257E6A6E00707CF6 /* Rocket.Chat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rocket.Chat.app; sourceTree = BUILT_PRODUCTS_DIR; };
7ACD4853222860DE00442C55 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 7ACD4853222860DE00442C55 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
7AE10C0528A59530003593CB /* Inter.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = Inter.ttf; sourceTree = "<group>"; }; 7AE10C0528A59530003593CB /* Inter.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = Inter.ttf; sourceTree = "<group>"; };
A6EDFA9E4FA6C0BDF77CD23B /* libPods-defaults-RocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-RocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 9F5B90E1D1A647212DB88A07 /* Pods-defaults-NotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-NotificationService.debug.xcconfig"; path = "Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService.debug.xcconfig"; sourceTree = "<group>"; };
B2632520781ADB17C1AC1FAC /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-ShareRocketChatRN.debug.xcconfig"; path = "Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN.debug.xcconfig"; sourceTree = "<group>"; }; A12689B57CCCE8779F27F1BB /* libPods-defaults-ShareRocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-ShareRocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; };
B37C79D9BD0742CE936B6982 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; B37C79D9BD0742CE936B6982 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
B387EBF6D5D60163EA71AE10 /* Pods-defaults-Rocket.Chat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.debug.xcconfig"; path = "Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.debug.xcconfig"; sourceTree = "<group>"; }; B4414A4D99DE7C411B79A500 /* Pods-defaults-Rocket.Chat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.release.xcconfig"; path = "Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.release.xcconfig"; sourceTree = "<group>"; };
B90637B65093B8C2B7C93A26 /* Pods-defaults-NotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-NotificationService.debug.xcconfig"; path = "Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService.debug.xcconfig"; sourceTree = "<group>"; }; B46E38BD08027136477CFE9A /* Pods-defaults-ShareRocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-ShareRocketChatRN.release.xcconfig"; path = "Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN.release.xcconfig"; sourceTree = "<group>"; };
BA7E862283664608B3894E34 /* libWatermelonDB.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libWatermelonDB.a; sourceTree = "<group>"; }; BA7E862283664608B3894E34 /* libWatermelonDB.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libWatermelonDB.a; sourceTree = "<group>"; };
CEDD8A84B710A696B2834686 /* Pods-defaults-NotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-NotificationService.release.xcconfig"; path = "Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService.release.xcconfig"; sourceTree = "<group>"; }; CA56F7BC0933784810C04F11 /* Pods-defaults-NotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-NotificationService.release.xcconfig"; path = "Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService.release.xcconfig"; sourceTree = "<group>"; };
D49C1A8553D7BEA6FA98C6B9 /* Pods-defaults-ShareRocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-ShareRocketChatRN.release.xcconfig"; path = "Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN.release.xcconfig"; sourceTree = "<group>"; }; FC210086172D4E1CE6BF19E2 /* libPods-defaults-Rocket.Chat.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-Rocket.Chat.a"; sourceTree = BUILT_PRODUCTS_DIR; };
EFDB72665B51D50D102E732D /* libPods-defaults-Rocket.Chat.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-Rocket.Chat.a"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -308,7 +308,7 @@
7ACD4897222860DE00442C55 /* JavaScriptCore.framework in Frameworks */, 7ACD4897222860DE00442C55 /* JavaScriptCore.framework in Frameworks */,
24A2AEF2383D44B586D31C01 /* libz.tbd in Frameworks */, 24A2AEF2383D44B586D31C01 /* libz.tbd in Frameworks */,
DD2BA30A89E64F189C2C24AC /* libWatermelonDB.a in Frameworks */, DD2BA30A89E64F189C2C24AC /* libWatermelonDB.a in Frameworks */,
A809BED7D6DCDD5DC5D2140F /* libPods-defaults-RocketChatRN.a in Frameworks */, 22CA8612B15DD734B5743B5D /* libPods-defaults-RocketChatRN.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -317,7 +317,7 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
1E25743422CBA2CF005A877F /* JavaScriptCore.framework in Frameworks */, 1E25743422CBA2CF005A877F /* JavaScriptCore.framework in Frameworks */,
7CD6EA74BD37266C0BCAC972 /* libPods-defaults-ShareRocketChatRN.a in Frameworks */, 120231A2D6D72F6F158D427F /* libPods-defaults-ShareRocketChatRN.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -325,7 +325,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
CF05A6FEE970FC0F23969445 /* libPods-defaults-NotificationService.a in Frameworks */, 169B5F4627F418BF3F4EEDA9 /* libPods-defaults-NotificationService.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -346,7 +346,7 @@
7AAB3E3D257E6A6E00707CF6 /* JavaScriptCore.framework in Frameworks */, 7AAB3E3D257E6A6E00707CF6 /* JavaScriptCore.framework in Frameworks */,
7AAB3E3E257E6A6E00707CF6 /* libz.tbd in Frameworks */, 7AAB3E3E257E6A6E00707CF6 /* libz.tbd in Frameworks */,
7AAB3E3F257E6A6E00707CF6 /* libWatermelonDB.a in Frameworks */, 7AAB3E3F257E6A6E00707CF6 /* libWatermelonDB.a in Frameworks */,
460E782729C913ACC2B8EA57 /* libPods-defaults-Rocket.Chat.a in Frameworks */, 979509E6A0F1972E73608E63 /* libPods-defaults-Rocket.Chat.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -496,14 +496,14 @@
7AC2B09613AA7C3FEBAC9F57 /* Pods */ = { 7AC2B09613AA7C3FEBAC9F57 /* Pods */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
B90637B65093B8C2B7C93A26 /* Pods-defaults-NotificationService.debug.xcconfig */, 9F5B90E1D1A647212DB88A07 /* Pods-defaults-NotificationService.debug.xcconfig */,
CEDD8A84B710A696B2834686 /* Pods-defaults-NotificationService.release.xcconfig */, CA56F7BC0933784810C04F11 /* Pods-defaults-NotificationService.release.xcconfig */,
B387EBF6D5D60163EA71AE10 /* Pods-defaults-Rocket.Chat.debug.xcconfig */, 19D2E2FEA39121FD901D67BD /* Pods-defaults-Rocket.Chat.debug.xcconfig */,
06C3117EECD04F11CB1C29A9 /* Pods-defaults-Rocket.Chat.release.xcconfig */, B4414A4D99DE7C411B79A500 /* Pods-defaults-Rocket.Chat.release.xcconfig */,
4E3D7377D5EE259A4C9889A7 /* Pods-defaults-RocketChatRN.debug.xcconfig */, 0EBF1F098698854FB86D9A64 /* Pods-defaults-RocketChatRN.debug.xcconfig */,
496B9AFC1A3BFACA18566761 /* Pods-defaults-RocketChatRN.release.xcconfig */, 08211712CAB38560EA4833C5 /* Pods-defaults-RocketChatRN.release.xcconfig */,
B2632520781ADB17C1AC1FAC /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */, 35563E2152CBFEE0D573F7F8 /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */,
D49C1A8553D7BEA6FA98C6B9 /* Pods-defaults-ShareRocketChatRN.release.xcconfig */, B46E38BD08027136477CFE9A /* Pods-defaults-ShareRocketChatRN.release.xcconfig */,
); );
path = Pods; path = Pods;
sourceTree = "<group>"; sourceTree = "<group>";
@ -594,10 +594,10 @@
7ACD4853222860DE00442C55 /* JavaScriptCore.framework */, 7ACD4853222860DE00442C55 /* JavaScriptCore.framework */,
B37C79D9BD0742CE936B6982 /* libc++.tbd */, B37C79D9BD0742CE936B6982 /* libc++.tbd */,
06BB44DD4855498082A744AD /* libz.tbd */, 06BB44DD4855498082A744AD /* libz.tbd */,
7107AAFABF867C2E02778938 /* libPods-defaults-NotificationService.a */, 27622696E038BD9807E430F4 /* libPods-defaults-NotificationService.a */,
EFDB72665B51D50D102E732D /* libPods-defaults-Rocket.Chat.a */, FC210086172D4E1CE6BF19E2 /* libPods-defaults-Rocket.Chat.a */,
A6EDFA9E4FA6C0BDF77CD23B /* libPods-defaults-RocketChatRN.a */, 13DB30BB858F5EADA8D901D1 /* libPods-defaults-RocketChatRN.a */,
0A99BB53A40C30B4B264BFA5 /* libPods-defaults-ShareRocketChatRN.a */, A12689B57CCCE8779F27F1BB /* libPods-defaults-ShareRocketChatRN.a */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@ -617,7 +617,7 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "RocketChatRN" */; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "RocketChatRN" */;
buildPhases = ( buildPhases = (
DE29ABAFC51FDE8111D6F9EC /* [CP] Check Pods Manifest.lock */, 28D0CE82D160EB7EA1A2DB76 /* [CP] Check Pods Manifest.lock */,
7AA5C63E23E30D110005C4A7 /* Start Packager */, 7AA5C63E23E30D110005C4A7 /* Start Packager */,
13B07F871A680F5B00A75B9A /* Sources */, 13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8C1A680F5B00A75B9A /* Frameworks */,
@ -626,8 +626,8 @@
1EC6ACF422CB9FC300A41C61 /* Embed App Extensions */, 1EC6ACF422CB9FC300A41C61 /* Embed App Extensions */,
1E1EA8082326CCE300E22452 /* ShellScript */, 1E1EA8082326CCE300E22452 /* ShellScript */,
7AAE9EB32891A0D20024F559 /* Upload source maps to Bugsnag */, 7AAE9EB32891A0D20024F559 /* Upload source maps to Bugsnag */,
7841CD536EDA07B20BCE10B7 /* [CP] Embed Pods Frameworks */, CB5F2EA8A636F7D770418E38 /* [CP] Embed Pods Frameworks */,
8F1EAEDED27E942D30510BAC /* [CP] Copy Pods Resources */, 9DAAEC0271017BAD00377563 /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
@ -644,12 +644,12 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 1EC6ACF322CB9FC300A41C61 /* Build configuration list for PBXNativeTarget "ShareRocketChatRN" */; buildConfigurationList = 1EC6ACF322CB9FC300A41C61 /* Build configuration list for PBXNativeTarget "ShareRocketChatRN" */;
buildPhases = ( buildPhases = (
FAE0F7AA2756A4362BC5B30B /* [CP] Check Pods Manifest.lock */, 932AF1E25CAB70417675563B /* [CP] Check Pods Manifest.lock */,
1EC6ACAC22CB9FC300A41C61 /* Sources */, 1EC6ACAC22CB9FC300A41C61 /* Sources */,
1EC6ACAD22CB9FC300A41C61 /* Frameworks */, 1EC6ACAD22CB9FC300A41C61 /* Frameworks */,
1EC6ACAE22CB9FC300A41C61 /* Resources */, 1EC6ACAE22CB9FC300A41C61 /* Resources */,
1EFE4DC322CBF36300B766B7 /* ShellScript */, 1EFE4DC322CBF36300B766B7 /* ShellScript */,
0201B0C2059B91755F2025E4 /* [CP] Copy Pods Resources */, 037E846293A50B498765886B /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
@ -664,11 +664,11 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 1EFEB5A02493B6640072EDC0 /* Build configuration list for PBXNativeTarget "NotificationService" */; buildConfigurationList = 1EFEB5A02493B6640072EDC0 /* Build configuration list for PBXNativeTarget "NotificationService" */;
buildPhases = ( buildPhases = (
63AF6819B463EFFEB422E5FA /* [CP] Check Pods Manifest.lock */, 7707CC6FF0E78531785B48DB /* [CP] Check Pods Manifest.lock */,
1EFEB5912493B6640072EDC0 /* Sources */, 1EFEB5912493B6640072EDC0 /* Sources */,
1EFEB5922493B6640072EDC0 /* Frameworks */, 1EFEB5922493B6640072EDC0 /* Frameworks */,
1EFEB5932493B6640072EDC0 /* Resources */, 1EFEB5932493B6640072EDC0 /* Resources */,
729BD34038A0BFBCE2E6E9B5 /* [CP] Copy Pods Resources */, ECED2C4673D045CE8BEC6E6C /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
@ -683,7 +683,7 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 7AAB3E4F257E6A6E00707CF6 /* Build configuration list for PBXNativeTarget "Rocket.Chat" */; buildConfigurationList = 7AAB3E4F257E6A6E00707CF6 /* Build configuration list for PBXNativeTarget "Rocket.Chat" */;
buildPhases = ( buildPhases = (
A21BC8746245EB1E7D8722FF /* [CP] Check Pods Manifest.lock */, C12C2D2C4B0DD10AB00F6EC1 /* [CP] Check Pods Manifest.lock */,
7AAB3E13257E6A6E00707CF6 /* Start Packager */, 7AAB3E13257E6A6E00707CF6 /* Start Packager */,
7AAB3E14257E6A6E00707CF6 /* Sources */, 7AAB3E14257E6A6E00707CF6 /* Sources */,
7AAB3E32257E6A6E00707CF6 /* Frameworks */, 7AAB3E32257E6A6E00707CF6 /* Frameworks */,
@ -692,8 +692,8 @@
7AAB3E48257E6A6E00707CF6 /* Embed App Extensions */, 7AAB3E48257E6A6E00707CF6 /* Embed App Extensions */,
7AAB3E4B257E6A6E00707CF6 /* ShellScript */, 7AAB3E4B257E6A6E00707CF6 /* ShellScript */,
7A10288726B1D15200E47EF8 /* Upload source maps to Bugsnag */, 7A10288726B1D15200E47EF8 /* Upload source maps to Bugsnag */,
C1E9B0B4B7CD33AA69C229F5 /* [CP] Embed Pods Frameworks */, 91FE05CAFFE29618ECC6E67B /* [CP] Embed Pods Frameworks */,
8DAD9AEDB28EC0ED2C88DCF8 /* [CP] Copy Pods Resources */, 52E2FEC97AEE7D27CDA54D88 /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
@ -843,7 +843,7 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; shellScript = "export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n";
}; };
0201B0C2059B91755F2025E4 /* [CP] Copy Pods Resources */ = { 037E846293A50B498765886B /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
@ -933,7 +933,7 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; shellScript = "export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n";
}; };
63AF6819B463EFFEB422E5FA /* [CP] Check Pods Manifest.lock */ = { 28D0CE82D160EB7EA1A2DB76 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
@ -948,20 +948,20 @@
outputFileListPaths = ( outputFileListPaths = (
); );
outputPaths = ( outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-defaults-NotificationService-checkManifestLockResult.txt", "$(DERIVED_FILE_DIR)/Pods-defaults-RocketChatRN-checkManifestLockResult.txt",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
729BD34038A0BFBCE2E6E9B5 /* [CP] Copy Pods Resources */ = { 52E2FEC97AEE7D27CDA54D88 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputPaths = ( inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService-resources.sh", "${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-resources.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf",
@ -1008,31 +1008,29 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService-resources.sh\"\n"; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-resources.sh\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
7841CD536EDA07B20BCE10B7 /* [CP] Embed Pods Frameworks */ = { 7707CC6FF0E78531785B48DB /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputPaths = ( inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh", );
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDKLite/JitsiMeetSDK.framework/JitsiMeetSDK", inputPaths = (
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiWebRTC/WebRTC.framework/WebRTC", "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", "${PODS_ROOT}/Manifest.lock",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes", );
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
); );
name = "[CP] Embed Pods Frameworks";
outputPaths = ( outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework", "$(DERIVED_FILE_DIR)/Pods-defaults-NotificationService-checkManifestLockResult.txt",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh\"\n"; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
7A10288726B1D15200E47EF8 /* Upload source maps to Bugsnag */ = { 7A10288726B1D15200E47EF8 /* Upload source maps to Bugsnag */ = {
@ -1138,63 +1136,53 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "SOURCE_MAP=\"$TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\" ../node_modules/@bugsnag/react-native/bugsnag-react-native-xcode.sh\n"; shellScript = "SOURCE_MAP=\"$TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\" ../node_modules/@bugsnag/react-native/bugsnag-react-native-xcode.sh\n";
}; };
8DAD9AEDB28EC0ED2C88DCF8 /* [CP] Copy Pods Resources */ = { 91FE05CAFFE29618ECC6E67B /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputPaths = ( inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-resources.sh", "${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle", "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDKLite/JitsiMeetSDK.framework/JitsiMeetSDK",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiWebRTC/WebRTC.framework/WebRTC",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf",
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/iosMath/mathFonts.bundle",
); );
name = "[CP] Copy Pods Resources"; name = "[CP] Embed Pods Frameworks";
outputPaths = ( outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/mathFonts.bundle",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-resources.sh\"\n"; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
8F1EAEDED27E942D30510BAC /* [CP] Copy Pods Resources */ = { 932AF1E25CAB70417675563B /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-defaults-ShareRocketChatRN-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
9DAAEC0271017BAD00377563 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
@ -1250,7 +1238,7 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-resources.sh\"\n"; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-resources.sh\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
A21BC8746245EB1E7D8722FF /* [CP] Check Pods Manifest.lock */ = { C12C2D2C4B0DD10AB00F6EC1 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
@ -1272,13 +1260,13 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
C1E9B0B4B7CD33AA69C229F5 /* [CP] Embed Pods Frameworks */ = { CB5F2EA8A636F7D770418E38 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputPaths = ( inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh", "${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDKLite/JitsiMeetSDK.framework/JitsiMeetSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDKLite/JitsiMeetSDK.framework/JitsiMeetSDK",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiWebRTC/WebRTC.framework/WebRTC", "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiWebRTC/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
@ -1293,51 +1281,63 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh\"\n"; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
DE29ABAFC51FDE8111D6F9EC /* [CP] Check Pods Manifest.lock */ = { ECED2C4673D045CE8BEC6E6C /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputFileListPaths = (
);
inputPaths = ( inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock", "${PODS_ROOT}/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService-resources.sh",
"${PODS_ROOT}/Manifest.lock", "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
); "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf",
name = "[CP] Check Pods Manifest.lock"; "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf",
outputFileListPaths = ( "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf",
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf",
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/iosMath/mathFonts.bundle",
); );
name = "[CP] Copy Pods Resources";
outputPaths = ( outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-defaults-RocketChatRN-checkManifestLockResult.txt", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/mathFonts.bundle",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService-resources.sh\"\n";
showEnvVarsInLog = 0;
};
FAE0F7AA2756A4362BC5B30B /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-defaults-ShareRocketChatRN-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
/* End PBXShellScriptBuildPhase section */ /* End PBXShellScriptBuildPhase section */
@ -1497,7 +1497,7 @@
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
13B07F941A680F5B00A75B9A /* Debug */ = { 13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 4E3D7377D5EE259A4C9889A7 /* Pods-defaults-RocketChatRN.debug.xcconfig */; baseConfigurationReference = 0EBF1F098698854FB86D9A64 /* Pods-defaults-RocketChatRN.debug.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APPLICATION_EXTENSION_API_ONLY = NO; APPLICATION_EXTENSION_API_ONLY = NO;
@ -1542,7 +1542,6 @@
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative;
PRODUCT_NAME = "Rocket.Chat Experimental"; PRODUCT_NAME = "Rocket.Chat Experimental";
PROVISIONING_PROFILE_SPECIFIER = "match Development chat.rocket.reactnative 1614015157";
SWIFT_OBJC_BRIDGING_HEADER = "RocketChatRN-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "RocketChatRN-Bridging-Header.h";
SWIFT_OBJC_INTERFACE_HEADER_NAME = "RocketChatRN-Swift.h"; SWIFT_OBJC_INTERFACE_HEADER_NAME = "RocketChatRN-Swift.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@ -1554,7 +1553,7 @@
}; };
13B07F951A680F5B00A75B9A /* Release */ = { 13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 496B9AFC1A3BFACA18566761 /* Pods-defaults-RocketChatRN.release.xcconfig */; baseConfigurationReference = 08211712CAB38560EA4833C5 /* Pods-defaults-RocketChatRN.release.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APPLICATION_EXTENSION_API_ONLY = NO; APPLICATION_EXTENSION_API_ONLY = NO;
@ -1610,7 +1609,7 @@
}; };
1EC6ACBC22CB9FC300A41C61 /* Debug */ = { 1EC6ACBC22CB9FC300A41C61 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = B2632520781ADB17C1AC1FAC /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */; baseConfigurationReference = 35563E2152CBFEE0D573F7F8 /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(EMBEDDED_CONTENT_CONTAINS_SWIFT)"; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(EMBEDDED_CONTENT_CONTAINS_SWIFT)";
APPLICATION_EXTENSION_API_ONLY = YES; APPLICATION_EXTENSION_API_ONLY = YES;
@ -1652,7 +1651,7 @@
"$(inherited)", "$(inherited)",
"$(SRCROOT)/../node_modules/rn-extensions-share/ios/**", "$(SRCROOT)/../node_modules/rn-extensions-share/ios/**",
"$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**",
$PODS_CONFIGURATION_BUILD_DIR/Firebase, "$PODS_CONFIGURATION_BUILD_DIR/Firebase",
); );
INFOPLIST_FILE = ShareRocketChatRN/Info.plist; INFOPLIST_FILE = ShareRocketChatRN/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
@ -1670,7 +1669,6 @@
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.ShareExtension; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development chat.rocket.reactnative.ShareExtension 1614015146";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
@ -1679,7 +1677,7 @@
}; };
1EC6ACBD22CB9FC300A41C61 /* Release */ = { 1EC6ACBD22CB9FC300A41C61 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = D49C1A8553D7BEA6FA98C6B9 /* Pods-defaults-ShareRocketChatRN.release.xcconfig */; baseConfigurationReference = B46E38BD08027136477CFE9A /* Pods-defaults-ShareRocketChatRN.release.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(EMBEDDED_CONTENT_CONTAINS_SWIFT)"; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(EMBEDDED_CONTENT_CONTAINS_SWIFT)";
APPLICATION_EXTENSION_API_ONLY = YES; APPLICATION_EXTENSION_API_ONLY = YES;
@ -1721,7 +1719,7 @@
"$(inherited)", "$(inherited)",
"$(SRCROOT)/../node_modules/rn-extensions-share/ios/**", "$(SRCROOT)/../node_modules/rn-extensions-share/ios/**",
"$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**",
$PODS_CONFIGURATION_BUILD_DIR/Firebase, "$PODS_CONFIGURATION_BUILD_DIR/Firebase",
); );
INFOPLIST_FILE = ShareRocketChatRN/Info.plist; INFOPLIST_FILE = ShareRocketChatRN/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
@ -1738,7 +1736,7 @@
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.ShareExtension; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "chat.rocket.reactnative.ShareExtension AppStore"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore chat.rocket.reactnative.ShareExtension";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
@ -1747,7 +1745,7 @@
}; };
1EFEB59D2493B6640072EDC0 /* Debug */ = { 1EFEB59D2493B6640072EDC0 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = B90637B65093B8C2B7C93A26 /* Pods-defaults-NotificationService.debug.xcconfig */; baseConfigurationReference = 9F5B90E1D1A647212DB88A07 /* Pods-defaults-NotificationService.debug.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(EMBEDDED_CONTENT_CONTAINS_SWIFT)"; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(EMBEDDED_CONTENT_CONTAINS_SWIFT)";
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
@ -1767,13 +1765,12 @@
INFOPLIST_FILE = NotificationService/Info.plist; INFOPLIST_FILE = NotificationService/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 4.35.1; MARKETING_VERSION = 4.36.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development chat.rocket.reactnative.NotificationService 1614015134";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OBJC_BRIDGING_HEADER = "NotificationService/NotificationService-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "NotificationService/NotificationService-Bridging-Header.h";
@ -1785,7 +1782,7 @@
}; };
1EFEB59E2493B6640072EDC0 /* Release */ = { 1EFEB59E2493B6640072EDC0 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = CEDD8A84B710A696B2834686 /* Pods-defaults-NotificationService.release.xcconfig */; baseConfigurationReference = CA56F7BC0933784810C04F11 /* Pods-defaults-NotificationService.release.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(EMBEDDED_CONTENT_CONTAINS_SWIFT)"; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(EMBEDDED_CONTENT_CONTAINS_SWIFT)";
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
@ -1807,12 +1804,12 @@
INFOPLIST_FILE = NotificationService/Info.plist; INFOPLIST_FILE = NotificationService/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 4.35.1; MARKETING_VERSION = 4.36.0;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "chat.rocket.reactnative.NotificationService AppStore"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore chat.rocket.reactnative.NotificationService";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "NotificationService/NotificationService-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "NotificationService/NotificationService-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_OPTIMIZATION_LEVEL = "-O";
@ -1823,7 +1820,7 @@
}; };
7AAB3E50257E6A6E00707CF6 /* Debug */ = { 7AAB3E50257E6A6E00707CF6 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = B387EBF6D5D60163EA71AE10 /* Pods-defaults-Rocket.Chat.debug.xcconfig */; baseConfigurationReference = 19D2E2FEA39121FD901D67BD /* Pods-defaults-Rocket.Chat.debug.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APPLICATION_EXTENSION_API_ONLY = NO; APPLICATION_EXTENSION_API_ONLY = NO;
@ -1877,7 +1874,7 @@
}; };
7AAB3E51257E6A6E00707CF6 /* Release */ = { 7AAB3E51257E6A6E00707CF6 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 06C3117EECD04F11CB1C29A9 /* Pods-defaults-Rocket.Chat.release.xcconfig */; baseConfigurationReference = B4414A4D99DE7C411B79A500 /* Pods-defaults-Rocket.Chat.release.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
APPLICATION_EXTENSION_API_ONLY = NO; APPLICATION_EXTENSION_API_ONLY = NO;

View File

@ -26,7 +26,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>4.35.1</string> <string>4.36.0</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>

View File

@ -26,7 +26,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>XPC!</string> <string>XPC!</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>4.35.1</string> <string>4.36.0</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1</string> <string>1</string>
<key>KeychainGroup</key> <key>KeychainGroup</key>

Binary file not shown.

View File

@ -1,6 +1,6 @@
{ {
"name": "rocket-chat-reactnative", "name": "rocket-chat-reactnative",
"version": "4.35.1", "version": "4.36.0",
"private": true, "private": true,
"scripts": { "scripts": {
"start": "react-native start", "start": "react-native start",
@ -82,7 +82,7 @@
"prop-types": "15.7.2", "prop-types": "15.7.2",
"react": "17.0.2", "react": "17.0.2",
"react-hook-form": "^7.34.2", "react-hook-form": "^7.34.2",
"react-native": "RocketChat/react-native#281140d2e39d66a8e486db397ce0bf5bd0e334fc", "react-native": "RocketChat/react-native#51266d5ab8b4c3f04c0e8f207ea5db6056647104",
"react-native-animatable": "^1.3.3", "react-native-animatable": "^1.3.3",
"react-native-background-timer": "2.4.1", "react-native-background-timer": "2.4.1",
"react-native-bootsplash": "^4.3.3", "react-native-bootsplash": "^4.3.3",
@ -122,7 +122,7 @@
"react-native-simple-crypto": "RocketChat/react-native-simple-crypto#0.5.1", "react-native-simple-crypto": "RocketChat/react-native-simple-crypto#0.5.1",
"react-native-skeleton-placeholder": "^5.2.3", "react-native-skeleton-placeholder": "^5.2.3",
"react-native-slowlog": "^1.0.2", "react-native-slowlog": "^1.0.2",
"react-native-svg": "^12.3.0", "react-native-svg": "^13.8.0",
"react-native-ui-lib": "RocketChat/react-native-ui-lib", "react-native-ui-lib": "RocketChat/react-native-ui-lib",
"react-native-vector-icons": "9.1.0", "react-native-vector-icons": "9.1.0",
"react-native-webview": "10.3.2", "react-native-webview": "10.3.2",

107
yarn.lock
View File

@ -9431,15 +9431,15 @@ css-select@^1.1.0:
domutils "1.5.1" domutils "1.5.1"
nth-check "~1.0.1" nth-check "~1.0.1"
css-select@^4.2.1: css-select@^5.1.0:
version "4.2.1" version "5.1.0"
resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6"
integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==
dependencies: dependencies:
boolbase "^1.0.0" boolbase "^1.0.0"
css-what "^5.1.0" css-what "^6.1.0"
domhandler "^4.3.0" domhandler "^5.0.2"
domutils "^2.8.0" domutils "^3.0.1"
nth-check "^2.0.1" nth-check "^2.0.1"
css-selector-parser@^1.0.0: css-selector-parser@^1.0.0:
@ -9456,7 +9456,7 @@ css-to-react-native@^2.2.1:
css-color-keywords "^1.0.0" css-color-keywords "^1.0.0"
postcss-value-parser "^3.3.0" postcss-value-parser "^3.3.0"
css-tree@^1.0.0-alpha.39: css-tree@^1.1.3:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
@ -9469,10 +9469,10 @@ css-what@2.1:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
css-what@^5.1.0: css-what@^6.1.0:
version "5.1.0" version "6.1.0"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
cssesc@^3.0.0: cssesc@^3.0.0:
version "3.0.0" version "3.0.0"
@ -9872,14 +9872,14 @@ dom-serializer@0:
domelementtype "^2.0.1" domelementtype "^2.0.1"
entities "^2.0.0" entities "^2.0.0"
dom-serializer@^1.0.1: dom-serializer@^2.0.0:
version "1.3.2" version "2.0.0"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
dependencies: dependencies:
domelementtype "^2.0.1" domelementtype "^2.3.0"
domhandler "^4.2.0" domhandler "^5.0.2"
entities "^2.0.0" entities "^4.2.0"
dom-walk@^0.1.0: dom-walk@^0.1.0:
version "0.1.2" version "0.1.2"
@ -9901,10 +9901,10 @@ domelementtype@^2.0.1:
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==
domelementtype@^2.2.0: domelementtype@^2.3.0:
version "2.2.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
domhandler@^2.3.0: domhandler@^2.3.0:
version "2.4.2" version "2.4.2"
@ -9913,12 +9913,12 @@ domhandler@^2.3.0:
dependencies: dependencies:
domelementtype "1" domelementtype "1"
domhandler@^4.2.0, domhandler@^4.3.0: domhandler@^5.0.1, domhandler@^5.0.2:
version "4.3.1" version "5.0.3"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
dependencies: dependencies:
domelementtype "^2.2.0" domelementtype "^2.3.0"
domutils@1.5.1: domutils@1.5.1:
version "1.5.1" version "1.5.1"
@ -9936,14 +9936,14 @@ domutils@^1.5.1:
dom-serializer "0" dom-serializer "0"
domelementtype "1" domelementtype "1"
domutils@^2.8.0: domutils@^3.0.1:
version "2.8.0" version "3.0.1"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c"
integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==
dependencies: dependencies:
dom-serializer "^1.0.1" dom-serializer "^2.0.0"
domelementtype "^2.2.0" domelementtype "^2.3.0"
domhandler "^4.2.0" domhandler "^5.0.1"
dot-case@^3.0.3: dot-case@^3.0.3:
version "3.0.3" version "3.0.3"
@ -10162,6 +10162,11 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.2.tgz#ac74db0bba8d33808bbf36809c3a5c3683531436" resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.2.tgz#ac74db0bba8d33808bbf36809c3a5c3683531436"
integrity sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw== integrity sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==
entities@^4.2.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==
env-editor@^0.4.1: env-editor@^0.4.1:
version "0.4.2" version "0.4.2"
resolved "https://registry.yarnpkg.com/env-editor/-/env-editor-0.4.2.tgz#4e76568d0bd8f5c2b6d314a9412c8fe9aa3ae861" resolved "https://registry.yarnpkg.com/env-editor/-/env-editor-0.4.2.tgz#4e76568d0bd8f5c2b6d314a9412c8fe9aa3ae861"
@ -16754,7 +16759,7 @@ promise@^7.1.1:
dependencies: dependencies:
asap "~2.0.3" asap "~2.0.3"
promise@^8.0.3: promise@^8.2.0:
version "8.3.0" version "8.3.0"
resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a"
integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==
@ -17216,10 +17221,10 @@ react-native-bootsplash@^4.3.3:
jimp "^0.16.2" jimp "^0.16.2"
picocolors "^1.0.0" picocolors "^1.0.0"
react-native-codegen@^0.0.17: react-native-codegen@^0.0.18:
version "0.0.17" version "0.0.18"
resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.17.tgz#83fb814d94061cbd46667f510d2ddba35ffb50ac" resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.18.tgz#99d6623d65292e8ce3fdb1d133a358caaa2145e7"
integrity sha512-7GIEUmAemH9uWwB6iYXNNsPoPgH06pxzGRmdBzK98TgFBdYJZ7CBuZFPMe4jmHQTPOkQazKZ/w5O6/71JBixmw== integrity sha512-XPI9aVsFy3dvgDZvyGWrFnknNiyb22kg5nHgxa0vjWTH9ENLBgVRZt9A64xHZ8BYihH+gl0p/1JNOCIEUzRPBg==
dependencies: dependencies:
"@babel/parser" "^7.14.0" "@babel/parser" "^7.14.0"
flow-parser "^0.121.0" flow-parser "^0.121.0"
@ -17500,13 +17505,13 @@ react-native-slowlog@^1.0.2:
resolved "https://registry.yarnpkg.com/react-native-slowlog/-/react-native-slowlog-1.0.2.tgz#5520979e3ef9d5273495d431ff3be34f02e35c89" resolved "https://registry.yarnpkg.com/react-native-slowlog/-/react-native-slowlog-1.0.2.tgz#5520979e3ef9d5273495d431ff3be34f02e35c89"
integrity sha1-VSCXnj751Sc0ldQx/zvjTwLjXIk= integrity sha1-VSCXnj751Sc0ldQx/zvjTwLjXIk=
react-native-svg@^12.3.0: react-native-svg@^13.8.0:
version "12.3.0" version "13.8.0"
resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-12.3.0.tgz#40f657c5d1ee366df23f3ec8dae76fd276b86248" resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-13.8.0.tgz#b6a22cf77f8098f910490a13aeb160a37e182f97"
integrity sha512-ESG1g1j7/WLD7X3XRFTQHVv0r6DpbHNNcdusngAODIxG88wpTWUZkhcM3A2HJTb+BbXTFDamHv7FwtRKWQ/ALg== integrity sha512-G8Mx6W86da+vFimZBJvA93POw8yz0fgDS5biy6oIjMWVJVQSDzCyzwO/zY0yuZmCDhKSZzogl5m0wXXvW2OcTA==
dependencies: dependencies:
css-select "^4.2.1" css-select "^5.1.0"
css-tree "^1.0.0-alpha.39" css-tree "^1.1.3"
react-native-swipe-gestures@^1.0.5: react-native-swipe-gestures@^1.0.5:
version "1.0.5" version "1.0.5"
@ -17553,9 +17558,9 @@ react-native-webview@10.3.2:
escape-string-regexp "2.0.0" escape-string-regexp "2.0.0"
invariant "2.2.4" invariant "2.2.4"
react-native@RocketChat/react-native#281140d2e39d66a8e486db397ce0bf5bd0e334fc: react-native@RocketChat/react-native#51266d5ab8b4c3f04c0e8f207ea5db6056647104:
version "0.68.2" version "0.68.6"
resolved "https://codeload.github.com/RocketChat/react-native/tar.gz/281140d2e39d66a8e486db397ce0bf5bd0e334fc" resolved "https://codeload.github.com/RocketChat/react-native/tar.gz/51266d5ab8b4c3f04c0e8f207ea5db6056647104"
dependencies: dependencies:
"@jest/create-cache-key-function" "^27.0.1" "@jest/create-cache-key-function" "^27.0.1"
"@react-native-community/cli" "^7.0.3" "@react-native-community/cli" "^7.0.3"
@ -17577,9 +17582,9 @@ react-native@RocketChat/react-native#281140d2e39d66a8e486db397ce0bf5bd0e334fc:
metro-source-map "0.67.0" metro-source-map "0.67.0"
nullthrows "^1.1.1" nullthrows "^1.1.1"
pretty-format "^26.5.2" pretty-format "^26.5.2"
promise "^8.0.3" promise "^8.2.0"
react-devtools-core "^4.23.0" react-devtools-core "^4.23.0"
react-native-codegen "^0.0.17" react-native-codegen "^0.0.18"
react-native-gradle-plugin "^0.0.6" react-native-gradle-plugin "^0.0.6"
react-refresh "^0.4.0" react-refresh "^0.4.0"
react-shallow-renderer "16.14.1" react-shallow-renderer "16.14.1"