stream-chat-react-native-core 8.11.0 → 8.12.0

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.
Files changed (197) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Channel/Channel.js +26 -17
  3. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  4. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +3 -2
  5. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  6. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -0
  7. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  8. package/lib/commonjs/components/Message/Message.js +6 -8
  9. package/lib/commonjs/components/Message/Message.js.map +1 -1
  10. package/lib/commonjs/components/Message/MessageSimple/MessageBlocked.js +70 -0
  11. package/lib/commonjs/components/Message/MessageSimple/MessageBlocked.js.map +1 -0
  12. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +0 -2
  13. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  14. package/lib/commonjs/components/Message/MessageSimple/MessageWrapper.js +126 -0
  15. package/lib/commonjs/components/Message/MessageSimple/MessageWrapper.js.map +1 -0
  16. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -3
  17. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  18. package/lib/commonjs/components/MessageList/MessageFlashList.js +74 -105
  19. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  20. package/lib/commonjs/components/MessageList/MessageList.js +77 -119
  21. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  22. package/lib/commonjs/components/MessageList/UnreadMessagesNotification.js +2 -2
  23. package/lib/commonjs/components/MessageList/UnreadMessagesNotification.js.map +1 -1
  24. package/lib/commonjs/components/MessageList/hooks/useMessageDateSeparator.js +45 -0
  25. package/lib/commonjs/components/MessageList/hooks/useMessageDateSeparator.js.map +1 -0
  26. package/lib/commonjs/components/MessageList/hooks/useMessageGroupStyles.js +46 -0
  27. package/lib/commonjs/components/MessageList/hooks/useMessageGroupStyles.js.map +1 -0
  28. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +49 -29
  29. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  30. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +5 -14
  31. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  32. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +22 -17
  33. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  34. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +1 -1
  35. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  36. package/lib/commonjs/components/index.js +33 -0
  37. package/lib/commonjs/components/index.js.map +1 -1
  38. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  39. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  40. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +3 -0
  41. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  42. package/lib/commonjs/contexts/messageListItemContext/MessageListItemContext.js +29 -0
  43. package/lib/commonjs/contexts/messageListItemContext/MessageListItemContext.js.map +1 -0
  44. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  45. package/lib/commonjs/contexts/themeContext/utils/theme.js +6 -0
  46. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  47. package/lib/commonjs/state-store/channel-unread-state.js +31 -0
  48. package/lib/commonjs/state-store/channel-unread-state.js.map +1 -0
  49. package/lib/commonjs/state-store/message-list-prev-next-state.js +46 -0
  50. package/lib/commonjs/state-store/message-list-prev-next-state.js.map +1 -0
  51. package/lib/commonjs/store/apis/getChannelMessages.js +7 -10
  52. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  53. package/lib/commonjs/utils/utils.js +4 -4
  54. package/lib/commonjs/utils/utils.js.map +1 -1
  55. package/lib/commonjs/version.json +1 -1
  56. package/lib/module/components/Channel/Channel.js +26 -17
  57. package/lib/module/components/Channel/Channel.js.map +1 -1
  58. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +3 -2
  59. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  60. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -0
  61. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  62. package/lib/module/components/Message/Message.js +6 -8
  63. package/lib/module/components/Message/Message.js.map +1 -1
  64. package/lib/module/components/Message/MessageSimple/MessageBlocked.js +70 -0
  65. package/lib/module/components/Message/MessageSimple/MessageBlocked.js.map +1 -0
  66. package/lib/module/components/Message/MessageSimple/MessageContent.js +0 -2
  67. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  68. package/lib/module/components/Message/MessageSimple/MessageWrapper.js +126 -0
  69. package/lib/module/components/Message/MessageSimple/MessageWrapper.js.map +1 -0
  70. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -3
  71. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  72. package/lib/module/components/MessageList/MessageFlashList.js +74 -105
  73. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  74. package/lib/module/components/MessageList/MessageList.js +77 -119
  75. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  76. package/lib/module/components/MessageList/UnreadMessagesNotification.js +2 -2
  77. package/lib/module/components/MessageList/UnreadMessagesNotification.js.map +1 -1
  78. package/lib/module/components/MessageList/hooks/useMessageDateSeparator.js +45 -0
  79. package/lib/module/components/MessageList/hooks/useMessageDateSeparator.js.map +1 -0
  80. package/lib/module/components/MessageList/hooks/useMessageGroupStyles.js +46 -0
  81. package/lib/module/components/MessageList/hooks/useMessageGroupStyles.js.map +1 -0
  82. package/lib/module/components/MessageList/hooks/useMessageList.js +49 -29
  83. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  84. package/lib/module/components/MessageList/utils/getDateSeparators.js +5 -14
  85. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  86. package/lib/module/components/MessageList/utils/getGroupStyles.js +22 -17
  87. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  88. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +1 -1
  89. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  90. package/lib/module/components/index.js +33 -0
  91. package/lib/module/components/index.js.map +1 -1
  92. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  93. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  94. package/lib/module/contexts/messageInputContext/MessageInputContext.js +3 -0
  95. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  96. package/lib/module/contexts/messageListItemContext/MessageListItemContext.js +29 -0
  97. package/lib/module/contexts/messageListItemContext/MessageListItemContext.js.map +1 -0
  98. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  99. package/lib/module/contexts/themeContext/utils/theme.js +6 -0
  100. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  101. package/lib/module/state-store/channel-unread-state.js +31 -0
  102. package/lib/module/state-store/channel-unread-state.js.map +1 -0
  103. package/lib/module/state-store/message-list-prev-next-state.js +46 -0
  104. package/lib/module/state-store/message-list-prev-next-state.js.map +1 -0
  105. package/lib/module/store/apis/getChannelMessages.js +7 -10
  106. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  107. package/lib/module/utils/utils.js +4 -4
  108. package/lib/module/utils/utils.js.map +1 -1
  109. package/lib/module/version.json +1 -1
  110. package/lib/typescript/components/Channel/Channel.d.ts +3 -3
  111. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  112. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  113. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  114. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  115. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  116. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +2 -2
  117. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
  118. package/lib/typescript/components/Message/Message.d.ts +1 -1
  119. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  120. package/lib/typescript/components/Message/MessageSimple/MessageBlocked.d.ts +19 -0
  121. package/lib/typescript/components/Message/MessageSimple/MessageBlocked.d.ts.map +1 -0
  122. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts.map +1 -1
  123. package/lib/typescript/components/Message/MessageSimple/MessageWrapper.d.ts +7 -0
  124. package/lib/typescript/components/Message/MessageSimple/MessageWrapper.d.ts.map +1 -0
  125. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  126. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
  127. package/lib/typescript/components/MessageList/MessageFlashList.d.ts +1 -1
  128. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  129. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  130. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  131. package/lib/typescript/components/MessageList/hooks/useMessageDateSeparator.d.ts +16 -0
  132. package/lib/typescript/components/MessageList/hooks/useMessageDateSeparator.d.ts.map +1 -0
  133. package/lib/typescript/components/MessageList/hooks/useMessageGroupStyles.d.ts +15 -0
  134. package/lib/typescript/components/MessageList/hooks/useMessageGroupStyles.d.ts.map +1 -0
  135. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +8 -0
  136. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  137. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +12 -0
  138. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts.map +1 -1
  139. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +25 -0
  140. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts.map +1 -1
  141. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts.map +1 -1
  142. package/lib/typescript/components/index.d.ts +3 -0
  143. package/lib/typescript/components/index.d.ts.map +1 -1
  144. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +10 -4
  145. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  146. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +4 -1
  147. package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
  148. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  149. package/lib/typescript/contexts/messageListItemContext/MessageListItemContext.d.ts +37 -0
  150. package/lib/typescript/contexts/messageListItemContext/MessageListItemContext.d.ts.map +1 -0
  151. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +11 -1
  152. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  153. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +6 -0
  154. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  155. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  156. package/lib/typescript/state-store/channel-unread-state.d.ts +12 -0
  157. package/lib/typescript/state-store/channel-unread-state.d.ts.map +1 -0
  158. package/lib/typescript/state-store/message-list-prev-next-state.d.ts +16 -0
  159. package/lib/typescript/state-store/message-list-prev-next-state.d.ts.map +1 -0
  160. package/lib/typescript/store/apis/getChannelMessages.d.ts.map +1 -1
  161. package/lib/typescript/utils/utils.d.ts +1 -2
  162. package/lib/typescript/utils/utils.d.ts.map +1 -1
  163. package/package.json +2 -2
  164. package/src/components/Channel/Channel.tsx +31 -16
  165. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -2
  166. package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -0
  167. package/src/components/Message/Message.tsx +6 -15
  168. package/src/components/Message/MessageSimple/MessageBlocked.tsx +67 -0
  169. package/src/components/Message/MessageSimple/MessageContent.tsx +0 -2
  170. package/src/components/Message/MessageSimple/MessageWrapper.tsx +147 -0
  171. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +1 -5
  172. package/src/components/Message/hooks/useCreateMessageContext.ts +0 -3
  173. package/src/components/MessageList/MessageFlashList.tsx +81 -143
  174. package/src/components/MessageList/MessageList.tsx +83 -165
  175. package/src/components/MessageList/UnreadMessagesNotification.tsx +2 -2
  176. package/src/components/MessageList/__tests__/MessageList.test.js +10 -8
  177. package/src/components/MessageList/__tests__/useMessageDateSeparator.test.ts +83 -0
  178. package/src/components/MessageList/hooks/useMessageDateSeparator.ts +66 -0
  179. package/src/components/MessageList/hooks/useMessageGroupStyles.ts +75 -0
  180. package/src/components/MessageList/hooks/useMessageList.ts +68 -36
  181. package/src/components/MessageList/utils/getDateSeparators.ts +16 -20
  182. package/src/components/MessageList/utils/getGroupStyles.ts +44 -33
  183. package/src/components/MessageList/utils/getLastReceivedMessage.ts +1 -4
  184. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +6 -6
  185. package/src/components/index.ts +3 -0
  186. package/src/contexts/channelContext/ChannelContext.tsx +13 -4
  187. package/src/contexts/messageContext/MessageContext.tsx +4 -1
  188. package/src/contexts/messageInputContext/MessageInputContext.tsx +5 -0
  189. package/src/contexts/messageListItemContext/MessageListItemContext.tsx +63 -0
  190. package/src/contexts/messagesContext/MessagesContext.tsx +16 -1
  191. package/src/contexts/themeContext/utils/theme.ts +12 -0
  192. package/src/state-store/channel-unread-state.ts +28 -0
  193. package/src/state-store/message-list-prev-next-state.ts +58 -0
  194. package/src/store/apis/getChannelMessages.ts +9 -12
  195. package/src/utils/utils.ts +9 -8
  196. package/src/version.json +1 -1
  197. package/src/components/MessageList/utils/__tests__/getDateSeparators.test.ts +0 -71
@@ -31,6 +31,7 @@ import type {
31
31
  MessageProps,
32
32
  } from '../../components/Message/Message';
33
33
  import type { MessageAvatarProps } from '../../components/Message/MessageSimple/MessageAvatar';
34
+ import type { MessageBlockedProps } from '../../components/Message/MessageSimple/MessageBlocked';
34
35
  import type { MessageBounceProps } from '../../components/Message/MessageSimple/MessageBounce';
35
36
  import type { MessageContentProps } from '../../components/Message/MessageSimple/MessageContent';
36
37
  import type { MessageDeletedProps } from '../../components/Message/MessageSimple/MessageDeleted';
@@ -55,7 +56,11 @@ import type { MessageSystemProps } from '../../components/MessageList/MessageSys
55
56
  import type { ScrollToBottomButtonProps } from '../../components/MessageList/ScrollToBottomButton';
56
57
  import { TypingIndicatorContainerProps } from '../../components/MessageList/TypingIndicatorContainer';
57
58
  import { UnreadMessagesNotificationProps } from '../../components/MessageList/UnreadMessagesNotification';
58
- import type { getGroupStyles } from '../../components/MessageList/utils/getGroupStyles';
59
+ import type {
60
+ getGroupStyles,
61
+ GroupStyle,
62
+ MessageGroupStylesParams,
63
+ } from '../../components/MessageList/utils/getGroupStyles';
59
64
  import { MessageActionListProps } from '../../components/MessageMenu/MessageActionList';
60
65
  import type {
61
66
  MessageActionListItemProps,
@@ -206,6 +211,11 @@ export type MessagesContextValue = Pick<MessageContextValue, 'isMessageAIGenerat
206
211
  * Defaults to: [MessageAvatar](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/MessageSimple/MessageAvatar.tsx)
207
212
  **/
208
213
  MessageAvatar: React.ComponentType<MessageAvatarProps>;
214
+ /**
215
+ * UI component for MessageBlocked
216
+ * Defaults to: [MessageBlocked](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/MessageSimple/MessageBlocked.tsx)
217
+ */
218
+ MessageBlocked: React.ComponentType<MessageBlockedProps>;
209
219
  /**
210
220
  * UI Component for MessageBounce
211
221
  */
@@ -401,7 +411,12 @@ export type MessagesContextValue = Pick<MessageContextValue, 'isMessageAIGenerat
401
411
  */
402
412
  forceAlignMessages?: Alignment | boolean;
403
413
 
414
+ /**
415
+ * @deprecated in favor of `getMessageGroupStyle`
416
+ */
404
417
  getMessagesGroupStyles?: typeof getGroupStyles;
418
+
419
+ getMessageGroupStyle?: (params: MessageGroupStylesParams) => GroupStyle[];
405
420
  /**
406
421
  * Handler to access when a ban user action is invoked.
407
422
  * @param message
@@ -655,6 +655,12 @@ export type Theme = {
655
655
  };
656
656
  messageGroupedSingleOrBottomContainer: ViewStyle;
657
657
  messageGroupedTopContainer: ViewStyle;
658
+ messageBlocked: {
659
+ container: ViewStyle;
660
+ line: ViewStyle;
661
+ text: TextStyle;
662
+ textContainer: ViewStyle;
663
+ };
658
664
  pinnedHeader: {
659
665
  container: ViewStyle;
660
666
  label: TextStyle;
@@ -1469,6 +1475,12 @@ export const defaultTheme: Theme = {
1469
1475
  container: {},
1470
1476
  roundedView: {},
1471
1477
  },
1478
+ messageBlocked: {
1479
+ container: {},
1480
+ line: {},
1481
+ text: {},
1482
+ textContainer: {},
1483
+ },
1472
1484
  messageGroupedSingleOrBottomContainer: {},
1473
1485
  messageGroupedTopContainer: {},
1474
1486
  pinnedHeader: {
@@ -0,0 +1,28 @@
1
+ import { StateStore } from 'stream-chat';
2
+
3
+ import type { ChannelUnreadState as ChannelUnreadStateType } from '../types/types';
4
+
5
+ export type ChannelUnreadStateStoreType = {
6
+ channelUnreadState?: ChannelUnreadStateType;
7
+ };
8
+
9
+ const INITIAL_STATE: ChannelUnreadStateStoreType = {
10
+ channelUnreadState: undefined,
11
+ };
12
+
13
+ export class ChannelUnreadStateStore {
14
+ public state: StateStore<ChannelUnreadStateStoreType>;
15
+
16
+ constructor() {
17
+ this.state = new StateStore<ChannelUnreadStateStoreType>(INITIAL_STATE);
18
+ }
19
+
20
+ set channelUnreadState(data: ChannelUnreadStateStoreType['channelUnreadState']) {
21
+ this.state.next({ channelUnreadState: data });
22
+ }
23
+
24
+ get channelUnreadState() {
25
+ const { channelUnreadState } = this.state.getLatestValue();
26
+ return channelUnreadState;
27
+ }
28
+ }
@@ -0,0 +1,58 @@
1
+ import { LocalMessage, StateStore } from 'stream-chat';
2
+
3
+ export type MessagePreviousAndNextMessageStoreType = {
4
+ messageList: Record<
5
+ string,
6
+ {
7
+ previousMessage: LocalMessage;
8
+ nextMessage: LocalMessage;
9
+ }
10
+ >;
11
+ };
12
+
13
+ const INITIAL_STATE: MessagePreviousAndNextMessageStoreType = {
14
+ messageList: {},
15
+ };
16
+
17
+ export class MessagePreviousAndNextMessageStore {
18
+ public state: StateStore<MessagePreviousAndNextMessageStoreType>;
19
+
20
+ constructor() {
21
+ this.state = new StateStore<MessagePreviousAndNextMessageStoreType>(INITIAL_STATE);
22
+ }
23
+
24
+ // The default value of isFlashList is true as the logic in the function makes more sense when the list is not reversed.
25
+ public setMessageListPreviousAndNextMessage({
26
+ messages,
27
+ isFlashList = true,
28
+ }: {
29
+ messages: LocalMessage[];
30
+ isFlashList?: boolean;
31
+ }) {
32
+ const currentValue = this.state.getLatestValue();
33
+ const prevMessageList: MessagePreviousAndNextMessageStoreType['messageList'] =
34
+ currentValue.messageList;
35
+ const newMessageList: MessagePreviousAndNextMessageStoreType['messageList'] = {};
36
+ for (let i = 0; i < messages.length; i++) {
37
+ const message = messages[i];
38
+ const previousMessage = isFlashList ? messages[i - 1] : messages[i + 1];
39
+ const nextMessage = isFlashList ? messages[i + 1] : messages[i - 1];
40
+
41
+ const existing = prevMessageList[message.id];
42
+
43
+ if (
44
+ existing &&
45
+ existing.previousMessage === previousMessage &&
46
+ existing.nextMessage === nextMessage
47
+ ) {
48
+ newMessageList[message.id] = existing;
49
+ } else {
50
+ newMessageList[message.id] = {
51
+ nextMessage,
52
+ previousMessage,
53
+ };
54
+ }
55
+ }
56
+ this.state.partialNext({ messageList: newMessageList });
57
+ }
58
+ }
@@ -4,7 +4,6 @@ import { selectMessagesForChannels } from './queries/selectMessagesForChannels';
4
4
 
5
5
  import { selectReactionsForMessages } from './queries/selectReactionsForMessages';
6
6
 
7
- import { isBlockedMessage } from '../../utils/utils';
8
7
  import { mapStorableToMessage } from '../mappers/mapStorableToMessage';
9
8
  import { createSelectQuery } from '../sqlite-utils/createSelectQuery';
10
9
  import { SqliteClient } from '../SqliteClient';
@@ -82,17 +81,15 @@ export const getChannelMessages = async ({
82
81
  cidVsMessages[m.cid] = [];
83
82
  }
84
83
 
85
- if (!isBlockedMessage(m)) {
86
- cidVsMessages[m.cid].push(
87
- mapStorableToMessage({
88
- currentUserId,
89
- messageRow: m,
90
- pollRow: messageIdsVsPolls[m.poll_id],
91
- reactionRows: messageIdVsReactions[m.id],
92
- reminderRow: messageIdsVsReminders[m.id],
93
- }),
94
- );
95
- }
84
+ cidVsMessages[m.cid].push(
85
+ mapStorableToMessage({
86
+ currentUserId,
87
+ messageRow: m,
88
+ pollRow: messageIdsVsPolls[m.poll_id],
89
+ reactionRows: messageIdVsReactions[m.id],
90
+ reminderRow: messageIdsVsReminders[m.id],
91
+ }),
92
+ );
96
93
  });
97
94
 
98
95
  return cidVsMessages;
@@ -10,7 +10,6 @@ import type {
10
10
  } from 'stream-chat';
11
11
 
12
12
  import { IconProps } from '../../src/icons/utils/base';
13
- import type { TableRowJoinedUser } from '../store/types';
14
13
  import { ValueOf } from '../types/types';
15
14
 
16
15
  export type ReactionData = {
@@ -74,10 +73,12 @@ export const getIndicatorTypeForFileState = (
74
73
  * @param message
75
74
  * @returns boolean
76
75
  */
77
- export const isBlockedMessage = (message: LocalMessage | TableRowJoinedUser<'messages'>) => {
78
- // The only indicator for the blocked message is its message type is error and that the message text contains "Message was blocked by moderation policies".
79
- const pattern = /\bMessage was blocked by moderation policies\b/;
80
- return message.type === 'error' && message.text && pattern.test(message.text);
76
+ export const isBlockedMessage = (message: LocalMessage) => {
77
+ return (
78
+ message.type === 'error' &&
79
+ (message.moderation_details?.action === 'MESSAGE_RESPONSE_ACTION_REMOVE' ||
80
+ message.moderation?.action === 'remove')
81
+ );
81
82
  };
82
83
 
83
84
  /**
@@ -86,9 +87,9 @@ export const isBlockedMessage = (message: LocalMessage | TableRowJoinedUser<'mes
86
87
  * @returns boolean
87
88
  */
88
89
  export const isBouncedMessage = (message: LocalMessage) =>
89
- (message.type === 'error' &&
90
- message?.moderation_details?.action === 'MESSAGE_RESPONSE_ACTION_BOUNCE') ||
91
- message?.moderation?.action === 'bounce';
90
+ message.type === 'error' &&
91
+ (message?.moderation_details?.action === 'MESSAGE_RESPONSE_ACTION_BOUNCE' ||
92
+ message?.moderation?.action === 'bounce');
92
93
 
93
94
  /**
94
95
  * Utility to check if the message is a edited message.
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "8.11.0"
2
+ "version": "8.12.0"
3
3
  }
@@ -1,71 +0,0 @@
1
- import type { PaginatedMessageListContextValue } from '../../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
2
- import { getDateSeparators } from '../getDateSeparators';
3
-
4
- describe('getDateSeparators', () => {
5
- it('should return an empty object if no messages are passed', () => {
6
- expect(getDateSeparators({ messages: [] })).toEqual({});
7
- });
8
-
9
- it('should return a date separator for each message in a new day', () => {
10
- const firstDate = new Date('2020-01-01T00:00:00.000Z');
11
- const secondDate = new Date('2020-01-02T00:00:00.000Z');
12
- const messages = [
13
- {
14
- created_at: firstDate,
15
- id: '1',
16
- text: 'foo',
17
- },
18
- {
19
- created_at: secondDate,
20
- id: '2',
21
- text: 'bar',
22
- },
23
- {
24
- created_at: secondDate,
25
- id: '3',
26
- text: 'baz',
27
- },
28
- ] as PaginatedMessageListContextValue['messages'];
29
-
30
- expect(getDateSeparators({ messages })).toEqual({
31
- 1: firstDate,
32
- 2: secondDate,
33
- });
34
- });
35
-
36
- it('should return a date separator for the visible message in a day if deleted messages are not visible to the user', () => {
37
- const firstDate = new Date('2020-01-01T00:00:00.000Z');
38
- const secondDate = new Date('2020-01-02T00:00:00.000Z');
39
-
40
- const messages = [
41
- {
42
- created_at: firstDate,
43
- id: '1',
44
- text: 'foo',
45
- type: 'regular',
46
- },
47
- {
48
- created_at: secondDate,
49
- id: '2',
50
- text: 'bar',
51
- type: 'deleted',
52
- },
53
- {
54
- created_at: secondDate,
55
- id: '3',
56
- text: 'baz',
57
- type: 'regular',
58
- },
59
- ] as PaginatedMessageListContextValue['messages'];
60
-
61
- expect(getDateSeparators({ deletedMessagesVisibilityType: 'never', messages })).toEqual({
62
- 1: firstDate,
63
- 3: secondDate,
64
- });
65
-
66
- expect(getDateSeparators({ deletedMessagesVisibilityType: 'receiver', messages })).toEqual({
67
- 1: firstDate,
68
- 3: secondDate,
69
- });
70
- });
71
- });