stream-chat-react-native-core 5.44.0 → 5.44.1
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 +8 -1
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +2 -0
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -0
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +7 -2
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +13 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +11 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +2 -0
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +2 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/utils/utils.js +1 -1
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +8 -1
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +2 -0
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -0
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Message/Message.js +7 -2
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +13 -4
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +11 -3
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +2 -0
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +2 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/utils/utils.js +1 -1
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +2 -1
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +120 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
- package/lib/typescript/components/Chat/Chat.d.ts +1 -1
- package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/lib/typescript/components/Message/Message.d.ts +1 -1
- package/lib/typescript/components/Message/Message.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
- package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts.map +1 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +3 -2
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +5 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -3
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
- package/lib/typescript/utils/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +7 -1
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
- package/src/components/Chat/Chat.tsx +8 -1
- package/src/components/Chat/hooks/useCreateChatContext.ts +2 -0
- package/src/components/Message/Message.tsx +18 -5
- package/src/components/Message/MessageSimple/MessageContent.tsx +13 -5
- package/src/components/Message/MessageSimple/MessageFooter.tsx +11 -2
- package/src/components/Message/MessageSimple/MessageSimple.tsx +1 -2
- package/src/components/Message/hooks/useCreateMessageContext.ts +2 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +2 -1
- package/src/contexts/chatContext/ChatContext.tsx +2 -1
- package/src/contexts/messageContext/MessageContext.tsx +4 -0
- package/src/contexts/messageInputContext/MessageInputContext.tsx +1 -1
- package/src/contexts/messagesContext/MessagesContext.tsx +2 -2
- package/src/utils/utils.ts +1 -1
- package/src/version.json +1 -1
|
@@ -50,6 +50,7 @@ export const useCreateMessagesContext = <
|
|
|
50
50
|
InlineDateSeparator,
|
|
51
51
|
InlineUnreadIndicator,
|
|
52
52
|
isAttachmentEqual,
|
|
53
|
+
isMessageAIGenerated,
|
|
53
54
|
legacyImageViewerSwipeBehaviour,
|
|
54
55
|
markdownRules,
|
|
55
56
|
Message,
|
|
@@ -152,6 +153,7 @@ export const useCreateMessagesContext = <
|
|
|
152
153
|
InlineDateSeparator,
|
|
153
154
|
InlineUnreadIndicator,
|
|
154
155
|
isAttachmentEqual,
|
|
156
|
+
isMessageAIGenerated,
|
|
155
157
|
legacyImageViewerSwipeBehaviour,
|
|
156
158
|
markdownRules,
|
|
157
159
|
Message,
|
|
@@ -36,7 +36,12 @@ init();
|
|
|
36
36
|
export type ChatProps<
|
|
37
37
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
38
38
|
> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &
|
|
39
|
-
Partial<
|
|
39
|
+
Partial<
|
|
40
|
+
Pick<
|
|
41
|
+
ChatContextValue<StreamChatGenerics>,
|
|
42
|
+
'ImageComponent' | 'resizableCDNHosts' | 'isMessageAIGenerated'
|
|
43
|
+
>
|
|
44
|
+
> & {
|
|
40
45
|
/**
|
|
41
46
|
* When false, ws connection won't be disconnection upon backgrounding the app.
|
|
42
47
|
* To receive push notifications, its necessary that user doesn't have active
|
|
@@ -149,6 +154,7 @@ const ChatWithContext = <
|
|
|
149
154
|
enableOfflineSupport = false,
|
|
150
155
|
i18nInstance,
|
|
151
156
|
ImageComponent = Image,
|
|
157
|
+
isMessageAIGenerated,
|
|
152
158
|
LoadingIndicator = null,
|
|
153
159
|
resizableCDNHosts = ['.stream-io-cdn.com'],
|
|
154
160
|
style,
|
|
@@ -250,6 +256,7 @@ const ChatWithContext = <
|
|
|
250
256
|
connectionRecovering,
|
|
251
257
|
enableOfflineSupport,
|
|
252
258
|
ImageComponent,
|
|
259
|
+
isMessageAIGenerated,
|
|
253
260
|
isOnline,
|
|
254
261
|
mutedUsers,
|
|
255
262
|
resizableCDNHosts,
|
|
@@ -12,6 +12,7 @@ export const useCreateChatContext = <
|
|
|
12
12
|
connectionRecovering,
|
|
13
13
|
enableOfflineSupport,
|
|
14
14
|
ImageComponent,
|
|
15
|
+
isMessageAIGenerated,
|
|
15
16
|
isOnline,
|
|
16
17
|
mutedUsers,
|
|
17
18
|
resizableCDNHosts,
|
|
@@ -33,6 +34,7 @@ export const useCreateChatContext = <
|
|
|
33
34
|
connectionRecovering,
|
|
34
35
|
enableOfflineSupport,
|
|
35
36
|
ImageComponent,
|
|
37
|
+
isMessageAIGenerated,
|
|
36
38
|
isOnline,
|
|
37
39
|
mutedUsers,
|
|
38
40
|
resizableCDNHosts,
|
|
@@ -139,8 +139,16 @@ export type MessagePropsWithContext<
|
|
|
139
139
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
140
140
|
> = Pick<ChannelContextValue<StreamChatGenerics>, 'channel' | 'enforceUniqueReaction' | 'members'> &
|
|
141
141
|
Pick<KeyboardContextValue, 'dismissKeyboard'> &
|
|
142
|
-
Partial<
|
|
143
|
-
|
|
142
|
+
Partial<
|
|
143
|
+
Omit<
|
|
144
|
+
MessageContextValue<StreamChatGenerics>,
|
|
145
|
+
'groupStyles' | 'message' | 'isMessageAIGenerated'
|
|
146
|
+
>
|
|
147
|
+
> &
|
|
148
|
+
Pick<
|
|
149
|
+
MessageContextValue<StreamChatGenerics>,
|
|
150
|
+
'groupStyles' | 'message' | 'isMessageAIGenerated'
|
|
151
|
+
> &
|
|
144
152
|
Pick<
|
|
145
153
|
MessagesContextValue<StreamChatGenerics>,
|
|
146
154
|
| 'sendReaction'
|
|
@@ -305,6 +313,11 @@ const MessageWithContext = <
|
|
|
305
313
|
threadList = false,
|
|
306
314
|
updateMessage,
|
|
307
315
|
} = props;
|
|
316
|
+
const isMessageAIGenerated = messagesContext.isMessageAIGenerated;
|
|
317
|
+
const isAIGenerated = useMemo(
|
|
318
|
+
() => isMessageAIGenerated(message),
|
|
319
|
+
[message, isMessageAIGenerated],
|
|
320
|
+
);
|
|
308
321
|
const { client } = chatContext;
|
|
309
322
|
const {
|
|
310
323
|
theme: {
|
|
@@ -457,7 +470,7 @@ const MessageWithContext = <
|
|
|
457
470
|
case 'poll':
|
|
458
471
|
return !!message.poll_id;
|
|
459
472
|
case 'ai_text':
|
|
460
|
-
return
|
|
473
|
+
return isAIGenerated;
|
|
461
474
|
case 'text':
|
|
462
475
|
default:
|
|
463
476
|
return !!message.text;
|
|
@@ -704,6 +717,7 @@ const MessageWithContext = <
|
|
|
704
717
|
hasReactions,
|
|
705
718
|
images: attachments.images,
|
|
706
719
|
isEditedMessageOpen,
|
|
720
|
+
isMessageAIGenerated,
|
|
707
721
|
isMyMessage,
|
|
708
722
|
lastGroupMessage: groupStyles?.[0] === 'single' || groupStyles?.[0] === 'bottom',
|
|
709
723
|
lastReceivedId,
|
|
@@ -865,8 +879,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
865
879
|
prevMessage.text === nextMessage.text &&
|
|
866
880
|
prevMessage.pinned === nextMessage.pinned &&
|
|
867
881
|
`${prevMessage?.updated_at}` === `${nextMessage?.updated_at}` &&
|
|
868
|
-
prevMessage.i18n === nextMessage.i18n
|
|
869
|
-
prevMessage.ai_generated === nextMessage.ai_generated;
|
|
882
|
+
prevMessage.i18n === nextMessage.i18n;
|
|
870
883
|
|
|
871
884
|
if (!messageEqual) return false;
|
|
872
885
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
AnimatableNumericValue,
|
|
4
4
|
LayoutChangeEvent,
|
|
@@ -82,6 +82,7 @@ export type MessageContentPropsWithContext<
|
|
|
82
82
|
| 'preventPress'
|
|
83
83
|
| 'showMessageStatus'
|
|
84
84
|
| 'threadList'
|
|
85
|
+
| 'isMessageAIGenerated'
|
|
85
86
|
> &
|
|
86
87
|
Pick<
|
|
87
88
|
MessagesContextValue<StreamChatGenerics>,
|
|
@@ -122,6 +123,7 @@ const MessageContentWithContext = <
|
|
|
122
123
|
Gallery,
|
|
123
124
|
groupStyles,
|
|
124
125
|
hasReactions,
|
|
126
|
+
isMessageAIGenerated,
|
|
125
127
|
isMyMessage,
|
|
126
128
|
lastGroupMessage,
|
|
127
129
|
members,
|
|
@@ -186,6 +188,11 @@ const MessageContentWithContext = <
|
|
|
186
188
|
setMessageContentWidth(width);
|
|
187
189
|
};
|
|
188
190
|
|
|
191
|
+
const isAIGenerated = useMemo(
|
|
192
|
+
() => isMessageAIGenerated(message),
|
|
193
|
+
[message, isMessageAIGenerated],
|
|
194
|
+
);
|
|
195
|
+
|
|
189
196
|
const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;
|
|
190
197
|
|
|
191
198
|
const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;
|
|
@@ -396,7 +403,7 @@ const MessageContentWithContext = <
|
|
|
396
403
|
) : null;
|
|
397
404
|
}
|
|
398
405
|
case 'ai_text':
|
|
399
|
-
return
|
|
406
|
+
return isAIGenerated ? (
|
|
400
407
|
<StreamingMessageView
|
|
401
408
|
key={`ai_message_text_container_${messageContentOrderIndex}`}
|
|
402
409
|
/>
|
|
@@ -404,7 +411,7 @@ const MessageContentWithContext = <
|
|
|
404
411
|
case 'text':
|
|
405
412
|
default:
|
|
406
413
|
return (otherAttachments.length && otherAttachments[0].actions) ||
|
|
407
|
-
|
|
414
|
+
isAIGenerated ? null : (
|
|
408
415
|
<MessageTextContainer<StreamChatGenerics>
|
|
409
416
|
key={`message_text_container_${messageContentOrderIndex}`}
|
|
410
417
|
/>
|
|
@@ -493,8 +500,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
493
500
|
prevMessage.type === nextMessage.type &&
|
|
494
501
|
prevMessage.text === nextMessage.text &&
|
|
495
502
|
prevMessage.pinned === nextMessage.pinned &&
|
|
496
|
-
prevMessage.i18n === nextMessage.i18n
|
|
497
|
-
prevMessage.ai_generated === nextMessage.ai_generated;
|
|
503
|
+
prevMessage.i18n === nextMessage.i18n;
|
|
498
504
|
if (!messageEqual) return false;
|
|
499
505
|
|
|
500
506
|
const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';
|
|
@@ -577,6 +583,7 @@ export const MessageContent = <
|
|
|
577
583
|
groupStyles,
|
|
578
584
|
hasReactions,
|
|
579
585
|
isEditedMessageOpen,
|
|
586
|
+
isMessageAIGenerated,
|
|
580
587
|
isMyMessage,
|
|
581
588
|
lastGroupMessage,
|
|
582
589
|
lastReceivedId,
|
|
@@ -624,6 +631,7 @@ export const MessageContent = <
|
|
|
624
631
|
hasReactions,
|
|
625
632
|
isAttachmentEqual,
|
|
626
633
|
isEditedMessageOpen,
|
|
634
|
+
isMessageAIGenerated,
|
|
627
635
|
isMyMessage,
|
|
628
636
|
lastGroupMessage,
|
|
629
637
|
lastReceivedId,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
2
|
import { StyleSheet, Text, View } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import type { Attachment } from 'stream-chat';
|
|
@@ -41,6 +41,7 @@ type MessageFooterPropsWithContext<
|
|
|
41
41
|
| 'otherAttachments'
|
|
42
42
|
| 'showMessageStatus'
|
|
43
43
|
| 'lastGroupMessage'
|
|
44
|
+
| 'isMessageAIGenerated'
|
|
44
45
|
> &
|
|
45
46
|
Pick<
|
|
46
47
|
MessagesContextValue<StreamChatGenerics>,
|
|
@@ -94,6 +95,7 @@ const MessageFooterWithContext = <
|
|
|
94
95
|
formattedDate,
|
|
95
96
|
isDeleted,
|
|
96
97
|
isEditedMessageOpen,
|
|
98
|
+
isMessageAIGenerated,
|
|
97
99
|
lastGroupMessage,
|
|
98
100
|
members,
|
|
99
101
|
message,
|
|
@@ -114,6 +116,11 @@ const MessageFooterWithContext = <
|
|
|
114
116
|
} = useTheme();
|
|
115
117
|
const { t } = useTranslationContext();
|
|
116
118
|
|
|
119
|
+
const isAIGenerated = useMemo(
|
|
120
|
+
() => isMessageAIGenerated(message),
|
|
121
|
+
[message, isMessageAIGenerated],
|
|
122
|
+
);
|
|
123
|
+
|
|
117
124
|
if (isDeleted) {
|
|
118
125
|
return (
|
|
119
126
|
<View style={[styles.container, metaContainer]} testID='message-deleted'>
|
|
@@ -129,7 +136,7 @@ const MessageFooterWithContext = <
|
|
|
129
136
|
return null;
|
|
130
137
|
}
|
|
131
138
|
|
|
132
|
-
const isEdited = isEditedMessage(message);
|
|
139
|
+
const isEdited = isEditedMessage(message) && !isAIGenerated;
|
|
133
140
|
|
|
134
141
|
return (
|
|
135
142
|
<>
|
|
@@ -267,6 +274,7 @@ export const MessageFooter = <
|
|
|
267
274
|
const {
|
|
268
275
|
alignment,
|
|
269
276
|
isEditedMessageOpen,
|
|
277
|
+
isMessageAIGenerated,
|
|
270
278
|
lastGroupMessage,
|
|
271
279
|
members,
|
|
272
280
|
message,
|
|
@@ -283,6 +291,7 @@ export const MessageFooter = <
|
|
|
283
291
|
alignment,
|
|
284
292
|
deletedMessagesVisibilityType,
|
|
285
293
|
isEditedMessageOpen,
|
|
294
|
+
isMessageAIGenerated,
|
|
286
295
|
lastGroupMessage,
|
|
287
296
|
members,
|
|
288
297
|
message,
|
|
@@ -155,8 +155,7 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
155
155
|
prevMessage.type === nextMessage.type &&
|
|
156
156
|
prevMessage.text === nextMessage.text &&
|
|
157
157
|
prevMessage.i18n === nextMessage.i18n &&
|
|
158
|
-
prevMessage.pinned === nextMessage.pinned
|
|
159
|
-
prevMessage.ai_generated === nextMessage.ai_generated;
|
|
158
|
+
prevMessage.pinned === nextMessage.pinned;
|
|
160
159
|
if (!messageEqual) return false;
|
|
161
160
|
|
|
162
161
|
const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';
|
|
@@ -26,6 +26,7 @@ export const useCreateMessageContext = <
|
|
|
26
26
|
hasReactions,
|
|
27
27
|
images,
|
|
28
28
|
isEditedMessageOpen,
|
|
29
|
+
isMessageAIGenerated,
|
|
29
30
|
isMyMessage,
|
|
30
31
|
lastGroupMessage,
|
|
31
32
|
lastReceivedId,
|
|
@@ -78,6 +79,7 @@ export const useCreateMessageContext = <
|
|
|
78
79
|
hasReactions,
|
|
79
80
|
images,
|
|
80
81
|
isEditedMessageOpen,
|
|
82
|
+
isMessageAIGenerated,
|
|
81
83
|
isMyMessage,
|
|
82
84
|
lastGroupMessage,
|
|
83
85
|
lastReceivedId,
|
|
@@ -158,6 +158,7 @@ const MessageOverlayWithContext = <
|
|
|
158
158
|
const halfScreenHeight = vh(50);
|
|
159
159
|
|
|
160
160
|
const myMessageTheme = messagesContext?.myMessageTheme;
|
|
161
|
+
const isMessageAIGenerated = messagesContext?.isMessageAIGenerated;
|
|
161
162
|
const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;
|
|
162
163
|
|
|
163
164
|
const [reactionListHeight, setReactionListHeight] = useState(0);
|
|
@@ -462,7 +463,7 @@ const MessageOverlayWithContext = <
|
|
|
462
463
|
case 'text':
|
|
463
464
|
default:
|
|
464
465
|
return (otherAttachments?.length && otherAttachments[0].actions) ||
|
|
465
|
-
message
|
|
466
|
+
isMessageAIGenerated?.(message) ? null : (
|
|
466
467
|
<MessageTextContainer<StreamChatGenerics>
|
|
467
468
|
key={`message_text_container_${messageContentOrderIndex}`}
|
|
468
469
|
message={message}
|
|
@@ -4,6 +4,7 @@ import type { ImageProps } from 'react-native';
|
|
|
4
4
|
import type { AppSettingsAPIResponse, Channel, Mute, StreamChat } from 'stream-chat';
|
|
5
5
|
|
|
6
6
|
import type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';
|
|
7
|
+
import { MessageContextValue } from '../messageContext/MessageContext';
|
|
7
8
|
import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
|
|
8
9
|
|
|
9
10
|
import { getDisplayName } from '../utils/getDisplayName';
|
|
@@ -69,7 +70,7 @@ export type ChatContextValue<
|
|
|
69
70
|
* This option allows you to specify a list of CDNs that offer image resizing.
|
|
70
71
|
*/
|
|
71
72
|
resizableCDNHosts?: string[];
|
|
72
|
-
}
|
|
73
|
+
} & Partial<Pick<MessageContextValue<StreamChatGenerics>, 'isMessageAIGenerated'>>;
|
|
73
74
|
|
|
74
75
|
export const ChatContext = React.createContext(DEFAULT_BASE_CONTEXT_VALUE as ChatContextValue);
|
|
75
76
|
|
|
@@ -85,6 +85,10 @@ export type MessageContextValue<
|
|
|
85
85
|
images: Attachment<StreamChatGenerics>[];
|
|
86
86
|
/** Boolean that determines if the edited message is pressed. */
|
|
87
87
|
isEditedMessageOpen: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* A factory function that determines whether a message is AI generated or not.
|
|
90
|
+
*/
|
|
91
|
+
isMessageAIGenerated: (message: MessageType<StreamChatGenerics>) => boolean;
|
|
88
92
|
/** Whether or not this is the active user's message */
|
|
89
93
|
isMyMessage: boolean;
|
|
90
94
|
/** Whether or not this is the last message in a group of messages */
|
|
@@ -385,7 +385,7 @@ export type InputMessageInputContextValue<
|
|
|
385
385
|
* Defaults to and accepts same props as: [AudioRecordingButton](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx)
|
|
386
386
|
*/
|
|
387
387
|
StartAudioRecordingButton: React.ComponentType<AudioRecordingButtonProps<StreamChatGenerics>>;
|
|
388
|
-
StopMessageStreamingButton: React.ComponentType<StopMessageStreamingButtonProps
|
|
388
|
+
StopMessageStreamingButton: React.ComponentType<StopMessageStreamingButtonProps> | null;
|
|
389
389
|
/**
|
|
390
390
|
* Custom UI component to render upload progress indicator on attachment preview.
|
|
391
391
|
*
|
|
@@ -52,7 +52,7 @@ import type { ReplyProps } from '../../components/Reply/Reply';
|
|
|
52
52
|
import type { FlatList } from '../../native';
|
|
53
53
|
import type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';
|
|
54
54
|
import type { ReactionData } from '../../utils/utils';
|
|
55
|
-
import type { Alignment } from '../messageContext/MessageContext';
|
|
55
|
+
import type { Alignment, MessageContextValue } from '../messageContext/MessageContext';
|
|
56
56
|
import type { SuggestionCommand } from '../suggestionsContext/SuggestionsContext';
|
|
57
57
|
import type { DeepPartial } from '../themeContext/ThemeContext';
|
|
58
58
|
import type { Theme } from '../themeContext/utils/theme';
|
|
@@ -73,7 +73,7 @@ export type DeletedMessagesVisibilityType = 'always' | 'never' | 'receiver' | 's
|
|
|
73
73
|
|
|
74
74
|
export type MessagesContextValue<
|
|
75
75
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
76
|
-
> = {
|
|
76
|
+
> = Pick<MessageContextValue<StreamChatGenerics>, 'isMessageAIGenerated'> & {
|
|
77
77
|
/**
|
|
78
78
|
* UI component for Attachment.
|
|
79
79
|
* Defaults to: [Attachment](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Attachment/Attachment.tsx)
|
package/src/utils/utils.ts
CHANGED
|
@@ -108,7 +108,7 @@ export const isEditedMessage = <
|
|
|
108
108
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
109
109
|
>(
|
|
110
110
|
message: MessageType<StreamChatGenerics>,
|
|
111
|
-
) => !!message.message_text_updated_at
|
|
111
|
+
) => !!message.message_text_updated_at;
|
|
112
112
|
|
|
113
113
|
/**
|
|
114
114
|
* Default emoji search index for auto complete text input
|
package/src/version.json
CHANGED