[NEW] Channel actions (#2644)

* room roles

* handle owner

* endpoints

* Leader and Moderator

* Remove user from room

* stash ignore

* Add subscription.ignored column

* ignore user

* Fix icons

* I18n

* Minor i18n fixes

* Direct Message and open action sheet after a normal tap

* Fix icon

* stash isIgnored

* isManualUnignored message

* Fix update

* Ignored

* Mute, moderator, leader, owner, remove from room

* ignore

* Tests

* pt-BR

* Update pods

* Apply requested changes

* Add RC version on requests
This commit is contained in:
Diego Mello 2020-11-30 17:00:31 -03:00 committed by GitHub
parent 155fc04aca
commit 40490ea66c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
61 changed files with 24336 additions and 23927 deletions

View File

@ -42988,6 +42988,173 @@ exports[`Storyshots Message list message 1`] = `
</View> </View>
</View> </View>
</View> </View>
<Text
style={
Array [
Object {
"fontSize": 20,
"fontWeight": "300",
"marginLeft": 10,
"marginVertical": 30,
},
Object {
"color": "#0d0e12",
},
Object {
"marginBottom": 0,
"marginTop": 30,
},
]
}
>
Ignored
</Text>
<View
accessible={true}
focusable={true}
onClick={[Function]}
onResponderGrant={[Function]}
onResponderMove={[Function]}
onResponderRelease={[Function]}
onResponderTerminate={[Function]}
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
"opacity": 1,
}
}
>
<View>
<View
style={
Array [
Object {
"flexDirection": "column",
"paddingHorizontal": 14,
"paddingVertical": 4,
"width": "100%",
},
undefined,
]
}
>
<View
style={
Array [
Object {
"flexDirection": "row",
},
Object {
"alignItems": "center",
},
]
}
>
<View
style={
Array [
Object {
"borderRadius": 2,
"height": 20,
"width": 20,
},
Object {
"marginLeft": 16,
},
]
}
>
<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": 2,
"height": 20,
"width": 20,
},
]
}
>
<FastImageView
resizeMode="cover"
source={
Object {
"headers": undefined,
"priority": "high",
"uri": "https://open.rocket.chat/avatar/diego.mello?format=png&size=100",
}
}
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>
<Text
style={
Array [
Object {
"backgroundColor": "transparent",
"fontFamily": "System",
"fontSize": 16,
"fontStyle": "italic",
"fontWeight": "400",
},
Object {
"color": "#9ca2a8",
},
]
}
>
Message ignored. Tap to display it.
</Text>
</View>
</View>
</View>
</View>
</View>
</View>
<Text <Text
style={ style={
Array [ Array [

View File

@ -67,6 +67,10 @@ const Content = React.memo((props) => {
); );
} }
if (props.isIgnored) {
content = <Text style={[styles.textInfo, { color: themes[props.theme].auxiliaryText }]}>{I18n.t('Message_Ignored')}</Text>;
}
return ( return (
<View style={props.isTemp && styles.temp}> <View style={props.isTemp && styles.temp}>
{content} {content}
@ -88,6 +92,9 @@ const Content = React.memo((props) => {
if (prevProps.isEncrypted !== nextProps.isEncrypted) { if (prevProps.isEncrypted !== nextProps.isEncrypted) {
return false; return false;
} }
if (prevProps.isIgnored !== nextProps.isIgnored) {
return false;
}
if (!equal(prevProps.mentions, nextProps.mentions)) { if (!equal(prevProps.mentions, nextProps.mentions)) {
return false; return false;
} }
@ -111,6 +118,7 @@ Content.propTypes = {
mentions: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), mentions: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
navToRoomInfo: PropTypes.func, navToRoomInfo: PropTypes.func,
useRealName: PropTypes.bool, useRealName: PropTypes.bool,
isIgnored: PropTypes.bool,
type: PropTypes.string type: PropTypes.string
}; };
Content.displayName = 'MessageContent'; Content.displayName = 'MessageContent';

View File

@ -63,7 +63,7 @@ const MessageInner = React.memo((props) => {
MessageInner.displayName = 'MessageInner'; MessageInner.displayName = 'MessageInner';
const Message = React.memo((props) => { const Message = React.memo((props) => {
if (props.isThreadReply || props.isThreadSequential || props.isInfo) { if (props.isThreadReply || props.isThreadSequential || props.isInfo || props.isIgnored) {
const thread = props.isThreadReply ? <RepliedThread {...props} /> : null; const thread = props.isThreadReply ? <RepliedThread {...props} /> : null;
return ( return (
<View style={[styles.container, props.style]}> <View style={[styles.container, props.style]}>
@ -82,6 +82,7 @@ const Message = React.memo((props) => {
</View> </View>
); );
} }
return ( return (
<View style={[styles.container, props.style]}> <View style={[styles.container, props.style]}>
<View style={styles.flex}> <View style={styles.flex}>
@ -146,7 +147,8 @@ Message.propTypes = {
onLongPress: PropTypes.func, onLongPress: PropTypes.func,
isReadReceiptEnabled: PropTypes.bool, isReadReceiptEnabled: PropTypes.bool,
unread: PropTypes.bool, unread: PropTypes.bool,
theme: PropTypes.string theme: PropTypes.string,
isIgnored: PropTypes.bool
}; };
MessageInner.propTypes = { MessageInner.propTypes = {

View File

@ -32,6 +32,7 @@ class MessageContainer extends React.Component {
autoTranslateRoom: PropTypes.bool, autoTranslateRoom: PropTypes.bool,
autoTranslateLanguage: PropTypes.string, autoTranslateLanguage: PropTypes.string,
status: PropTypes.number, status: PropTypes.number,
isIgnored: PropTypes.bool,
getCustomEmoji: PropTypes.func, getCustomEmoji: PropTypes.func,
onLongPress: PropTypes.func, onLongPress: PropTypes.func,
onReactionPress: PropTypes.func, onReactionPress: PropTypes.func,
@ -70,9 +71,12 @@ class MessageContainer extends React.Component {
blockAction: () => {}, blockAction: () => {},
archived: false, archived: false,
broadcast: false, broadcast: false,
isIgnored: false,
theme: 'light' theme: 'light'
} }
state = { isManualUnignored: false };
componentDidMount() { componentDidMount() {
const { item } = this.props; const { item } = this.props;
if (item && item.observe) { if (item && item.observe) {
@ -83,14 +87,21 @@ class MessageContainer extends React.Component {
} }
} }
shouldComponentUpdate(nextProps) { shouldComponentUpdate(nextProps, nextState) {
const { theme, threadBadgeColor } = this.props; const { isManualUnignored } = this.state;
const { theme, threadBadgeColor, isIgnored } = this.props;
if (nextProps.theme !== theme) { if (nextProps.theme !== theme) {
return true; return true;
} }
if (nextProps.threadBadgeColor !== threadBadgeColor) { if (nextProps.threadBadgeColor !== threadBadgeColor) {
return true; return true;
} }
if (nextProps.isIgnored !== isIgnored) {
return true;
}
if (nextState.isManualUnignored !== isManualUnignored) {
return true;
}
return false; return false;
} }
@ -101,6 +112,10 @@ class MessageContainer extends React.Component {
} }
onPress = debounce(() => { onPress = debounce(() => {
if (this.isIgnored) {
return this.onIgnoredMessagePress();
}
const { item, isThreadRoom } = this.props; const { item, isThreadRoom } = this.props;
KeyboardUtils.dismiss(); KeyboardUtils.dismiss();
@ -161,6 +176,10 @@ class MessageContainer extends React.Component {
} }
} }
onIgnoredMessagePress = () => {
this.setState({ isManualUnignored: true });
}
get isHeader() { get isHeader() {
const { const {
item, previousItem, broadcast, Message_GroupingPeriod item, previousItem, broadcast, Message_GroupingPeriod
@ -226,6 +245,12 @@ class MessageContainer extends React.Component {
return item.status === messagesStatus.TEMP || item.status === messagesStatus.ERROR; return item.status === messagesStatus.TEMP || item.status === messagesStatus.ERROR;
} }
get isIgnored() {
const { isManualUnignored } = this.state;
const { isIgnored } = this.props;
return isManualUnignored ? false : isIgnored;
}
get hasError() { get hasError() {
const { item } = this.props; const { item } = this.props;
return item.status === messagesStatus.ERROR; return item.status === messagesStatus.ERROR;
@ -311,6 +336,7 @@ class MessageContainer extends React.Component {
fetchThreadName={fetchThreadName} fetchThreadName={fetchThreadName}
mentions={mentions} mentions={mentions}
channels={channels} channels={channels}
isIgnored={this.isIgnored}
isEdited={editedBy && !!editedBy.username} isEdited={editedBy && !!editedBy.username}
isHeader={this.isHeader} isHeader={this.isHeader}
isThreadReply={this.isThreadReply} isThreadReply={this.isThreadReply}

View File

@ -552,7 +552,7 @@ export default {
Users: 'Benutzer', Users: 'Benutzer',
User_added_by: 'Benutzer {{userAdded}} hinzugefügt von {{userBy}}', User_added_by: 'Benutzer {{userAdded}} hinzugefügt von {{userBy}}',
User_Info: 'Benutzerinfo', User_Info: 'Benutzerinfo',
User_has_been_key: 'Benutzer wurde {{key}}!', User_has_been_key: 'Benutzer wurde {{key}}',
User_is_no_longer_role_by_: '{{user}} ist nicht länger {{role}} von {{userBy}}', User_is_no_longer_role_by_: '{{user}} ist nicht länger {{role}} von {{userBy}}',
User_muted_by: 'Benutzer {{userMuted}} von {{userBy}} stummgeschaltet', User_muted_by: 'Benutzer {{userMuted}} von {{userBy}} stummgeschaltet',
User_removed_by: 'Benutzer {{userRemoved}} wurde von {{userBy}} entfernt', User_removed_by: 'Benutzer {{userRemoved}} wurde von {{userBy}} entfernt',

View File

@ -552,7 +552,7 @@ export default {
Users: 'Users', Users: 'Users',
User_added_by: 'User {{userAdded}} added by {{userBy}}', User_added_by: 'User {{userAdded}} added by {{userBy}}',
User_Info: 'User Info', User_Info: 'User Info',
User_has_been_key: 'User has been {{key}}!', User_has_been_key: 'User has been {{key}}',
User_is_no_longer_role_by_: '{{user}} is no longer {{role}} by {{userBy}}', User_is_no_longer_role_by_: '{{user}} is no longer {{role}} by {{userBy}}',
User_muted_by: 'User {{userMuted}} muted by {{userBy}}', User_muted_by: 'User {{userMuted}} muted by {{userBy}}',
User_removed_by: 'User {{userRemoved}} removed by {{userBy}}', User_removed_by: 'User {{userRemoved}} removed by {{userBy}}',
@ -680,5 +680,27 @@ export default {
No_threads: 'There are no threads', No_threads: 'There are no threads',
No_threads_following: 'You are not following any threads', No_threads_following: 'You are not following any threads',
No_threads_unread: 'There are no unread threads', No_threads_unread: 'There are no unread threads',
Messagebox_Send_to_channel: 'Send to channel' Messagebox_Send_to_channel: 'Send to channel',
Set_as_leader: 'Set as leader',
Set_as_moderator: 'Set as moderator',
Set_as_owner: 'Set as owner',
Remove_as_leader: 'Remove as leader',
Remove_as_moderator: 'Remove as moderator',
Remove_as_owner: 'Remove as owner',
Remove_from_room: 'Remove from room',
Ignore: 'Ignore',
Unignore: 'Unignore',
User_has_been_ignored: 'User has been ignored',
User_has_been_unignored: 'User is no longer ignored',
User_has_been_removed_from_s: 'User has been removed from {{s}}',
User__username__is_now_a_leader_of__room_name_: 'User {{username}} is now a leader of {{room_name}}',
User__username__is_now_a_moderator_of__room_name_: 'User {{username}} is now a moderator of {{room_name}}',
User__username__is_now_a_owner_of__room_name_: 'User {{username}} is now a owner of {{room_name}}',
User__username__removed_from__room_name__leaders: 'User {{username}} removed from {{room_name}} leaders',
User__username__removed_from__room_name__moderators: 'User {{username}} removed from {{room_name}} moderators',
User__username__removed_from__room_name__owners: 'User {{username}} removed from {{room_name}} owners',
The_user_will_be_removed_from_s: 'The user will be removed from {{s}}',
Yes_remove_user: 'Yes, remove user!',
Direct_message: 'Direct message',
Message_Ignored: 'Message ignored. Tap to display it.'
}; };

View File

@ -406,7 +406,7 @@ export default {
Upload_file_question_mark: 'Subir fichero?', Upload_file_question_mark: 'Subir fichero?',
Users: 'Usuarios', Users: 'Usuarios',
User_added_by: 'Usuario {{userAdded}} añadido por {{userBy}}', User_added_by: 'Usuario {{userAdded}} añadido por {{userBy}}',
User_has_been_key: 'El usuario ha sido {{key}}!', User_has_been_key: 'El usuario ha sido {{key}}',
User_is_no_longer_role_by_: '{{user}} ha dejado de ser {{role}} por {{userBy}}', User_is_no_longer_role_by_: '{{user}} ha dejado de ser {{role}} por {{userBy}}',
User_muted_by: 'Usuario {{userMuted}} muteado por {{userBy}}', User_muted_by: 'Usuario {{userMuted}} muteado por {{userBy}}',
User_removed_by: 'Usuario {{userRemoved}} eliminado por {{userBy}}', User_removed_by: 'Usuario {{userRemoved}} eliminado por {{userBy}}',

View File

@ -520,7 +520,7 @@ export default {
Users: 'Utilisateurs', Users: 'Utilisateurs',
User_added_by: 'L\'utilisateur {{userAdded}} a été ajouté par {{userBy}}', User_added_by: 'L\'utilisateur {{userAdded}} a été ajouté par {{userBy}}',
User_Info: 'Info d\'utilisateur', User_Info: 'Info d\'utilisateur',
User_has_been_key: 'L\'utilisateur a été {{key}}!', User_has_been_key: 'L\'utilisateur a été {{key}}',
User_is_no_longer_role_by_: '{{user}} n\'est plus {{role}} par {{userBy}}', User_is_no_longer_role_by_: '{{user}} n\'est plus {{role}} par {{userBy}}',
User_muted_by: 'L\'utilisateur {{userMuted}} a été rendu muet par {{userBy}}', User_muted_by: 'L\'utilisateur {{userMuted}} a été rendu muet par {{userBy}}',
User_removed_by: 'L\'utilisateur {{userRemoved}} a été retiré par {{userBy}}', User_removed_by: 'L\'utilisateur {{userRemoved}} a été retiré par {{userBy}}',

View File

@ -549,7 +549,7 @@ export default {
Users: 'Utenti', Users: 'Utenti',
User_added_by: 'Utente {{userAdded}} aggiunto da {{userBy}}', User_added_by: 'Utente {{userAdded}} aggiunto da {{userBy}}',
User_Info: 'Informazioni utente', User_Info: 'Informazioni utente',
User_has_been_key: 'Utente {{key}}!', User_has_been_key: 'Utente {{key}}',
User_is_no_longer_role_by_: '{{user}} non è più {{role}} da {{userBy}}', User_is_no_longer_role_by_: '{{user}} non è più {{role}} da {{userBy}}',
User_muted_by: 'Utente {{userMuted}} silenziato da {{userBy}}', User_muted_by: 'Utente {{userMuted}} silenziato da {{userBy}}',
User_removed_by: 'Utente {{userRemoved}} rimosso da {{userBy}}', User_removed_by: 'Utente {{userRemoved}} rimosso da {{userBy}}',

View File

@ -464,7 +464,7 @@ export default {
Users: 'ユーザー', Users: 'ユーザー',
User_added_by: '{{userBy}} が {{userAdded}} を追加しました', User_added_by: '{{userBy}} が {{userAdded}} を追加しました',
User_Info: 'ユーザー情報', User_Info: 'ユーザー情報',
User_has_been_key: 'ユーザーは{{ key }}', User_has_been_key: 'ユーザーは{{ key }}',
User_is_no_longer_role_by_: '{{userBy}} は {{user}} のロール {{role}} を削除しました。', User_is_no_longer_role_by_: '{{userBy}} は {{user}} のロール {{role}} を削除しました。',
User_muted_by: '{{userBy}} は {{userMuted}} をミュートしました。', User_muted_by: '{{userBy}} は {{userMuted}} をミュートしました。',
User_removed_by: '{{userBy}} は {{userRemoved}} を退出させました。', User_removed_by: '{{userBy}} は {{userRemoved}} を退出させました。',

View File

@ -427,7 +427,7 @@ export default {
Users: 'Gebruikers', Users: 'Gebruikers',
User_added_by: 'Gebruiker {{userAdded}} toegevoegd door {{userBy}}', User_added_by: 'Gebruiker {{userAdded}} toegevoegd door {{userBy}}',
User_Info: 'Gebruiker Info', User_Info: 'Gebruiker Info',
User_has_been_key: 'Gebruiker is {{key}}!', User_has_been_key: 'Gebruiker is {{key}}',
User_is_no_longer_role_by_: '{{user}} is geen {{role}} meer door {{userBy}}', User_is_no_longer_role_by_: '{{user}} is geen {{role}} meer door {{userBy}}',
User_muted_by: 'Gebruiker {{userMuted}} gedempt door {{userBy}}', User_muted_by: 'Gebruiker {{userMuted}} gedempt door {{userBy}}',
User_removed_by: 'Gebruiker {{userRemoved}} verwijderd door {{userBy}}', User_removed_by: 'Gebruiker {{userRemoved}} verwijderd door {{userBy}}',

View File

@ -509,7 +509,7 @@ export default {
User: 'Usuário', User: 'Usuário',
Users: 'Usuários', Users: 'Usuários',
User_added_by: 'Usuário {{userAdded}} adicionado por {{userBy}}', User_added_by: 'Usuário {{userAdded}} adicionado por {{userBy}}',
User_has_been_key: 'Usuário foi {{key}}!', User_has_been_key: 'Usuário foi {{key}}',
User_is_no_longer_role_by_: '{{user}} não pertence mais à {{role}} por {{userBy}}', User_is_no_longer_role_by_: '{{user}} não pertence mais à {{role}} por {{userBy}}',
User_muted_by: 'User {{userMuted}} muted por {{userBy}}', User_muted_by: 'User {{userMuted}} muted por {{userBy}}',
User_removed_by: 'Usuário {{userRemoved}} removido por {{userBy}}', User_removed_by: 'Usuário {{userRemoved}} removido por {{userBy}}',
@ -627,5 +627,27 @@ export default {
No_threads: 'Não há tópicos', No_threads: 'Não há tópicos',
No_threads_following: 'Você não está seguindo tópicos', No_threads_following: 'Você não está seguindo tópicos',
No_threads_unread: 'Não há tópicos não lidos', No_threads_unread: 'Não há tópicos não lidos',
Messagebox_Send_to_channel: 'Mostrar no canal' Messagebox_Send_to_channel: 'Mostrar no canal',
Set_as_leader: 'Definir como líder',
Set_as_moderator: 'Definir como moderador',
Set_as_owner: 'Definir como proprietário',
Remove_as_leader: 'Remover como líder',
Remove_as_moderator: 'Remover como moderador',
Remove_as_owner: 'Remover como owner',
Remove_from_room: 'Remover do canal',
Ignore: 'Ignorar',
Unignore: 'Deixar de ignorar',
User_has_been_ignored: 'Usuário foi ignorado',
User_has_been_unignored: 'O usuário não é mais ignorado',
User_has_been_removed_from_s: 'Usuário foi removido de {{s}}',
User__username__is_now_a_leader_of__room_name_: 'O usuário {{username}} agora é líder de {{room_name}}',
User__username__is_now_a_moderator_of__room_name_: 'O usuário {{username}} agora é moderador de {{room_name}}',
User__username__is_now_a_owner_of__room_name_: 'O usuário {{username}} agora é proprietário de {{room_name}}',
User__username__removed_from__room_name__leaders: 'O usuário {{username}} foi removido dos líderes de {{room_name}}',
User__username__removed_from__room_name__moderators: 'O usuário {{username}} foi removido dos moderadores de {{room_name}}',
User__username__removed_from__room_name__owners: 'O usuário {{username}} foi removido dos proprietários de {{room_name}}',
The_user_will_be_removed_from_s: 'O usuário será removido de {{s}}',
Yes_remove_user: 'Sim, remover usuário!',
Direct_message: 'Mensagem direta',
Message_Ignored: 'Mensagem ignorada. Toque para mostrar.'
}; };

View File

@ -324,7 +324,7 @@ export default {
Uploading: 'A enviar', Uploading: 'A enviar',
Upload_file_question_mark: 'Enviar ficheiro?', Upload_file_question_mark: 'Enviar ficheiro?',
User_added_by: 'Utilizador {{userAdded}} adicionado por {{userBy}}', User_added_by: 'Utilizador {{userAdded}} adicionado por {{userBy}}',
User_has_been_key: 'Utilizador foi {{key}}!', User_has_been_key: 'Utilizador foi {{key}}',
User_is_no_longer_role_by_: '{{userBy}} removeu o estatuto de {{role}} de {{user}}', User_is_no_longer_role_by_: '{{userBy}} removeu o estatuto de {{role}} de {{user}}',
User_muted_by: 'Utilizador {{userMuted}} foi silenciado por {{userBy}}', User_muted_by: 'Utilizador {{userMuted}} foi silenciado por {{userBy}}',
User_removed_by: 'Utilizador {{userRemoved}} removido por {{userBy}}', User_removed_by: 'Utilizador {{userRemoved}} removido por {{userBy}}',

View File

@ -552,7 +552,7 @@ export default {
Users: 'Пользователи', Users: 'Пользователи',
User_added_by: 'Пользователь {{userAdded}} добавлен по решению {{userBy}}', User_added_by: 'Пользователь {{userAdded}} добавлен по решению {{userBy}}',
User_Info: 'Информация о пользователе', User_Info: 'Информация о пользователе',
User_has_been_key: 'Пользователь был {{key}}!', User_has_been_key: 'Пользователь был {{key}}',
User_is_no_longer_role_by_: '{{user}} больше не {{role}} по решению {{userBy}}', User_is_no_longer_role_by_: '{{user}} больше не {{role}} по решению {{userBy}}',
User_muted_by: 'Пользователь {{userMuted}} заглушен по решению {{userBy}}', User_muted_by: 'Пользователь {{userMuted}} заглушен по решению {{userBy}}',
User_removed_by: 'Пользователь {{userRemoved}} удален по решению {{userBy}}', User_removed_by: 'Пользователь {{userRemoved}} удален по решению {{userBy}}',

View File

@ -549,7 +549,7 @@ export default {
Users: '用戶', Users: '用戶',
User_added_by: '由{{userBy}}添加的用户 {{useradd}}', User_added_by: '由{{userBy}}添加的用户 {{useradd}}',
User_Info: '用戶资讯', User_Info: '用戶资讯',
User_has_been_key: '用户已被{{key}}!', User_has_been_key: '用户已被{{key}}',
User_is_no_longer_role_by_: '{{userBy}}将角色 {{role}} 从用户 {{user}} 身上移除', User_is_no_longer_role_by_: '{{userBy}}将角色 {{role}} 从用户 {{user}} 身上移除',
User_muted_by: '用户 {{userMuted}} 被 {{userBy}} 静音', User_muted_by: '用户 {{userMuted}} 被 {{userBy}} 静音',
User_removed_by: '用户 {{userRemoved}} 被 {{userBy}} 移除', User_removed_by: '用户 {{userRemoved}} 被 {{userBy}} 移除',

View File

@ -549,7 +549,7 @@ export default {
Users: '使用者', Users: '使用者',
User_added_by: '由{{userBy}}添加的使用者 {{useradd}}', User_added_by: '由{{userBy}}添加的使用者 {{useradd}}',
User_Info: '使用者資訊', User_Info: '使用者資訊',
User_has_been_key: '使用者已被{{key}}!', User_has_been_key: '使用者已被{{key}}',
User_is_no_longer_role_by_: '{{userBy}}將角色 {{role}} 從使用者 {{user}} 身上移除', User_is_no_longer_role_by_: '{{userBy}}將角色 {{role}} 從使用者 {{user}} 身上移除',
User_muted_by: '使用者 {{userMuted}} 被 {{userBy}} 靜音', User_muted_by: '使用者 {{userMuted}} 被 {{userBy}} 靜音',
User_removed_by: '使用者 {{userRemoved}} 被 {{userBy}} 移除', User_removed_by: '使用者 {{userRemoved}} 被 {{userBy}} 移除',

View File

@ -76,6 +76,8 @@ export default class Subscription extends Model {
@json('muted', sanitizer) muted; @json('muted', sanitizer) muted;
@json('ignored', sanitizer) ignored;
@field('broadcast') broadcast; @field('broadcast') broadcast;
@field('prid') prid; @field('prid') prid;

View File

@ -201,6 +201,17 @@ export default schemaMigrations({
] ]
}) })
] ]
},
{
toVersion: 12,
steps: [
addColumns({
table: 'subscriptions',
columns: [
{ name: 'ignored', type: 'string', isOptional: true }
]
})
]
} }
] ]
}); });

View File

@ -1,7 +1,7 @@
import { appSchema, tableSchema } from '@nozbe/watermelondb'; import { appSchema, tableSchema } from '@nozbe/watermelondb';
export default appSchema({ export default appSchema({
version: 11, version: 12,
tables: [ tables: [
tableSchema({ tableSchema({
name: 'subscriptions', name: 'subscriptions',
@ -37,6 +37,7 @@ export default appSchema({
{ name: 'archived', type: 'boolean' }, { name: 'archived', type: 'boolean' },
{ name: 'join_code_required', type: 'boolean', isOptional: true }, { name: 'join_code_required', type: 'boolean', isOptional: true },
{ name: 'muted', type: 'string', isOptional: true }, { name: 'muted', type: 'string', isOptional: true },
{ name: 'ignored', type: 'string', isOptional: true },
{ name: 'broadcast', type: 'boolean', isOptional: true }, { name: 'broadcast', type: 'boolean', isOptional: true },
{ name: 'prid', type: 'string', isOptional: true }, { name: 'prid', type: 'string', isOptional: true },
{ name: 'draft_message', type: 'string', isOptional: true }, { name: 'draft_message', type: 'string', isOptional: true },

View File

@ -38,6 +38,9 @@ export const merge = (subscription, room) => {
if (!subscription.roles || !subscription.roles.length) { if (!subscription.roles || !subscription.roles.length) {
subscription.roles = []; subscription.roles = [];
} }
if (!subscription.ignored?.length) {
subscription.ignored = [];
}
if (room.muted && room.muted.length) { if (room.muted && room.muted.length) {
subscription.muted = room.muted.filter(muted => !!muted); subscription.muted = room.muted.filter(muted => !!muted);
} else { } else {

View File

@ -66,6 +66,7 @@ const createOrUpdateSubscription = async(subscription, room) => {
archived: s.archived, archived: s.archived,
joinCodeRequired: s.joinCodeRequired, joinCodeRequired: s.joinCodeRequired,
muted: s.muted, muted: s.muted,
ignored: s.ignored,
broadcast: s.broadcast, broadcast: s.broadcast,
prid: s.prid, prid: s.prid,
draftMessage: s.draftMessage, draftMessage: s.draftMessage,

View File

@ -1002,6 +1002,45 @@ const RocketChat = {
// RC 0.51.0 // RC 0.51.0
return this.methodCallWrapper('unmuteUserInRoom', { rid, username }); return this.methodCallWrapper('unmuteUserInRoom', { rid, username });
}, },
toggleRoomOwner({
roomId, t, userId, isOwner
}) {
if (isOwner) {
// RC 0.49.4
return this.post(`${ this.roomTypeToApiType(t) }.addOwner`, { roomId, userId });
}
// RC 0.49.4
return this.post(`${ this.roomTypeToApiType(t) }.removeOwner`, { roomId, userId });
},
toggleRoomLeader({
roomId, t, userId, isLeader
}) {
if (isLeader) {
// RC 0.58.0
return this.post(`${ this.roomTypeToApiType(t) }.addLeader`, { roomId, userId });
}
// RC 0.58.0
return this.post(`${ this.roomTypeToApiType(t) }.removeLeader`, { roomId, userId });
},
toggleRoomModerator({
roomId, t, userId, isModerator
}) {
if (isModerator) {
// RC 0.49.4
return this.post(`${ this.roomTypeToApiType(t) }.addModerator`, { roomId, userId });
}
// RC 0.49.4
return this.post(`${ this.roomTypeToApiType(t) }.removeModerator`, { roomId, userId });
},
removeUserFromRoom({
roomId, t, userId
}) {
// RC 0.48.0
return this.post(`${ this.roomTypeToApiType(t) }.kick`, { roomId, userId });
},
ignoreUser({ rid, userId, ignore }) {
return this.sdk.get('chat.ignoreUser', { rid, userId, ignore });
},
toggleArchiveRoom(roomId, t, archive) { toggleArchiveRoom(roomId, t, archive) {
if (archive) { if (archive) {
// RC 0.48.0 // RC 0.48.0
@ -1094,6 +1133,10 @@ const RocketChat = {
return userRoles.indexOf(r => r === role) > -1; return userRoles.indexOf(r => r === role) > -1;
}, },
getRoomRoles(roomId, type) {
// RC 0.65.0
return this.sdk.get(`${ this.roomTypeToApiType(type) }.roles`, { roomId });
},
async hasPermission(permissions, rid) { async hasPermission(permissions, rid) {
const db = database.active; const db = database.active;
const subsCollection = db.collections.get('subscriptions'); const subsCollection = db.collections.get('subscriptions');

File diff suppressed because one or more lines are too long

View File

@ -524,7 +524,7 @@ class RoomActionsView extends React.Component {
event: this.toggleBlockUser event: this.toggleBlockUser
})} })}
testID='room-actions-block-user' testID='room-actions-block-user'
left={() => <List.Icon name='ban' color={themes[theme].dangerColor} />} left={() => <List.Icon name='ignore' color={themes[theme].dangerColor} />}
showActionIndicator showActionIndicator
color={themes[theme].dangerColor} color={themes[theme].dangerColor}
/> />

View File

@ -42,7 +42,8 @@ class RoomMembersView extends React.Component {
}), }),
showActionSheet: PropTypes.func, showActionSheet: PropTypes.func,
theme: PropTypes.string, theme: PropTypes.string,
isMasterDetail: PropTypes.bool isMasterDetail: PropTypes.bool,
useRealName: PropTypes.bool
} }
constructor(props) { constructor(props) {
@ -79,9 +80,13 @@ class RoomMembersView extends React.Component {
this.mounted = true; this.mounted = true;
this.fetchMembers(); this.fetchMembers();
const { route } = this.props; const { room } = this.state;
const rid = route.params?.rid; this.permissions = await RocketChat.hasPermission(['mute-user', 'set-leader', 'set-owner', 'set-moderator', 'remove-user'], room.rid);
this.permissions = await RocketChat.hasPermission(['mute-user'], rid);
const hasSinglePermission = Object.values(this.permissions).some(p => !!p);
if (hasSinglePermission) {
this.fetchRoomMembersRoles();
}
} }
componentWillUnmount() { componentWillUnmount() {
@ -114,7 +119,7 @@ class RoomMembersView extends React.Component {
this.setState({ filtering: !!text, membersFiltered }); this.setState({ filtering: !!text, membersFiltered });
}) })
onPressUser = async(item) => { navToDirectMessage = async(item) => {
try { try {
const db = database.active; const db = database.active;
const subsCollection = db.collections.get('subscriptions'); const subsCollection = db.collections.get('subscriptions');
@ -133,19 +138,65 @@ class RoomMembersView extends React.Component {
} }
} }
onLongPressUser = (user) => { onPressUser = (selectedUser) => {
if (!this.permissions['mute-user']) {
return;
}
const { room } = this.state; const { room } = this.state;
const { showActionSheet } = this.props; const { showActionSheet, user } = this.props;
const { muted } = room;
const userIsMuted = !!(muted || []).find(m => m === user.username); const options = [{
user.muted = userIsMuted; icon: 'message',
title: I18n.t('Direct_message'),
onPress: () => this.navToDirectMessage(selectedUser)
}];
showActionSheet({ // Owner
options: [{ if (this.permissions['set-owner']) {
const userRoleResult = this.roomRoles.find(r => r.u._id === selectedUser._id);
const isOwner = userRoleResult?.roles.includes('owner');
options.push({
icon: 'shield-check',
title: I18n.t(isOwner ? 'Remove_as_owner' : 'Set_as_owner'),
onPress: () => this.handleOwner(selectedUser, !isOwner)
});
}
// Leader
if (this.permissions['set-leader']) {
const userRoleResult = this.roomRoles.find(r => r.u._id === selectedUser._id);
const isLeader = userRoleResult?.roles.includes('leader');
options.push({
icon: 'shield-alt',
title: I18n.t(isLeader ? 'Remove_as_leader' : 'Set_as_leader'),
onPress: () => this.handleLeader(selectedUser, !isLeader)
});
}
// Moderator
if (this.permissions['set-moderator']) {
const userRoleResult = this.roomRoles.find(r => r.u._id === selectedUser._id);
const isModerator = userRoleResult?.roles.includes('moderator');
options.push({
icon: 'shield',
title: I18n.t(isModerator ? 'Remove_as_moderator' : 'Set_as_moderator'),
onPress: () => this.handleModerator(selectedUser, !isModerator)
});
}
// Ignore
if (selectedUser._id !== user.id) {
const { ignored } = room;
const isIgnored = ignored?.includes?.(selectedUser._id);
options.push({
icon: 'ignore',
title: I18n.t(isIgnored ? 'Unignore' : 'Ignore'),
onPress: () => this.handleIgnore(selectedUser, !isIgnored)
});
}
if (this.permissions['mute-user']) {
const { muted = [] } = room;
const userIsMuted = muted.find?.(m => m === selectedUser.username);
selectedUser.muted = !!userIsMuted;
options.push({
icon: userIsMuted ? 'audio' : 'audio-disabled', icon: userIsMuted ? 'audio' : 'audio-disabled',
title: I18n.t(userIsMuted ? 'Unmute' : 'Mute'), title: I18n.t(userIsMuted ? 'Unmute' : 'Mute'),
onPress: () => { onPress: () => {
@ -154,10 +205,30 @@ class RoomMembersView extends React.Component {
roomName: RocketChat.getRoomTitle(room) roomName: RocketChat.getRoomTitle(room)
}), }),
confirmationText: I18n.t(userIsMuted ? 'Unmute' : 'Mute'), confirmationText: I18n.t(userIsMuted ? 'Unmute' : 'Mute'),
onPress: () => this.handleMute(user) onPress: () => this.handleMute(selectedUser)
}); });
} }
}], });
}
// Remove from room
if (this.permissions['remove-user']) {
options.push({
icon: 'logout',
title: I18n.t('Remove_from_room'),
danger: true,
onPress: () => {
showConfirmationAlert({
message: I18n.t('The_user_will_be_removed_from_s', { s: RocketChat.getRoomTitle(room) }),
confirmationText: I18n.t('Yes_remove_user'),
onPress: () => this.handleRemoveUserFromRoom(selectedUser)
});
}
});
}
showActionSheet({
options,
hasCancel: true hasCancel: true
}); });
} }
@ -173,7 +244,18 @@ class RoomMembersView extends React.Component {
} }
} }
// eslint-disable-next-line react/sort-comp fetchRoomMembersRoles = async() => {
try {
const { room } = this.state;
const result = await RocketChat.getRoomRoles(room.rid, room.t);
if (result?.success) {
this.roomRoles = result.roles;
}
} catch (e) {
log(e);
}
}
fetchMembers = async() => { fetchMembers = async() => {
const { const {
rid, members, isLoading, allUsers, end rid, members, isLoading, allUsers, end
@ -208,6 +290,11 @@ class RoomMembersView extends React.Component {
goRoom({ item, isMasterDetail }); goRoom({ item, isMasterDetail });
} }
getUserDisplayName = (user) => {
const { useRealName } = this.props;
return (useRealName ? user.name : user.username) || user.username;
}
handleMute = async(user) => { handleMute = async(user) => {
const { rid } = this.state; const { rid } = this.state;
try { try {
@ -218,6 +305,92 @@ class RoomMembersView extends React.Component {
} }
} }
handleOwner = async(selectedUser, isOwner) => {
try {
const { room } = this.state;
await RocketChat.toggleRoomOwner({
roomId: room.rid, t: room.t, userId: selectedUser._id, isOwner
});
const message = isOwner ? 'User__username__is_now_a_owner_of__room_name_' : 'User__username__removed_from__room_name__owners';
EventEmitter.emit(LISTENER, {
message: I18n.t(message, {
username: this.getUserDisplayName(selectedUser),
room_name: RocketChat.getRoomTitle(room)
})
});
} catch (e) {
log(e);
}
this.fetchRoomMembersRoles();
}
handleLeader = async(selectedUser, isLeader) => {
try {
const { room } = this.state;
await RocketChat.toggleRoomLeader({
roomId: room.rid, t: room.t, userId: selectedUser._id, isLeader
});
const message = isLeader ? 'User__username__is_now_a_leader_of__room_name_' : 'User__username__removed_from__room_name__leaders';
EventEmitter.emit(LISTENER, {
message: I18n.t(message, {
username: this.getUserDisplayName(selectedUser),
room_name: RocketChat.getRoomTitle(room)
})
});
} catch (e) {
log(e);
}
this.fetchRoomMembersRoles();
}
handleModerator = async(selectedUser, isModerator) => {
try {
const { room } = this.state;
await RocketChat.toggleRoomModerator({
roomId: room.rid, t: room.t, userId: selectedUser._id, isModerator
});
const message = isModerator ? 'User__username__is_now_a_moderator_of__room_name_' : 'User__username__removed_from__room_name__moderators';
EventEmitter.emit(LISTENER, {
message: I18n.t(message, {
username: this.getUserDisplayName(selectedUser),
room_name: RocketChat.getRoomTitle(room)
})
});
} catch (e) {
log(e);
}
this.fetchRoomMembersRoles();
}
handleIgnore = async(selectedUser, ignore) => {
try {
const { room } = this.state;
await RocketChat.ignoreUser({
rid: room.rid, userId: selectedUser._id, ignore
});
const message = I18n.t(ignore ? 'User_has_been_ignored' : 'User_has_been_unignored');
EventEmitter.emit(LISTENER, { message });
} catch (e) {
log(e);
}
}
handleRemoveUserFromRoom = async(selectedUser) => {
try {
const { room, members, membersFiltered } = this.state;
const userId = selectedUser._id;
await RocketChat.removeUserFromRoom({ roomId: room.rid, t: room.t, userId });
const message = I18n.t('User_has_been_removed_from_s', { s: RocketChat.getRoomTitle(room) });
EventEmitter.emit(LISTENER, { message });
this.setState({
members: members.filter(member => member._id !== userId),
membersFiltered: membersFiltered.filter(member => member._id !== userId)
});
} catch (e) {
log(e);
}
}
renderSearchBar = () => ( renderSearchBar = () => (
<SearchBox onChangeText={text => this.onSearchChangeText(text)} testID='room-members-view-search' /> <SearchBox onChangeText={text => this.onSearchChangeText(text)} testID='room-members-view-search' />
) )
@ -235,7 +408,6 @@ class RoomMembersView extends React.Component {
name={item.name} name={item.name}
username={item.username} username={item.username}
onPress={() => this.onPressUser(item)} onPress={() => this.onPressUser(item)}
onLongPress={() => this.onLongPressUser(item)}
baseUrl={baseUrl} baseUrl={baseUrl}
testID={`room-members-view-item-${ item.username }`} testID={`room-members-view-item-${ item.username }`}
user={user} user={user}
@ -279,7 +451,8 @@ class RoomMembersView extends React.Component {
const mapStateToProps = state => ({ const mapStateToProps = state => ({
baseUrl: state.server.server, baseUrl: state.server.server,
user: getUserSelector(state), user: getUserSelector(state),
isMasterDetail: state.app.isMasterDetail isMasterDetail: state.app.isMasterDetail,
useRealName: state.settings.UI_Use_Real_Name
}); });
export default connect(mapStateToProps)(withActionSheet(withTheme(RoomMembersView))); export default connect(mapStateToProps)(withActionSheet(withTheme(RoomMembersView)));

View File

@ -31,6 +31,7 @@ class List extends React.Component {
listRef: PropTypes.func, listRef: PropTypes.func,
hideSystemMessages: PropTypes.array, hideSystemMessages: PropTypes.array,
tunread: PropTypes.array, tunread: PropTypes.array,
ignored: PropTypes.array,
navigation: PropTypes.object, navigation: PropTypes.object,
showMessageInMainThread: PropTypes.bool showMessageInMainThread: PropTypes.bool
}; };
@ -77,7 +78,9 @@ class List extends React.Component {
shouldComponentUpdate(nextProps, nextState) { shouldComponentUpdate(nextProps, nextState) {
const { loading, end, refreshing } = this.state; const { loading, end, refreshing } = this.state;
const { hideSystemMessages, theme, tunread } = this.props; const {
hideSystemMessages, theme, tunread, ignored
} = this.props;
if (theme !== nextProps.theme) { if (theme !== nextProps.theme) {
return true; return true;
} }
@ -96,6 +99,9 @@ class List extends React.Component {
if (!isEqual(tunread, nextProps.tunread)) { if (!isEqual(tunread, nextProps.tunread)) {
return true; return true;
} }
if (!isEqual(ignored, nextProps.ignored)) {
return true;
}
return false; return false;
} }

View File

@ -73,7 +73,7 @@ const stateAttrsUpdate = [
'readOnly', 'readOnly',
'member' 'member'
]; ];
const roomAttrsUpdate = ['f', 'ro', 'blocked', 'blocker', 'archived', 'muted', 'tunread', 'jitsiTimeout', 'announcement', 'sysMes', 'topic', 'name', 'fname', 'roles', 'bannerClosed', 'visitor']; const roomAttrsUpdate = ['f', 'ro', 'blocked', 'blocker', 'archived', 'tunread', 'muted', 'ignored', 'jitsiTimeout', 'announcement', 'sysMes', 'topic', 'name', 'fname', 'roles', 'bannerClosed', 'visitor'];
class RoomView extends React.Component { class RoomView extends React.Component {
static propTypes = { static propTypes = {
@ -857,6 +857,11 @@ class RoomView extends React.Component {
} }
}; };
isIgnored = (message) => {
const { room } = this.state;
return room?.ignored?.includes?.(message?.u?._id) ?? false;
}
renderItem = (item, previousItem) => { renderItem = (item, previousItem) => {
const { room, lastOpen, canAutoTranslate } = this.state; const { room, lastOpen, canAutoTranslate } = this.state;
const { const {
@ -886,6 +891,7 @@ class RoomView extends React.Component {
broadcast={room.broadcast} broadcast={room.broadcast}
status={item.status} status={item.status}
isThreadRoom={!!this.tmid} isThreadRoom={!!this.tmid}
isIgnored={this.isIgnored(item)}
previousItem={previousItem} previousItem={previousItem}
fetchThreadName={this.fetchThreadName} fetchThreadName={this.fetchThreadName}
onReactionPress={this.onReactionPress} onReactionPress={this.onReactionPress}
@ -1054,6 +1060,7 @@ class RoomView extends React.Component {
tmid={this.tmid} tmid={this.tmid}
theme={theme} theme={theme}
tunread={room?.tunread} tunread={room?.tunread}
ignored={room?.ignored}
renderRow={this.renderItem} renderRow={this.renderItem}
loading={loading} loading={loading}
navigation={navigation} navigation={navigation}

View File

@ -62,7 +62,7 @@ const createGroupIfNotExists = async (groupname) => {
}) })
} catch (createError) { } catch (createError) {
try { //Maybe it exists already? try { //Maybe it exists already?
await rocketchat.get(`group.info?roomName=${groupname}`) await rocketchat.get(`groups.info?roomName=${groupname}`)
} catch (infoError) { } catch (infoError) {
console.log(JSON.stringify(createError)) console.log(JSON.stringify(createError))
console.log(JSON.stringify(infoError)) console.log(JSON.stringify(infoError))
@ -71,6 +71,18 @@ const createGroupIfNotExists = async (groupname) => {
} }
} }
const sendMessage = async (user, groupname, msg) => {
console.log(`Sending message to ${groupname}`)
try {
await login(user.username, user.password);
await rocketchat.post('chat.postMessage', { channel: `#${groupname}`, msg });
} catch (infoError) {
console.log(JSON.stringify(createError))
console.log(JSON.stringify(infoError))
throw "Failed to find or create private group"
}
}
const setup = async () => { const setup = async () => {
await login(data.adminUser, data.adminPassword) await login(data.adminUser, data.adminPassword)
@ -100,4 +112,6 @@ const setup = async () => {
return return
} }
module.exports = setup module.exports = {
setup, sendMessage
}

View File

@ -1,10 +1,10 @@
const detox = require('detox'); const detox = require('detox');
const config = require('../../package.json').detox; const config = require('../../package.json').detox;
const dataSetup = require('../helpers/data_setup') const { setup } = require('../helpers/data_setup')
const adapter = require('detox/runners/mocha/adapter'); const adapter = require('detox/runners/mocha/adapter');
before(async() => { before(async() => {
await Promise.all([dataSetup(), detox.init(config, { launchApp: false })]) await Promise.all([setup(), detox.init(config, { launchApp: false })])
//await dataSetup() //await dataSetup()
//await detox.init(config, { launchApp: false }); //await detox.init(config, { launchApp: false });
//await device.launchApp({ permissions: { notifications: 'YES' } }); //await device.launchApp({ permissions: { notifications: 'YES' } });

View File

@ -3,8 +3,7 @@ const {
} = require('detox'); } = require('detox');
const data = require('../../data'); const data = require('../../data');
const { navigateToLogin, login, tapBack, sleep, searchRoom, mockMessage, starMessage, pinMessage } = require('../../helpers/app'); const { navigateToLogin, login, tapBack, sleep, searchRoom, mockMessage, starMessage, pinMessage } = require('../../helpers/app');
const { sendMessage } = require('../../helpers/data_setup')
const scrollDown = 200;
async function navigateToRoomActions(type) { async function navigateToRoomActions(type) {
let room; let room;
@ -33,6 +32,10 @@ async function backToRoomsList() {
await waitFor(element(by.id('rooms-list-view'))).toExist().withTimeout(2000); await waitFor(element(by.id('rooms-list-view'))).toExist().withTimeout(2000);
} }
async function waitForToast() {
await sleep(1000);
}
describe('Room actions screen', () => { describe('Room actions screen', () => {
before(async() => { before(async() => {
@ -343,18 +346,26 @@ describe('Room actions screen', () => {
await waitFor(element(by.id('room-actions-view'))).toExist().withTimeout(2000); await waitFor(element(by.id('room-actions-view'))).toExist().withTimeout(2000);
}); });
it('should add user to the room', async() => { it('should add users to the room', async() => {
await waitFor(element(by.id('room-actions-add-user'))).toExist().withTimeout(4000); await waitFor(element(by.id('room-actions-add-user'))).toExist().withTimeout(4000);
await element(by.id('room-actions-add-user')).tap(); await element(by.id('room-actions-add-user')).tap();
// add rocket.cat
const rocketCat = 'rocket.cat';
await waitFor(element(by.id(`select-users-view-item-${ rocketCat }`))).toExist().withTimeout(10000);
await element(by.id(`select-users-view-item-${ rocketCat }`)).tap();
await waitFor(element(by.id(`selected-user-${ rocketCat }`))).toExist().withTimeout(5000);
await waitFor(element(by.id('select-users-view-search'))).toExist().withTimeout(4000); await waitFor(element(by.id('select-users-view-search'))).toExist().withTimeout(4000);
await element(by.id('select-users-view-search')).tap(); await element(by.id('select-users-view-search')).tap();
await element(by.id('select-users-view-search')).replaceText(user.username); await element(by.id('select-users-view-search')).replaceText(user.username);
await waitFor(element(by.id(`select-users-view-item-${ user.username }`))).toExist().withTimeout(10000); await waitFor(element(by.id(`select-users-view-item-${ user.username }`))).toExist().withTimeout(10000);
await element(by.id(`select-users-view-item-${ user.username }`)).tap(); await element(by.id(`select-users-view-item-${ user.username }`)).tap();
await waitFor(element(by.id(`selected-user-${ user.username }`))).toExist().withTimeout(5000); await waitFor(element(by.id(`selected-user-${ user.username }`))).toExist().withTimeout(5000);
await element(by.id('selected-users-view-submit')).tap(); await element(by.id('selected-users-view-submit')).tap();
await waitFor(element(by.id('room-actions-view'))).toExist().withTimeout(2000); await sleep(300);
await waitFor(element(by.id('room-actions-members'))).toExist().withTimeout(2000); await waitFor(element(by.id('room-actions-members'))).toExist().withTimeout(10000);
await element(by.id('room-actions-members')).tap(); await element(by.id('room-actions-members')).tap();
await element(by.id('room-members-view-toggle-status')).tap(); await element(by.id('room-members-view-toggle-status')).tap();
await waitFor(element(by.id(`room-members-view-item-${ user.username }`))).toExist().withTimeout(60000); await waitFor(element(by.id(`room-members-view-item-${ user.username }`))).toExist().withTimeout(60000);
@ -381,30 +392,121 @@ describe('Room actions screen', () => {
await waitFor(element(by.id(`room-members-view-item-${ user.username }`))).toExist().withTimeout(60000); await waitFor(element(by.id(`room-members-view-item-${ user.username }`))).toExist().withTimeout(60000);
}); });
// FIXME: mute/unmute isn't working it('should remove user from room', async() => {
// it('should mute user', async() => { await openActionSheet('rocket.cat');
// await sleep(1000); await element(by.label('Remove from room')).tap();
// await element(by.id(`room-members-view-item-${ user.username }`)).longPress(1500); await waitFor(element(by.label('Are you sure?'))).toExist().withTimeout(5000);
// await waitFor(element(by.text('Mute'))).toExist().withTimeout(5000); await element(by.label('Yes, remove user!').and(by.type('_UIAlertControllerActionView'))).tap();
// await expect(element(by.text('Mute'))).toExist(); await waitFor(element(by.id('room-members-view-item-rocket.cat'))).toBeNotVisible().withTimeout(60000);
// await element(by.text('Mute')).tap(); });
// await waitFor(element(by.id('toast'))).toExist().withTimeout(10000);
// await expect(element(by.id('toast'))).toExist();
// await waitFor(element(by.id('toast'))).toBeNotVisible().withTimeout(10000);
// await expect(element(by.id('toast'))).toBeNotVisible();
// await element(by.id(`room-members-view-item-${ user.username }`)).longPress(1500);
// await waitFor(element(by.text('Unmute'))).toExist().withTimeout(2000);
// await expect(element(by.text('Unmute'))).toExist();
// await element(by.text('Unmute')).tap();
// await waitFor(element(by.id('toast'))).toExist().withTimeout(10000);
// await expect(element(by.id('toast'))).toExist();
// await waitFor(element(by.id('toast'))).toBeNotVisible().withTimeout(10000);
// await expect(element(by.id('toast'))).toBeNotVisible();
// });
it('should navigate to direct room', async() => { it('should clear search', async() => {
await waitFor(element(by.id(`room-members-view-item-${ user.username }`))).toExist().withTimeout(5000); await element(by.id('room-members-view-search')).tap();
await element(by.id(`room-members-view-item-${ user.username }`)).tap(); await element(by.id('room-members-view-search')).clearText('');
await waitFor(element(by.id(`room-members-view-item-${ user.username }`))).toExist().withTimeout(60000);
});
const openActionSheet = async(username) => {
await waitFor(element(by.id(`room-members-view-item-${ username }`))).toExist().withTimeout(5000);
await element(by.id(`room-members-view-item-${ username }`)).tap();
await sleep(300);
await expect(element(by.id('action-sheet'))).toExist();
await expect(element(by.id('action-sheet-handle'))).toBeVisible();
}
const closeActionSheet = async() => {
await element(by.id('action-sheet-backdrop')).tap();
}
it('should set/remove as owner', async() => {
await openActionSheet(user.username);
await element(by.label('Set as owner')).tap();
await waitForToast();
await openActionSheet(user.username);
await element(by.label('Remove as owner')).tap();
await waitForToast();
await openActionSheet(user.username);
// Tests if Remove as owner worked
await waitFor(element(by.label('Set as owner'))).toExist().withTimeout(5000);
await closeActionSheet();
});
it('should set/remove as leader', async() => {
await openActionSheet(user.username);
await element(by.label('Set as leader')).tap();
await waitForToast();
await openActionSheet(user.username);
await element(by.label('Remove as leader')).tap();
await waitForToast();
await openActionSheet(user.username);
// Tests if Remove as leader worked
await waitFor(element(by.label('Set as leader'))).toExist().withTimeout(5000);
await closeActionSheet();
});
it('should set/remove as moderator', async() => {
await openActionSheet(user.username);
await element(by.label('Set as moderator')).tap();
await waitForToast();
await openActionSheet(user.username);
await element(by.label('Remove as moderator')).tap();
await waitForToast();
await openActionSheet(user.username);
// Tests if Remove as moderator worked
await waitFor(element(by.label('Set as moderator'))).toExist().withTimeout(5000);
await closeActionSheet();
});
it('should set/remove as mute', async() => {
await openActionSheet(user.username);
await element(by.label('Mute')).tap();
await waitFor(element(by.label('Are you sure?'))).toExist().withTimeout(5000);
await element(by.label('Mute').and(by.type('_UIAlertControllerActionView'))).tap();
await waitForToast();
await openActionSheet(user.username);
await element(by.label('Unmute')).tap();
await waitFor(element(by.label('Are you sure?'))).toExist().withTimeout(5000);
await element(by.label('Unmute').and(by.type('_UIAlertControllerActionView'))).tap();
await waitForToast();
await openActionSheet(user.username);
// Tests if Remove as mute worked
await waitFor(element(by.label('Mute'))).toExist().withTimeout(5000);
await closeActionSheet();
});
it('should ignore user', async() => {
const message = `${ data.random }ignoredmessagecontent`;
const channelName = data.groups.private.name;
await sendMessage(user, channelName, message);
await openActionSheet(user.username);
await element(by.label('Ignore')).tap();
await waitForToast();
await backToActions();
await tapBack();
await waitFor(element(by.id('room-view'))).toExist().withTimeout(60000);
await waitFor(element(by.label('Message ignored. Tap to display it.')).atIndex(0)).toExist().withTimeout(60000);
await element(by.label('Message ignored. Tap to display it.')).atIndex(0).tap();
await waitFor(element(by.label(message)).atIndex(0)).toExist().withTimeout(60000);
await element(by.label(message)).atIndex(0).tap();
});
it('should navigate to direct message', async() => {
await element(by.id('room-view-header-actions')).tap();
await waitFor(element(by.id('room-actions-view'))).toExist().withTimeout(5000);
await element(by.id('room-actions-members')).tap();
await waitFor(element(by.id('room-members-view'))).toExist().withTimeout(2000);
await element(by.id('room-members-view-toggle-status')).tap();
await waitFor(element(by.id(`room-members-view-item-${ user.username }`))).toExist().withTimeout(60000);
await openActionSheet(user.username);
await element(by.label('Direct message')).tap();
await waitFor(element(by.id('room-view'))).toExist().withTimeout(60000); await waitFor(element(by.id('room-view'))).toExist().withTimeout(60000);
await waitFor(element(by.id(`room-view-title-${ user.username }`))).toExist().withTimeout(60000); await waitFor(element(by.id(`room-view-title-${ user.username }`))).toExist().withTimeout(60000);
await tapBack(); await tapBack();

View File

@ -39,14 +39,14 @@ PODS:
- UMFileSystemInterface - UMFileSystemInterface
- EXWebBrowser (8.3.1): - EXWebBrowser (8.3.1):
- UMCore - UMCore
- FBLazyVector (0.63.1) - FBLazyVector (0.63.2)
- FBReactNativeSpec (0.63.1): - FBReactNativeSpec (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTRequired (= 0.63.1) - RCTRequired (= 0.63.2)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core (= 0.63.1) - React-Core (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- Firebase/Analytics (6.27.1): - Firebase/Analytics (6.27.1):
- Firebase/Core - Firebase/Core
- Firebase/Core (6.27.1): - Firebase/Core (6.27.1):
@ -196,172 +196,172 @@ PODS:
- OpenSSL-Universal/Static (= 1.0.2.19) - OpenSSL-Universal/Static (= 1.0.2.19)
- OpenSSL-Universal/Static (1.0.2.19) - OpenSSL-Universal/Static (1.0.2.19)
- PromisesObjC (1.2.9) - PromisesObjC (1.2.9)
- RCTRequired (0.63.1) - RCTRequired (0.63.2)
- RCTTypeSafety (0.63.1): - RCTTypeSafety (0.63.2):
- FBLazyVector (= 0.63.1) - FBLazyVector (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTRequired (= 0.63.1) - RCTRequired (= 0.63.2)
- React-Core (= 0.63.1) - React-Core (= 0.63.2)
- React (0.63.1): - React (0.63.2):
- React-Core (= 0.63.1) - React-Core (= 0.63.2)
- React-Core/DevSupport (= 0.63.1) - React-Core/DevSupport (= 0.63.2)
- React-Core/RCTWebSocket (= 0.63.1) - React-Core/RCTWebSocket (= 0.63.2)
- React-RCTActionSheet (= 0.63.1) - React-RCTActionSheet (= 0.63.2)
- React-RCTAnimation (= 0.63.1) - React-RCTAnimation (= 0.63.2)
- React-RCTBlob (= 0.63.1) - React-RCTBlob (= 0.63.2)
- React-RCTImage (= 0.63.1) - React-RCTImage (= 0.63.2)
- React-RCTLinking (= 0.63.1) - React-RCTLinking (= 0.63.2)
- React-RCTNetwork (= 0.63.1) - React-RCTNetwork (= 0.63.2)
- React-RCTSettings (= 0.63.1) - React-RCTSettings (= 0.63.2)
- React-RCTText (= 0.63.1) - React-RCTText (= 0.63.2)
- React-RCTVibration (= 0.63.1) - React-RCTVibration (= 0.63.2)
- React-callinvoker (0.63.1) - React-callinvoker (0.63.2)
- React-Core (0.63.1): - React-Core (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default (= 0.63.1) - React-Core/Default (= 0.63.2)
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/CoreModulesHeaders (0.63.1): - React-Core/CoreModulesHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/Default (0.63.1): - React-Core/Default (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/DevSupport (0.63.1): - React-Core/DevSupport (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default (= 0.63.1) - React-Core/Default (= 0.63.2)
- React-Core/RCTWebSocket (= 0.63.1) - React-Core/RCTWebSocket (= 0.63.2)
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- React-jsinspector (= 0.63.1) - React-jsinspector (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTActionSheetHeaders (0.63.1): - React-Core/RCTActionSheetHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTAnimationHeaders (0.63.1): - React-Core/RCTAnimationHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTBlobHeaders (0.63.1): - React-Core/RCTBlobHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTImageHeaders (0.63.1): - React-Core/RCTImageHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTLinkingHeaders (0.63.1): - React-Core/RCTLinkingHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTNetworkHeaders (0.63.1): - React-Core/RCTNetworkHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTSettingsHeaders (0.63.1): - React-Core/RCTSettingsHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTTextHeaders (0.63.1): - React-Core/RCTTextHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTVibrationHeaders (0.63.1): - React-Core/RCTVibrationHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTWebSocket (0.63.1): - React-Core/RCTWebSocket (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default (= 0.63.1) - React-Core/Default (= 0.63.2)
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-CoreModules (0.63.1): - React-CoreModules (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/CoreModulesHeaders (= 0.63.1) - React-Core/CoreModulesHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-RCTImage (= 0.63.1) - React-RCTImage (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-cxxreact (0.63.1): - React-cxxreact (0.63.2):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-callinvoker (= 0.63.1) - React-callinvoker (= 0.63.2)
- React-jsinspector (= 0.63.1) - React-jsinspector (= 0.63.2)
- React-jsi (0.63.1): - React-jsi (0.63.2):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-jsi/Default (= 0.63.1) - React-jsi/Default (= 0.63.2)
- React-jsi/Default (0.63.1): - React-jsi/Default (0.63.2):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-jsiexecutor (0.63.1): - React-jsiexecutor (0.63.2):
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsinspector (0.63.1) - React-jsinspector (0.63.2)
- react-native-appearance (0.3.4): - react-native-appearance (0.3.4):
- React - React
- react-native-background-timer (2.2.0): - react-native-background-timer (2.2.0):
@ -391,66 +391,66 @@ PODS:
- React - React
- react-native-webview (10.3.2): - react-native-webview (10.3.2):
- React - React
- React-RCTActionSheet (0.63.1): - React-RCTActionSheet (0.63.2):
- React-Core/RCTActionSheetHeaders (= 0.63.1) - React-Core/RCTActionSheetHeaders (= 0.63.2)
- React-RCTAnimation (0.63.1): - React-RCTAnimation (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/RCTAnimationHeaders (= 0.63.1) - React-Core/RCTAnimationHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTBlob (0.63.1): - React-RCTBlob (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- React-Core/RCTBlobHeaders (= 0.63.1) - React-Core/RCTBlobHeaders (= 0.63.2)
- React-Core/RCTWebSocket (= 0.63.1) - React-Core/RCTWebSocket (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-RCTNetwork (= 0.63.1) - React-RCTNetwork (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTImage (0.63.1): - React-RCTImage (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/RCTImageHeaders (= 0.63.1) - React-Core/RCTImageHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-RCTNetwork (= 0.63.1) - React-RCTNetwork (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTLinking (0.63.1): - React-RCTLinking (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- React-Core/RCTLinkingHeaders (= 0.63.1) - React-Core/RCTLinkingHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTNetwork (0.63.1): - React-RCTNetwork (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/RCTNetworkHeaders (= 0.63.1) - React-Core/RCTNetworkHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTSettings (0.63.1): - React-RCTSettings (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/RCTSettingsHeaders (= 0.63.1) - React-Core/RCTSettingsHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTText (0.63.1): - React-RCTText (0.63.2):
- React-Core/RCTTextHeaders (= 0.63.1) - React-Core/RCTTextHeaders (= 0.63.2)
- React-RCTVibration (0.63.1): - React-RCTVibration (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- React-Core/RCTVibrationHeaders (= 0.63.1) - React-Core/RCTVibrationHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- ReactCommon/turbomodule/core (0.63.1): - ReactCommon/turbomodule/core (0.63.2):
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-callinvoker (= 0.63.1) - React-callinvoker (= 0.63.2)
- React-Core (= 0.63.1) - React-Core (= 0.63.2)
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactNativeART (1.2.0): - ReactNativeART (1.2.0):
- React - React
- ReactNativeKeyboardInput (6.0.0): - ReactNativeKeyboardInput (6.0.0):
@ -473,7 +473,7 @@ PODS:
- React - React
- RNDeviceInfo (5.6.2): - RNDeviceInfo (5.6.2):
- React - React
- RNFastImage (8.1.5): - RNFastImage (8.2.0):
- React - React
- SDWebImage (~> 5.0) - SDWebImage (~> 5.0)
- SDWebImageWebPCoder (~> 0.4.1) - SDWebImageWebPCoder (~> 0.4.1)
@ -882,8 +882,8 @@ SPEC CHECKSUMS:
EXPermissions: 80ac3acbdb145930079810fe5b08c022b3428aa8 EXPermissions: 80ac3acbdb145930079810fe5b08c022b3428aa8
EXVideoThumbnails: f70bdc5511749f3181028f5000bcb7be203c631d EXVideoThumbnails: f70bdc5511749f3181028f5000bcb7be203c631d
EXWebBrowser: d37a5ffdea1b65947352bc001dd9f732463725d4 EXWebBrowser: d37a5ffdea1b65947352bc001dd9f732463725d4
FBLazyVector: a50434c875bd42f2b1c99c712bda892a1dc659c7 FBLazyVector: 3ef4a7f62e7db01092f9d517d2ebc0d0677c4a37
FBReactNativeSpec: 393853a536428e05a9da00b6290042f09809b15b FBReactNativeSpec: dc7fa9088f0f2a998503a352b0554d69a4391c5a
Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892 Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892
FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4 FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4
FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085 FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085
@ -911,16 +911,16 @@ SPEC CHECKSUMS:
nanopb: c43f40fadfe79e8b8db116583945847910cbabc9 nanopb: c43f40fadfe79e8b8db116583945847910cbabc9
OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355 OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75 PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75
RCTRequired: d9b1a9e6fa097744ca3ede59f86a35096df7202b RCTRequired: f13f25e7b12f925f1f6a6a8c69d929a03c0129fe
RCTTypeSafety: c227cd061983e9e964115afbc4e8730d6a6f1395 RCTTypeSafety: 44982c5c8e43ff4141eb519a8ddc88059acd1f3a
React: 86e972a20967ee4137aa19dc48319405927c2e94 React: e1c65dd41cb9db13b99f24608e47dd595f28ca9a
React-callinvoker: 87ee376c25277d74e164ff036b27084e343f3e69 React-callinvoker: 552a6a6bc8b3bb794cf108ad59e5a9e2e3b4fc98
React-Core: f5ec03baf7ed58d9f3ee04a8f84e4c97ee8bf4c9 React-Core: 9d341e725dc9cd2f49e4c49ad1fc4e8776aa2639
React-CoreModules: 958898aa8c069280e866e35a2f29480a81fcf335 React-CoreModules: 5335e168165da7f7083ce7147768d36d3e292318
React-cxxreact: 90de76b9b51575668ad7fd4e33a5a8c143beecc2 React-cxxreact: d3261ec5f7d11743fbf21e263a34ea51d1f13ebc
React-jsi: b32a31da32e030f30bbf9a8d3a9c8325df9e793f React-jsi: 54245e1d5f4b690dec614a73a3795964eeef13a8
React-jsiexecutor: 7ab9cdcdd18d57652fb041f8a147fe9658d4e00a React-jsiexecutor: 8ca588cc921e70590820ce72b8789b02c67cce38
React-jsinspector: 2e28bb487e42dda6c94dbfa0c648d1343767a0fb React-jsinspector: b14e62ebe7a66e9231e9581279909f2fc3db6606
react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa
react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4 react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4
react-native-cameraroll: ae0a7c0cc8462508855707ff623b1e789b692865 react-native-cameraroll: ae0a7c0cc8462508855707ff623b1e789b692865
@ -934,16 +934,16 @@ SPEC CHECKSUMS:
react-native-simple-crypto: 564740fd8124827d82e9e8ded4a0de8c695c8a4d react-native-simple-crypto: 564740fd8124827d82e9e8ded4a0de8c695c8a4d
react-native-slider: 0221b417686c5957f6e77cd9ac22c1478a165355 react-native-slider: 0221b417686c5957f6e77cd9ac22c1478a165355
react-native-webview: 679b6f400176e2ea8a785acf7ae16cf282e7d1eb react-native-webview: 679b6f400176e2ea8a785acf7ae16cf282e7d1eb
React-RCTActionSheet: 1702a1a85e550b5c36e2e03cb2bd3adea053de95 React-RCTActionSheet: 910163b6b09685a35c4ebbc52b66d1bfbbe39fc5
React-RCTAnimation: ddda576010a878865a4eab83a78acd92176ef6a1 React-RCTAnimation: 9a883bbe1e9d2e158d4fb53765ed64c8dc2200c6
React-RCTBlob: 34334384284c81577409d5205bd2b9ff594d8ab6 React-RCTBlob: 39cf0ece1927996c4466510e25d2105f67010e13
React-RCTImage: e2a661266dca295cffb33909cc64675a2efedb26 React-RCTImage: de355d738727b09ad3692f2a979affbd54b5f378
React-RCTLinking: cd39b9b5e9cbb9e827854e30dfa92d7db074cea8 React-RCTLinking: 8122f221d395a63364b2c0078ce284214bd04575
React-RCTNetwork: 16939b7e4058d6f662b304a1f61689e249a2bfcc React-RCTNetwork: 8f96c7b49ea6a0f28f98258f347b6ad218bc0830
React-RCTSettings: 24726a62de0c326f9ebfc3838898a501b87ce711 React-RCTSettings: 8a49622aff9c1925f5455fa340b6fe4853d64ab6
React-RCTText: 4f95d322b7e6da72817284abf8a2cdcec18b9cd8 React-RCTText: 1b6773e776e4b33f90468c20fe3b16ca3e224bb8
React-RCTVibration: f3a9123c244f35c40d3c9f3ec3f0b9e5717bb292 React-RCTVibration: 4d2e726957f4087449739b595f107c0d4b6c2d2d
ReactCommon: 2905859f84a94a381bb0d8dd3921ccb1a0047cb8 ReactCommon: a0a1edbebcac5e91338371b72ffc66aa822792ce
ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab
ReactNativeKeyboardInput: c37e26821519869993b3b61844350feb9177ff37 ReactNativeKeyboardInput: c37e26821519869993b3b61844350feb9177ff37
ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306 ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306
@ -955,7 +955,7 @@ SPEC CHECKSUMS:
RNConfigReader: 396da6a6444182a76e8ae0930b9436c7575045cb RNConfigReader: 396da6a6444182a76e8ae0930b9436c7575045cb
RNDateTimePicker: e386ff4ef3300964ed0cad97ce6f206e0effbfdb RNDateTimePicker: e386ff4ef3300964ed0cad97ce6f206e0effbfdb
RNDeviceInfo: ed8557a8bd6443cbc0ab5d375e6808a38a279744 RNDeviceInfo: ed8557a8bd6443cbc0ab5d375e6808a38a279744
RNFastImage: 35ae972d6727c84ee3f5c6897e07f84d0a3445e9 RNFastImage: f40d202ea2367239f71bc7cf11315f4bebab85b4
RNFBAnalytics: dae6d7b280ba61c96e1bbdd34aca3154388f025e RNFBAnalytics: dae6d7b280ba61c96e1bbdd34aca3154388f025e
RNFBApp: 6fd8a7e757135d4168bf033a8812c241af7363a0 RNFBApp: 6fd8a7e757135d4168bf033a8812c241af7363a0
RNFBCrashlytics: 88de72c2476b5868a892d9523b89b86c527c540e RNFBCrashlytics: 88de72c2476b5868a892d9523b89b86c527c540e
@ -982,7 +982,7 @@ SPEC CHECKSUMS:
UMReactNativeAdapter: 538efe92e781b5d7678cf95b34c46f2d0989a557 UMReactNativeAdapter: 538efe92e781b5d7678cf95b34c46f2d0989a557
UMSensorsInterface: cb5bf31d52c4349f0ff9e3c049bbe4df0d80d383 UMSensorsInterface: cb5bf31d52c4349f0ff9e3c049bbe4df0d80d383
UMTaskManagerInterface: 80653f25c55d9e6d79d6a0a65589fa213feaee11 UMTaskManagerInterface: 80653f25c55d9e6d79d6a0a65589fa213feaee11
Yoga: d5bd05a2b6b94c52323745c2c2b64557c8c66f64 Yoga: 7740b94929bbacbddda59bf115b5317e9a161598
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: c38f9a91b5c154453863a4ee1ccc203da58ad2f2 PODFILE CHECKSUM: c38f9a91b5c154453863a4ee1ccc203da58ad2f2

View File

@ -1,6 +1,6 @@
{ {
"name": "FBLazyVector", "name": "FBLazyVector",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -11,7 +11,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "**/*.{c,h,m,mm,cpp}", "source_files": "**/*.{c,h,m,mm,cpp}",
"header_dir": "FBLazyVector" "header_dir": "FBLazyVector"

View File

@ -1,6 +1,6 @@
{ {
"name": "FBReactNativeSpec", "name": "FBReactNativeSpec",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -12,7 +12,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "**/*.{c,h,m,mm,cpp}", "source_files": "**/*.{c,h,m,mm,cpp}",
"header_dir": "FBReactNativeSpec", "header_dir": "FBReactNativeSpec",
@ -26,19 +26,19 @@
"2020.01.13.00" "2020.01.13.00"
], ],
"RCTRequired": [ "RCTRequired": [
"0.63.1" "0.63.2"
], ],
"RCTTypeSafety": [ "RCTTypeSafety": [
"0.63.1" "0.63.2"
], ],
"React-Core": [ "React-Core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "RCTRequired", "name": "RCTRequired",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -11,7 +11,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "**/*.{c,h,m,mm,cpp}", "source_files": "**/*.{c,h,m,mm,cpp}",
"header_dir": "RCTRequired" "header_dir": "RCTRequired"

View File

@ -1,6 +1,6 @@
{ {
"name": "RCTTypeSafety", "name": "RCTTypeSafety",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -12,7 +12,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "**/*.{c,h,m,mm,cpp}", "source_files": "**/*.{c,h,m,mm,cpp}",
"header_dir": "RCTTypeSafety", "header_dir": "RCTTypeSafety",
@ -23,16 +23,16 @@
}, },
"dependencies": { "dependencies": {
"FBLazyVector": [ "FBLazyVector": [
"0.63.1" "0.63.2"
], ],
"Folly": [ "Folly": [
"2020.01.13.00" "2020.01.13.00"
], ],
"RCTRequired": [ "RCTRequired": [
"0.63.1" "0.63.2"
], ],
"React-Core": [ "React-Core": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "RNFastImage", "name": "RNFastImage",
"version": "8.1.5", "version": "8.2.0",
"summary": "🚩 FastImage, performant React Native image component.", "summary": "🚩 FastImage, performant React Native image component.",
"authors": { "authors": {
"Dylan Vann": "dylan@dylanvann.com" "Dylan Vann": "dylan@dylanvann.com"
@ -15,7 +15,7 @@
"requires_arc": true, "requires_arc": true,
"source": { "source": {
"git": "https://github.com/DylanVann/react-native-fast-image.git", "git": "https://github.com/DylanVann/react-native-fast-image.git",
"tag": "v8.1.5" "tag": "v8.2.0"
}, },
"source_files": "ios/**/*.{h,m}", "source_files": "ios/**/*.{h,m}",
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "React-Core", "name": "React-Core",
"version": "0.63.1", "version": "0.63.2",
"summary": "The core of React Native.", "summary": "The core of React Native.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -11,7 +11,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"resource_bundles": { "resource_bundles": {
"AccessibilityResources": [ "AccessibilityResources": [
@ -34,13 +34,13 @@
"2020.01.13.00" "2020.01.13.00"
], ],
"React-cxxreact": [ "React-cxxreact": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"React-jsiexecutor": [ "React-jsiexecutor": [
"0.63.1" "0.63.2"
], ],
"Yoga": [ "Yoga": [
@ -83,13 +83,13 @@
], ],
"dependencies": { "dependencies": {
"React-Core/Default": [ "React-Core/Default": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTWebSocket": [ "React-Core/RCTWebSocket": [
"0.63.1" "0.63.2"
], ],
"React-jsinspector": [ "React-jsinspector": [
"0.63.1" "0.63.2"
] ]
} }
}, },
@ -98,7 +98,7 @@
"source_files": "Libraries/WebSocket/*.{h,m}", "source_files": "Libraries/WebSocket/*.{h,m}",
"dependencies": { "dependencies": {
"React-Core/Default": [ "React-Core/Default": [
"0.63.1" "0.63.2"
] ]
} }
}, },

View File

@ -1,6 +1,6 @@
{ {
"name": "React-CoreModules", "name": "React-CoreModules",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -12,7 +12,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "**/*.{c,m,mm,cpp}", "source_files": "**/*.{c,m,mm,cpp}",
"header_dir": "CoreModules", "header_dir": "CoreModules",
@ -23,25 +23,25 @@
}, },
"dependencies": { "dependencies": {
"FBReactNativeSpec": [ "FBReactNativeSpec": [
"0.63.1" "0.63.2"
], ],
"Folly": [ "Folly": [
"2020.01.13.00" "2020.01.13.00"
], ],
"RCTTypeSafety": [ "RCTTypeSafety": [
"0.63.1" "0.63.2"
], ],
"React-Core/CoreModulesHeaders": [ "React-Core/CoreModulesHeaders": [
"0.63.1" "0.63.2"
], ],
"React-RCTImage": [ "React-RCTImage": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTActionSheet", "name": "React-RCTActionSheet",
"version": "0.63.1", "version": "0.63.2",
"summary": "An API for displaying iOS action sheets and share sheets.", "summary": "An API for displaying iOS action sheets and share sheets.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"documentation_url": "https://reactnative.dev/docs/actionsheetios", "documentation_url": "https://reactnative.dev/docs/actionsheetios",
@ -12,7 +12,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{m}", "source_files": "*.{m}",
"preserve_paths": [ "preserve_paths": [
@ -23,7 +23,7 @@
"header_dir": "RCTActionSheet", "header_dir": "RCTActionSheet",
"dependencies": { "dependencies": {
"React-Core/RCTActionSheetHeaders": [ "React-Core/RCTActionSheetHeaders": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTAnimation", "name": "React-RCTAnimation",
"version": "0.63.1", "version": "0.63.2",
"summary": "A native driver for the Animated API.", "summary": "A native driver for the Animated API.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -12,7 +12,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "{Drivers/*,Nodes/*,*}.{m,mm}", "source_files": "{Drivers/*,Nodes/*,*}.{m,mm}",
"preserve_paths": [ "preserve_paths": [
@ -31,19 +31,19 @@
"2020.01.13.00" "2020.01.13.00"
], ],
"RCTTypeSafety": [ "RCTTypeSafety": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"FBReactNativeSpec": [ "FBReactNativeSpec": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTAnimationHeaders": [ "React-Core/RCTAnimationHeaders": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTBlob", "name": "React-RCTBlob",
"version": "0.63.1", "version": "0.63.2",
"summary": "An API for displaying iOS action sheets and share sheets.", "summary": "An API for displaying iOS action sheets and share sheets.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -12,7 +12,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{m,mm}", "source_files": "*.{m,mm}",
"preserve_paths": [ "preserve_paths": [
@ -31,22 +31,22 @@
"2020.01.13.00" "2020.01.13.00"
], ],
"FBReactNativeSpec": [ "FBReactNativeSpec": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTBlobHeaders": [ "React-Core/RCTBlobHeaders": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTWebSocket": [ "React-Core/RCTWebSocket": [
"0.63.1" "0.63.2"
], ],
"React-RCTNetwork": [ "React-RCTNetwork": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTImage", "name": "React-RCTImage",
"version": "0.63.1", "version": "0.63.2",
"summary": "A React component for displaying different types of images.", "summary": "A React component for displaying different types of images.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"documentation_url": "https://reactnative.dev/docs/image", "documentation_url": "https://reactnative.dev/docs/image",
@ -13,7 +13,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{m,mm}", "source_files": "*.{m,mm}",
"preserve_paths": [ "preserve_paths": [
@ -32,22 +32,22 @@
"2020.01.13.00" "2020.01.13.00"
], ],
"FBReactNativeSpec": [ "FBReactNativeSpec": [
"0.63.1" "0.63.2"
], ],
"RCTTypeSafety": [ "RCTTypeSafety": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTImageHeaders": [ "React-Core/RCTImageHeaders": [
"0.63.1" "0.63.2"
], ],
"React-RCTNetwork": [ "React-RCTNetwork": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTLinking", "name": "React-RCTLinking",
"version": "0.63.1", "version": "0.63.2",
"summary": "A general interface to interact with both incoming and outgoing app links.", "summary": "A general interface to interact with both incoming and outgoing app links.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"documentation_url": "https://reactnative.dev/docs/linking", "documentation_url": "https://reactnative.dev/docs/linking",
@ -13,7 +13,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{m,mm}", "source_files": "*.{m,mm}",
"preserve_paths": [ "preserve_paths": [
@ -29,16 +29,16 @@
}, },
"dependencies": { "dependencies": {
"FBReactNativeSpec": [ "FBReactNativeSpec": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTLinkingHeaders": [ "React-Core/RCTLinkingHeaders": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTNetwork", "name": "React-RCTNetwork",
"version": "0.63.1", "version": "0.63.2",
"summary": "The networking library of React Native.", "summary": "The networking library of React Native.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -12,7 +12,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{m,mm}", "source_files": "*.{m,mm}",
"preserve_paths": [ "preserve_paths": [
@ -32,19 +32,19 @@
"2020.01.13.00" "2020.01.13.00"
], ],
"FBReactNativeSpec": [ "FBReactNativeSpec": [
"0.63.1" "0.63.2"
], ],
"RCTTypeSafety": [ "RCTTypeSafety": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTNetworkHeaders": [ "React-Core/RCTNetworkHeaders": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTSettings", "name": "React-RCTSettings",
"version": "0.63.1", "version": "0.63.2",
"summary": "A wrapper for NSUserDefaults, a persistent key-value store available only on iOS.", "summary": "A wrapper for NSUserDefaults, a persistent key-value store available only on iOS.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"documentation_url": "https://reactnative.dev/docs/settings", "documentation_url": "https://reactnative.dev/docs/settings",
@ -13,7 +13,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{m,mm}", "source_files": "*.{m,mm}",
"preserve_paths": [ "preserve_paths": [
@ -32,19 +32,19 @@
"2020.01.13.00" "2020.01.13.00"
], ],
"FBReactNativeSpec": [ "FBReactNativeSpec": [
"0.63.1" "0.63.2"
], ],
"RCTTypeSafety": [ "RCTTypeSafety": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTSettingsHeaders": [ "React-Core/RCTSettingsHeaders": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTText", "name": "React-RCTText",
"version": "0.63.1", "version": "0.63.2",
"summary": "A React component for displaying text.", "summary": "A React component for displaying text.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"documentation_url": "https://reactnative.dev/docs/text", "documentation_url": "https://reactnative.dev/docs/text",
@ -12,7 +12,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "**/*.{h,m}", "source_files": "**/*.{h,m}",
"preserve_paths": [ "preserve_paths": [
@ -23,7 +23,7 @@
"header_dir": "RCTText", "header_dir": "RCTText",
"dependencies": { "dependencies": {
"React-Core/RCTTextHeaders": [ "React-Core/RCTTextHeaders": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-RCTVibration", "name": "React-RCTVibration",
"version": "0.63.1", "version": "0.63.2",
"summary": "An API for controlling the vibration hardware of the device.", "summary": "An API for controlling the vibration hardware of the device.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"documentation_url": "https://reactnative.dev/docs/vibration", "documentation_url": "https://reactnative.dev/docs/vibration",
@ -13,7 +13,7 @@
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{m,mm}", "source_files": "*.{m,mm}",
"preserve_paths": [ "preserve_paths": [
@ -33,16 +33,16 @@
"2020.01.13.00" "2020.01.13.00"
], ],
"FBReactNativeSpec": [ "FBReactNativeSpec": [
"0.63.1" "0.63.2"
], ],
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTVibrationHeaders": [ "React-Core/RCTVibrationHeaders": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-callinvoker", "name": "React-callinvoker",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -11,7 +11,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "**/*.{cpp,h}", "source_files": "**/*.{cpp,h}",
"header_dir": "ReactCommon" "header_dir": "ReactCommon"

View File

@ -1,6 +1,6 @@
{ {
"name": "React-cxxreact", "name": "React-cxxreact",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -11,7 +11,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{cpp,h}", "source_files": "*.{cpp,h}",
"exclude_files": "SampleCxxModule.*", "exclude_files": "SampleCxxModule.*",
@ -34,10 +34,10 @@
], ],
"React-jsinspector": [ "React-jsinspector": [
"0.63.1" "0.63.2"
], ],
"React-callinvoker": [ "React-callinvoker": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "React-jsi", "name": "React-jsi",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -11,7 +11,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "**/*.{cpp,h}", "source_files": "**/*.{cpp,h}",
"exclude_files": "**/test/*", "exclude_files": "**/test/*",

View File

@ -1,6 +1,6 @@
{ {
"name": "React-jsiexecutor", "name": "React-jsiexecutor",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -11,7 +11,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "jsireact/*.{cpp,h}", "source_files": "jsireact/*.{cpp,h}",
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation",
@ -21,10 +21,10 @@
"header_dir": "jsireact", "header_dir": "jsireact",
"dependencies": { "dependencies": {
"React-cxxreact": [ "React-cxxreact": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"Folly": [ "Folly": [
"2020.01.13.00" "2020.01.13.00"

View File

@ -1,6 +1,6 @@
{ {
"name": "React-jsinspector", "name": "React-jsinspector",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -11,7 +11,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"source_files": "*.{cpp,h}", "source_files": "*.{cpp,h}",
"header_dir": "jsinspector" "header_dir": "jsinspector"

View File

@ -1,6 +1,6 @@
{ {
"name": "React", "name": "React",
"version": "0.63.1", "version": "0.63.2",
"summary": "A framework for building native apps using React", "summary": "A framework for building native apps using React",
"description": "React Native apps are built using the React JS\nframework, and render directly to native UIKit\nelements using a fully asynchronous architecture.\nThere is no browser and no HTML. We have picked what\nwe think is the best set of features from these and\nother technologies to build what we hope to become\nthe best product development framework available,\nwith an emphasis on iteration speed, developer\ndelight, continuity of technology, and absolutely\nbeautiful and fast products with no compromises in\nquality or capability.", "description": "React Native apps are built using the React JS\nframework, and render directly to native UIKit\nelements using a fully asynchronous architecture.\nThere is no browser and no HTML. We have picked what\nwe think is the best set of features from these and\nother technologies to build what we hope to become\nthe best product development framework available,\nwith an emphasis on iteration speed, developer\ndelight, continuity of technology, and absolutely\nbeautiful and fast products with no compromises in\nquality or capability.",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
@ -12,7 +12,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"preserve_paths": [ "preserve_paths": [
"package.json", "package.json",
@ -22,40 +22,40 @@
"cocoapods_version": ">= 1.2.0", "cocoapods_version": ">= 1.2.0",
"dependencies": { "dependencies": {
"React-Core": [ "React-Core": [
"0.63.1" "0.63.2"
], ],
"React-Core/DevSupport": [ "React-Core/DevSupport": [
"0.63.1" "0.63.2"
], ],
"React-Core/RCTWebSocket": [ "React-Core/RCTWebSocket": [
"0.63.1" "0.63.2"
], ],
"React-RCTActionSheet": [ "React-RCTActionSheet": [
"0.63.1" "0.63.2"
], ],
"React-RCTAnimation": [ "React-RCTAnimation": [
"0.63.1" "0.63.2"
], ],
"React-RCTBlob": [ "React-RCTBlob": [
"0.63.1" "0.63.2"
], ],
"React-RCTImage": [ "React-RCTImage": [
"0.63.1" "0.63.2"
], ],
"React-RCTLinking": [ "React-RCTLinking": [
"0.63.1" "0.63.2"
], ],
"React-RCTNetwork": [ "React-RCTNetwork": [
"0.63.1" "0.63.2"
], ],
"React-RCTSettings": [ "React-RCTSettings": [
"0.63.1" "0.63.2"
], ],
"React-RCTText": [ "React-RCTText": [
"0.63.1" "0.63.2"
], ],
"React-RCTVibration": [ "React-RCTVibration": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -1,7 +1,7 @@
{ {
"name": "ReactCommon", "name": "ReactCommon",
"module_name": "ReactCommon", "module_name": "ReactCommon",
"version": "0.63.1", "version": "0.63.2",
"summary": "-", "summary": "-",
"homepage": "https://reactnative.dev/", "homepage": "https://reactnative.dev/",
"license": "MIT", "license": "MIT",
@ -12,7 +12,7 @@
}, },
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"header_dir": "ReactCommon", "header_dir": "ReactCommon",
"compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation", "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation",
@ -26,16 +26,16 @@
"name": "turbomodule", "name": "turbomodule",
"dependencies": { "dependencies": {
"React-callinvoker": [ "React-callinvoker": [
"0.63.1" "0.63.2"
], ],
"React-Core": [ "React-Core": [
"0.63.1" "0.63.2"
], ],
"React-cxxreact": [ "React-cxxreact": [
"0.63.1" "0.63.2"
], ],
"React-jsi": [ "React-jsi": [
"0.63.1" "0.63.2"
], ],
"Folly": [ "Folly": [
"2020.01.13.00" "2020.01.13.00"
@ -63,7 +63,7 @@
], ],
"dependencies": { "dependencies": {
"ReactCommon/turbomodule/core": [ "ReactCommon/turbomodule/core": [
"0.63.1" "0.63.2"
] ]
} }
} }

View File

@ -11,7 +11,7 @@
"authors": "Facebook", "authors": "Facebook",
"source": { "source": {
"git": "https://github.com/facebook/react-native.git", "git": "https://github.com/facebook/react-native.git",
"tag": "v0.63.1" "tag": "v0.63.2"
}, },
"module_name": "yoga", "module_name": "yoga",
"header_dir": "yoga", "header_dir": "yoga",

360
ios/Pods/Manifest.lock generated
View File

@ -39,14 +39,14 @@ PODS:
- UMFileSystemInterface - UMFileSystemInterface
- EXWebBrowser (8.3.1): - EXWebBrowser (8.3.1):
- UMCore - UMCore
- FBLazyVector (0.63.1) - FBLazyVector (0.63.2)
- FBReactNativeSpec (0.63.1): - FBReactNativeSpec (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTRequired (= 0.63.1) - RCTRequired (= 0.63.2)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core (= 0.63.1) - React-Core (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- Firebase/Analytics (6.27.1): - Firebase/Analytics (6.27.1):
- Firebase/Core - Firebase/Core
- Firebase/Core (6.27.1): - Firebase/Core (6.27.1):
@ -196,172 +196,172 @@ PODS:
- OpenSSL-Universal/Static (= 1.0.2.19) - OpenSSL-Universal/Static (= 1.0.2.19)
- OpenSSL-Universal/Static (1.0.2.19) - OpenSSL-Universal/Static (1.0.2.19)
- PromisesObjC (1.2.9) - PromisesObjC (1.2.9)
- RCTRequired (0.63.1) - RCTRequired (0.63.2)
- RCTTypeSafety (0.63.1): - RCTTypeSafety (0.63.2):
- FBLazyVector (= 0.63.1) - FBLazyVector (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTRequired (= 0.63.1) - RCTRequired (= 0.63.2)
- React-Core (= 0.63.1) - React-Core (= 0.63.2)
- React (0.63.1): - React (0.63.2):
- React-Core (= 0.63.1) - React-Core (= 0.63.2)
- React-Core/DevSupport (= 0.63.1) - React-Core/DevSupport (= 0.63.2)
- React-Core/RCTWebSocket (= 0.63.1) - React-Core/RCTWebSocket (= 0.63.2)
- React-RCTActionSheet (= 0.63.1) - React-RCTActionSheet (= 0.63.2)
- React-RCTAnimation (= 0.63.1) - React-RCTAnimation (= 0.63.2)
- React-RCTBlob (= 0.63.1) - React-RCTBlob (= 0.63.2)
- React-RCTImage (= 0.63.1) - React-RCTImage (= 0.63.2)
- React-RCTLinking (= 0.63.1) - React-RCTLinking (= 0.63.2)
- React-RCTNetwork (= 0.63.1) - React-RCTNetwork (= 0.63.2)
- React-RCTSettings (= 0.63.1) - React-RCTSettings (= 0.63.2)
- React-RCTText (= 0.63.1) - React-RCTText (= 0.63.2)
- React-RCTVibration (= 0.63.1) - React-RCTVibration (= 0.63.2)
- React-callinvoker (0.63.1) - React-callinvoker (0.63.2)
- React-Core (0.63.1): - React-Core (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default (= 0.63.1) - React-Core/Default (= 0.63.2)
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/CoreModulesHeaders (0.63.1): - React-Core/CoreModulesHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/Default (0.63.1): - React-Core/Default (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/DevSupport (0.63.1): - React-Core/DevSupport (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default (= 0.63.1) - React-Core/Default (= 0.63.2)
- React-Core/RCTWebSocket (= 0.63.1) - React-Core/RCTWebSocket (= 0.63.2)
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- React-jsinspector (= 0.63.1) - React-jsinspector (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTActionSheetHeaders (0.63.1): - React-Core/RCTActionSheetHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTAnimationHeaders (0.63.1): - React-Core/RCTAnimationHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTBlobHeaders (0.63.1): - React-Core/RCTBlobHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTImageHeaders (0.63.1): - React-Core/RCTImageHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTLinkingHeaders (0.63.1): - React-Core/RCTLinkingHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTNetworkHeaders (0.63.1): - React-Core/RCTNetworkHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTSettingsHeaders (0.63.1): - React-Core/RCTSettingsHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTTextHeaders (0.63.1): - React-Core/RCTTextHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTVibrationHeaders (0.63.1): - React-Core/RCTVibrationHeaders (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-Core/RCTWebSocket (0.63.1): - React-Core/RCTWebSocket (0.63.2):
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default (= 0.63.1) - React-Core/Default (= 0.63.2)
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsiexecutor (= 0.63.1) - React-jsiexecutor (= 0.63.2)
- Yoga - Yoga
- React-CoreModules (0.63.1): - React-CoreModules (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/CoreModulesHeaders (= 0.63.1) - React-Core/CoreModulesHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-RCTImage (= 0.63.1) - React-RCTImage (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-cxxreact (0.63.1): - React-cxxreact (0.63.2):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-callinvoker (= 0.63.1) - React-callinvoker (= 0.63.2)
- React-jsinspector (= 0.63.1) - React-jsinspector (= 0.63.2)
- React-jsi (0.63.1): - React-jsi (0.63.2):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-jsi/Default (= 0.63.1) - React-jsi/Default (= 0.63.2)
- React-jsi/Default (0.63.1): - React-jsi/Default (0.63.2):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-jsiexecutor (0.63.1): - React-jsiexecutor (0.63.2):
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-jsinspector (0.63.1) - React-jsinspector (0.63.2)
- react-native-appearance (0.3.4): - react-native-appearance (0.3.4):
- React - React
- react-native-background-timer (2.2.0): - react-native-background-timer (2.2.0):
@ -391,66 +391,66 @@ PODS:
- React - React
- react-native-webview (10.3.2): - react-native-webview (10.3.2):
- React - React
- React-RCTActionSheet (0.63.1): - React-RCTActionSheet (0.63.2):
- React-Core/RCTActionSheetHeaders (= 0.63.1) - React-Core/RCTActionSheetHeaders (= 0.63.2)
- React-RCTAnimation (0.63.1): - React-RCTAnimation (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/RCTAnimationHeaders (= 0.63.1) - React-Core/RCTAnimationHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTBlob (0.63.1): - React-RCTBlob (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- React-Core/RCTBlobHeaders (= 0.63.1) - React-Core/RCTBlobHeaders (= 0.63.2)
- React-Core/RCTWebSocket (= 0.63.1) - React-Core/RCTWebSocket (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-RCTNetwork (= 0.63.1) - React-RCTNetwork (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTImage (0.63.1): - React-RCTImage (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/RCTImageHeaders (= 0.63.1) - React-Core/RCTImageHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- React-RCTNetwork (= 0.63.1) - React-RCTNetwork (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTLinking (0.63.1): - React-RCTLinking (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- React-Core/RCTLinkingHeaders (= 0.63.1) - React-Core/RCTLinkingHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTNetwork (0.63.1): - React-RCTNetwork (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/RCTNetworkHeaders (= 0.63.1) - React-Core/RCTNetworkHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTSettings (0.63.1): - React-RCTSettings (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- RCTTypeSafety (= 0.63.1) - RCTTypeSafety (= 0.63.2)
- React-Core/RCTSettingsHeaders (= 0.63.1) - React-Core/RCTSettingsHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- React-RCTText (0.63.1): - React-RCTText (0.63.2):
- React-Core/RCTTextHeaders (= 0.63.1) - React-Core/RCTTextHeaders (= 0.63.2)
- React-RCTVibration (0.63.1): - React-RCTVibration (0.63.2):
- FBReactNativeSpec (= 0.63.1) - FBReactNativeSpec (= 0.63.2)
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- React-Core/RCTVibrationHeaders (= 0.63.1) - React-Core/RCTVibrationHeaders (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactCommon/turbomodule/core (= 0.63.1) - ReactCommon/turbomodule/core (= 0.63.2)
- ReactCommon/turbomodule/core (0.63.1): - ReactCommon/turbomodule/core (0.63.2):
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2020.01.13.00)
- glog - glog
- React-callinvoker (= 0.63.1) - React-callinvoker (= 0.63.2)
- React-Core (= 0.63.1) - React-Core (= 0.63.2)
- React-cxxreact (= 0.63.1) - React-cxxreact (= 0.63.2)
- React-jsi (= 0.63.1) - React-jsi (= 0.63.2)
- ReactNativeART (1.2.0): - ReactNativeART (1.2.0):
- React - React
- ReactNativeKeyboardInput (6.0.0): - ReactNativeKeyboardInput (6.0.0):
@ -473,7 +473,7 @@ PODS:
- React - React
- RNDeviceInfo (5.6.2): - RNDeviceInfo (5.6.2):
- React - React
- RNFastImage (8.1.5): - RNFastImage (8.2.0):
- React - React
- SDWebImage (~> 5.0) - SDWebImage (~> 5.0)
- SDWebImageWebPCoder (~> 0.4.1) - SDWebImageWebPCoder (~> 0.4.1)
@ -882,8 +882,8 @@ SPEC CHECKSUMS:
EXPermissions: 80ac3acbdb145930079810fe5b08c022b3428aa8 EXPermissions: 80ac3acbdb145930079810fe5b08c022b3428aa8
EXVideoThumbnails: f70bdc5511749f3181028f5000bcb7be203c631d EXVideoThumbnails: f70bdc5511749f3181028f5000bcb7be203c631d
EXWebBrowser: d37a5ffdea1b65947352bc001dd9f732463725d4 EXWebBrowser: d37a5ffdea1b65947352bc001dd9f732463725d4
FBLazyVector: a50434c875bd42f2b1c99c712bda892a1dc659c7 FBLazyVector: 3ef4a7f62e7db01092f9d517d2ebc0d0677c4a37
FBReactNativeSpec: 393853a536428e05a9da00b6290042f09809b15b FBReactNativeSpec: dc7fa9088f0f2a998503a352b0554d69a4391c5a
Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892 Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892
FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4 FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4
FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085 FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085
@ -911,16 +911,16 @@ SPEC CHECKSUMS:
nanopb: c43f40fadfe79e8b8db116583945847910cbabc9 nanopb: c43f40fadfe79e8b8db116583945847910cbabc9
OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355 OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75 PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75
RCTRequired: d9b1a9e6fa097744ca3ede59f86a35096df7202b RCTRequired: f13f25e7b12f925f1f6a6a8c69d929a03c0129fe
RCTTypeSafety: c227cd061983e9e964115afbc4e8730d6a6f1395 RCTTypeSafety: 44982c5c8e43ff4141eb519a8ddc88059acd1f3a
React: 86e972a20967ee4137aa19dc48319405927c2e94 React: e1c65dd41cb9db13b99f24608e47dd595f28ca9a
React-callinvoker: 87ee376c25277d74e164ff036b27084e343f3e69 React-callinvoker: 552a6a6bc8b3bb794cf108ad59e5a9e2e3b4fc98
React-Core: f5ec03baf7ed58d9f3ee04a8f84e4c97ee8bf4c9 React-Core: 9d341e725dc9cd2f49e4c49ad1fc4e8776aa2639
React-CoreModules: 958898aa8c069280e866e35a2f29480a81fcf335 React-CoreModules: 5335e168165da7f7083ce7147768d36d3e292318
React-cxxreact: 90de76b9b51575668ad7fd4e33a5a8c143beecc2 React-cxxreact: d3261ec5f7d11743fbf21e263a34ea51d1f13ebc
React-jsi: b32a31da32e030f30bbf9a8d3a9c8325df9e793f React-jsi: 54245e1d5f4b690dec614a73a3795964eeef13a8
React-jsiexecutor: 7ab9cdcdd18d57652fb041f8a147fe9658d4e00a React-jsiexecutor: 8ca588cc921e70590820ce72b8789b02c67cce38
React-jsinspector: 2e28bb487e42dda6c94dbfa0c648d1343767a0fb React-jsinspector: b14e62ebe7a66e9231e9581279909f2fc3db6606
react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa
react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4 react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4
react-native-cameraroll: ae0a7c0cc8462508855707ff623b1e789b692865 react-native-cameraroll: ae0a7c0cc8462508855707ff623b1e789b692865
@ -934,16 +934,16 @@ SPEC CHECKSUMS:
react-native-simple-crypto: 564740fd8124827d82e9e8ded4a0de8c695c8a4d react-native-simple-crypto: 564740fd8124827d82e9e8ded4a0de8c695c8a4d
react-native-slider: 0221b417686c5957f6e77cd9ac22c1478a165355 react-native-slider: 0221b417686c5957f6e77cd9ac22c1478a165355
react-native-webview: 679b6f400176e2ea8a785acf7ae16cf282e7d1eb react-native-webview: 679b6f400176e2ea8a785acf7ae16cf282e7d1eb
React-RCTActionSheet: 1702a1a85e550b5c36e2e03cb2bd3adea053de95 React-RCTActionSheet: 910163b6b09685a35c4ebbc52b66d1bfbbe39fc5
React-RCTAnimation: ddda576010a878865a4eab83a78acd92176ef6a1 React-RCTAnimation: 9a883bbe1e9d2e158d4fb53765ed64c8dc2200c6
React-RCTBlob: 34334384284c81577409d5205bd2b9ff594d8ab6 React-RCTBlob: 39cf0ece1927996c4466510e25d2105f67010e13
React-RCTImage: e2a661266dca295cffb33909cc64675a2efedb26 React-RCTImage: de355d738727b09ad3692f2a979affbd54b5f378
React-RCTLinking: cd39b9b5e9cbb9e827854e30dfa92d7db074cea8 React-RCTLinking: 8122f221d395a63364b2c0078ce284214bd04575
React-RCTNetwork: 16939b7e4058d6f662b304a1f61689e249a2bfcc React-RCTNetwork: 8f96c7b49ea6a0f28f98258f347b6ad218bc0830
React-RCTSettings: 24726a62de0c326f9ebfc3838898a501b87ce711 React-RCTSettings: 8a49622aff9c1925f5455fa340b6fe4853d64ab6
React-RCTText: 4f95d322b7e6da72817284abf8a2cdcec18b9cd8 React-RCTText: 1b6773e776e4b33f90468c20fe3b16ca3e224bb8
React-RCTVibration: f3a9123c244f35c40d3c9f3ec3f0b9e5717bb292 React-RCTVibration: 4d2e726957f4087449739b595f107c0d4b6c2d2d
ReactCommon: 2905859f84a94a381bb0d8dd3921ccb1a0047cb8 ReactCommon: a0a1edbebcac5e91338371b72ffc66aa822792ce
ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab
ReactNativeKeyboardInput: c37e26821519869993b3b61844350feb9177ff37 ReactNativeKeyboardInput: c37e26821519869993b3b61844350feb9177ff37
ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306 ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306
@ -955,7 +955,7 @@ SPEC CHECKSUMS:
RNConfigReader: 396da6a6444182a76e8ae0930b9436c7575045cb RNConfigReader: 396da6a6444182a76e8ae0930b9436c7575045cb
RNDateTimePicker: e386ff4ef3300964ed0cad97ce6f206e0effbfdb RNDateTimePicker: e386ff4ef3300964ed0cad97ce6f206e0effbfdb
RNDeviceInfo: ed8557a8bd6443cbc0ab5d375e6808a38a279744 RNDeviceInfo: ed8557a8bd6443cbc0ab5d375e6808a38a279744
RNFastImage: 35ae972d6727c84ee3f5c6897e07f84d0a3445e9 RNFastImage: f40d202ea2367239f71bc7cf11315f4bebab85b4
RNFBAnalytics: dae6d7b280ba61c96e1bbdd34aca3154388f025e RNFBAnalytics: dae6d7b280ba61c96e1bbdd34aca3154388f025e
RNFBApp: 6fd8a7e757135d4168bf033a8812c241af7363a0 RNFBApp: 6fd8a7e757135d4168bf033a8812c241af7363a0
RNFBCrashlytics: 88de72c2476b5868a892d9523b89b86c527c540e RNFBCrashlytics: 88de72c2476b5868a892d9523b89b86c527c540e
@ -982,7 +982,7 @@ SPEC CHECKSUMS:
UMReactNativeAdapter: 538efe92e781b5d7678cf95b34c46f2d0989a557 UMReactNativeAdapter: 538efe92e781b5d7678cf95b34c46f2d0989a557
UMSensorsInterface: cb5bf31d52c4349f0ff9e3c049bbe4df0d80d383 UMSensorsInterface: cb5bf31d52c4349f0ff9e3c049bbe4df0d80d383
UMTaskManagerInterface: 80653f25c55d9e6d79d6a0a65589fa213feaee11 UMTaskManagerInterface: 80653f25c55d9e6d79d6a0a65589fa213feaee11
Yoga: d5bd05a2b6b94c52323745c2c2b64557c8c66f64 Yoga: 7740b94929bbacbddda59bf115b5317e9a161598
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: c38f9a91b5c154453863a4ee1ccc203da58ad2f2 PODFILE CHECKSUM: c38f9a91b5c154453863a4ee1ccc203da58ad2f2

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>BNDL</string> <string>BNDL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.63.1</string> <string>0.63.2</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>

Binary file not shown.

View File

@ -826,6 +826,9 @@ export default ({ theme }) => {
<Separator title='Changed type' theme={theme} /> <Separator title='Changed type' theme={theme} />
<Message msg='public' type='room_changed_privacy' isInfo /> <Message msg='public' type='room_changed_privacy' isInfo />
<Separator title='Ignored' theme={theme} />
<Message isIgnored />
<Separator title='Custom style' theme={theme} /> <Separator title='Custom style' theme={theme} />
<Message msg='Message' style={[styles.normalize, { backgroundColor: '#ddd' }]} /> <Message msg='Message' style={[styles.normalize, { backgroundColor: '#ddd' }]} />