Regression: Resend messages with error (#532)
This commit is contained in:
parent
c6fcfb63fd
commit
e9deb577e0
|
@ -1,3 +1,4 @@
|
||||||
export const RectButton = () => 'View';
|
export const RectButton = () => 'View';
|
||||||
export const State = () => 'View';
|
export const State = () => 'View';
|
||||||
export const LongPressGestureHandler = () => 'View';
|
export const LongPressGestureHandler = () => 'View';
|
||||||
|
export const BorderlessButton = () => 'View';
|
||||||
|
|
|
@ -228,7 +228,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<View>
|
<View>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -252,7 +260,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Simple
|
Simple
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -276,11 +292,51 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Long message
|
Long message
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
View
|
style={
|
||||||
View
|
Object {
|
||||||
View
|
"flexDirection": "row",
|
||||||
View
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -304,7 +360,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Grouped messages
|
Grouped messages
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -328,7 +392,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Without header
|
Without header
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -352,7 +424,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
With alias
|
With alias
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -376,7 +456,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Edited
|
Edited
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -400,7 +488,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Static avatar
|
Static avatar
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -424,7 +520,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Full name
|
Full name
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -448,7 +552,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Mentions
|
Mentions
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -472,7 +584,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Emojis
|
Emojis
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -496,7 +616,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Custom Emojis
|
Custom Emojis
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -520,7 +648,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Time format
|
Time format
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -544,7 +680,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Reactions
|
Reactions
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -568,10 +712,42 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Multiple reactions
|
Multiple reactions
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
View
|
style={
|
||||||
View
|
Object {
|
||||||
View
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -595,7 +771,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Intercalated users
|
Intercalated users
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<View
|
<View
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
|
@ -668,7 +852,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
unread messages
|
unread messages
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<View
|
<View
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
|
@ -739,8 +931,24 @@ exports[`Storyshots Message list 1`] = `
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
View
|
<View
|
||||||
View
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<View
|
<View
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
|
@ -802,7 +1010,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -826,8 +1042,24 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Date and Unread separators
|
Date and Unread separators
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
View
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -851,7 +1083,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
With image
|
With image
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -875,7 +1115,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
With video
|
With video
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -899,7 +1147,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
With audio
|
With audio
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -923,7 +1179,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
URL
|
URL
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -947,7 +1211,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Custom fields
|
Custom fields
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -971,7 +1243,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Two short custom fields
|
Two short custom fields
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -995,7 +1275,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Broadcast
|
Broadcast
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1019,8 +1307,26 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Archived
|
Archived
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
View
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
View
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1044,7 +1350,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Error
|
Error
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1068,7 +1382,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Temp
|
Temp
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1092,7 +1414,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Editing
|
Editing
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1116,7 +1446,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Removed
|
Removed
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1140,7 +1478,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Joined
|
Joined
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1164,7 +1510,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Room name changed
|
Room name changed
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1188,7 +1542,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Message pinned
|
Message pinned
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1212,7 +1574,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Has left the channel
|
Has left the channel
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1236,7 +1606,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
User removed
|
User removed
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1260,7 +1638,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
User added
|
User added
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1284,7 +1670,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
User muted
|
User muted
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1308,7 +1702,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
User unmuted
|
User unmuted
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1332,7 +1734,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Role added
|
Role added
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1356,7 +1766,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Role removed
|
Role removed
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1380,7 +1798,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Changed description
|
Changed description
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1404,7 +1830,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Changed announcement
|
Changed announcement
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1428,7 +1862,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Changed topic
|
Changed topic
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1452,7 +1894,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Changed type
|
Changed type
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1476,7 +1926,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Custom style
|
Custom style
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1500,7 +1958,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Markdown emphasis
|
Markdown emphasis
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1524,7 +1990,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Markdown headers
|
Markdown headers
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1548,7 +2022,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Markdown links
|
Markdown links
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1572,7 +2054,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Markdown image
|
Markdown image
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1596,7 +2086,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Markdown code
|
Markdown code
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
@ -1620,7 +2118,15 @@ exports[`Storyshots Message list 1`] = `
|
||||||
>
|
>
|
||||||
Markdown quote
|
Markdown quote
|
||||||
</Text>
|
</Text>
|
||||||
View
|
<View
|
||||||
|
style={
|
||||||
|
Object {
|
||||||
|
"flexDirection": "row",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={
|
style={
|
||||||
Array [
|
Array [
|
||||||
|
|
|
@ -31,9 +31,11 @@ export default class MessageErrorActions extends React.Component {
|
||||||
this.CANCEL_INDEX = 0;
|
this.CANCEL_INDEX = 0;
|
||||||
this.DELETE_INDEX = 1;
|
this.DELETE_INDEX = 1;
|
||||||
this.RESEND_INDEX = 2;
|
this.RESEND_INDEX = 2;
|
||||||
if (this.actionSheet && this.actionSheet.show) {
|
setTimeout(() => {
|
||||||
this.actionSheet.show();
|
if (this.actionSheet && this.actionSheet.show) {
|
||||||
}
|
this.actionSheet.show();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
handleResend = protectedFunction(() => {
|
handleResend = protectedFunction(() => {
|
||||||
|
|
|
@ -6,7 +6,9 @@ import {
|
||||||
import Icon from 'react-native-vector-icons/MaterialIcons';
|
import Icon from 'react-native-vector-icons/MaterialIcons';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import { KeyboardUtils } from 'react-native-keyboard-input';
|
import { KeyboardUtils } from 'react-native-keyboard-input';
|
||||||
import { State, RectButton, LongPressGestureHandler } from 'react-native-gesture-handler';
|
import {
|
||||||
|
State, RectButton, LongPressGestureHandler, BorderlessButton
|
||||||
|
} from 'react-native-gesture-handler';
|
||||||
|
|
||||||
import Image from './Image';
|
import Image from './Image';
|
||||||
import User from './User';
|
import User from './User';
|
||||||
|
@ -252,7 +254,11 @@ export default class Message extends PureComponent {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const { onErrorPress } = this.props;
|
const { onErrorPress } = this.props;
|
||||||
return <Icon name='error-outline' color='red' size={20} style={styles.errorIcon} onPress={onErrorPress} />;
|
return (
|
||||||
|
<BorderlessButton onPress={onErrorPress} style={styles.errorButton}>
|
||||||
|
<Icon name='error-outline' color='red' size={20} />
|
||||||
|
</BorderlessButton>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
renderReaction = (reaction) => {
|
renderReaction = (reaction) => {
|
||||||
|
@ -337,48 +343,58 @@ export default class Message extends PureComponent {
|
||||||
const accessibilityLabel = I18n.t('Message_accessibility', { user: author.username, time: moment(ts).format(timeFormat), message: msg });
|
const accessibilityLabel = I18n.t('Message_accessibility', { user: author.username, time: moment(ts).format(timeFormat), message: msg });
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<LongPressGestureHandler
|
<View style={styles.root}>
|
||||||
onHandlerStateChange={({ nativeEvent }) => nativeEvent.state === State.ACTIVE && onLongPress()}
|
{this.renderError()}
|
||||||
>
|
<LongPressGestureHandler
|
||||||
<RectButton
|
onHandlerStateChange={({ nativeEvent }) => nativeEvent.state === State.ACTIVE && onLongPress()}
|
||||||
enabled={!(this.isInfoMessage() || this.hasError() || archived)}
|
|
||||||
style={[styles.container, header && { marginBottom: 10 }]}
|
|
||||||
onPress={this.onPress}
|
|
||||||
activeOpacity={0.8}
|
|
||||||
underlayColor='#e1e5e8'
|
|
||||||
>
|
>
|
||||||
<View
|
<RectButton
|
||||||
style={[styles.message, editing && styles.editing, style]}
|
enabled={!(this.isInfoMessage() || this.hasError() || archived)}
|
||||||
accessibilityLabel={accessibilityLabel}
|
style={[styles.container, header && styles.marginBottom]}
|
||||||
|
onPress={this.onPress}
|
||||||
|
activeOpacity={0.8}
|
||||||
|
underlayColor='#e1e5e8'
|
||||||
>
|
>
|
||||||
<View style={styles.flex}>
|
<View
|
||||||
{this.renderError()}
|
style={[styles.message, editing && styles.editing, style]}
|
||||||
{this.renderAvatar()}
|
accessibilityLabel={accessibilityLabel}
|
||||||
<View style={[styles.messageContent, header && styles.hasHeader, this.isTemp() && styles.temp]}>
|
>
|
||||||
{this.renderUsername()}
|
<View style={styles.flex}>
|
||||||
{this.renderContent()}
|
{this.renderAvatar()}
|
||||||
{this.renderAttachment()}
|
<View
|
||||||
{this.renderUrl()}
|
style={[
|
||||||
{this.renderReactions()}
|
styles.messageContent,
|
||||||
{this.renderBroadcastReply()}
|
header && styles.messageContentWithHeader,
|
||||||
|
this.hasError() && header && styles.messageContentWithHeader,
|
||||||
|
this.hasError() && !header && styles.messageContentWithError,
|
||||||
|
this.isTemp() && styles.temp
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
{this.renderUsername()}
|
||||||
|
{this.renderContent()}
|
||||||
|
{this.renderAttachment()}
|
||||||
|
{this.renderUrl()}
|
||||||
|
{this.renderReactions()}
|
||||||
|
{this.renderBroadcastReply()}
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
{reactionsModal
|
||||||
|
? (
|
||||||
|
<ReactionsModal
|
||||||
|
isVisible={reactionsModal}
|
||||||
|
reactions={reactions}
|
||||||
|
user={user}
|
||||||
|
customEmojis={customEmojis}
|
||||||
|
baseUrl={baseUrl}
|
||||||
|
close={closeReactions}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
: null
|
||||||
|
}
|
||||||
</View>
|
</View>
|
||||||
{reactionsModal
|
</RectButton>
|
||||||
? (
|
</LongPressGestureHandler>
|
||||||
<ReactionsModal
|
</View>
|
||||||
isVisible={reactionsModal}
|
|
||||||
reactions={reactions}
|
|
||||||
user={user}
|
|
||||||
customEmojis={customEmojis}
|
|
||||||
baseUrl={baseUrl}
|
|
||||||
close={closeReactions}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
: null
|
|
||||||
}
|
|
||||||
</View>
|
|
||||||
</RectButton>
|
|
||||||
</LongPressGestureHandler>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,24 @@
|
||||||
import { StyleSheet, Platform } from 'react-native';
|
import { StyleSheet, Platform } from 'react-native';
|
||||||
|
|
||||||
export default StyleSheet.create({
|
export default StyleSheet.create({
|
||||||
|
root: {
|
||||||
|
flexDirection: 'row'
|
||||||
|
},
|
||||||
container: {
|
container: {
|
||||||
paddingVertical: 5
|
paddingVertical: 5,
|
||||||
|
flexDirection: 'row',
|
||||||
|
width: '100%'
|
||||||
},
|
},
|
||||||
messageContent: {
|
messageContent: {
|
||||||
flex: 1,
|
flex: 1,
|
||||||
marginLeft: 51
|
marginLeft: 51
|
||||||
},
|
},
|
||||||
hasHeader: {
|
messageContentWithHeader: {
|
||||||
marginLeft: 15
|
marginLeft: 15
|
||||||
},
|
},
|
||||||
|
messageContentWithError: {
|
||||||
|
marginLeft: 0
|
||||||
|
},
|
||||||
flex: {
|
flex: {
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
flex: 1
|
flex: 1
|
||||||
|
@ -35,6 +43,9 @@ export default StyleSheet.create({
|
||||||
height: 20
|
height: 20
|
||||||
},
|
},
|
||||||
temp: { opacity: 0.3 },
|
temp: { opacity: 0.3 },
|
||||||
|
marginBottom: {
|
||||||
|
marginBottom: 10
|
||||||
|
},
|
||||||
codeStyle: {
|
codeStyle: {
|
||||||
...Platform.select({
|
...Platform.select({
|
||||||
ios: { fontFamily: 'Courier New' },
|
ios: { fontFamily: 'Courier New' },
|
||||||
|
@ -92,10 +103,9 @@ export default StyleSheet.create({
|
||||||
width: 17,
|
width: 17,
|
||||||
height: 17
|
height: 17
|
||||||
},
|
},
|
||||||
errorIcon: {
|
errorButton: {
|
||||||
paddingRight: 12,
|
paddingHorizontal: 15,
|
||||||
paddingLeft: 0,
|
paddingVertical: 5
|
||||||
alignSelf: 'center'
|
|
||||||
},
|
},
|
||||||
broadcastButton: {
|
broadcastButton: {
|
||||||
width: 107,
|
width: 107,
|
||||||
|
|
|
@ -48,7 +48,7 @@ export default async function canOpenRoom({ rid, path }) {
|
||||||
const [type, name] = path.split('/');
|
const [type, name] = path.split('/');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const data = await (SDK.driver.ddp ? canOpenRoomDDP.call(this, { rid, type, name }) : canOpenRoomREST.call(this, { type, rid }));
|
const data = await (this.connected() ? canOpenRoomDDP.call(this, { rid, type, name }) : canOpenRoomREST.call(this, { type, rid }));
|
||||||
return data;
|
return data;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log('canOpenRoom', e);
|
log('canOpenRoom', e);
|
||||||
|
|
|
@ -36,7 +36,7 @@ export default function() {
|
||||||
|
|
||||||
return new Promise(async(resolve, reject) => {
|
return new Promise(async(resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
const { subscriptions, rooms } = await (SDK.driver.ddp ? getRoomDpp.apply(this) : getRoomRest.apply(this));
|
const { subscriptions, rooms } = await (this.connected() ? getRoomDpp.apply(this) : getRoomRest.apply(this));
|
||||||
|
|
||||||
const data = rooms.map(room => ({ room, sub: database.objects('subscriptions').filtered('rid == $0', room._id) }));
|
const data = rooms.map(room => ({ room, sub: database.objects('subscriptions').filtered('rid == $0', room._id) }));
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ export default function loadMessagesForRoom(...args) {
|
||||||
const { database: db } = database;
|
const { database: db } = database;
|
||||||
return new Promise(async(resolve, reject) => {
|
return new Promise(async(resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
const data = (await (SDK.driver.ddp
|
const data = (await (this.connected()
|
||||||
? loadMessagesForRoomDDP.call(this, ...args)
|
? loadMessagesForRoomDDP.call(this, ...args)
|
||||||
: loadMessagesForRoomRest.call(this, ...args))).map(buildMessage);
|
: loadMessagesForRoomRest.call(this, ...args))).map(buildMessage);
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,8 @@ async function loadMissedMessagesRest({ rid: roomId, lastOpen }) {
|
||||||
let lastUpdate;
|
let lastUpdate;
|
||||||
if (lastOpen) {
|
if (lastOpen) {
|
||||||
lastUpdate = new Date(lastOpen).toISOString();
|
lastUpdate = new Date(lastOpen).toISOString();
|
||||||
|
} else {
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
const { result } = await SDK.api.get('chat.syncMessages', { roomId, lastUpdate, count: 50 });
|
const { result } = await SDK.api.get('chat.syncMessages', { roomId, lastUpdate, count: 50 });
|
||||||
return result;
|
return result;
|
||||||
|
@ -29,7 +31,7 @@ export default function loadMissedMessages(...args) {
|
||||||
const { database: db } = database;
|
const { database: db } = database;
|
||||||
return new Promise(async(resolve, reject) => {
|
return new Promise(async(resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
const data = (await (SDK.driver.ddp ? loadMissedMessagesDDP.call(this, ...args) : loadMissedMessagesRest.call(this, ...args)));
|
const data = (await (this.connected() ? loadMissedMessagesDDP.call(this, ...args) : loadMissedMessagesRest.call(this, ...args)));
|
||||||
|
|
||||||
if (data) {
|
if (data) {
|
||||||
if (data.updated && data.updated.length) {
|
if (data.updated && data.updated.length) {
|
||||||
|
|
|
@ -19,7 +19,7 @@ export default async function readMessages(rid) {
|
||||||
const ls = new Date();
|
const ls = new Date();
|
||||||
const { database: db } = database;
|
const { database: db } = database;
|
||||||
try {
|
try {
|
||||||
const data = await (SDK.driver.ddp ? readMessagesDDP.call(this, rid) : readMessagesREST.call(this, rid));
|
const data = await (this.connected() ? readMessagesDDP.call(this, rid) : readMessagesREST.call(this, rid));
|
||||||
const [subscription] = db.objects('subscriptions').filtered('rid = $0', rid);
|
const [subscription] = db.objects('subscriptions').filtered('rid = $0', rid);
|
||||||
db.write(() => {
|
db.write(() => {
|
||||||
subscription.open = true;
|
subscription.open = true;
|
||||||
|
|
|
@ -31,26 +31,22 @@ export const getMessage = (rid, msg = {}) => {
|
||||||
return message;
|
return message;
|
||||||
};
|
};
|
||||||
|
|
||||||
function sendMessageByRest(message) {
|
function sendMessageByRest(args) {
|
||||||
const { _id, rid, msg } = message;
|
return SDK.api.post('chat.sendMessage', { message: args });
|
||||||
return SDK.api.post('chat.sendMessage', { message: { _id, rid, msg } });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendMessageByDDP(message) {
|
function sendMessageByDDP(...args) {
|
||||||
const { _id, rid, msg } = message;
|
try {
|
||||||
return SDK.driver.asyncCall('sendMessage', { _id, rid, msg });
|
return SDK.driver.asyncCall('sendMessage', ...args);
|
||||||
|
} catch (error) {
|
||||||
|
return sendMessageByRest.call(this, ...args);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function _sendMessageCall(message) {
|
export async function _sendMessageCall(message) {
|
||||||
try {
|
const { _id, rid, msg } = message;
|
||||||
const data = await (SDK.driver.ddp ? sendMessageByDDP.call(this, message) : sendMessageByRest.call(this, message));
|
const data = await (this.connected() ? sendMessageByDDP.call(this, { _id, rid, msg }) : sendMessageByRest.call(this, { _id, rid, msg }));
|
||||||
return data;
|
return data;
|
||||||
} catch (e) {
|
|
||||||
database.write(() => {
|
|
||||||
message.status = messagesStatus.ERROR;
|
|
||||||
database.create('messages', message, true);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default async function(rid, msg) {
|
export default async function(rid, msg) {
|
||||||
|
@ -63,11 +59,17 @@ export default async function(rid, msg) {
|
||||||
room.lastMessage = message;
|
room.lastMessage = message;
|
||||||
});
|
});
|
||||||
|
|
||||||
const ret = await _sendMessageCall.call(this, message);
|
try {
|
||||||
// TODO: maybe I have created a bug in the future here <3
|
const ret = await _sendMessageCall.call(this, message);
|
||||||
db.write(() => {
|
db.write(() => {
|
||||||
db.create('messages', buildMessage({ ...message, ...ret }), true);
|
db.create('messages', buildMessage({ ...message, ...ret }), true);
|
||||||
});
|
});
|
||||||
|
} catch (e) {
|
||||||
|
database.write(() => {
|
||||||
|
message.status = messagesStatus.ERROR;
|
||||||
|
database.create('messages', message, true);
|
||||||
|
});
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log('sendMessage', e);
|
log('sendMessage', e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ export default function subscribeRoom({ rid, t }) {
|
||||||
}, 5000);
|
}, 5000);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!SDK.driver.ddp && SDK.driver.userId) {
|
if (!this.connected()) {
|
||||||
loop();
|
loop();
|
||||||
} else {
|
} else {
|
||||||
SDK.driver.on('logged', () => {
|
SDK.driver.on('logged', () => {
|
||||||
|
|
|
@ -30,7 +30,7 @@ export default async function subscribeRooms(id) {
|
||||||
}, 5000);
|
}, 5000);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!SDK.driver.ddp && SDK.driver.userId) {
|
if (!this.connected()) {
|
||||||
loop();
|
loop();
|
||||||
} else {
|
} else {
|
||||||
SDK.driver.on('logged', () => {
|
SDK.driver.on('logged', () => {
|
||||||
|
@ -44,13 +44,13 @@ export default async function subscribeRooms(id) {
|
||||||
});
|
});
|
||||||
|
|
||||||
SDK.driver.on('disconnected', () => {
|
SDK.driver.on('disconnected', () => {
|
||||||
if (this._login) {
|
if (SDK.driver.userId) {
|
||||||
loop();
|
loop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
SDK.driver.on('stream-notify-user', protectedFunction((e, ddpMessage) => {
|
SDK.driver.on('stream-notify-user', protectedFunction((e, ddpMessage) => {
|
||||||
if (ddpMessage.msg === 'added') {
|
if (!this.ddp || ddpMessage.msg === 'added') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const [type, data] = ddpMessage.fields.args;
|
const [type, data] = ddpMessage.fields.args;
|
||||||
|
|
|
@ -421,6 +421,9 @@ const RocketChat = {
|
||||||
log('SDK.connect catch', e);
|
log('SDK.connect catch', e);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
connected() {
|
||||||
|
return SDK.driver.ddp && SDK.driver.ddp._logged;
|
||||||
|
},
|
||||||
|
|
||||||
register({ credentials }) {
|
register({ credentials }) {
|
||||||
return call('registerUser', credentials);
|
return call('registerUser', credentials);
|
||||||
|
@ -534,7 +537,7 @@ const RocketChat = {
|
||||||
message.status = messagesStatus.TEMP;
|
message.status = messagesStatus.TEMP;
|
||||||
database.create('messages', message, true);
|
database.create('messages', message, true);
|
||||||
});
|
});
|
||||||
return _sendMessageCall(JSON.parse(JSON.stringify(message)));
|
return _sendMessageCall.call(this, JSON.parse(JSON.stringify(message)));
|
||||||
},
|
},
|
||||||
|
|
||||||
async search({ text, filterUsers = true, filterRooms = true }) {
|
async search({ text, filterUsers = true, filterRooms = true }) {
|
||||||
|
|
|
@ -20,6 +20,7 @@ let LoginView = null;
|
||||||
const handleSelectServer = function* handleSelectServer({ server }) {
|
const handleSelectServer = function* handleSelectServer({ server }) {
|
||||||
try {
|
try {
|
||||||
yield database.setActiveDB(server);
|
yield database.setActiveDB(server);
|
||||||
|
yield put(connectRequest());
|
||||||
yield call([AsyncStorage, 'setItem'], 'currentServer', server);
|
yield call([AsyncStorage, 'setItem'], 'currentServer', server);
|
||||||
const token = yield AsyncStorage.getItem(`${ RocketChat.TOKEN_KEY }-${ server }`);
|
const token = yield AsyncStorage.getItem(`${ RocketChat.TOKEN_KEY }-${ server }`);
|
||||||
if (token) {
|
if (token) {
|
||||||
|
@ -36,7 +37,6 @@ const handleSelectServer = function* handleSelectServer({ server }) {
|
||||||
return result;
|
return result;
|
||||||
}, {})));
|
}, {})));
|
||||||
|
|
||||||
yield put(connectRequest());
|
|
||||||
yield put(selectServerSuccess(server));
|
yield put(selectServerSuccess(server));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log('handleSelectServer', e);
|
log('handleSelectServer', e);
|
||||||
|
|
|
@ -116,7 +116,7 @@ export default class RoomView extends LoggedView {
|
||||||
const {
|
const {
|
||||||
room, loaded, joined, end
|
room, loaded, joined, end
|
||||||
} = this.state;
|
} = this.state;
|
||||||
const { showActions } = this.props;
|
const { showActions, showErrorActions } = this.props;
|
||||||
|
|
||||||
if (room.ro !== nextState.room.ro) {
|
if (room.ro !== nextState.room.ro) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -130,6 +130,8 @@ export default class RoomView extends LoggedView {
|
||||||
return true;
|
return true;
|
||||||
} else if (showActions !== nextProps.showActions) {
|
} else if (showActions !== nextProps.showActions) {
|
||||||
return true;
|
return true;
|
||||||
|
} else if (showErrorActions !== nextProps.showErrorActions) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2578,9 +2578,9 @@
|
||||||
"integrity": "sha512-FWR7QB7EqBRq1s9BMk0ccOSOuRLfVEWYpHQYpFPaXtCoqN6dJx2ttdsdQbUxLLnAlKpYeVjveGGhQ3583TTa7g=="
|
"integrity": "sha512-FWR7QB7EqBRq1s9BMk0ccOSOuRLfVEWYpHQYpFPaXtCoqN6dJx2ttdsdQbUxLLnAlKpYeVjveGGhQ3583TTa7g=="
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "9.6.35",
|
"version": "9.6.36",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.35.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.36.tgz",
|
||||||
"integrity": "sha512-h5zvHS8wXHGa+Gcqs9K8vqCgOtqjr0+NqG/DDJmQIX1wpR9HivAfgV8bjcD3mGM4bPfQw5Aneb2Pn8355L83jA=="
|
"integrity": "sha512-Fbw+AdRLL01vv7Rk7bYaNPecqmKoinJHGbpKnDpbUZmUj/0vj3nLqPQ4CNBzr3q2zso6Cq/4jHoCAdH78fvJrw=="
|
||||||
},
|
},
|
||||||
"@types/react": {
|
"@types/react": {
|
||||||
"version": "16.4.6",
|
"version": "16.4.6",
|
||||||
|
|
Loading…
Reference in New Issue