Merge branch 'develop' into new.add-discusions-roomactionsview

This commit is contained in:
Gerzon Z 2021-09-01 15:17:45 -04:00 committed by GitHub
commit cc404b1d78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 12995 additions and 12359 deletions

View File

@ -20361,6 +20361,15 @@ exports[`Storyshots Message Colored attachments 1`] = `
} }
} }
> >
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
}
}
/>
<View <View
style={ style={
Object { Object {
@ -20562,6 +20571,15 @@ exports[`Storyshots Message Colored attachments 1`] = `
} }
} }
> >
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
}
}
/>
<View <View
style={ style={
Object { Object {
@ -20763,6 +20781,15 @@ exports[`Storyshots Message Colored attachments 1`] = `
} }
} }
> >
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
}
}
/>
<View <View
style={ style={
Object { Object {
@ -40307,6 +40334,268 @@ exports[`Storyshots Message Sequential thread messages following thread reply 1`
</RCTScrollView> </RCTScrollView>
`; `;
exports[`Storyshots Message Show a button as attachment 1`] = `
<RCTScrollView
style={
Object {
"backgroundColor": "#ffffff",
}
}
>
<View>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"backgroundColor": null,
"opacity": 1,
}
}
>
<View>
<View
style={
Array [
Object {
"flexDirection": "column",
"paddingHorizontal": 14,
"paddingVertical": 4,
"width": "100%",
},
undefined,
]
}
>
<View
style={
Object {
"flexDirection": "row",
}
}
>
<View
style={
Array [
Object {
"borderRadius": 4,
"height": 36,
"width": 36,
},
Object {
"marginTop": 4,
},
]
}
>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"opacity": 1,
}
}
>
<View
style={
Array [
Object {
"overflow": "hidden",
},
Object {
"borderRadius": 4,
"height": 36,
"width": 36,
},
]
}
>
<FastImageView
resizeMode="cover"
source={
Object {
"headers": undefined,
"priority": "high",
"uri": "https://open.rocket.chat/avatar/diego.mello?format=png&size=36",
}
}
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
/>
</View>
</View>
</View>
<View
style={
Array [
Object {
"flex": 1,
"marginLeft": 46,
},
Object {
"marginLeft": 10,
},
]
}
>
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
"justifyContent": "space-between",
}
}
>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"alignItems": "center",
"flexDirection": "row",
"flexShrink": 1,
"opacity": 1,
}
}
>
<Text
numberOfLines={1}
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "500",
"lineHeight": 22,
"textAlign": "left",
},
Object {
"color": "#0d0e12",
},
]
}
>
diego.mello
</Text>
</View>
<Text
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 12,
"fontWeight": "400",
"marginLeft": 8,
"textAlign": "left",
},
Object {
"color": "#9ca2a8",
},
]
}
>
10:00 AM
</Text>
</View>
<View />
<Text
style={
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"textAlign": "left",
}
}
>
Test Button
</Text>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"backgroundColor": "#1d74f5",
"borderRadius": 2,
"height": 48,
"justifyContent": "center",
"marginBottom": 12,
"opacity": 1,
"paddingHorizontal": 14,
}
}
>
<Text
accessibilityLabel="Text button"
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "500",
"textAlign": "center",
},
Object {
"color": "#ffffff",
},
undefined,
]
}
>
Text button
</Text>
</View>
</View>
</View>
</View>
</View>
</View>
</View>
</RCTScrollView>
`;
exports[`Storyshots Message Static avatar 1`] = ` exports[`Storyshots Message Static avatar 1`] = `
<RCTScrollView <RCTScrollView
style={ style={
@ -43340,6 +43629,407 @@ exports[`Storyshots Message Temp 1`] = `
</RCTScrollView> </RCTScrollView>
`; `;
exports[`Storyshots Message Thumbnail from server 1`] = `
<RCTScrollView
style={
Object {
"backgroundColor": "#ffffff",
}
}
>
<View>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"backgroundColor": null,
"opacity": 1,
}
}
>
<View>
<View
style={
Array [
Object {
"flexDirection": "column",
"paddingHorizontal": 14,
"paddingVertical": 4,
"width": "100%",
},
undefined,
]
}
>
<View
style={
Object {
"flexDirection": "row",
}
}
>
<View
style={
Array [
Object {
"borderRadius": 4,
"height": 36,
"width": 36,
},
Object {
"marginTop": 4,
},
]
}
>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"opacity": 1,
}
}
>
<View
style={
Array [
Object {
"overflow": "hidden",
},
Object {
"borderRadius": 4,
"height": 36,
"width": 36,
},
]
}
>
<FastImageView
resizeMode="cover"
source={
Object {
"headers": undefined,
"priority": "high",
"uri": "https://open.rocket.chat/avatar/diego.mello?format=png&size=36",
}
}
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
/>
</View>
</View>
</View>
<View
style={
Array [
Object {
"flex": 1,
"marginLeft": 46,
},
Object {
"marginLeft": 10,
},
]
}
>
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
"justifyContent": "space-between",
}
}
>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"alignItems": "center",
"flexDirection": "row",
"flexShrink": 1,
"opacity": 1,
}
}
>
<Text
numberOfLines={1}
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "500",
"lineHeight": 22,
"textAlign": "left",
},
Object {
"color": "#0d0e12",
},
]
}
>
diego.mello
</Text>
</View>
<Text
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 12,
"fontWeight": "400",
"marginLeft": 8,
"textAlign": "left",
},
Object {
"color": "#9ca2a8",
},
]
}
>
10:00 AM
</Text>
</View>
<View>
<Text
numberOfLines={0}
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"textAlign": "left",
},
undefined,
Object {
"color": "#2f343d",
},
]
}
>
<Text
accessibilityLabel="this is a thumbnail"
numberOfLines={0}
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"textAlign": "left",
},
Array [
Object {},
Object {
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
"justifyContent": "flex-start",
"marginBottom": 0,
"marginTop": 0,
},
],
]
}
>
this is a thumbnail
</Text>
</Text>
</View>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"alignItems": "center",
"alignSelf": "flex-start",
"backgroundColor": "#f3f4f5",
"borderColor": "#e1e5e8",
"borderRadius": 4,
"borderWidth": 1,
"flex": 1,
"flexDirection": "row",
"marginTop": 6,
"opacity": 1,
}
}
>
<View
style={
Object {
"borderRadius": 4,
"flex": 1,
"flexDirection": "column",
"padding": 15,
}
}
>
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
}
}
>
<Text
style={
Array [
Object {
"backgroundColor": "transparent",
"flex": 1,
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "500",
"marginBottom": 3,
"textAlign": "left",
},
Object {
"color": "#2f343d",
},
]
}
>
Title
</Text>
</View>
<View
style={
Array [
Object {
"overflow": "hidden",
},
Object {
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"flex": 1,
"height": 200,
"marginBottom": 1,
"width": null,
},
]
}
>
<FastImageView
resizeMode="cover"
source={
Object {
"uri": "https://images-na.ssl-images-amazon.com/images/I/71jKxPAMFbL._AC_SL1500_.jpg",
}
}
style={
Object {
"bottom": 0,
"left": 0,
"position": "absolute",
"right": 0,
"top": 0,
}
}
/>
</View>
<Text
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"textAlign": "left",
},
undefined,
Object {
"color": "#2f343d",
},
]
}
>
<Text
accessibilityLabel="Image text"
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"textAlign": "left",
},
Array [
Object {},
Object {
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
"justifyContent": "flex-start",
"marginBottom": 0,
"marginTop": 0,
},
],
]
}
>
Image text
</Text>
</Text>
</View>
</View>
</View>
</View>
</View>
</View>
</View>
</View>
</RCTScrollView>
`;
exports[`Storyshots Message Time format 1`] = ` exports[`Storyshots Message Time format 1`] = `
<RCTScrollView <RCTScrollView
style={ style={
@ -47162,6 +47852,15 @@ exports[`Storyshots Message With file 1`] = `
} }
} }
> >
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
}
}
/>
<Text <Text
style={ style={
Array [ Array [
@ -47380,6 +48079,15 @@ exports[`Storyshots Message With file 1`] = `
} }
} }
> >
<View
style={
Object {
"alignItems": "center",
"flex": 1,
"flexDirection": "row",
}
}
/>
<Text <Text
style={ style={
Array [ Array [
@ -70722,6 +71430,189 @@ Array [
] ]
`; `;
exports[`Storyshots Text Input Short and Long Text 1`] = `
<View
style={
Object {
"paddingHorizontal": 14,
}
}
>
<View
style={
Array [
Object {
"marginBottom": 10,
},
undefined,
]
}
>
<Text
accessibilityLabel={null}
contentDescription={null}
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 14,
"fontWeight": "600",
"marginBottom": 10,
"textAlign": "left",
},
Object {
"color": "#0d0e12",
},
undefined,
]
}
>
Short Text
</Text>
<View
style={
Object {
"position": "relative",
}
}
>
<TextInput
accessibilityLabel="placeholder"
allowFontScaling={true}
autoCapitalize="none"
autoCorrect={false}
contentDescription="placeholder"
keyboardAppearance="light"
placeholder="placeholder"
placeholderTextColor="#9ca2a8"
rejectResponderTermination={true}
style={
Array [
Object {
"color": "#0d0e12",
},
Array [
Object {
"backgroundColor": "transparent",
"borderRadius": 2,
"borderWidth": 0.5,
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"height": 48,
"padding": 14,
"textAlign": "left",
},
undefined,
undefined,
Object {
"backgroundColor": "#ffffff",
"borderColor": "#cbcbcc",
"color": "#0d0e12",
},
undefined,
undefined,
],
Object {
"textAlign": "auto",
},
]
}
underlineColorAndroid="transparent"
value="Rocket.Chat"
/>
</View>
</View>
<View
style={
Array [
Object {
"marginBottom": 10,
},
undefined,
]
}
>
<Text
accessibilityLabel={null}
contentDescription={null}
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 14,
"fontWeight": "600",
"marginBottom": 10,
"textAlign": "left",
},
Object {
"color": "#0d0e12",
},
undefined,
]
}
>
Long Text
</Text>
<View
style={
Object {
"position": "relative",
}
}
>
<TextInput
accessibilityLabel="placeholder"
allowFontScaling={true}
autoCapitalize="none"
autoCorrect={false}
contentDescription="placeholder"
keyboardAppearance="light"
placeholder="placeholder"
placeholderTextColor="#9ca2a8"
rejectResponderTermination={true}
style={
Array [
Object {
"color": "#0d0e12",
},
Array [
Object {
"backgroundColor": "transparent",
"borderRadius": 2,
"borderWidth": 0.5,
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"height": 48,
"padding": 14,
"textAlign": "left",
},
undefined,
undefined,
Object {
"backgroundColor": "#ffffff",
"borderColor": "#cbcbcc",
"color": "#0d0e12",
},
undefined,
undefined,
],
Object {
"textAlign": "auto",
},
]
}
underlineColorAndroid="transparent"
value="https://open.rocket.chat/images/logo/android-chrome-512x512.png"
/>
</View>
</View>
</View>
`;
exports[`Storyshots Thread Messages.Item badge 1`] = ` exports[`Storyshots Thread Messages.Item badge 1`] = `
<RCTScrollView> <RCTScrollView>
<View> <View>

View File

@ -18,7 +18,7 @@ buildscript {
supportLibVersion = "28.0.0" supportLibVersion = "28.0.0"
libre_build = !(isPlay.toBoolean()) libre_build = !(isPlay.toBoolean())
jitsi_url = isPlay ? "https://github.com/RocketChat/jitsi-maven-repository/raw/master/releases" : "https://github.com/RocketChat/jitsi-maven-repository/raw/libre/releases" jitsi_url = isPlay ? "https://github.com/RocketChat/jitsi-maven-repository/raw/master/releases" : "https://github.com/RocketChat/jitsi-maven-repository/raw/libre/releases"
jitsi_version = isPlay ? "2.10.2" : "2.10.0-libre" jitsi_version = isPlay ? "3.6.0" : "3.6.0-libre"
} }
repositories { repositories {

View File

@ -26,7 +26,7 @@ const styles = StyleSheet.create({
...sharedStyles.textRegular, ...sharedStyles.textRegular,
height: 48, height: 48,
fontSize: 16, fontSize: 16,
paddingHorizontal: 14, padding: 14,
borderWidth: StyleSheet.hairlineWidth, borderWidth: StyleSheet.hairlineWidth,
borderRadius: 2 borderRadius: 2
}, },

View File

@ -0,0 +1,43 @@
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */
import React from 'react';
import { storiesOf } from '@storybook/react-native';
import { View, StyleSheet } from 'react-native';
import TextInput from './TextInput';
const styles = StyleSheet.create({
paddingHorizontal: {
paddingHorizontal: 14
}
});
const stories = storiesOf('Text Input', module);
const item = {
name: 'Rocket.Chat',
longText: 'https://open.rocket.chat/images/logo/android-chrome-512x512.png'
};
const theme = 'light';
stories.add('Short and Long Text', () => (
<>
<View style={styles.paddingHorizontal}>
<TextInput
label='Short Text'
placeholder='placeholder'
value={item.name}
theme={theme}
/>
<TextInput
label='Long Text'
placeholder='placeholder'
value={item.longText}
theme={theme}
/>
</View>
</>
));

View File

@ -1,11 +1,35 @@
import React from 'react'; import React, { useContext } from 'react';
import { dequal } from 'dequal'; import { dequal } from 'dequal';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Text } from 'react-native';
import Image from './Image'; import Image from './Image';
import Audio from './Audio'; import Audio from './Audio';
import Video from './Video'; import Video from './Video';
import Reply from './Reply'; import Reply from './Reply';
import Button from '../Button';
import styles from './styles';
import MessageContext from './Context';
const AttachedActions = ({
attachment, theme
}) => {
const { onAnswerButtonPress } = useContext(MessageContext);
const attachedButtons = attachment.actions.map((element) => {
if (element.type === 'button') {
return <Button theme={theme} onPress={() => onAnswerButtonPress(element.msg)} title={element.text} />;
} else {
return null;
}
});
return (
<>
<Text style={styles.text}>{attachment.text}</Text>
{attachedButtons}
</>
);
};
const Attachments = React.memo(({ const Attachments = React.memo(({
attachments, timeFormat, showAttachment, getCustomEmoji, theme attachments, timeFormat, showAttachment, getCustomEmoji, theme
@ -24,6 +48,9 @@ const Attachments = React.memo(({
if (file.video_url) { if (file.video_url) {
return <Video key={file.video_url} file={file} showAttachment={showAttachment} getCustomEmoji={getCustomEmoji} theme={theme} />; return <Video key={file.video_url} file={file} showAttachment={showAttachment} getCustomEmoji={getCustomEmoji} theme={theme} />;
} }
if (file.actions && file.actions.length > 0) {
return <AttachedActions attachment={file} theme={theme} />;
}
// eslint-disable-next-line react/no-array-index-key // eslint-disable-next-line react/no-array-index-key
return <Reply key={index} index={index} attachment={file} timeFormat={timeFormat} getCustomEmoji={getCustomEmoji} theme={theme} />; return <Reply key={index} index={index} attachment={file} timeFormat={timeFormat} getCustomEmoji={getCustomEmoji} theme={theme} />;
@ -38,5 +65,12 @@ Attachments.propTypes = {
theme: PropTypes.string theme: PropTypes.string
}; };
Attachments.displayName = 'MessageAttachments'; Attachments.displayName = 'MessageAttachments';
AttachedActions.propTypes = {
attachment: PropTypes.shape({
actions: PropTypes.array,
text: PropTypes.string
}),
theme: PropTypes.string
};
export default Attachments; export default Attachments;

View File

@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
import moment from 'moment'; import moment from 'moment';
import { transparentize } from 'color2k'; import { transparentize } from 'color2k';
import { dequal } from 'dequal'; import { dequal } from 'dequal';
import FastImage from '@rocket.chat/react-native-fast-image';
import Touchable from './Touchable'; import Touchable from './Touchable';
import Markdown from '../markdown'; import Markdown from '../markdown';
@ -66,17 +67,29 @@ const styles = StyleSheet.create({
}, },
marginBottom: { marginBottom: {
marginBottom: 4 marginBottom: 4
},
image: {
width: null,
height: 200,
flex: 1,
borderTopLeftRadius: 4,
borderTopRightRadius: 4,
marginBottom: 1
},
title: {
flex: 1,
fontSize: 16,
marginBottom: 3,
...sharedStyles.textMedium
} }
}); });
const Title = React.memo(({ attachment, timeFormat, theme }) => { const Title = React.memo(({ attachment, timeFormat, theme }) => {
if (!attachment.author_name) {
return null;
}
const time = attachment.message_link && attachment.ts ? moment(attachment.ts).format(timeFormat) : null; const time = attachment.message_link && attachment.ts ? moment(attachment.ts).format(timeFormat) : null;
return ( return (
<View style={styles.authorContainer}> <View style={styles.authorContainer}>
{attachment.author_name ? <Text style={[styles.author, { color: themes[theme].bodyText }]}>{attachment.author_name}</Text> : null} {attachment.author_name ? <Text style={[styles.author, { color: themes[theme].bodyText }]}>{attachment.author_name}</Text> : null}
{attachment.title ? <Text style={[styles.title, { color: themes[theme].bodyText }]}>{attachment.title}</Text> : null}
{time ? <Text style={[styles.time, { color: themes[theme].auxiliaryText }]}>{ time }</Text> : null} {time ? <Text style={[styles.time, { color: themes[theme].auxiliaryText }]}>{ time }</Text> : null}
</View> </View>
); );
@ -112,6 +125,15 @@ const Description = React.memo(({
return true; return true;
}); });
const UrlImage = React.memo(({ image }) => {
if (!image) {
return null;
}
const { baseUrl, user } = useContext(MessageContext);
image = image.includes('http') ? image : `${ baseUrl }/${ image }?rc_uid=${ user.id }&rc_token=${ user.token }`;
return <FastImage source={{ uri: image }} style={styles.image} resizeMode={FastImage.resizeMode.cover} />;
}, (prevProps, nextProps) => prevProps.image === nextProps.image);
const Fields = React.memo(({ attachment, theme, getCustomEmoji }) => { const Fields = React.memo(({ attachment, theme, getCustomEmoji }) => {
if (!attachment.fields) { if (!attachment.fields) {
return null; return null;
@ -191,6 +213,7 @@ const Reply = React.memo(({
timeFormat={timeFormat} timeFormat={timeFormat}
theme={theme} theme={theme}
/> />
<UrlImage image={attachment.thumb_url} />
<Description <Description
attachment={attachment} attachment={attachment}
getCustomEmoji={getCustomEmoji} getCustomEmoji={getCustomEmoji}
@ -223,6 +246,10 @@ Reply.propTypes = {
}; };
Reply.displayName = 'MessageReply'; Reply.displayName = 'MessageReply';
UrlImage.propTypes = {
image: PropTypes.string
};
Title.propTypes = { Title.propTypes = {
attachment: PropTypes.object, attachment: PropTypes.object,
timeFormat: PropTypes.string, timeFormat: PropTypes.string,

View File

@ -41,6 +41,7 @@ class MessageContainer extends React.Component {
onEncryptedPress: PropTypes.func, onEncryptedPress: PropTypes.func,
onDiscussionPress: PropTypes.func, onDiscussionPress: PropTypes.func,
onThreadPress: PropTypes.func, onThreadPress: PropTypes.func,
onAnswerButtonPress: PropTypes.func,
errorActionsShow: PropTypes.func, errorActionsShow: PropTypes.func,
replyBroadcast: PropTypes.func, replyBroadcast: PropTypes.func,
reactionInit: PropTypes.func, reactionInit: PropTypes.func,
@ -64,6 +65,7 @@ class MessageContainer extends React.Component {
onEncryptedPress: () => {}, onEncryptedPress: () => {},
onDiscussionPress: () => {}, onDiscussionPress: () => {},
onThreadPress: () => {}, onThreadPress: () => {},
onAnswerButtonPress: () => {},
errorActionsShow: () => {}, errorActionsShow: () => {},
replyBroadcast: () => {}, replyBroadcast: () => {},
reactionInit: () => {}, reactionInit: () => {},
@ -190,6 +192,13 @@ class MessageContainer extends React.Component {
} }
} }
onAnswerButtonPress = (msg) => {
const { onAnswerButtonPress } = this.props;
if (onAnswerButtonPress) {
onAnswerButtonPress(msg, undefined, false);
}
}
onIgnoredMessagePress = () => { onIgnoredMessagePress = () => {
this.setState({ isManualUnignored: true }); this.setState({ isManualUnignored: true });
} }
@ -366,6 +375,7 @@ class MessageContainer extends React.Component {
onDiscussionPress: this.onDiscussionPress, onDiscussionPress: this.onDiscussionPress,
onReactionLongPress: this.onReactionLongPress, onReactionLongPress: this.onReactionLongPress,
onLinkPress: this.onLinkPress, onLinkPress: this.onLinkPress,
onAnswerButtonPress: this.onAnswerButtonPress,
jumpToMessage, jumpToMessage,
threadBadgeColor, threadBadgeColor,
toggleFollowThread, toggleFollowThread,

View File

@ -763,11 +763,15 @@
"Load_More": "Load More", "Load_More": "Load More",
"Load_Newer": "Load Newer", "Load_Newer": "Load Newer",
"Load_Older": "Load Older", "Load_Older": "Load Older",
"room-name-already-exists": "Room name already exists",
"error-team-creation": "Error team creation",
"unauthorized": "Unauthorized",
"Left_The_Room_Successfully": "Left the room successfully", "Left_The_Room_Successfully": "Left the room successfully",
"Deleted_The_Team_Successfully": "Team deleted successfully", "Deleted_The_Team_Successfully": "Team deleted successfully",
"Deleted_The_Room_Successfully": "Room deleted successfully", "Deleted_The_Room_Successfully": "Room deleted successfully",
"Convert_to_Channel": "Convert to Channel", "Convert_to_Channel": "Convert to Channel",
"Converting_Team_To_Channel": "Converting Team to Channel", "Converting_Team_To_Channel": "Converting Team to Channel",
"Select_Team_Channels_To_Delete": "Select the Teams Channels you would like to delete, the ones you do not select will be moved to the Workspace. \n\nNotice that public Channels will be public and visible to everyone.", "Select_Team_Channels_To_Delete": "Select the Teams Channels you would like to delete, the ones you do not select will be moved to the Workspace. \n\nNotice that public Channels will be public and visible to everyone.",
"You_are_converting_the_team": "You are converting this Team to a Channel" "You_are_converting_the_team": "You are converting this Team to a Channel",
"creating_discussion": "creating discussion"
} }

View File

@ -666,6 +666,9 @@
"Left_The_Team_Successfully": "Saiu do time com sucesso", "Left_The_Team_Successfully": "Saiu do time com sucesso",
"Add_Existing_Channel": "Adicionar Canal Existente", "Add_Existing_Channel": "Adicionar Canal Existente",
"invalid-room": "Sala inválida", "invalid-room": "Sala inválida",
"room-name-already-exists": "Nome da sala já existe",
"error-team-creation": "Erro na criação do time",
"unauthorized": "Não autorizado",
"Left_The_Room_Successfully": "Saiu da sala com sucesso", "Left_The_Room_Successfully": "Saiu da sala com sucesso",
"Deleted_The_Team_Successfully": "Time deletado com sucesso", "Deleted_The_Team_Successfully": "Time deletado com sucesso",
"Deleted_The_Room_Successfully": "Sala deletada com sucesso", "Deleted_The_Room_Successfully": "Sala deletada com sucesso",

View File

@ -178,6 +178,7 @@ class Touchable extends React.Component {
toggleRead = () => { toggleRead = () => {
const { toggleRead, rid, isRead } = this.props; const { toggleRead, rid, isRead } = this.props;
if (toggleRead) { if (toggleRead) {
toggleRead(rid, isRead); toggleRead(rid, isRead);
} }

View File

@ -8,7 +8,7 @@ const styles = StyleSheet.create({
input: { input: {
...I18nManager.isRTL ...I18nManager.isRTL
? { textAlign: 'right' } ? { textAlign: 'right' }
: { textAlign: 'left' } : { textAlign: 'auto' }
} }
}); });

View File

@ -109,8 +109,23 @@ const handleSuccess = function* handleSuccess({ data }) {
}; };
const handleFailure = function handleFailure({ err, isTeam }) { const handleFailure = function handleFailure({ err, isTeam }) {
const errorArray = [
'room-name-already-exists',
'error-team-creation',
'unauthorized',
'error-duplicate-channel-name',
'error-invalid-room-name',
'team-name-already-exists'
];
setTimeout(() => { setTimeout(() => {
const msg = err.data.errorType ? I18n.t(err.data.errorType, { room_name: err.data.details.channel_name }) : err.reason || I18n.t('There_was_an_error_while_action', { action: isTeam ? I18n.t('creating_team') : I18n.t('creating_channel') }); let msg = '';
const actionError = I18n.t('There_was_an_error_while_action', { action: isTeam ? I18n.t('creating_team') : I18n.t('creating_channel') });
if (err?.data?.errorType && err?.data?.details?.channel_name) {
msg = errorArray.includes(err.data.errorType) ? I18n.t(err.data.errorType, { room_name: err.data.details.channel_name }) : actionError;
} else {
msg = err?.reason || (errorArray.includes(err?.data?.error) ? I18n.t(err.data.error) : err.data.error || actionError);
}
showErrorAlert(msg, isTeam ? I18n.t('Create_Team') : I18n.t('Create_Channel')); showErrorAlert(msg, isTeam ? I18n.t('Create_Team') : I18n.t('Create_Channel'));
}, 300); }, 300);
}; };

View File

@ -74,7 +74,7 @@ class CreateChannelView extends React.Component {
if (!loading && loading !== prevProps.loading) { if (!loading && loading !== prevProps.loading) {
setTimeout(() => { setTimeout(() => {
if (failure) { if (failure) {
const msg = error.reason || I18n.t('There_was_an_error_while_action', { action: I18n.t('creating_channel') }); const msg = error.reason || I18n.t('There_was_an_error_while_action', { action: I18n.t('creating_discussion') });
showErrorAlert(msg); showErrorAlert(msg);
} else { } else {
const { rid, t, prid } = result; const { rid, t, prid } = result;

View File

@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import { StyleSheet } from 'react-native';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import JitsiMeet, { JitsiMeetView as RNJitsiMeetView } from 'react-native-jitsi-meet'; import JitsiMeet, { JitsiMeetView as RNJitsiMeetView } from 'react-native-jitsi-meet';
import BackgroundTimer from 'react-native-background-timer'; import BackgroundTimer from 'react-native-background-timer';
@ -6,9 +7,10 @@ import { connect } from 'react-redux';
import RocketChat from '../lib/rocketchat'; import RocketChat from '../lib/rocketchat';
import { getUserSelector } from '../selectors/login'; import { getUserSelector } from '../selectors/login';
import ActivityIndicator from '../containers/ActivityIndicator';
import sharedStyles from './Styles';
import { logEvent, events } from '../utils/log'; import { logEvent, events } from '../utils/log';
import { isAndroid, isIOS } from '../utils/deviceInfo';
import { withTheme } from '../theme';
const formatUrl = (url, baseUrl, uriSize, avatarAuthURLFragment) => ( const formatUrl = (url, baseUrl, uriSize, avatarAuthURLFragment) => (
`${ baseUrl }/avatar/${ url }?format=png&width=${ uriSize }&height=${ uriSize }${ avatarAuthURLFragment }` `${ baseUrl }/avatar/${ url }?format=png&width=${ uriSize }&height=${ uriSize }${ avatarAuthURLFragment }`
@ -19,6 +21,7 @@ class JitsiMeetView extends React.Component {
navigation: PropTypes.object, navigation: PropTypes.object,
route: PropTypes.object, route: PropTypes.object,
baseUrl: PropTypes.string, baseUrl: PropTypes.string,
theme: PropTypes.string,
user: PropTypes.shape({ user: PropTypes.shape({
id: PropTypes.string, id: PropTypes.string,
username: PropTypes.string, username: PropTypes.string,
@ -30,43 +33,54 @@ class JitsiMeetView extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.rid = props.route.params?.rid; this.rid = props.route.params?.rid;
this.onConferenceTerminated = this.onConferenceTerminated.bind(this); this.url = props.route.params?.url;
this.onConferenceJoined = this.onConferenceJoined.bind(this);
this.jitsiTimeout = null; this.jitsiTimeout = null;
}
componentDidMount() { const { user, baseUrl } = props;
const { route, user, baseUrl } = this.props;
const { const {
name: displayName, id: userId, token, username name: displayName, id: userId, token, username
} = user; } = user;
const avatarAuthURLFragment = `&rc_token=${ token }&rc_uid=${ userId }`; const avatarAuthURLFragment = `&rc_token=${ token }&rc_uid=${ userId }`;
const avatar = formatUrl(username, baseUrl, 100, avatarAuthURLFragment); const avatar = formatUrl(username, baseUrl, 100, avatarAuthURLFragment);
this.state = {
setTimeout(() => { userInfo: {
const userInfo = {
displayName, displayName,
avatar avatar
}; },
const url = route.params?.url; loading: true
const onlyAudio = route.params?.onlyAudio ?? false; };
if (onlyAudio) { }
JitsiMeet.audioCall(url, userInfo);
} else { componentDidMount() {
JitsiMeet.call(url, userInfo); const { route } = this.props;
} const { userInfo } = this.state;
}, 1000);
if (isIOS) {
setTimeout(() => {
const onlyAudio = route.params?.onlyAudio ?? false;
if (onlyAudio) {
JitsiMeet.audioCall(this.url, userInfo);
} else {
JitsiMeet.call(this.url, userInfo);
}
}, 1000);
}
} }
componentWillUnmount() { componentWillUnmount() {
logEvent(events.JM_CONFERENCE_TERMINATE); logEvent(events.JM_CONFERENCE_TERMINATE);
if (this.jitsiTimeout) { if (this.jitsiTimeout) {
BackgroundTimer.clearInterval(this.jitsiTimeout); BackgroundTimer.clearInterval(this.jitsiTimeout);
this.jitsiTimeout = null;
BackgroundTimer.stopBackgroundTimer();
} }
JitsiMeet.endCall(); JitsiMeet.endCall();
} }
onConferenceWillJoin = () => {
this.setState({ loading: false });
}
// Jitsi Update Timeout needs to be called every 10 seconds to make sure // Jitsi Update Timeout needs to be called every 10 seconds to make sure
// call is not ended and is available to web users. // call is not ended and is available to web users.
onConferenceJoined = () => { onConferenceJoined = () => {
@ -74,6 +88,8 @@ class JitsiMeetView extends React.Component {
RocketChat.updateJitsiTimeout(this.rid).catch(e => console.log(e)); RocketChat.updateJitsiTimeout(this.rid).catch(e => console.log(e));
if (this.jitsiTimeout) { if (this.jitsiTimeout) {
BackgroundTimer.clearInterval(this.jitsiTimeout); BackgroundTimer.clearInterval(this.jitsiTimeout);
BackgroundTimer.stopBackgroundTimer();
this.jitsiTimeout = null;
} }
this.jitsiTimeout = BackgroundTimer.setInterval(() => { this.jitsiTimeout = BackgroundTimer.setInterval(() => {
RocketChat.updateJitsiTimeout(this.rid).catch(e => console.log(e)); RocketChat.updateJitsiTimeout(this.rid).catch(e => console.log(e));
@ -83,19 +99,25 @@ class JitsiMeetView extends React.Component {
onConferenceTerminated = () => { onConferenceTerminated = () => {
logEvent(events.JM_CONFERENCE_TERMINATE); logEvent(events.JM_CONFERENCE_TERMINATE);
const { navigation } = this.props; const { navigation } = this.props;
if (this.jitsiTimeout) {
BackgroundTimer.clearInterval(this.jitsiTimeout);
}
navigation.pop(); navigation.pop();
} }
render() { render() {
const { userInfo, loading } = this.state;
const { route, theme } = this.props;
const onlyAudio = route.params?.onlyAudio ?? false;
const options = isAndroid ? { url: this.url, userInfo, audioOnly: onlyAudio } : null;
return ( return (
<RNJitsiMeetView <>
onConferenceTerminated={this.onConferenceTerminated} <RNJitsiMeetView
onConferenceJoined={this.onConferenceJoined} onConferenceWillJoin={this.onConferenceWillJoin}
style={sharedStyles.container} onConferenceTerminated={this.onConferenceTerminated}
/> onConferenceJoined={this.onConferenceJoined}
style={StyleSheet.absoluteFill}
options={options}
/>
{loading ? <ActivityIndicator theme={theme} /> : null}
</>
); );
} }
} }
@ -105,4 +127,4 @@ const mapStateToProps = state => ({
baseUrl: state.server.server baseUrl: state.server.server
}); });
export default connect(mapStateToProps)(JitsiMeetView); export default connect(mapStateToProps)(withTheme(JitsiMeetView));

View File

@ -974,6 +974,7 @@ class RoomView extends React.Component {
onEncryptedPress={this.onEncryptedPress} onEncryptedPress={this.onEncryptedPress}
onDiscussionPress={this.onDiscussionPress} onDiscussionPress={this.onDiscussionPress}
onThreadPress={this.onThreadPress} onThreadPress={this.onThreadPress}
onAnswerButtonPress={this.sendMessage}
showAttachment={this.showAttachment} showAttachment={this.showAttachment}
reactionInit={this.onReactionInit} reactionInit={this.onReactionInit}
replyBroadcast={this.replyBroadcast} replyBroadcast={this.replyBroadcast}

View File

@ -637,6 +637,7 @@ class RoomsListView extends React.Component {
try { try {
const db = database.active; const db = database.active;
const result = await RocketChat.toggleRead(isRead, rid); const result = await RocketChat.toggleRead(isRead, rid);
if (result.success) { if (result.success) {
const subCollection = db.get('subscriptions'); const subCollection = db.get('subscriptions');
await db.action(async() => { await db.action(async() => {
@ -644,6 +645,7 @@ class RoomsListView extends React.Component {
const subRecord = await subCollection.find(rid); const subRecord = await subCollection.find(rid);
await subRecord.update((sub) => { await subRecord.update((sub) => {
sub.alert = isRead; sub.alert = isRead;
sub.unread = 0;
}); });
} catch (e) { } catch (e) {
log(e); log(e);

View File

@ -19,7 +19,7 @@ const SecurityPrivacyView = ({ navigation }) => {
const [crashReportState, setCrashReportState] = useState(getReportCrashErrorsValue()); const [crashReportState, setCrashReportState] = useState(getReportCrashErrorsValue());
const [analyticsEventsState, setAnalyticsEventsState] = useState(getReportAnalyticsEventsValue()); const [analyticsEventsState, setAnalyticsEventsState] = useState(getReportAnalyticsEventsValue());
const { e2eEnabled } = useSelector(state => state.settings); const e2eEnabled = useSelector(state => state.settings.E2E_Enable);
useEffect(() => { useEffect(() => {
navigation.setOptions({ navigation.setOptions({

View File

@ -160,7 +160,7 @@ PODS:
- GoogleUtilities/UserDefaults (6.7.1): - GoogleUtilities/UserDefaults (6.7.1):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- hermes-engine (0.7.2) - hermes-engine (0.7.2)
- JitsiMeetSDK (2.10.2) - JitsiMeetSDK (3.6.0)
- KeyCommands (2.0.3): - KeyCommands (2.0.3):
- React - React
- libevent (2.1.12) - libevent (2.1.12)
@ -403,8 +403,8 @@ PODS:
- React-Core - React-Core
- react-native-document-picker (5.2.0): - react-native-document-picker (5.2.0):
- React-Core - React-Core
- react-native-jitsi-meet (2.4.0): - react-native-jitsi-meet (3.6.0):
- JitsiMeetSDK - JitsiMeetSDK (= 3.6.0)
- React - React
- react-native-mmkv-storage (0.3.5): - react-native-mmkv-storage (0.3.5):
- MMKV (= 1.2.1) - MMKV (= 1.2.1)
@ -413,8 +413,8 @@ PODS:
- React-Core - React-Core
- react-native-notifications (2.1.7): - react-native-notifications (2.1.7):
- React - React
- react-native-orientation-locker (1.3.1): - react-native-orientation-locker (1.1.8):
- React-Core - React
- react-native-restart (0.0.22): - react-native-restart (0.0.22):
- React-Core - React-Core
- react-native-safe-area-context (3.2.0): - react-native-safe-area-context (3.2.0):
@ -920,7 +920,7 @@ EXTERNAL SOURCES:
CHECKOUT OPTIONS: CHECKOUT OPTIONS:
JitsiMeetSDK: JitsiMeetSDK:
:commit: 34660a3a34798fe28fcfd340f9ad30184b9fa0d1 :commit: 23797290da02324c09998a63781cd1fe0047211d
:git: https://github.com/RocketChat/jitsi-meet-ios-sdk-releases.git :git: https://github.com/RocketChat/jitsi-meet-ios-sdk-releases.git
SPEC CHECKSUMS: SPEC CHECKSUMS:
@ -960,7 +960,7 @@ SPEC CHECKSUMS:
GoogleDataTransportCCTSupport: 489c1265d2c85b68187a83a911913d190012158d GoogleDataTransportCCTSupport: 489c1265d2c85b68187a83a911913d190012158d
GoogleUtilities: e121a3867449ce16b0e35ddf1797ea7a389ffdf2 GoogleUtilities: e121a3867449ce16b0e35ddf1797ea7a389ffdf2
hermes-engine: 7d97ba46a1e29bacf3e3c61ecb2804a5ddd02d4f hermes-engine: 7d97ba46a1e29bacf3e3c61ecb2804a5ddd02d4f
JitsiMeetSDK: ef6dd5cfa6d9badf009c7dba1a2c1365bfaae6b0 JitsiMeetSDK: 476329f72a866f714d2802bafe1729de6d644ccf
KeyCommands: f66c535f698ed14b3d3a4e58859d79a827ea907e KeyCommands: f66c535f698ed14b3d3a4e58859d79a827ea907e
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3 libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3
@ -986,11 +986,11 @@ SPEC CHECKSUMS:
react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2 react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2
react-native-cookies: 2cb6ef472da68610dfcf0eaee68464c244943abd react-native-cookies: 2cb6ef472da68610dfcf0eaee68464c244943abd
react-native-document-picker: f1b5398801b332c77bc62ae0eae2116f49bdff26 react-native-document-picker: f1b5398801b332c77bc62ae0eae2116f49bdff26
react-native-jitsi-meet: f2407aca85566e031ee7b222e497ee5ecb6623de react-native-jitsi-meet: 3e3ac5d0445091154119f94342efd55c8b1124ce
react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0 react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0
react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d
react-native-notifications: ee8fd739853e72694f3af8b374c8ccb106b7b227 react-native-notifications: ee8fd739853e72694f3af8b374c8ccb106b7b227
react-native-orientation-locker: 998c0744e26624407dac068c04c605b4af7304a2 react-native-orientation-locker: f0ca1a8e5031dab6b74bfb4ab33a17ed2c2fcb0d
react-native-restart: 733a51ad137f15b0f8dc34c4082e55af7da00979 react-native-restart: 733a51ad137f15b0f8dc34c4082e55af7da00979
react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79 react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79
react-native-simple-crypto: 9b358cdfd34169031d384a8d4ac2ffc40b323876 react-native-simple-crypto: 9b358cdfd34169031d384a8d4ac2ffc40b323876

View File

@ -1,6 +1,6 @@
{ {
"name": "react-native-orientation-locker", "name": "react-native-orientation-locker",
"version": "1.3.1", "version": "1.1.8",
"summary": "A react-native module that can listen on orientation changing of device", "summary": "A react-native module that can listen on orientation changing of device",
"description": "A react-native module that can listen on orientation changing of device, get current orientation, lock to preferred orientation.", "description": "A react-native module that can listen on orientation changing of device, get current orientation, lock to preferred orientation.",
"authors": "Wonday", "authors": "Wonday",
@ -8,7 +8,7 @@
"homepage": "https://github.com/wonday/react-native-orientation-locker", "homepage": "https://github.com/wonday/react-native-orientation-locker",
"source": { "source": {
"git": "https://github.com/wonday/react-native-orientation-locker.git", "git": "https://github.com/wonday/react-native-orientation-locker.git",
"tag": "v1.3.1" "tag": "v1.1.8"
}, },
"requires_arc": true, "requires_arc": true,
"platforms": { "platforms": {
@ -22,7 +22,7 @@
], ],
"source_files": "iOS/**/*.{h,m}", "source_files": "iOS/**/*.{h,m}",
"dependencies": { "dependencies": {
"React-Core": [ "React": [
] ]
} }

18
ios/Pods/Manifest.lock generated
View File

@ -160,7 +160,7 @@ PODS:
- GoogleUtilities/UserDefaults (6.7.1): - GoogleUtilities/UserDefaults (6.7.1):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- hermes-engine (0.7.2) - hermes-engine (0.7.2)
- JitsiMeetSDK (2.10.2) - JitsiMeetSDK (3.6.0)
- KeyCommands (2.0.3): - KeyCommands (2.0.3):
- React - React
- libevent (2.1.12) - libevent (2.1.12)
@ -403,8 +403,8 @@ PODS:
- React-Core - React-Core
- react-native-document-picker (5.2.0): - react-native-document-picker (5.2.0):
- React-Core - React-Core
- react-native-jitsi-meet (2.4.0): - react-native-jitsi-meet (3.6.0):
- JitsiMeetSDK - JitsiMeetSDK (= 3.6.0)
- React - React
- react-native-mmkv-storage (0.3.5): - react-native-mmkv-storage (0.3.5):
- MMKV (= 1.2.1) - MMKV (= 1.2.1)
@ -413,8 +413,8 @@ PODS:
- React-Core - React-Core
- react-native-notifications (2.1.7): - react-native-notifications (2.1.7):
- React - React
- react-native-orientation-locker (1.3.1): - react-native-orientation-locker (1.1.8):
- React-Core - React
- react-native-restart (0.0.22): - react-native-restart (0.0.22):
- React-Core - React-Core
- react-native-safe-area-context (3.2.0): - react-native-safe-area-context (3.2.0):
@ -920,7 +920,7 @@ EXTERNAL SOURCES:
CHECKOUT OPTIONS: CHECKOUT OPTIONS:
JitsiMeetSDK: JitsiMeetSDK:
:commit: 34660a3a34798fe28fcfd340f9ad30184b9fa0d1 :commit: 23797290da02324c09998a63781cd1fe0047211d
:git: https://github.com/RocketChat/jitsi-meet-ios-sdk-releases.git :git: https://github.com/RocketChat/jitsi-meet-ios-sdk-releases.git
SPEC CHECKSUMS: SPEC CHECKSUMS:
@ -960,7 +960,7 @@ SPEC CHECKSUMS:
GoogleDataTransportCCTSupport: 489c1265d2c85b68187a83a911913d190012158d GoogleDataTransportCCTSupport: 489c1265d2c85b68187a83a911913d190012158d
GoogleUtilities: e121a3867449ce16b0e35ddf1797ea7a389ffdf2 GoogleUtilities: e121a3867449ce16b0e35ddf1797ea7a389ffdf2
hermes-engine: 7d97ba46a1e29bacf3e3c61ecb2804a5ddd02d4f hermes-engine: 7d97ba46a1e29bacf3e3c61ecb2804a5ddd02d4f
JitsiMeetSDK: ef6dd5cfa6d9badf009c7dba1a2c1365bfaae6b0 JitsiMeetSDK: 476329f72a866f714d2802bafe1729de6d644ccf
KeyCommands: f66c535f698ed14b3d3a4e58859d79a827ea907e KeyCommands: f66c535f698ed14b3d3a4e58859d79a827ea907e
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3 libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3
@ -986,11 +986,11 @@ SPEC CHECKSUMS:
react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2 react-native-cameraroll: 88f4e62d9ecd0e1f253abe4f685474f2ea14bfa2
react-native-cookies: 2cb6ef472da68610dfcf0eaee68464c244943abd react-native-cookies: 2cb6ef472da68610dfcf0eaee68464c244943abd
react-native-document-picker: f1b5398801b332c77bc62ae0eae2116f49bdff26 react-native-document-picker: f1b5398801b332c77bc62ae0eae2116f49bdff26
react-native-jitsi-meet: f2407aca85566e031ee7b222e497ee5ecb6623de react-native-jitsi-meet: 3e3ac5d0445091154119f94342efd55c8b1124ce
react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0 react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0
react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d
react-native-notifications: ee8fd739853e72694f3af8b374c8ccb106b7b227 react-native-notifications: ee8fd739853e72694f3af8b374c8ccb106b7b227
react-native-orientation-locker: 998c0744e26624407dac068c04c605b4af7304a2 react-native-orientation-locker: f0ca1a8e5031dab6b74bfb4ab33a17ed2c2fcb0d
react-native-restart: 733a51ad137f15b0f8dc34c4082e55af7da00979 react-native-restart: 733a51ad137f15b0f8dc34c4082e55af7da00979
react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79 react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79
react-native-simple-crypto: 9b358cdfd34169031d384a8d4ac2ffc40b323876 react-native-simple-crypto: 9b358cdfd34169031d384a8d4ac2ffc40b323876

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,8 @@
APPLICATION_EXTENSION_API_ONLY = YES APPLICATION_EXTENSION_API_ONLY = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JitsiMeetSDK CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JitsiMeetSDK
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JitsiMeetSDK/Frameworks" EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JitsiMeetSDK/Frameworks" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -1,7 +1,8 @@
APPLICATION_EXTENSION_API_ONLY = YES APPLICATION_EXTENSION_API_ONLY = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JitsiMeetSDK CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JitsiMeetSDK
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JitsiMeetSDK/Frameworks" EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JitsiMeetSDK/Frameworks" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -175,15 +175,15 @@ code_sign_if_enabled() {
} }
if [[ "$CONFIGURATION" == "Debug" ]]; then if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${PODS_ROOT}/JitsiMeetSDK/Frameworks/JitsiMeet.framework"
install_framework "${PODS_ROOT}/JitsiMeetSDK/Frameworks/WebRTC.framework"
install_framework "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework" install_framework "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework"
fi fi
if [[ "$CONFIGURATION" == "Release" ]]; then if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${PODS_ROOT}/JitsiMeetSDK/Frameworks/JitsiMeet.framework"
install_framework "${PODS_ROOT}/JitsiMeetSDK/Frameworks/WebRTC.framework"
install_framework "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework" install_framework "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework"
fi fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -175,15 +175,15 @@ code_sign_if_enabled() {
} }
if [[ "$CONFIGURATION" == "Debug" ]]; then if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${PODS_ROOT}/JitsiMeetSDK/Frameworks/JitsiMeet.framework"
install_framework "${PODS_ROOT}/JitsiMeetSDK/Frameworks/WebRTC.framework"
install_framework "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework" install_framework "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework"
fi fi
if [[ "$CONFIGURATION" == "Release" ]]; then if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${PODS_ROOT}/JitsiMeetSDK/Frameworks/JitsiMeet.framework"
install_framework "${PODS_ROOT}/JitsiMeetSDK/Frameworks/WebRTC.framework"
install_framework "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework" install_framework "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework"
install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework"
fi fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
APPLICATION_EXTENSION_API_ONLY = YES APPLICATION_EXTENSION_API_ONLY = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JitsiMeetSDK/Frameworks" "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JitsiMeetSDK/Frameworks" "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCT-Folly" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTBlob" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/React-perflogger" "${PODS_ROOT}/Headers/Public/React-runtimeexecutor" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/hermes-engine" "${PODS_ROOT}/Headers/Public/libevent" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCT-Folly" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTBlob" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/React-perflogger" "${PODS_ROOT}/Headers/Public/React-runtimeexecutor" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/hermes-engine" "${PODS_ROOT}/Headers/Public/libevent" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet"
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/React/React-Core.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/React/React-Core.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"

View File

@ -1,7 +1,7 @@
APPLICATION_EXTENSION_API_ONLY = YES APPLICATION_EXTENSION_API_ONLY = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-jitsi-meet
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JitsiMeetSDK/Frameworks" "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/JitsiMeetSDK/Frameworks" "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos" "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCT-Folly" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTBlob" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/React-perflogger" "${PODS_ROOT}/Headers/Public/React-runtimeexecutor" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/hermes-engine" "${PODS_ROOT}/Headers/Public/libevent" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCT-Folly" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTBlob" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/React-perflogger" "${PODS_ROOT}/Headers/Public/React-runtimeexecutor" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/hermes-engine" "${PODS_ROOT}/Headers/Public/libevent" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet"
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/React/React-Core.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/React/React-Core.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"

View File

@ -3,7 +3,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/RCT-Folly" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/React-perflogger" "${PODS_ROOT}/Headers/Public/React-runtimeexecutor" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/hermes-engine" "${PODS_ROOT}/Headers/Public/libevent" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCT-Folly" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTBlob" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/React-perflogger" "${PODS_ROOT}/Headers/Public/React-runtimeexecutor" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/hermes-engine" "${PODS_ROOT}/Headers/Public/libevent" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker"
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/React/React-Core.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/React/React-Core.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -3,7 +3,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/RCT-Folly" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/React-perflogger" "${PODS_ROOT}/Headers/Public/React-runtimeexecutor" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/hermes-engine" "${PODS_ROOT}/Headers/Public/libevent" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCT-Folly" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTBlob" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/React-perflogger" "${PODS_ROOT}/Headers/Public/React-runtimeexecutor" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/hermes-engine" "${PODS_ROOT}/Headers/Public/libevent" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker"
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/React/React-Core.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/React/React-Core.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@ -1179,16 +1179,16 @@
); );
inputPaths = ( inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh", "${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh",
"${PODS_ROOT}/JitsiMeetSDK/Frameworks/JitsiMeet.framework",
"${PODS_ROOT}/JitsiMeetSDK/Frameworks/WebRTC.framework",
"${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework", "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework/JitsiMeetSDK",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL",
); );
name = "[CP] Embed Pods Frameworks"; name = "[CP] Embed Pods Frameworks";
outputPaths = ( outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeet.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@ -1225,16 +1225,16 @@
); );
inputPaths = ( inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh", "${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh",
"${PODS_ROOT}/JitsiMeetSDK/Frameworks/JitsiMeet.framework",
"${PODS_ROOT}/JitsiMeetSDK/Frameworks/WebRTC.framework",
"${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework", "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework/JitsiMeetSDK",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL",
); );
name = "[CP] Embed Pods Frameworks"; name = "[CP] Embed Pods Frameworks";
outputPaths = ( outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeet.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;

View File

@ -96,7 +96,7 @@
"react-native-navigation-bar-color": "2.0.1", "react-native-navigation-bar-color": "2.0.1",
"react-native-notifications": "2.1.7", "react-native-notifications": "2.1.7",
"react-native-notifier": "1.6.1", "react-native-notifier": "1.6.1",
"react-native-orientation-locker": "1.3.1", "react-native-orientation-locker": "1.1.8",
"react-native-picker-select": "^8.0.4", "react-native-picker-select": "^8.0.4",
"react-native-platform-touchable": "1.1.1", "react-native-platform-touchable": "1.1.1",
"react-native-popover-view": "4.0.1", "react-native-popover-view": "4.0.1",
@ -141,7 +141,7 @@
"@storybook/react-native": "5.3.25", "@storybook/react-native": "5.3.25",
"@types/react-native": "^0.62.7", "@types/react-native": "^0.62.7",
"axios": "0.21.1", "axios": "0.21.1",
"babel-jest": "27.0.2", "babel-jest": "^27.0.6",
"babel-plugin-transform-remove-console": "^6.9.4", "babel-plugin-transform-remove-console": "^6.9.4",
"codecov": "3.8.2", "codecov": "3.8.2",
"detox": "18.17.0", "detox": "18.17.0",
@ -152,7 +152,7 @@
"eslint-plugin-react-native": "3.8.1", "eslint-plugin-react-native": "3.8.1",
"husky": "^6.0.0", "husky": "^6.0.0",
"identity-obj-proxy": "^3.0.0", "identity-obj-proxy": "^3.0.0",
"jest": "^26.6.3", "jest": "^27.0.6",
"jest-cli": "^27.0.6", "jest-cli": "^27.0.6",
"metro-react-native-babel-preset": "^0.64.0", "metro-react-native-babel-preset": "^0.64.0",
"mocha": "9.0.1", "mocha": "9.0.1",

View File

@ -854,3 +854,32 @@ stories.add('Ignored', () => (
stories.add('Custom style', () => ( stories.add('Custom style', () => (
<Message msg='Message' style={[styles.normalize, { backgroundColor: '#ddd' }]} /> <Message msg='Message' style={[styles.normalize, { backgroundColor: '#ddd' }]} />
)); ));
stories.add('Show a button as attachment', () => (
<Message
attachments={[{
text: 'Test Button',
actions: [
{
type: 'button',
text: 'Text button',
msg: 'Response message',
msg_in_chat_window: true
}
]
}]}
/>
));
stories.add('Thumbnail from server', () => (
<Message
msg='this is a thumbnail'
attachments={[{
text: 'Image text',
thumb_url: 'https://images-na.ssl-images-amazon.com/images/I/71jKxPAMFbL._AC_SL1500_.jpg',
title: 'Title',
title_link: 'https://github.com/RocketChat/Rocket.Chat.ReactNative/pull/2975'
}]}
/>
));

View File

@ -15,6 +15,7 @@ import './Avatar';
import '../../app/containers/BackgroundContainer/index.stories.js'; import '../../app/containers/BackgroundContainer/index.stories.js';
import '../../app/containers/RoomHeader/RoomHeader.stories.js'; import '../../app/containers/RoomHeader/RoomHeader.stories.js';
import '../../app/views/RoomView/LoadMore/LoadMore.stories'; import '../../app/views/RoomView/LoadMore/LoadMore.stories';
import '../../app/containers/TextInput.stories';
// Change here to see themed storybook // Change here to see themed storybook
export const theme = 'light'; export const theme = 'light';

772
yarn.lock

File diff suppressed because it is too large Load Diff