stream-chat-react-native-core 5.22.1 → 5.22.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Channel/Channel.js +160 -163
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +2 -2
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +2 -2
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +9 -12
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +30 -25
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +51 -51
- package/lib/commonjs/i18n/hi.json +51 -51
- package/lib/commonjs/i18n/it.json +51 -51
- package/lib/commonjs/i18n/nl.json +48 -48
- package/lib/commonjs/i18n/ru.json +48 -48
- package/lib/commonjs/i18n/tr.json +48 -48
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +160 -163
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +2 -2
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +2 -2
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +9 -12
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +30 -25
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +51 -51
- package/lib/module/i18n/hi.json +51 -51
- package/lib/module/i18n/it.json +51 -51
- package/lib/module/i18n/nl.json +48 -48
- package/lib/module/i18n/ru.json +48 -48
- package/lib/module/i18n/tr.json +48 -48
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +1 -1
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +51 -51
- package/lib/typescript/i18n/hi.json +51 -51
- package/lib/typescript/i18n/it.json +51 -51
- package/lib/typescript/i18n/nl.json +48 -48
- package/lib/typescript/i18n/ru.json +48 -48
- package/lib/typescript/i18n/tr.json +48 -48
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +75 -45
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +8 -1
- package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +2 -2
- package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +6 -11
- package/src/components/Message/MessageSimple/utils/parseLinks.ts +2 -2
- package/src/components/MessageList/MessageList.tsx +28 -9
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +51 -51
- package/src/i18n/hi.json +51 -51
- package/src/i18n/it.json +51 -51
- package/src/i18n/nl.json +48 -48
- package/src/i18n/ru.json +48 -48
- package/src/i18n/tr.json +48 -48
- package/src/version.json +1 -1
|
@@ -1,76 +1,76 @@
|
|
|
1
1
|
{
|
|
2
2
|
"1 Reply": "1 Antwoord",
|
|
3
|
-
"1 Thread Reply": "
|
|
3
|
+
"1 Thread Reply": "",
|
|
4
4
|
"Allow access to your Gallery": "Geef toegang tot uw galerij",
|
|
5
5
|
"Allow camera access in device settings": "Sta cameratoegang toe in de apparaatinstellingen",
|
|
6
6
|
"Also send to channel": "Stuur ook naar kanaal",
|
|
7
|
-
"Are you sure you want to permanently delete this message?": "
|
|
8
|
-
"Block User": "
|
|
9
|
-
"Cancel": "
|
|
10
|
-
"Cannot Flag Message": "
|
|
11
|
-
"Copy Message": "
|
|
12
|
-
"Delete": "
|
|
13
|
-
"Delete Message": "
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "",
|
|
8
|
+
"Block User": "",
|
|
9
|
+
"Cancel": "",
|
|
10
|
+
"Cannot Flag Message": "",
|
|
11
|
+
"Copy Message": "",
|
|
12
|
+
"Delete": "",
|
|
13
|
+
"Delete Message": "",
|
|
14
14
|
"Device camera is used to take photos or videos.": "De camera van het apparaat wordt gebruikt om foto's of video's te maken.",
|
|
15
|
-
"Do you want to send a copy of this message to a moderator for further investigation?": "
|
|
16
|
-
"Edit Message": "
|
|
17
|
-
"Editing Message": "
|
|
18
|
-
"Emoji matching": "
|
|
19
|
-
"Empty message...": "
|
|
20
|
-
"Error loading": "
|
|
21
|
-
"Error loading channel list...": "
|
|
22
|
-
"Error loading messages for this channel...": "
|
|
23
|
-
"Error while loading, please reload/refresh": "
|
|
24
|
-
"File type not supported": "
|
|
25
|
-
"Flag": "
|
|
26
|
-
"Flag Message": "
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "
|
|
28
|
-
"How about sending your first message to a friend?": "
|
|
29
|
-
"Instant Commands": "
|
|
30
|
-
"Let's start chatting!": "
|
|
31
|
-
"Links are disabled": "
|
|
15
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
16
|
+
"Edit Message": "",
|
|
17
|
+
"Editing Message": "",
|
|
18
|
+
"Emoji matching": "",
|
|
19
|
+
"Empty message...": "",
|
|
20
|
+
"Error loading": "",
|
|
21
|
+
"Error loading channel list...": "",
|
|
22
|
+
"Error loading messages for this channel...": "",
|
|
23
|
+
"Error while loading, please reload/refresh": "",
|
|
24
|
+
"File type not supported": "",
|
|
25
|
+
"Flag": "",
|
|
26
|
+
"Flag Message": "",
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
28
|
+
"How about sending your first message to a friend?": "",
|
|
29
|
+
"Instant Commands": "",
|
|
30
|
+
"Let's start chatting!": "",
|
|
31
|
+
"Links are disabled": "",
|
|
32
32
|
"Loading channels...": "Kanalen aan het laden...",
|
|
33
33
|
"Loading messages...": "Berichten aan het laden...",
|
|
34
34
|
"Loading...": "Aan het laden...",
|
|
35
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "
|
|
36
|
-
"Message Reactions": "
|
|
37
|
-
"Message deleted": "
|
|
38
|
-
"Message flagged": "
|
|
39
|
-
"Mute User": "
|
|
40
|
-
"Not supported": "
|
|
41
|
-
"Nothing yet...": "
|
|
42
|
-
"Ok": "
|
|
43
|
-
"Only visible to you": "
|
|
35
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
36
|
+
"Message Reactions": "",
|
|
37
|
+
"Message deleted": "",
|
|
38
|
+
"Message flagged": "",
|
|
39
|
+
"Mute User": "",
|
|
40
|
+
"Not supported": "",
|
|
41
|
+
"Nothing yet...": "",
|
|
42
|
+
"Ok": "",
|
|
43
|
+
"Only visible to you": "",
|
|
44
44
|
"Open Settings": "Open instellingen",
|
|
45
45
|
"Photo": "Foto",
|
|
46
46
|
"Photos and Videos": "Foto's en video's",
|
|
47
|
-
"Pin to Conversation": "
|
|
48
|
-
"Pinned by": "
|
|
47
|
+
"Pin to Conversation": "",
|
|
48
|
+
"Pinned by": "",
|
|
49
49
|
"Please enable access to your photos and videos so you can share them.": "Schakel toegang tot uw foto's en video's in zodat u ze kunt delen.",
|
|
50
50
|
"Please select a channel first": "Selecteer eerst een kanaal",
|
|
51
|
-
"Reconnecting...": "
|
|
52
|
-
"Reply": "
|
|
51
|
+
"Reconnecting...": "",
|
|
52
|
+
"Reply": "",
|
|
53
53
|
"Reply to Message": "Beantwoord bericht",
|
|
54
|
-
"Resend": "
|
|
54
|
+
"Resend": "",
|
|
55
55
|
"Search GIFs": "Zoek GIF's",
|
|
56
56
|
"Select More Photos": "Selecteer Meer foto's",
|
|
57
57
|
"Send a message": "Stuur een bericht",
|
|
58
|
-
"Sending links is not allowed in this conversation": "
|
|
58
|
+
"Sending links is not allowed in this conversation": "",
|
|
59
59
|
"Slow mode ON": "Langzame modus aan",
|
|
60
|
-
"The message has been reported to a moderator.": "
|
|
61
|
-
"Thread Reply": "
|
|
62
|
-
"Unblock User": "
|
|
60
|
+
"The message has been reported to a moderator.": "",
|
|
61
|
+
"Thread Reply": "",
|
|
62
|
+
"Unblock User": "",
|
|
63
63
|
"Unknown User": "Onbekende gebruiker",
|
|
64
|
-
"Unmute User": "
|
|
65
|
-
"Unpin from Conversation": "
|
|
64
|
+
"Unmute User": "",
|
|
65
|
+
"Unpin from Conversation": "",
|
|
66
66
|
"Unread Messages": "Ongelezen Berichten",
|
|
67
67
|
"Video": "Video",
|
|
68
|
-
"You": "
|
|
68
|
+
"You": "",
|
|
69
69
|
"You can't send messages in this channel": "Je kan geen berichten sturen in dit kanaal",
|
|
70
70
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} en {{ nonSelfUserLength }} anderen zijn aan het typen",
|
|
71
71
|
"{{ index }} of {{ photoLength }}": "{{ index }} van {{ photoLength }}",
|
|
72
72
|
"{{ replyCount }} Replies": "{{ replyCount }} Antwoorden",
|
|
73
|
-
"{{ replyCount }} Thread Replies": "
|
|
73
|
+
"{{ replyCount }} Thread Replies": "",
|
|
74
74
|
"{{ user }} is typing": "{{ user }} is aan het typen",
|
|
75
|
-
"🏙 Attachment...": "
|
|
75
|
+
"🏙 Attachment...": ""
|
|
76
76
|
}
|
|
@@ -1,76 +1,76 @@
|
|
|
1
1
|
{
|
|
2
2
|
"1 Reply": "1 Ответ",
|
|
3
|
-
"1 Thread Reply": "
|
|
3
|
+
"1 Thread Reply": "",
|
|
4
4
|
"Allow access to your Gallery": "Разрешить доступ к вашей галерее",
|
|
5
5
|
"Allow camera access in device settings": "Разрешите доступ к камере в настройках устройства.",
|
|
6
6
|
"Also send to channel": "Также отправить на канал",
|
|
7
|
-
"Are you sure you want to permanently delete this message?": "
|
|
8
|
-
"Block User": "
|
|
9
|
-
"Cancel": "
|
|
10
|
-
"Cannot Flag Message": "
|
|
11
|
-
"Copy Message": "
|
|
12
|
-
"Delete": "
|
|
13
|
-
"Delete Message": "
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "",
|
|
8
|
+
"Block User": "",
|
|
9
|
+
"Cancel": "",
|
|
10
|
+
"Cannot Flag Message": "",
|
|
11
|
+
"Copy Message": "",
|
|
12
|
+
"Delete": "",
|
|
13
|
+
"Delete Message": "",
|
|
14
14
|
"Device camera is used to take photos or videos.": "Камера устройства используется для съемки фотографий или видео.",
|
|
15
|
-
"Do you want to send a copy of this message to a moderator for further investigation?": "
|
|
16
|
-
"Edit Message": "
|
|
17
|
-
"Editing Message": "
|
|
18
|
-
"Emoji matching": "
|
|
19
|
-
"Empty message...": "
|
|
20
|
-
"Error loading": "
|
|
21
|
-
"Error loading channel list...": "
|
|
22
|
-
"Error loading messages for this channel...": "
|
|
23
|
-
"Error while loading, please reload/refresh": "
|
|
24
|
-
"File type not supported": "
|
|
25
|
-
"Flag": "
|
|
26
|
-
"Flag Message": "
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "
|
|
28
|
-
"How about sending your first message to a friend?": "
|
|
29
|
-
"Instant Commands": "
|
|
30
|
-
"Let's start chatting!": "
|
|
31
|
-
"Links are disabled": "
|
|
15
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
16
|
+
"Edit Message": "",
|
|
17
|
+
"Editing Message": "",
|
|
18
|
+
"Emoji matching": "",
|
|
19
|
+
"Empty message...": "",
|
|
20
|
+
"Error loading": "",
|
|
21
|
+
"Error loading channel list...": "",
|
|
22
|
+
"Error loading messages for this channel...": "",
|
|
23
|
+
"Error while loading, please reload/refresh": "",
|
|
24
|
+
"File type not supported": "",
|
|
25
|
+
"Flag": "",
|
|
26
|
+
"Flag Message": "",
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
28
|
+
"How about sending your first message to a friend?": "",
|
|
29
|
+
"Instant Commands": "",
|
|
30
|
+
"Let's start chatting!": "",
|
|
31
|
+
"Links are disabled": "",
|
|
32
32
|
"Loading channels...": "Загружаю каналы...",
|
|
33
33
|
"Loading messages...": "Загружаю сообщения...",
|
|
34
34
|
"Loading...": "Загружаю...",
|
|
35
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "
|
|
36
|
-
"Message Reactions": "
|
|
37
|
-
"Message deleted": "
|
|
38
|
-
"Message flagged": "
|
|
39
|
-
"Mute User": "
|
|
40
|
-
"Not supported": "
|
|
41
|
-
"Nothing yet...": "
|
|
42
|
-
"Ok": "
|
|
43
|
-
"Only visible to you": "
|
|
35
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
36
|
+
"Message Reactions": "",
|
|
37
|
+
"Message deleted": "",
|
|
38
|
+
"Message flagged": "",
|
|
39
|
+
"Mute User": "",
|
|
40
|
+
"Not supported": "",
|
|
41
|
+
"Nothing yet...": "",
|
|
42
|
+
"Ok": "",
|
|
43
|
+
"Only visible to you": "",
|
|
44
44
|
"Open Settings": "Открыть настройки",
|
|
45
45
|
"Photo": "Фото",
|
|
46
46
|
"Photos and Videos": "Фото и видео",
|
|
47
|
-
"Pin to Conversation": "
|
|
48
|
-
"Pinned by": "
|
|
47
|
+
"Pin to Conversation": "",
|
|
48
|
+
"Pinned by": "",
|
|
49
49
|
"Please enable access to your photos and videos so you can share them.": "Разрешите доступ к своим фотографиям и видео, чтобы вы могли ими поделиться.",
|
|
50
50
|
"Please select a channel first": "Пожалуйста, сначала выберите канал",
|
|
51
|
-
"Reconnecting...": "
|
|
52
|
-
"Reply": "
|
|
51
|
+
"Reconnecting...": "",
|
|
52
|
+
"Reply": "",
|
|
53
53
|
"Reply to Message": "Ответить на сообщение",
|
|
54
|
-
"Resend": "
|
|
54
|
+
"Resend": "",
|
|
55
55
|
"Search GIFs": "Поиск GIF",
|
|
56
56
|
"Select More Photos": "Выбрать больше фотографий",
|
|
57
57
|
"Send a message": "Отправить сообщение",
|
|
58
|
-
"Sending links is not allowed in this conversation": "
|
|
58
|
+
"Sending links is not allowed in this conversation": "",
|
|
59
59
|
"Slow mode ON": "Медленный режим включен",
|
|
60
|
-
"The message has been reported to a moderator.": "
|
|
61
|
-
"Thread Reply": "
|
|
62
|
-
"Unblock User": "
|
|
60
|
+
"The message has been reported to a moderator.": "",
|
|
61
|
+
"Thread Reply": "",
|
|
62
|
+
"Unblock User": "",
|
|
63
63
|
"Unknown User": "Неизвестный пользователь",
|
|
64
|
-
"Unmute User": "
|
|
65
|
-
"Unpin from Conversation": "
|
|
64
|
+
"Unmute User": "",
|
|
65
|
+
"Unpin from Conversation": "",
|
|
66
66
|
"Unread Messages": "Непрочитанные Сообщения",
|
|
67
67
|
"Video": "видео",
|
|
68
|
-
"You": "
|
|
68
|
+
"You": "",
|
|
69
69
|
"You can't send messages in this channel": "Вы не можете отправлять сообщения в этот канал",
|
|
70
70
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} и еще {{ nonSelfUserLength }} пишут",
|
|
71
71
|
"{{ index }} of {{ photoLength }}": "{{ index }} из {{ photoLength }}",
|
|
72
72
|
"{{ replyCount }} Replies": "{{ replyCount }} Ответов",
|
|
73
|
-
"{{ replyCount }} Thread Replies": "
|
|
73
|
+
"{{ replyCount }} Thread Replies": "",
|
|
74
74
|
"{{ user }} is typing": "{{ user }} пишет",
|
|
75
|
-
"🏙 Attachment...": "
|
|
75
|
+
"🏙 Attachment...": ""
|
|
76
76
|
}
|
|
@@ -1,76 +1,76 @@
|
|
|
1
1
|
{
|
|
2
2
|
"1 Reply": "1 Cevap",
|
|
3
|
-
"1 Thread Reply": "
|
|
3
|
+
"1 Thread Reply": "",
|
|
4
4
|
"Allow access to your Gallery": "Galerinize erişime izin verin",
|
|
5
5
|
"Allow camera access in device settings": "Cihaz ayarlarında kamera erişimine izin ver",
|
|
6
6
|
"Also send to channel": "Kanala da gönder",
|
|
7
|
-
"Are you sure you want to permanently delete this message?": "
|
|
8
|
-
"Block User": "
|
|
9
|
-
"Cancel": "
|
|
10
|
-
"Cannot Flag Message": "
|
|
11
|
-
"Copy Message": "
|
|
12
|
-
"Delete": "
|
|
13
|
-
"Delete Message": "
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "",
|
|
8
|
+
"Block User": "",
|
|
9
|
+
"Cancel": "",
|
|
10
|
+
"Cannot Flag Message": "",
|
|
11
|
+
"Copy Message": "",
|
|
12
|
+
"Delete": "",
|
|
13
|
+
"Delete Message": "",
|
|
14
14
|
"Device camera is used to take photos or videos.": "Cihaz kamerası fotoğraf veya video çekmek için kullanılır.",
|
|
15
|
-
"Do you want to send a copy of this message to a moderator for further investigation?": "
|
|
16
|
-
"Edit Message": "
|
|
17
|
-
"Editing Message": "
|
|
18
|
-
"Emoji matching": "
|
|
19
|
-
"Empty message...": "
|
|
20
|
-
"Error loading": "
|
|
21
|
-
"Error loading channel list...": "
|
|
22
|
-
"Error loading messages for this channel...": "
|
|
23
|
-
"Error while loading, please reload/refresh": "
|
|
24
|
-
"File type not supported": "
|
|
25
|
-
"Flag": "
|
|
26
|
-
"Flag Message": "
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "
|
|
28
|
-
"How about sending your first message to a friend?": "
|
|
29
|
-
"Instant Commands": "
|
|
30
|
-
"Let's start chatting!": "
|
|
31
|
-
"Links are disabled": "
|
|
15
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
16
|
+
"Edit Message": "",
|
|
17
|
+
"Editing Message": "",
|
|
18
|
+
"Emoji matching": "",
|
|
19
|
+
"Empty message...": "",
|
|
20
|
+
"Error loading": "",
|
|
21
|
+
"Error loading channel list...": "",
|
|
22
|
+
"Error loading messages for this channel...": "",
|
|
23
|
+
"Error while loading, please reload/refresh": "",
|
|
24
|
+
"File type not supported": "",
|
|
25
|
+
"Flag": "",
|
|
26
|
+
"Flag Message": "",
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
28
|
+
"How about sending your first message to a friend?": "",
|
|
29
|
+
"Instant Commands": "",
|
|
30
|
+
"Let's start chatting!": "",
|
|
31
|
+
"Links are disabled": "",
|
|
32
32
|
"Loading channels...": "Kanallar yükleniyor...",
|
|
33
33
|
"Loading messages...": "Mesajlar yükleniyor...",
|
|
34
34
|
"Loading...": "Yükleniyor...",
|
|
35
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "
|
|
36
|
-
"Message Reactions": "
|
|
37
|
-
"Message deleted": "
|
|
38
|
-
"Message flagged": "
|
|
39
|
-
"Mute User": "
|
|
40
|
-
"Not supported": "
|
|
41
|
-
"Nothing yet...": "
|
|
42
|
-
"Ok": "
|
|
43
|
-
"Only visible to you": "
|
|
35
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
36
|
+
"Message Reactions": "",
|
|
37
|
+
"Message deleted": "",
|
|
38
|
+
"Message flagged": "",
|
|
39
|
+
"Mute User": "",
|
|
40
|
+
"Not supported": "",
|
|
41
|
+
"Nothing yet...": "",
|
|
42
|
+
"Ok": "",
|
|
43
|
+
"Only visible to you": "",
|
|
44
44
|
"Open Settings": "Ayarları aç",
|
|
45
45
|
"Photo": "Fotoğraf",
|
|
46
46
|
"Photos and Videos": "Fotoğraflar ve Videolar",
|
|
47
|
-
"Pin to Conversation": "
|
|
48
|
-
"Pinned by": "
|
|
47
|
+
"Pin to Conversation": "",
|
|
48
|
+
"Pinned by": "",
|
|
49
49
|
"Please enable access to your photos and videos so you can share them.": "Paylaşım yapabilmek için lutfen fotoğraflarınıza ve videolarınıza erişimi etkinleştirin.",
|
|
50
50
|
"Please select a channel first": "Lütfen önce bir kanal seçiniz",
|
|
51
|
-
"Reconnecting...": "
|
|
52
|
-
"Reply": "
|
|
51
|
+
"Reconnecting...": "",
|
|
52
|
+
"Reply": "",
|
|
53
53
|
"Reply to Message": "Mesajı Yanıtla",
|
|
54
|
-
"Resend": "
|
|
54
|
+
"Resend": "",
|
|
55
55
|
"Search GIFs": "GIF Ara",
|
|
56
56
|
"Select More Photos": "Daha Fazla Fotoğraf Seçin",
|
|
57
57
|
"Send a message": "Mesaj gönder",
|
|
58
|
-
"Sending links is not allowed in this conversation": "
|
|
58
|
+
"Sending links is not allowed in this conversation": "",
|
|
59
59
|
"Slow mode ON": "Yavaş Mod Açık",
|
|
60
|
-
"The message has been reported to a moderator.": "
|
|
61
|
-
"Thread Reply": "
|
|
62
|
-
"Unblock User": "
|
|
60
|
+
"The message has been reported to a moderator.": "",
|
|
61
|
+
"Thread Reply": "",
|
|
62
|
+
"Unblock User": "",
|
|
63
63
|
"Unknown User": "Bilinmeyen kullanıcı",
|
|
64
|
-
"Unmute User": "
|
|
65
|
-
"Unpin from Conversation": "
|
|
64
|
+
"Unmute User": "",
|
|
65
|
+
"Unpin from Conversation": "",
|
|
66
66
|
"Unread Messages": "Okunmamış Mesajlar",
|
|
67
67
|
"Video": "Video",
|
|
68
|
-
"You": "
|
|
68
|
+
"You": "",
|
|
69
69
|
"You can't send messages in this channel": "Bu konuşmaya mesaj gönderemezsiniz",
|
|
70
70
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ve {{ nonSelfUserLength }} kişi daha yazıyor",
|
|
71
71
|
"{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
|
|
72
72
|
"{{ replyCount }} Replies": "{{ replyCount }} Cevap",
|
|
73
|
-
"{{ replyCount }} Thread Replies": "
|
|
73
|
+
"{{ replyCount }} Thread Replies": "",
|
|
74
74
|
"{{ user }} is typing": "{{ user }} yazıyor",
|
|
75
|
-
"🏙 Attachment...": "
|
|
75
|
+
"🏙 Attachment...": ""
|
|
76
76
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "5.22.
|
|
4
|
+
"version": "5.22.2-beta.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -588,6 +588,13 @@ const ChannelWithContext = <
|
|
|
588
588
|
*/
|
|
589
589
|
const [hasNoMoreRecentMessagesToLoad, setHasNoMoreRecentMessagesToLoad] = useState(true);
|
|
590
590
|
|
|
591
|
+
/**
|
|
592
|
+
* messages array is tracked in ref so that
|
|
593
|
+
* functions can be passed to message list context without any change due to dependency
|
|
594
|
+
*/
|
|
595
|
+
const messagesRef = useRef(messages);
|
|
596
|
+
messagesRef.current = messages;
|
|
597
|
+
|
|
591
598
|
const { setTargetedMessage, targetedMessage } = useTargetedMessage();
|
|
592
599
|
|
|
593
600
|
/**
|
|
@@ -879,13 +886,14 @@ const ChannelWithContext = <
|
|
|
879
886
|
* @param messageId If undefined, channel will be loaded at most recent message.
|
|
880
887
|
*/
|
|
881
888
|
const loadChannelAroundMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAroundMessage'] =
|
|
882
|
-
({ messageId }) =>
|
|
889
|
+
({ messageId: messageIdToLoadAround }) =>
|
|
883
890
|
channelQueryCallRef.current(
|
|
884
891
|
async () => {
|
|
885
|
-
setHasNoMoreRecentMessagesToLoad(false); // we are jumping to a message, hence we do not know for sure anymore if there are no more recent messages
|
|
886
892
|
setLoading(true);
|
|
887
|
-
if (
|
|
888
|
-
|
|
893
|
+
if (messageIdToLoadAround) {
|
|
894
|
+
setHasNoMoreRecentMessagesToLoad(false); // we are jumping to a message, hence we do not know for sure anymore if there are no more recent messages
|
|
895
|
+
channel.state.setIsUpToDate(false);
|
|
896
|
+
await channel.state.loadMessageIntoState(messageIdToLoadAround);
|
|
889
897
|
} else {
|
|
890
898
|
await channel.state.loadMessageIntoState('latest');
|
|
891
899
|
channel.state.setIsUpToDate(true);
|
|
@@ -893,8 +901,8 @@ const ChannelWithContext = <
|
|
|
893
901
|
setLoading(false);
|
|
894
902
|
},
|
|
895
903
|
() => {
|
|
896
|
-
if (
|
|
897
|
-
setTargetedMessage(
|
|
904
|
+
if (messageIdToLoadAround) {
|
|
905
|
+
setTargetedMessage(messageIdToLoadAround);
|
|
898
906
|
}
|
|
899
907
|
},
|
|
900
908
|
);
|
|
@@ -1509,55 +1517,70 @@ const ChannelWithContext = <
|
|
|
1509
1517
|
),
|
|
1510
1518
|
).current;
|
|
1511
1519
|
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1520
|
+
/**
|
|
1521
|
+
* This function loads more messages before the first message in current channel state.
|
|
1522
|
+
*/
|
|
1523
|
+
const loadMore = useCallback<PaginatedMessageListContextValue<StreamChatGenerics>['loadMore']>(
|
|
1524
|
+
async (limit = 20) => {
|
|
1525
|
+
if (loadingMore || hasMore === false) {
|
|
1526
|
+
return;
|
|
1527
|
+
}
|
|
1528
|
+
setLoadingMore(true);
|
|
1519
1529
|
|
|
1520
|
-
|
|
1521
|
-
return setLoadingMore(false);
|
|
1522
|
-
}
|
|
1530
|
+
const currentMessages = messagesRef.current;
|
|
1523
1531
|
|
|
1524
|
-
|
|
1532
|
+
if (!currentMessages.length) {
|
|
1533
|
+
return setLoadingMore(false);
|
|
1534
|
+
}
|
|
1525
1535
|
|
|
1526
|
-
|
|
1527
|
-
return setLoadingMore(false);
|
|
1528
|
-
}
|
|
1536
|
+
const oldestMessage = currentMessages && currentMessages[0];
|
|
1529
1537
|
|
|
1530
|
-
|
|
1538
|
+
if (oldestMessage && oldestMessage.status !== MessageStatusTypes.RECEIVED) {
|
|
1539
|
+
return setLoadingMore(false);
|
|
1540
|
+
}
|
|
1531
1541
|
|
|
1532
|
-
|
|
1533
|
-
if (channel) {
|
|
1534
|
-
const queryResponse = await channel.query({
|
|
1535
|
-
messages: { id_lt: oldestID, limit },
|
|
1536
|
-
});
|
|
1542
|
+
const oldestID = oldestMessage && oldestMessage.id;
|
|
1537
1543
|
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1544
|
+
try {
|
|
1545
|
+
if (channel) {
|
|
1546
|
+
const queryResponse = await channel.query({
|
|
1547
|
+
messages: { id_lt: oldestID, limit },
|
|
1548
|
+
});
|
|
1549
|
+
|
|
1550
|
+
const updatedHasMore = queryResponse.messages.length === limit;
|
|
1551
|
+
loadMoreFinished(updatedHasMore, channel.state.messages);
|
|
1552
|
+
}
|
|
1553
|
+
} catch (err) {
|
|
1554
|
+
if (err instanceof Error) {
|
|
1555
|
+
setError(err);
|
|
1556
|
+
} else {
|
|
1557
|
+
setError(true);
|
|
1558
|
+
}
|
|
1559
|
+
setLoadingMore(false);
|
|
1560
|
+
throw err;
|
|
1546
1561
|
}
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1562
|
+
},
|
|
1563
|
+
/*
|
|
1564
|
+
* This function is passed to useCreatePaginatedMessageListContext
|
|
1565
|
+
* Where the deps are [channelId, hasMore, loadingMoreRecent, loadingMore]
|
|
1566
|
+
* and only those deps should be used here because of that
|
|
1567
|
+
*/
|
|
1568
|
+
[channelId, hasMore, loadingMore],
|
|
1569
|
+
);
|
|
1551
1570
|
|
|
1552
|
-
|
|
1571
|
+
/**
|
|
1572
|
+
* This function loads more messages after the most recent message in current channel state.
|
|
1573
|
+
*/
|
|
1574
|
+
const loadMoreRecent = useCallback<
|
|
1575
|
+
PaginatedMessageListContextValue<StreamChatGenerics>['loadMoreRecent']
|
|
1576
|
+
>(
|
|
1553
1577
|
async (limit = 5) => {
|
|
1554
1578
|
if (hasNoMoreRecentMessagesToLoad) {
|
|
1555
1579
|
return;
|
|
1556
1580
|
}
|
|
1557
|
-
|
|
1558
1581
|
setLoadingMoreRecent(true);
|
|
1559
|
-
|
|
1560
|
-
const recentMessage =
|
|
1582
|
+
const currentMessages = messagesRef.current;
|
|
1583
|
+
const recentMessage = currentMessages[currentMessages.length - 1];
|
|
1561
1584
|
|
|
1562
1585
|
if (recentMessage?.status !== MessageStatusTypes.RECEIVED) {
|
|
1563
1586
|
setLoadingMoreRecent(false);
|
|
@@ -1566,14 +1589,14 @@ const ChannelWithContext = <
|
|
|
1566
1589
|
|
|
1567
1590
|
try {
|
|
1568
1591
|
if (channel) {
|
|
1569
|
-
const
|
|
1592
|
+
const queryResponse = await channel.query({
|
|
1570
1593
|
messages: {
|
|
1571
1594
|
id_gte: recentMessage.id,
|
|
1572
1595
|
limit,
|
|
1573
1596
|
},
|
|
1574
1597
|
watch: true,
|
|
1575
1598
|
});
|
|
1576
|
-
setHasNoMoreRecentMessagesToLoad(
|
|
1599
|
+
setHasNoMoreRecentMessagesToLoad(queryResponse.messages.length < limit);
|
|
1577
1600
|
loadMoreRecentFinished(channel.state.messages);
|
|
1578
1601
|
}
|
|
1579
1602
|
} catch (err) {
|
|
@@ -1586,7 +1609,14 @@ const ChannelWithContext = <
|
|
|
1586
1609
|
setLoadingMoreRecent(false);
|
|
1587
1610
|
throw err;
|
|
1588
1611
|
}
|
|
1589
|
-
}
|
|
1612
|
+
},
|
|
1613
|
+
/*
|
|
1614
|
+
* This function is passed to useCreatePaginatedMessageListContext
|
|
1615
|
+
* Where the deps are [channelId, hasMore, loadingMoreRecent, loadingMore, hasNoMoreRecentMessagesToLoad]
|
|
1616
|
+
* and and only those deps should be used here because of that
|
|
1617
|
+
*/
|
|
1618
|
+
[channelId, hasNoMoreRecentMessagesToLoad],
|
|
1619
|
+
);
|
|
1590
1620
|
|
|
1591
1621
|
// hard limit to prevent you from scrolling faster than 1 page per 2 seconds
|
|
1592
1622
|
const loadMoreRecentFinished = useRef(
|
|
@@ -34,7 +34,14 @@ export const useCreatePaginatedMessageListContext = <
|
|
|
34
34
|
setLoadingMore,
|
|
35
35
|
setLoadingMoreRecent,
|
|
36
36
|
}),
|
|
37
|
-
[
|
|
37
|
+
[
|
|
38
|
+
channelId,
|
|
39
|
+
hasMore,
|
|
40
|
+
loadingMoreRecent,
|
|
41
|
+
loadingMore,
|
|
42
|
+
hasNoMoreRecentMessagesToLoad,
|
|
43
|
+
messagesStr,
|
|
44
|
+
],
|
|
38
45
|
);
|
|
39
46
|
|
|
40
47
|
return paginatedMessagesContext;
|
|
@@ -24,13 +24,13 @@ export const generateMarkdownText = (text?: string) => {
|
|
|
24
24
|
// Convert raw links/emails in the text to respective markdown syntax.
|
|
25
25
|
// Eg: Hi @getstream.io -> Hi @[getstream.io](getstream.io).
|
|
26
26
|
const normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');
|
|
27
|
-
const markdown = `[${displayLink}](${linkInfo.
|
|
27
|
+
const markdown = `[${displayLink}](${linkInfo.url})`;
|
|
28
28
|
resultText = text.replace(normalRegEx, markdown);
|
|
29
29
|
|
|
30
30
|
// After previous step, in some cases, the mentioned user after `@` might have a link/email so we convert it back to normal raw text.
|
|
31
31
|
// Eg: Hi, @[test.user@gmail.com](mailto:test.user@gmail.com) to @test.user@gmail.com.
|
|
32
32
|
const mentionsRegex = new RegExp(
|
|
33
|
-
`@\\[${escapeRegExp(displayLink)}\\]\\(${escapeRegExp(linkInfo.
|
|
33
|
+
`@\\[${escapeRegExp(displayLink)}\\]\\(${escapeRegExp(linkInfo.url)}\\)`,
|
|
34
34
|
'g',
|
|
35
35
|
);
|
|
36
36
|
resultText = resultText.replace(mentionsRegex, `@${displayLink}`);
|