@droppii-org/chat-mobile 0.2.81 → 0.2.83

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 (175) hide show
  1. package/lib/module/components/ThreadCard/MentionBadge.js +24 -0
  2. package/lib/module/components/ThreadCard/MentionBadge.js.map +1 -0
  3. package/lib/module/components/ThreadCard/ThreadCard.js +5 -1
  4. package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
  5. package/lib/module/components/messages/linkMessage/LinkPreviewCard.js +67 -0
  6. package/lib/module/components/messages/linkMessage/LinkPreviewCard.js.map +1 -0
  7. package/lib/module/components/messages/linkMessage/index.js +49 -92
  8. package/lib/module/components/messages/linkMessage/index.js.map +1 -1
  9. package/lib/module/components/messages/quotedMessage/QuotedMessagePreviewStrip.js +152 -0
  10. package/lib/module/components/messages/quotedMessage/QuotedMessagePreviewStrip.js.map +1 -0
  11. package/lib/module/components/messages/quotedMessage/index.js +79 -55
  12. package/lib/module/components/messages/quotedMessage/index.js.map +1 -1
  13. package/lib/module/components/messages/stickerMessage/index.js +38 -13
  14. package/lib/module/components/messages/stickerMessage/index.js.map +1 -1
  15. package/lib/module/components/messages/textMessage/index.js +126 -13
  16. package/lib/module/components/messages/textMessage/index.js.map +1 -1
  17. package/lib/module/components/messages/types.js.map +1 -1
  18. package/lib/module/core/useChatListener.js +1 -1
  19. package/lib/module/core/useChatListener.js.map +1 -1
  20. package/lib/module/hooks/message/useSendMessage.js +64 -3
  21. package/lib/module/hooks/message/useSendMessage.js.map +1 -1
  22. package/lib/module/hooks/query-keys.js +4 -0
  23. package/lib/module/hooks/query-keys.js.map +1 -1
  24. package/lib/module/hooks/useChatCompose.js +3 -2
  25. package/lib/module/hooks/useChatCompose.js.map +1 -1
  26. package/lib/module/screens/chat-detail/ChatComposer.js +170 -48
  27. package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
  28. package/lib/module/screens/chat-detail/ChatListLegend.js +16 -7
  29. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
  30. package/lib/module/screens/chat-detail/components/ChatMessageInput.js +23 -2
  31. package/lib/module/screens/chat-detail/components/ChatMessageInput.js.map +1 -1
  32. package/lib/module/screens/chat-detail/components/MentionHighlightAdapter.js +51 -0
  33. package/lib/module/screens/chat-detail/components/MentionHighlightAdapter.js.map +1 -0
  34. package/lib/module/screens/chat-detail/components/MentionSuggestionItem.js +49 -0
  35. package/lib/module/screens/chat-detail/components/MentionSuggestionItem.js.map +1 -0
  36. package/lib/module/screens/chat-detail/components/MentionSuggestionList.js +114 -0
  37. package/lib/module/screens/chat-detail/components/MentionSuggestionList.js.map +1 -0
  38. package/lib/module/screens/chat-detail/hooks/useChatComposerState.js +8 -0
  39. package/lib/module/screens/chat-detail/hooks/useChatComposerState.js.map +1 -1
  40. package/lib/module/screens/chat-detail/hooks/useMentionComposer.js +251 -0
  41. package/lib/module/screens/chat-detail/hooks/useMentionComposer.js.map +1 -0
  42. package/lib/module/screens/chat-detail/legend/LegendChatDay.js +4 -9
  43. package/lib/module/screens/chat-detail/legend/LegendChatDay.js.map +1 -1
  44. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +14 -2
  45. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
  46. package/lib/module/services/mentionSearch.js +49 -0
  47. package/lib/module/services/mentionSearch.js.map +1 -0
  48. package/lib/module/services/message.js +6 -1
  49. package/lib/module/services/message.js.map +1 -1
  50. package/lib/module/translation/resources/i18n.js +5 -0
  51. package/lib/module/translation/resources/i18n.js.map +1 -1
  52. package/lib/module/types/chat.js.map +1 -1
  53. package/lib/module/types/mention.js +2 -0
  54. package/lib/module/types/mention.js.map +1 -0
  55. package/lib/module/utils/legendListMessage.js +9 -1
  56. package/lib/module/utils/legendListMessage.js.map +1 -1
  57. package/lib/module/utils/mentionSerializer.js +113 -0
  58. package/lib/module/utils/mentionSerializer.js.map +1 -0
  59. package/lib/module/utils/mentions/index.js +7 -0
  60. package/lib/module/utils/mentions/index.js.map +1 -0
  61. package/lib/module/utils/mentions/mentionDetector.js +49 -0
  62. package/lib/module/utils/mentions/mentionDetector.js.map +1 -0
  63. package/lib/module/utils/mentions/mentionDiff.js +66 -0
  64. package/lib/module/utils/mentions/mentionDiff.js.map +1 -0
  65. package/lib/module/utils/mentions/mentionRange.js +188 -0
  66. package/lib/module/utils/mentions/mentionRange.js.map +1 -0
  67. package/lib/module/utils/mentions/mentionTokenize.js +50 -0
  68. package/lib/module/utils/mentions/mentionTokenize.js.map +1 -0
  69. package/lib/module/utils/messageUtils.js +6 -1
  70. package/lib/module/utils/messageUtils.js.map +1 -1
  71. package/lib/module/utils/url.js +33 -0
  72. package/lib/module/utils/url.js.map +1 -1
  73. package/lib/typescript/src/components/ThreadCard/MentionBadge.d.ts +7 -0
  74. package/lib/typescript/src/components/ThreadCard/MentionBadge.d.ts.map +1 -0
  75. package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
  76. package/lib/typescript/src/components/messages/linkMessage/LinkPreviewCard.d.ts +16 -0
  77. package/lib/typescript/src/components/messages/linkMessage/LinkPreviewCard.d.ts.map +1 -0
  78. package/lib/typescript/src/components/messages/linkMessage/index.d.ts +2 -2
  79. package/lib/typescript/src/components/messages/linkMessage/index.d.ts.map +1 -1
  80. package/lib/typescript/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.d.ts +13 -0
  81. package/lib/typescript/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.d.ts.map +1 -0
  82. package/lib/typescript/src/components/messages/quotedMessage/index.d.ts.map +1 -1
  83. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +2 -2
  84. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts.map +1 -1
  85. package/lib/typescript/src/components/messages/textMessage/index.d.ts +4 -2
  86. package/lib/typescript/src/components/messages/textMessage/index.d.ts.map +1 -1
  87. package/lib/typescript/src/components/messages/types.d.ts +1 -0
  88. package/lib/typescript/src/components/messages/types.d.ts.map +1 -1
  89. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +5 -2
  90. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
  91. package/lib/typescript/src/hooks/query-keys.d.ts +4 -0
  92. package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
  93. package/lib/typescript/src/hooks/useChatCompose.d.ts +2 -1
  94. package/lib/typescript/src/hooks/useChatCompose.d.ts.map +1 -1
  95. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
  96. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
  97. package/lib/typescript/src/screens/chat-detail/components/ChatMessageInput.d.ts +10 -2
  98. package/lib/typescript/src/screens/chat-detail/components/ChatMessageInput.d.ts.map +1 -1
  99. package/lib/typescript/src/screens/chat-detail/components/MentionHighlightAdapter.d.ts +29 -0
  100. package/lib/typescript/src/screens/chat-detail/components/MentionHighlightAdapter.d.ts.map +1 -0
  101. package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionItem.d.ts +8 -0
  102. package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionItem.d.ts.map +1 -0
  103. package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionList.d.ts +12 -0
  104. package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionList.d.ts.map +1 -0
  105. package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts +1 -1
  106. package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts.map +1 -1
  107. package/lib/typescript/src/screens/chat-detail/hooks/useMentionComposer.d.ts +48 -0
  108. package/lib/typescript/src/screens/chat-detail/hooks/useMentionComposer.d.ts.map +1 -0
  109. package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts.map +1 -1
  110. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +2 -1
  111. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
  112. package/lib/typescript/src/services/mentionSearch.d.ts +15 -0
  113. package/lib/typescript/src/services/mentionSearch.d.ts.map +1 -0
  114. package/lib/typescript/src/services/message.d.ts +1 -1
  115. package/lib/typescript/src/services/message.d.ts.map +1 -1
  116. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  117. package/lib/typescript/src/types/chat.d.ts +23 -0
  118. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  119. package/lib/typescript/src/types/mention.d.ts +65 -0
  120. package/lib/typescript/src/types/mention.d.ts.map +1 -0
  121. package/lib/typescript/src/utils/legendListMessage.d.ts +4 -3
  122. package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
  123. package/lib/typescript/src/utils/mentionSerializer.d.ts +78 -0
  124. package/lib/typescript/src/utils/mentionSerializer.d.ts.map +1 -0
  125. package/lib/typescript/src/utils/mentions/index.d.ts +5 -0
  126. package/lib/typescript/src/utils/mentions/index.d.ts.map +1 -0
  127. package/lib/typescript/src/utils/mentions/mentionDetector.d.ts +18 -0
  128. package/lib/typescript/src/utils/mentions/mentionDetector.d.ts.map +1 -0
  129. package/lib/typescript/src/utils/mentions/mentionDiff.d.ts +20 -0
  130. package/lib/typescript/src/utils/mentions/mentionDiff.d.ts.map +1 -0
  131. package/lib/typescript/src/utils/mentions/mentionRange.d.ts +86 -0
  132. package/lib/typescript/src/utils/mentions/mentionRange.d.ts.map +1 -0
  133. package/lib/typescript/src/utils/mentions/mentionTokenize.d.ts +29 -0
  134. package/lib/typescript/src/utils/mentions/mentionTokenize.d.ts.map +1 -0
  135. package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
  136. package/lib/typescript/src/utils/url.d.ts +12 -0
  137. package/lib/typescript/src/utils/url.d.ts.map +1 -1
  138. package/package.json +1 -1
  139. package/src/components/ThreadCard/MentionBadge.tsx +28 -0
  140. package/src/components/ThreadCard/ThreadCard.tsx +3 -0
  141. package/src/components/messages/linkMessage/LinkPreviewCard.tsx +92 -0
  142. package/src/components/messages/linkMessage/index.tsx +64 -121
  143. package/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.tsx +168 -0
  144. package/src/components/messages/quotedMessage/index.tsx +95 -64
  145. package/src/components/messages/stickerMessage/index.tsx +40 -11
  146. package/src/components/messages/textMessage/index.tsx +159 -17
  147. package/src/components/messages/types.ts +1 -0
  148. package/src/core/useChatListener.ts +1 -1
  149. package/src/hooks/message/useSendMessage.ts +60 -1
  150. package/src/hooks/query-keys.ts +6 -0
  151. package/src/hooks/useChatCompose.ts +115 -107
  152. package/src/screens/chat-detail/ChatComposer.tsx +201 -67
  153. package/src/screens/chat-detail/ChatListLegend.tsx +19 -4
  154. package/src/screens/chat-detail/components/ChatMessageInput.tsx +35 -2
  155. package/src/screens/chat-detail/components/MentionHighlightAdapter.tsx +57 -0
  156. package/src/screens/chat-detail/components/MentionSuggestionItem.tsx +53 -0
  157. package/src/screens/chat-detail/components/MentionSuggestionList.tsx +133 -0
  158. package/src/screens/chat-detail/hooks/useChatComposerState.ts +7 -1
  159. package/src/screens/chat-detail/hooks/useMentionComposer.ts +344 -0
  160. package/src/screens/chat-detail/legend/LegendChatDay.tsx +6 -9
  161. package/src/screens/chat-detail/legend/LegendChatMessage.tsx +25 -2
  162. package/src/services/mentionSearch.ts +57 -0
  163. package/src/services/message.ts +9 -1
  164. package/src/translation/resources/i18n.ts +6 -0
  165. package/src/types/chat.ts +22 -0
  166. package/src/types/mention.ts +70 -0
  167. package/src/utils/legendListMessage.ts +13 -4
  168. package/src/utils/mentionSerializer.ts +155 -0
  169. package/src/utils/mentions/index.ts +16 -0
  170. package/src/utils/mentions/mentionDetector.ts +58 -0
  171. package/src/utils/mentions/mentionDiff.ts +95 -0
  172. package/src/utils/mentions/mentionRange.ts +207 -0
  173. package/src/utils/mentions/mentionTokenize.ts +53 -0
  174. package/src/utils/messageUtils.ts +6 -1
  175. package/src/utils/url.ts +30 -0
@@ -18,6 +18,7 @@ import { stickerQueryKeys } from "../query-keys.js";
18
18
  import { getMessagePreview } from "../../utils/messageUtils.js";
19
19
  import { useCanSendMessage } from "../useGroupPermission.js";
20
20
  import { UIUtils } from "../../utils/UIUtils.js";
21
+ import { serializeMentionsForSend } from "../../utils/mentionSerializer.js";
21
22
  const buildSendParams = (message, recvID, groupID, extendMessageInfo) => groupID ? {
22
23
  groupID,
23
24
  message: {
@@ -70,7 +71,8 @@ export const useSendMessage = () => {
70
71
  urlMetadata,
71
72
  flow,
72
73
  customMessage,
73
- sticker
74
+ sticker,
75
+ mentions
74
76
  }) => {
75
77
  if (!isSendMessageAllowed) {
76
78
  UIUtils.toast.open({
@@ -86,20 +88,66 @@ export const useSendMessage = () => {
86
88
  const groupID = currentConversation?.groupID || targetGroupId;
87
89
  if (!recvID && !groupID) return;
88
90
  const messageList = [];
91
+ let exMentions;
89
92
  const hasText = !!plainText && plainText.trim() !== '';
90
93
  const hasPreview = !!urlMetadata?.url;
94
+ const hasMentions = !!mentions && mentions.length > 0;
91
95
 
92
96
  //text msg
93
97
  if (hasText) {
94
98
  const urls = hasText ? extractUrls(plainText) : [];
95
99
  const isUrlMessage = urls.length > 0 || hasPreview;
96
100
  let message = null;
97
- if (quotedMessage) {
101
+
102
+ // Mention always wins the content type over a URL preview: AtText
103
+ // and UrlText are mutually exclusive OpenIM content types (no field
104
+ // for both), but `ex.urlMetadata` is attached unconditionally below
105
+ // regardless of which branch builds `message` — so the URL card
106
+ // still rides along via `ex` on an AtTextMessage. TextMessage's
107
+ // render side reads it and shows the card next to the
108
+ // mention-highlighted text (see its doc comment). Other clients
109
+ // without that rendering just see plain "@Name ... https://..."
110
+ // text — mention intact, only the rich card is missing.
111
+ if (quotedMessage && hasMentions && groupID) {
112
+ // Native mention+quote: AtMsgParams.message embeds the quoted
113
+ // message into AtTextElem.quoteMessage server/core-side (verified
114
+ // down to openimsdk-core/internal/conversation_msg/
115
+ // create_message.go:76-101 — QuoteMessage: qs is a real field
116
+ // assignment, not just a bridge pass-through) — keeps the mention's
117
+ // native tag/notify semantics instead of falling back to a plain
118
+ // QuoteMessage, which has no atUserIDList at all.
119
+ const serialized = serializeMentionsForSend(mentions);
120
+ exMentions = {
121
+ offsets: serialized.exMentions
122
+ };
123
+ message = await createTextAtMessage({
124
+ text: plainText || '',
125
+ atUserIDList: serialized.atUserIDList,
126
+ atUsersInfo: serialized.atUsersInfo,
127
+ message: quotedMessage
128
+ });
129
+ setQuotedMessage(undefined);
130
+ } else if (quotedMessage) {
98
131
  message = await createQuotedMessage({
99
132
  text: plainText || '',
100
133
  message: quotedMessage
101
134
  });
102
135
  setQuotedMessage(undefined);
136
+ } else if (hasMentions && groupID) {
137
+ // "Tất cả" serializes to OpenIM's own AT_ALL_TAG sentinel, not an
138
+ // expanded member list — no group-member fetch needed here, see
139
+ // AT_ALL_TAG's doc comment in mentionSerializer.ts for why.
140
+ const serialized = serializeMentionsForSend(mentions);
141
+ // Wrapped under `offsets` to match the wire shape other Droppii
142
+ // clients already send (see IMessageItemEx.mentions doc comment).
143
+ exMentions = {
144
+ offsets: serialized.exMentions
145
+ };
146
+ message = await createTextAtMessage({
147
+ text: plainText || '',
148
+ atUserIDList: serialized.atUserIDList,
149
+ atUsersInfo: serialized.atUsersInfo
150
+ });
103
151
  } else if (isUrlMessage) {
104
152
  message = await createUrlTextMessage(plainText || '', urls);
105
153
  } else if (hasText) {
@@ -132,7 +180,8 @@ export const useSendMessage = () => {
132
180
  applicationType,
133
181
  urlMetadata,
134
182
  flow,
135
- stickerId: sticker?.id
183
+ stickerId: sticker?.id,
184
+ mentions: exMentions
136
185
  };
137
186
  await dispatchSend(message, recvID || '', groupID || '', extendMessageInfo);
138
187
  }
@@ -237,6 +286,18 @@ export const createUrlTextMessage = async (text, urls) => {
237
286
  });
238
287
  return urlTextMessage;
239
288
  };
289
+ export const createTextAtMessage = async params => {
290
+ let atMessage = await OpenIMSDK.createTextAtMessage(params, uuid.v4()).then(data => {
291
+ return data;
292
+ }).catch(({
293
+ errCode,
294
+ errMsg
295
+ }) => {
296
+ console.error('createTextAtMessage', errCode, errMsg);
297
+ return null;
298
+ });
299
+ return atMessage;
300
+ };
240
301
  export const createCustomMessage = async params => {
241
302
  let customMessage = await OpenIMSDK.createCustomMessage(params, uuid.v4()).then(data => {
242
303
  return data;
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useConversationStore","useUserStore","MessageStatus","MessageType","SessionType","extractUrls","OpenIMSDK","CustomMessageType","useChatContext","useChatDetailContext","getBotId","markMessageRevoked","useMessageStore","uuid","DeviceEventEmitter","ChatEvent","useQueryClient","stickerQueryKeys","getMessagePreview","useCanSendMessage","UIUtils","buildSendParams","message","recvID","groupID","extendMessageInfo","ex","JSON","stringify","offlinePushInfo","generateOfflinePushInfo","useSendMessage","applicationType","pushNewMessage","state","updateOneMessage","quotedMessage","setQuotedMessage","queryClient","allowed","isSendMessageAllowed","reason","sendDeniedReason","dispatchSend","status","Sending","sendParams","sent","sendMessage","Failed","Promise","resolve","setTimeout","emit","ScrollToBottom","plainText","urlMetadata","flow","customMessage","sticker","toast","open","title","theme","currentConversation","getState","getCurrentConversation","targetUserId","currentUserId","targetGroupId","currentGroupId","userID","messageList","hasText","trim","hasPreview","url","urls","isUrlMessage","length","createQuotedMessage","text","undefined","createUrlTextMessage","createTextMessage","push","customElem","data","extension","type","description","Order","orderCode","createCustomMessage","file","fullUrl","stickerMessage","createStickerMessage","stickerId","id","invalidateQueries","queryKey","recent","retryMessage","isAttachment","PictureMessage","VideoMessage","FileMessage","MergeMessage","includes","contentType","params","sendMessageNotOss","parse","revokeMessage","conversationID","Error","clientMsgID","conversationData","operator","user","operatorUserID","isSingleChat","conversationType","Single","nickname","showName","icon","faceURL","desc","conversationId","userId","groupId","botId","iOSPushSound","iOSBadgeCount","textMessage","v4","then","catch","errCode","errMsg","console","error","urlTextMessage","createQuoteMessage"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useConversationStore","useUserStore","MessageStatus","MessageType","SessionType","extractUrls","OpenIMSDK","CustomMessageType","useChatContext","useChatDetailContext","getBotId","markMessageRevoked","useMessageStore","uuid","DeviceEventEmitter","ChatEvent","useQueryClient","stickerQueryKeys","getMessagePreview","useCanSendMessage","UIUtils","serializeMentionsForSend","buildSendParams","message","recvID","groupID","extendMessageInfo","ex","JSON","stringify","offlinePushInfo","generateOfflinePushInfo","useSendMessage","applicationType","pushNewMessage","state","updateOneMessage","quotedMessage","setQuotedMessage","queryClient","allowed","isSendMessageAllowed","reason","sendDeniedReason","dispatchSend","status","Sending","sendParams","sent","sendMessage","Failed","Promise","resolve","setTimeout","emit","ScrollToBottom","plainText","urlMetadata","flow","customMessage","sticker","mentions","toast","open","title","theme","currentConversation","getState","getCurrentConversation","targetUserId","currentUserId","targetGroupId","currentGroupId","userID","messageList","exMentions","hasText","trim","hasPreview","url","hasMentions","length","urls","isUrlMessage","serialized","offsets","createTextAtMessage","text","atUserIDList","atUsersInfo","undefined","createQuotedMessage","createUrlTextMessage","createTextMessage","push","customElem","data","extension","type","description","Order","orderCode","createCustomMessage","file","fullUrl","stickerMessage","createStickerMessage","stickerId","id","invalidateQueries","queryKey","recent","retryMessage","isAttachment","PictureMessage","VideoMessage","FileMessage","MergeMessage","includes","contentType","params","sendMessageNotOss","parse","revokeMessage","conversationID","Error","clientMsgID","conversationData","operator","user","operatorUserID","isSingleChat","conversationType","Single","nickname","showName","icon","faceURL","desc","conversationId","userId","groupId","botId","iOSPushSound","iOSBadgeCount","textMessage","v4","then","catch","errCode","errMsg","console","error","urlTextMessage","atMessage","createQuoteMessage"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":"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","ignoreList":[]}
@@ -41,6 +41,10 @@ export const messageQueryKeys = {
41
41
  all: ['messages'],
42
42
  search: (query, conversationId) => [...messageQueryKeys.all, 'search', query, conversationId]
43
43
  };
44
+ export const mentionQueryKeys = {
45
+ all: ['mentionSearch'],
46
+ search: (groupID, keyword) => [...mentionQueryKeys.all, groupID, keyword]
47
+ };
44
48
  export const contactQueryKeys = {
45
49
  all: ['contacts'],
46
50
  search: (query, type) => [...contactQueryKeys.all, 'search', query, type]
@@ -1 +1 @@
1
- {"version":3,"names":["commonQueryKeys","all","urlMetadata","url","conversationQueryKeys","lists","list","applicationType","details","detail","conversationId","getStatusBot","botId","conversationTarget","flow","flowMainMenu","resetFlow","runFlow","closeSession","detailByBotId","detailBySourceId","sourceId","joinedGroup","groupId","create","userId","groupInfo","usersQueryKeys","userIds","stickerQueryKeys","categories","byCategory","categoryId","recent","resourceCenterQueryKeys","byType","recvID","contentType","messageQueryKeys","search","query","contactQueryKeys","type","groupQueryKeys","public","publicSearch","keyword","join","leave"],"sourceRoot":"../../../src","sources":["hooks/query-keys.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["commonQueryKeys","all","urlMetadata","url","conversationQueryKeys","lists","list","applicationType","details","detail","conversationId","getStatusBot","botId","conversationTarget","flow","flowMainMenu","resetFlow","runFlow","closeSession","detailByBotId","detailBySourceId","sourceId","joinedGroup","groupId","create","userId","groupInfo","usersQueryKeys","userIds","stickerQueryKeys","categories","byCategory","categoryId","recent","resourceCenterQueryKeys","byType","recvID","contentType","messageQueryKeys","search","query","mentionQueryKeys","groupID","keyword","contactQueryKeys","type","groupQueryKeys","public","publicSearch","join","leave"],"sourceRoot":"../../../src","sources":["hooks/query-keys.ts"],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,7 @@ export function useChatCompose() {
22
22
  } = useSendMessage();
23
23
  const isUploading = useMemo(() => imageAttachment.selectedImages.some(img => img.isUploading) || fileAttachment.selectedFiles.some(f => f.isUploading || !!f.error), [imageAttachment.selectedImages, fileAttachment.selectedFiles]);
24
24
  const canSend = useMemo(() => (text.trim().length > 0 || imageAttachment.selectedImages.length > 0 || fileAttachment.selectedFiles.length > 0) && !isUploading, [text, imageAttachment.selectedImages, fileAttachment.selectedFiles, isUploading]);
25
- const send = useCallback(async () => {
25
+ const send = useCallback(async mentions => {
26
26
  const {
27
27
  selectedImages,
28
28
  clearAllImages
@@ -115,7 +115,8 @@ export function useChatCompose() {
115
115
  setText('');
116
116
  await sendMessage({
117
117
  plainText,
118
- urlMetadata: urlMeta
118
+ urlMetadata: urlMeta,
119
+ mentions
119
120
  });
120
121
  }
121
122
  }, [imageAttachment, fileAttachment, linkPreview.isVisible, linkPreview.metadata, sendAttachments, sendMessage, text]);
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","useState","ImagePicker","useImageAttachment","useFileAttachment","useLinkPreview","useSendAttachment","useSendMessage","isVideoFromPicker","generateAndUploadVideoThumbnails","useChatCompose","text","setText","imageAttachment","fileAttachment","linkPreview","send","sendAttachments","sendMessage","isUploading","selectedImages","some","img","selectedFiles","f","error","canSend","trim","length","clearAllImages","clearAllFiles","urlMeta","isVisible","metadata","undefined","actualImages","filter","image","videos","uploadedImages","uploadedUrl","uploadedVideos","v","videosMissingThumbnail","thumbnailUrl","videoThumbnails","attachmentItems","map","type","vid","vidIdx","videoId","thumb","video","path","filename","size","width","height","duration","uploadProgress","url","thumbnailSize","clean","catch","uploadedFiles","file","uri","name","plainText","urlMetadata","isImagePreviewVisible","isFilePreviewVisible","addImages","handleImageAttach","addFiles","handleFileAttach","removeImage","handleImageRemove","removeFile","handleFileRemove","showLinkPreview","isMetadataLoading","isLoading","dismissPreview","dismiss","clearAll"],"sourceRoot":"../../../src","sources":["hooks/useChatCompose.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","useState","ImagePicker","useImageAttachment","useFileAttachment","useLinkPreview","useSendAttachment","useSendMessage","isVideoFromPicker","generateAndUploadVideoThumbnails","useChatCompose","text","setText","imageAttachment","fileAttachment","linkPreview","send","sendAttachments","sendMessage","isUploading","selectedImages","some","img","selectedFiles","f","error","canSend","trim","length","mentions","clearAllImages","clearAllFiles","urlMeta","isVisible","metadata","undefined","actualImages","filter","image","videos","uploadedImages","uploadedUrl","uploadedVideos","v","videosMissingThumbnail","thumbnailUrl","videoThumbnails","attachmentItems","map","type","vid","vidIdx","videoId","thumb","video","path","filename","size","width","height","duration","uploadProgress","url","thumbnailSize","clean","catch","uploadedFiles","file","uri","name","plainText","urlMetadata","isImagePreviewVisible","isFilePreviewVisible","addImages","handleImageAttach","addFiles","handleFileAttach","removeImage","handleImageRemove","removeFile","handleFileRemove","showLinkPreview","isMetadataLoading","isLoading","dismissPreview","dismiss","clearAll"],"sourceRoot":"../../../src","sources":["hooks/useChatCompose.ts"],"mappings":"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","ignoreList":[]}
@@ -36,6 +36,10 @@ import { UIUtils } from "../../utils/UIUtils.js";
36
36
  import { PeerType } from '@droppii/openim-rn-client-sdk';
37
37
  import { useCanSendMessage } from "../../hooks/useGroupPermission.js";
38
38
  import { useIsJoinedGroup } from "../../hooks/useIsJoinedGroup.js";
39
+ import { useMentionComposer } from "./hooks/useMentionComposer.js";
40
+ import { MentionSuggestionList } from "./components/MentionSuggestionList.js";
41
+ import { createOpenIMMentionSearchSource } from "../../services/mentionSearch.js";
42
+ import { serializeMentionsForSend, MAX_AT_USER_COUNT } from "../../utils/mentionSerializer.js";
39
43
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
40
44
  export const ChatComposer = /*#__PURE__*/memo(({
41
45
  isEmptyMessage = false,
@@ -92,6 +96,23 @@ export const ChatComposer = /*#__PURE__*/memo(({
92
96
  isMultilineInput,
93
97
  inputRef
94
98
  } = useChatComposerState(compose.text);
99
+ const mentionSearchSource = useMemo(() => conversation?.groupID ? createOpenIMMentionSearchSource(conversation.groupID) : null, [conversation?.groupID]);
100
+ const mentionComposer = useMentionComposer({
101
+ text: compose.text,
102
+ setText: compose.setText,
103
+ // Non-null asserted only where actually invoked — the composer isn't
104
+ // rendered for non-group conversations in the first place (isGroupConversation
105
+ // below), so groupID is always present by the time a search fires.
106
+ searchSource: mentionSearchSource ?? {
107
+ search: async () => ({
108
+ items: [],
109
+ hasMore: false
110
+ })
111
+ },
112
+ groupID: conversation?.groupID,
113
+ enabled: isGroupConversation,
114
+ inputRef
115
+ });
95
116
  const attachmentPanelHeight = useMemo(() => getAttachmentPanelHeight(DEFAULT_PANNEL_ACTIONS.length), []);
96
117
  const panelHeight = activePanelType === 'sticker' ? STICKER_PICKER_HEIGHT : attachmentPanelHeight;
97
118
  const {
@@ -103,6 +124,19 @@ export const ChatComposer = /*#__PURE__*/memo(({
103
124
  panelHeight,
104
125
  onAttachmentOpenChange: setIsAttachmentOpen
105
126
  });
127
+
128
+ // Mutual exclusion (finding #5 in the mention plan): the mention picker
129
+ // never renders through the attachment/sticker panel slot, but opening
130
+ // one must still close the other — starting a mention query while the
131
+ // attachment/sticker panel is open closes that panel.
132
+ useEffect(() => {
133
+ if (mentionComposer.isPanelOpen && isAttachmentOpen) {
134
+ const immediate = activePanelType === 'sticker';
135
+ closeAttachment(!immediate, immediate);
136
+ setActivePanelType(null);
137
+ }
138
+ // eslint-disable-next-line react-hooks/exhaustive-deps
139
+ }, [mentionComposer.isPanelOpen]);
106
140
  const handleSend = useCallback(async () => {
107
141
  if (!isSendMessageAllowed) {
108
142
  UIUtils.toast.open({
@@ -112,12 +146,54 @@ export const ChatComposer = /*#__PURE__*/memo(({
112
146
  return;
113
147
  }
114
148
  if (compose.isUploading || !compose.canSend) return;
149
+ const mentionsToSend = mentionComposer.mentions;
150
+
151
+ // OpenIM's Go core hard-rejects an AtTextMessage tagging more than
152
+ // MAX_AT_USER_COUNT users, so serializeMentionsForSend caps
153
+ // atUserIDList to the first MAX_AT_USER_COUNT (mentionSerializer.ts's
154
+ // doc comment) — the message still sends, with every mention still
155
+ // highlighted in the text, just only the first MAX_AT_USER_COUNT
156
+ // actually get natively tagged/notified. This is a heads-up, not a
157
+ // block, so no `return` here.
158
+ if (mentionsToSend.length > 0) {
159
+ const {
160
+ truncated
161
+ } = serializeMentionsForSend(mentionsToSend);
162
+ if (truncated) {
163
+ UIUtils.toast.open({
164
+ title: trans('group:tag_limit_exceeded', {
165
+ max: String(MAX_AT_USER_COUNT)
166
+ }),
167
+ theme: 'info'
168
+ });
169
+ }
170
+ }
171
+
172
+ // Clear mention state synchronously, in the same tick as
173
+ // compose.send() (which clears `text`) — otherwise there's a real
174
+ // transient render where `value` is already '' but `mentions` still
175
+ // holds the just-sent entries, and the composer can visibly fail to
176
+ // clear (ChatMessageInput stays in children-controlled mode with a
177
+ // "ghost" mention anchored past the end of an empty string). See
178
+ // useMentionComposer.clear()'s doc comment.
179
+ mentionComposer.clear();
115
180
  try {
116
- await compose.send();
181
+ await compose.send(mentionsToSend);
117
182
  } catch (error) {
118
183
  if (__DEV__) console.error('[ChatComposer] Failed to send:', error);
184
+ } finally {
185
+ // Belt-and-suspenders: force the native view to actually clear,
186
+ // regardless of whether the value/children mode-switch (triggered
187
+ // by mentions going from non-empty to empty) synced correctly on
188
+ // its own — the underlying nested-Text-in-TextInput technique is
189
+ // known to have platform quirks around this kind of transition.
190
+ inputRef.current?.clear();
119
191
  }
120
- }, [compose, isSendMessageAllowed, sendDeniedReason]);
192
+ // Depend on mentionComposer.mentions/.clear specifically (both
193
+ // stable-per-value / [] deps), not the whole mentionComposer object —
194
+ // same reasoning as handleToggleAttachment above.
195
+ // eslint-disable-next-line react-hooks/exhaustive-deps
196
+ }, [compose, isSendMessageAllowed, sendDeniedReason, mentionComposer.mentions, mentionComposer.clear, inputRef]);
121
197
  const handleInputFocus = useCallback(() => {
122
198
  setIsInputFocused(true);
123
199
  if (isAttachmentOpen) {
@@ -130,6 +206,7 @@ export const ChatComposer = /*#__PURE__*/memo(({
130
206
  }
131
207
  }, [closeAttachment, isAttachmentOpen, activePanelType, setIsInputFocused, setActivePanelType]);
132
208
  const handleToggleAttachment = useCallback(() => {
209
+ mentionComposer.closeMentionPanel();
133
210
  if (activePanelType === 'sticker') {
134
211
  // switch from sticker to attachment
135
212
  setActivePanelType('attachment');
@@ -138,8 +215,19 @@ export const ChatComposer = /*#__PURE__*/memo(({
138
215
  }
139
216
  setActivePanelType(isAttachmentOpen ? null : 'attachment');
140
217
  toggleAttachmentVisibility();
141
- }, [activePanelType, isAttachmentOpen, attachmentPanelHeight, openWithHeight, toggleAttachmentVisibility, setActivePanelType]);
218
+ // Deliberately depend on `mentionComposer.closeMentionPanel` (stable
219
+ // [] deps in useMentionComposer), NOT the whole `mentionComposer`
220
+ // object, which is a fresh literal every render (useMentionComposer
221
+ // doesn't memoize its return value). Depending on the whole object
222
+ // recreated this callback — and therefore every prop built from it,
223
+ // e.g. ChatMessageInput's onEmojiPress — on every single render,
224
+ // which contributed to a real "Maximum update depth exceeded" loop
225
+ // found in testing. The lint rule can't prove member-access stability
226
+ // on its own, hence the disable.
227
+ // eslint-disable-next-line react-hooks/exhaustive-deps
228
+ }, [activePanelType, isAttachmentOpen, attachmentPanelHeight, openWithHeight, toggleAttachmentVisibility, setActivePanelType, mentionComposer.closeMentionPanel]);
142
229
  const handleToggleSticker = useCallback(() => {
230
+ mentionComposer.closeMentionPanel();
143
231
  if (activePanelType === 'sticker') {
144
232
  closeAttachment();
145
233
  setActivePanelType(null);
@@ -150,13 +238,17 @@ export const ChatComposer = /*#__PURE__*/memo(({
150
238
  }
151
239
  setActivePanelType('sticker');
152
240
  openWithHeight(STICKER_PICKER_HEIGHT);
153
- }, [activePanelType, isKeyboardVisible, closeAttachment, openWithHeight, setActivePanelType]);
241
+ // Same reasoning as handleToggleAttachment above — see that comment.
242
+ // eslint-disable-next-line react-hooks/exhaustive-deps
243
+ }, [activePanelType, isKeyboardVisible, mentionComposer.closeMentionPanel, closeAttachment, openWithHeight, setActivePanelType]);
154
244
  const handleInputBlur = useCallback(() => {
155
245
  setIsInputFocused(false);
156
246
  }, [setIsInputFocused]);
157
- const handleChangeText = useCallback(text => {
158
- compose.setText(text ?? '');
159
- }, [compose]);
247
+
248
+ // Routes through mentionComposer instead of compose.setText directly
249
+ // it owns the atomic-delete/reconcile pipeline and calls compose.setText
250
+ // itself once the corrected text is known (see useMentionComposer).
251
+ const handleChangeText = mentionComposer.handleChangeText;
160
252
  const handleInputContentSizeChange = useCallback(event => {
161
253
  const {
162
254
  height
@@ -389,48 +481,66 @@ export const ChatComposer = /*#__PURE__*/memo(({
389
481
  attachments: attachments,
390
482
  onRemove: onRemove
391
483
  }), /*#__PURE__*/_jsxs(KContainer.View, {
392
- row: true,
393
- alignItems: true,
394
- paddingH: "0.75rem",
395
- paddingT: "0.75rem",
396
- paddingB: "0.75rem",
397
- style: inputRowStyle,
398
- children: [/*#__PURE__*/_jsx(KContainer.Touchable, {
399
- onPress: handleToggleAttachment,
400
- center: true,
401
- br: "round",
402
- children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
403
- name: activePanelType === 'attachment' ? 'close-circle-o' : 'plus-circle-o',
404
- size: 24,
405
- color: activePanelType === 'attachment' ? KColors.palette.primary.w400 : KColors.palette.gray.w600
406
- })
407
- }), /*#__PURE__*/_jsx(ChatMessageInput, {
408
- value: compose.text,
409
- placeholder: "Nh\u1EADp tin nh\u1EAFn...",
410
- onChangeText: handleChangeText,
411
- onFocus: handleInputFocus,
412
- onBlur: handleInputBlur,
413
- onContentSizeChange: handleInputContentSizeChange,
414
- isInputFocused: isInputFocused,
415
- isMultilineInput: isMultilineInput,
416
- inputRef: inputRef,
417
- onEmojiPress: handleToggleSticker,
418
- onSuggestPress: hasBotMenuOptions ? handleOpenBotMenu : undefined
419
- }), /*#__PURE__*/_jsx(KContainer.Touchable, {
420
- onPress: compose.isUploading ? undefined : handleSend,
421
- pointerEvents: compose.isUploading ? 'none' : 'auto',
422
- width: 40,
423
- height: 40,
424
- center: true,
425
- br: "round",
426
- background: compose.isUploading ? KColors.palette.gray.w400 : KColors.palette.primary.w400,
427
- marginL: "0.75rem",
428
- opacity: compose.isUploading ? 0.6 : 1,
429
- children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
430
- name: "send-b",
431
- size: 20,
432
- color: KColors.white
484
+ style: styles.inputRowWrapper,
485
+ children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
486
+ visible: mentionComposer.isPanelOpen,
487
+ children: /*#__PURE__*/_jsx(KContainer.View, {
488
+ style: styles.mentionPanel,
489
+ children: /*#__PURE__*/_jsx(MentionSuggestionList, {
490
+ suggestions: mentionComposer.suggestions,
491
+ isSearching: mentionComposer.isSearching,
492
+ isLoadingMore: mentionComposer.isLoadingMore,
493
+ hasMore: mentionComposer.hasMore,
494
+ onLoadMore: mentionComposer.loadMore,
495
+ onSelect: mentionComposer.selectSuggestion
496
+ })
433
497
  })
498
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
499
+ row: true,
500
+ alignItems: true,
501
+ paddingH: "0.75rem",
502
+ paddingT: "0.75rem",
503
+ paddingB: "0.75rem",
504
+ style: inputRowStyle,
505
+ children: [/*#__PURE__*/_jsx(KContainer.Touchable, {
506
+ onPress: handleToggleAttachment,
507
+ center: true,
508
+ br: "round",
509
+ children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
510
+ name: activePanelType === 'attachment' ? 'close-circle-o' : 'plus-circle-o',
511
+ size: 24,
512
+ color: activePanelType === 'attachment' ? KColors.palette.primary.w400 : KColors.palette.gray.w600
513
+ })
514
+ }), /*#__PURE__*/_jsx(ChatMessageInput, {
515
+ value: compose.text,
516
+ placeholder: "Nh\u1EADp tin nh\u1EAFn...",
517
+ onChangeText: handleChangeText,
518
+ onFocus: handleInputFocus,
519
+ onBlur: handleInputBlur,
520
+ onContentSizeChange: handleInputContentSizeChange,
521
+ onSelectionChange: mentionComposer.handleSelectionChange,
522
+ mentions: mentionComposer.mentions,
523
+ isInputFocused: isInputFocused,
524
+ isMultilineInput: isMultilineInput,
525
+ inputRef: inputRef,
526
+ onEmojiPress: handleToggleSticker,
527
+ onSuggestPress: hasBotMenuOptions ? handleOpenBotMenu : undefined
528
+ }), /*#__PURE__*/_jsx(KContainer.Touchable, {
529
+ onPress: compose.isUploading ? undefined : handleSend,
530
+ pointerEvents: compose.isUploading ? 'none' : 'auto',
531
+ width: 40,
532
+ height: 40,
533
+ center: true,
534
+ br: "round",
535
+ background: compose.isUploading ? KColors.palette.gray.w400 : KColors.palette.primary.w400,
536
+ marginL: "0.75rem",
537
+ opacity: compose.isUploading ? 0.6 : 1,
538
+ children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
539
+ name: "send-b",
540
+ size: 20,
541
+ color: KColors.white
542
+ })
543
+ })]
434
544
  })]
435
545
  })]
436
546
  });
@@ -463,6 +573,18 @@ const styles = StyleSheet.create({
463
573
  accessorySlot: {
464
574
  overflow: 'hidden',
465
575
  backgroundColor: KColors.palette.gray.w25
576
+ },
577
+ inputRowWrapper: {
578
+ position: 'relative'
579
+ },
580
+ // Floats above the input row without going through the accessorySlot
581
+ // (attachment/sticker) render path — that slot intentionally takes over
582
+ // the keyboard area, which the mention picker must not do (finding #5).
583
+ mentionPanel: {
584
+ position: 'absolute',
585
+ left: 0,
586
+ right: 0,
587
+ bottom: '100%'
466
588
  }
467
589
  });
468
590
  //# sourceMappingURL=ChatComposer.js.map