stream-chat-react-native-core 5.31.2-beta.2 → 5.32.0-beta.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 +21 -20
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +9 -19
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +1 -2
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +54 -37
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +6 -11
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useProcessReactions.js +90 -0
- package/lib/commonjs/components/Message/hooks/useProcessReactions.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +3 -12
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +47 -143
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsItem.js +166 -0
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsItem.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/hooks/useFetchReactions.js +144 -0
- package/lib/commonjs/components/MessageOverlay/hooks/useFetchReactions.js.map +1 -0
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +0 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/i18n/es.json +13 -13
- package/lib/commonjs/i18n/fr.json +13 -13
- package/lib/commonjs/i18n/he.json +13 -13
- package/lib/commonjs/i18n/hi.json +13 -13
- package/lib/commonjs/i18n/it.json +13 -13
- package/lib/commonjs/i18n/ja.json +13 -13
- package/lib/commonjs/i18n/ko.json +13 -13
- package/lib/commonjs/i18n/nl.json +13 -13
- package/lib/commonjs/i18n/pt-BR.json +13 -13
- package/lib/commonjs/i18n/ru.json +13 -13
- package/lib/commonjs/i18n/tr.json +13 -13
- package/lib/commonjs/mock-builders/generator/message.js +2 -0
- package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient.js +1 -1
- package/lib/commonjs/store/apis/getReactions.js +17 -0
- package/lib/commonjs/store/apis/getReactions.js.map +1 -0
- package/lib/commonjs/store/apis/getReactionsforFilterSort.js +30 -0
- package/lib/commonjs/store/apis/getReactionsforFilterSort.js.map +1 -0
- package/lib/commonjs/store/apis/insertReaction.js +8 -1
- package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +1 -1
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/commonjs/store/apis/updateReaction.js +6 -6
- package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
- package/lib/commonjs/store/mappers/mapMessageToStorable.js +5 -3
- package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToMessage.js +5 -3
- package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -1
- package/lib/commonjs/store/schema.js +2 -1
- package/lib/commonjs/store/schema.js.map +1 -1
- package/lib/commonjs/utils/addReactionToLocalState.js +25 -13
- package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
- package/lib/commonjs/utils/removeReactionFromLocalState.js +11 -3
- package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
- package/lib/commonjs/utils/removeReservedFields.js +1 -1
- package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
- package/lib/commonjs/utils/utils.js +19 -5
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +21 -20
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
- package/lib/module/components/Message/Message.js +9 -19
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -2
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +54 -37
- package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +6 -11
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useProcessReactions.js +90 -0
- package/lib/module/components/Message/hooks/useProcessReactions.js.map +1 -0
- package/lib/module/components/MessageOverlay/MessageOverlay.js +3 -12
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +47 -143
- package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionsItem.js +166 -0
- package/lib/module/components/MessageOverlay/OverlayReactionsItem.js.map +1 -0
- package/lib/module/components/MessageOverlay/hooks/useFetchReactions.js +144 -0
- package/lib/module/components/MessageOverlay/hooks/useFetchReactions.js.map +1 -0
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +0 -1
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/i18n/es.json +13 -13
- package/lib/module/i18n/fr.json +13 -13
- package/lib/module/i18n/he.json +13 -13
- package/lib/module/i18n/hi.json +13 -13
- package/lib/module/i18n/it.json +13 -13
- package/lib/module/i18n/ja.json +13 -13
- package/lib/module/i18n/ko.json +13 -13
- package/lib/module/i18n/nl.json +13 -13
- package/lib/module/i18n/pt-BR.json +13 -13
- package/lib/module/i18n/ru.json +13 -13
- package/lib/module/i18n/tr.json +13 -13
- package/lib/module/mock-builders/generator/message.js +2 -0
- package/lib/module/mock-builders/generator/message.js.map +1 -1
- package/lib/module/store/QuickSqliteClient.js +1 -1
- package/lib/module/store/apis/getReactions.js +17 -0
- package/lib/module/store/apis/getReactions.js.map +1 -0
- package/lib/module/store/apis/getReactionsforFilterSort.js +30 -0
- package/lib/module/store/apis/getReactionsforFilterSort.js.map +1 -0
- package/lib/module/store/apis/insertReaction.js +8 -1
- package/lib/module/store/apis/insertReaction.js.map +1 -1
- package/lib/module/store/apis/queries/selectReactionsForMessages.js +1 -1
- package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/module/store/apis/updateReaction.js +6 -6
- package/lib/module/store/apis/updateReaction.js.map +1 -1
- package/lib/module/store/mappers/mapMessageToStorable.js +5 -3
- package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToMessage.js +5 -3
- package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -1
- package/lib/module/store/schema.js +2 -1
- package/lib/module/store/schema.js.map +1 -1
- package/lib/module/utils/addReactionToLocalState.js +25 -13
- package/lib/module/utils/addReactionToLocalState.js.map +1 -1
- package/lib/module/utils/removeReactionFromLocalState.js +11 -3
- package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
- package/lib/module/utils/removeReservedFields.js +1 -1
- package/lib/module/utils/removeReservedFields.js.map +1 -1
- package/lib/module/utils/utils.js +19 -5
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +2 -2
- package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts.map +1 -1
- package/lib/typescript/components/Message/Message.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +11 -3
- package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useProcessReactions.d.ts +38 -0
- package/lib/typescript/components/Message/hooks/useProcessReactions.d.ts.map +1 -0
- package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts.map +1 -1
- package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +2 -1
- package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts.map +1 -1
- package/lib/typescript/components/MessageOverlay/OverlayReactionsItem.d.ts +11 -0
- package/lib/typescript/components/MessageOverlay/OverlayReactionsItem.d.ts.map +1 -0
- package/lib/typescript/components/MessageOverlay/hooks/useFetchReactions.d.ts +14 -0
- package/lib/typescript/components/MessageOverlay/hooks/useFetchReactions.d.ts.map +1 -0
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +3 -6
- 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/themeContext/utils/theme.d.ts +0 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
- package/lib/typescript/i18n/es.json +13 -13
- package/lib/typescript/i18n/fr.json +13 -13
- package/lib/typescript/i18n/he.json +13 -13
- package/lib/typescript/i18n/hi.json +13 -13
- package/lib/typescript/i18n/it.json +13 -13
- package/lib/typescript/i18n/ja.json +13 -13
- package/lib/typescript/i18n/ko.json +13 -13
- package/lib/typescript/i18n/nl.json +13 -13
- package/lib/typescript/i18n/pt-BR.json +13 -13
- package/lib/typescript/i18n/ru.json +13 -13
- package/lib/typescript/i18n/tr.json +13 -13
- package/lib/typescript/store/apis/getReactions.d.ts +7 -0
- package/lib/typescript/store/apis/getReactions.d.ts.map +1 -0
- package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts +14 -0
- package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts.map +1 -0
- package/lib/typescript/store/apis/insertReaction.d.ts +3 -2
- package/lib/typescript/store/apis/insertReaction.d.ts.map +1 -1
- package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +4 -0
- package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts.map +1 -1
- package/lib/typescript/store/apis/updateReaction.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapMessageToStorable.d.ts.map +1 -1
- package/lib/typescript/store/mappers/mapStorableToMessage.d.ts.map +1 -1
- package/lib/typescript/store/schema.d.ts +2 -1
- package/lib/typescript/store/schema.d.ts.map +1 -1
- package/lib/typescript/utils/addReactionToLocalState.d.ts.map +1 -1
- package/lib/typescript/utils/removeReactionFromLocalState.d.ts.map +1 -1
- package/lib/typescript/utils/removeReservedFields.d.ts.map +1 -1
- package/lib/typescript/utils/utils.d.ts +9 -3
- package/lib/typescript/utils/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +24 -34
- package/src/components/Chat/hooks/handleEventToSyncDB.ts +1 -2
- package/src/components/Message/Message.tsx +8 -26
- package/src/components/Message/MessageSimple/MessageFooter.tsx +1 -1
- package/src/components/Message/MessageSimple/ReactionList.tsx +72 -47
- package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +1 -1
- package/src/components/Message/hooks/useCreateMessageContext.ts +5 -10
- package/src/components/Message/hooks/useProcessReactions.ts +116 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +4 -17
- package/src/components/MessageOverlay/OverlayReactions.tsx +75 -176
- package/src/components/MessageOverlay/OverlayReactionsItem.tsx +188 -0
- package/src/components/MessageOverlay/hooks/useFetchReactions.ts +85 -0
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +139 -0
- package/src/contexts/messageContext/MessageContext.tsx +2 -6
- package/src/contexts/themeContext/utils/theme.ts +0 -2
- package/src/i18n/es.json +13 -13
- package/src/i18n/fr.json +13 -13
- package/src/i18n/he.json +13 -13
- package/src/i18n/hi.json +13 -13
- package/src/i18n/it.json +13 -13
- package/src/i18n/ja.json +13 -13
- package/src/i18n/ko.json +13 -13
- package/src/i18n/nl.json +13 -13
- package/src/i18n/pt-BR.json +13 -13
- package/src/i18n/ru.json +13 -13
- package/src/i18n/tr.json +13 -13
- package/src/mock-builders/generator/message.js +2 -0
- package/src/store/QuickSqliteClient.ts +1 -1
- package/src/store/apis/getReactions.ts +21 -0
- package/src/store/apis/getReactionsforFilterSort.ts +43 -0
- package/src/store/apis/insertReaction.ts +15 -5
- package/src/store/apis/queries/selectReactionsForMessages.ts +5 -1
- package/src/store/apis/updateReaction.ts +6 -18
- package/src/store/mappers/mapMessageToStorable.ts +4 -2
- package/src/store/mappers/mapStorableToMessage.ts +12 -2
- package/src/store/schema.ts +4 -2
- package/src/utils/addReactionToLocalState.ts +33 -17
- package/src/utils/removeReactionFromLocalState.ts +22 -2
- package/src/utils/removeReservedFields.ts +2 -0
- package/src/utils/utils.ts +19 -7
- package/src/version.json +1 -1
|
@@ -49,30 +49,45 @@ export const addReactionToLocalState = <
|
|
|
49
49
|
message.latest_reactions = [];
|
|
50
50
|
}
|
|
51
51
|
message.latest_reactions = message.latest_reactions.filter((r) => r.user_id !== user.id);
|
|
52
|
+
|
|
52
53
|
if (
|
|
53
54
|
currentReaction &&
|
|
54
|
-
message.
|
|
55
|
-
message.
|
|
56
|
-
message.
|
|
55
|
+
message.reaction_groups &&
|
|
56
|
+
message.reaction_groups[currentReaction.type] &&
|
|
57
|
+
message.reaction_groups[currentReaction.type].count > 0 &&
|
|
58
|
+
message.reaction_groups[currentReaction.type].sum_scores > 0
|
|
57
59
|
) {
|
|
58
|
-
message.
|
|
59
|
-
message.
|
|
60
|
+
message.reaction_groups[currentReaction.type].count =
|
|
61
|
+
message.reaction_groups[currentReaction.type].count - 1;
|
|
62
|
+
message.reaction_groups[currentReaction.type].sum_scores =
|
|
63
|
+
message.reaction_groups[currentReaction.type].sum_scores - 1;
|
|
60
64
|
}
|
|
61
65
|
|
|
62
|
-
if (!message.
|
|
63
|
-
message.
|
|
64
|
-
[reactionType]:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (!message.reaction_counts) {
|
|
71
|
-
message.reaction_counts = {
|
|
72
|
-
[reactionType]: 1,
|
|
66
|
+
if (!message.reaction_groups) {
|
|
67
|
+
message.reaction_groups = {
|
|
68
|
+
[reactionType]: {
|
|
69
|
+
count: 1,
|
|
70
|
+
first_reaction_at: new Date().toISOString(),
|
|
71
|
+
last_reaction_at: new Date().toISOString(),
|
|
72
|
+
sum_scores: 1,
|
|
73
|
+
},
|
|
73
74
|
};
|
|
74
75
|
} else {
|
|
75
|
-
|
|
76
|
+
if (!message.reaction_groups[reactionType]) {
|
|
77
|
+
message.reaction_groups[reactionType] = {
|
|
78
|
+
count: 1,
|
|
79
|
+
first_reaction_at: new Date().toISOString(),
|
|
80
|
+
last_reaction_at: new Date().toISOString(),
|
|
81
|
+
sum_scores: 1,
|
|
82
|
+
};
|
|
83
|
+
} else {
|
|
84
|
+
message.reaction_groups[reactionType] = {
|
|
85
|
+
...message.reaction_groups[reactionType],
|
|
86
|
+
count: message.reaction_groups[reactionType].count + 1,
|
|
87
|
+
last_reaction_at: new Date().toISOString(),
|
|
88
|
+
sum_scores: message.reaction_groups[reactionType].sum_scores + 1,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
76
91
|
}
|
|
77
92
|
}
|
|
78
93
|
|
|
@@ -86,6 +101,7 @@ export const addReactionToLocalState = <
|
|
|
86
101
|
});
|
|
87
102
|
} else {
|
|
88
103
|
insertReaction({
|
|
104
|
+
message,
|
|
89
105
|
reaction,
|
|
90
106
|
});
|
|
91
107
|
}
|
|
@@ -27,8 +27,28 @@ export const removeReactionFromLocalState = <
|
|
|
27
27
|
(r) => !(r.user_id === user?.id && r.type === reactionType),
|
|
28
28
|
);
|
|
29
29
|
|
|
30
|
-
if (message.
|
|
31
|
-
|
|
30
|
+
if (message.reaction_groups?.[reactionType]) {
|
|
31
|
+
if (
|
|
32
|
+
message.reaction_groups[reactionType].count > 0 ||
|
|
33
|
+
message.reaction_groups[reactionType].sum_scores > 0
|
|
34
|
+
) {
|
|
35
|
+
message.reaction_groups[reactionType].count = Math.max(
|
|
36
|
+
0,
|
|
37
|
+
message.reaction_groups[reactionType].count - 1,
|
|
38
|
+
);
|
|
39
|
+
message.reaction_groups[reactionType].sum_scores = Math.max(
|
|
40
|
+
0,
|
|
41
|
+
message.reaction_groups[reactionType].sum_scores - 1,
|
|
42
|
+
);
|
|
43
|
+
if (
|
|
44
|
+
message.reaction_groups[reactionType].count === 0 ||
|
|
45
|
+
message.reaction_groups[reactionType].sum_scores === 0
|
|
46
|
+
) {
|
|
47
|
+
delete message.reaction_groups[reactionType];
|
|
48
|
+
}
|
|
49
|
+
} else {
|
|
50
|
+
delete message.reaction_groups[reactionType];
|
|
51
|
+
}
|
|
32
52
|
}
|
|
33
53
|
|
|
34
54
|
deleteReaction({
|
package/src/utils/utils.ts
CHANGED
|
@@ -13,7 +13,8 @@ import type {
|
|
|
13
13
|
UserResponse,
|
|
14
14
|
} from 'stream-chat';
|
|
15
15
|
|
|
16
|
-
import
|
|
16
|
+
import { IconProps } from '../../src/icons/utils/base';
|
|
17
|
+
import { MessageType } from '../components/MessageList/hooks/useMessageList';
|
|
17
18
|
import type {
|
|
18
19
|
EmojiSearchIndex,
|
|
19
20
|
MentionAllAppUsersQuery,
|
|
@@ -24,7 +25,6 @@ import type {
|
|
|
24
25
|
SuggestionUser,
|
|
25
26
|
} from '../contexts/suggestionsContext/SuggestionsContext';
|
|
26
27
|
import { compiledEmojis, Emoji } from '../emoji-data';
|
|
27
|
-
import type { IconProps } from '../icons/utils/base';
|
|
28
28
|
import type { TableRowJoinedUser } from '../store/types';
|
|
29
29
|
import type { DefaultStreamChatGenerics, ValueOf } from '../types/types';
|
|
30
30
|
|
|
@@ -602,19 +602,31 @@ export const hasOnlyEmojis = (text: string) => {
|
|
|
602
602
|
* @param {FormatMessageResponse<StreamChatGenerics>} message - the message object to be stringified
|
|
603
603
|
* @returns {string} The stringified message
|
|
604
604
|
*/
|
|
605
|
-
const stringifyMessage = <
|
|
605
|
+
export const stringifyMessage = <
|
|
606
606
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
607
607
|
>({
|
|
608
608
|
deleted_at,
|
|
609
609
|
latest_reactions,
|
|
610
|
+
reaction_groups,
|
|
611
|
+
readBy,
|
|
610
612
|
reply_count,
|
|
611
613
|
status,
|
|
614
|
+
text,
|
|
612
615
|
type,
|
|
613
616
|
updated_at,
|
|
614
|
-
}: FormatMessageResponse<StreamChatGenerics>): string =>
|
|
615
|
-
`${
|
|
616
|
-
latest_reactions ? latest_reactions.map(({ type }) => type).join() : ''
|
|
617
|
-
}${
|
|
617
|
+
}: FormatMessageResponse<StreamChatGenerics> | MessageType<StreamChatGenerics>): string =>
|
|
618
|
+
`${
|
|
619
|
+
latest_reactions ? latest_reactions.map(({ type, user }) => `${type}${user?.id}`).join() : ''
|
|
620
|
+
}${
|
|
621
|
+
reaction_groups
|
|
622
|
+
? Object.entries(reaction_groups)
|
|
623
|
+
.flatMap(
|
|
624
|
+
([type, { count, first_reaction_at, last_reaction_at }]) =>
|
|
625
|
+
`${type}${count}${first_reaction_at}${last_reaction_at}`,
|
|
626
|
+
)
|
|
627
|
+
.join()
|
|
628
|
+
: ''
|
|
629
|
+
}${type}${deleted_at}${text}${readBy}${reply_count}${status}${updated_at}`;
|
|
618
630
|
|
|
619
631
|
/**
|
|
620
632
|
* Reduces a list of messages to strings that are used in useEffect & useMemo
|
package/src/version.json
CHANGED