stream-chat-react-native-core 9.10.1 → 10.0.0-rc.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.
Files changed (2846) hide show
  1. package/lib/commonjs/a11y/hooks/useA11yLabel.js +2 -1
  2. package/lib/commonjs/a11y/hooks/useA11yLabel.js.map +1 -1
  3. package/lib/commonjs/components/AITypingIndicatorView/AITypingIndicatorView.js +2 -2
  4. package/lib/commonjs/components/AITypingIndicatorView/AITypingIndicatorView.js.map +1 -1
  5. package/lib/commonjs/components/AITypingIndicatorView/hooks/useAIState.js +15 -47
  6. package/lib/commonjs/components/AITypingIndicatorView/hooks/useAIState.js.map +1 -1
  7. package/lib/commonjs/components/Accessibility/NotificationAnnouncer.js +9 -7
  8. package/lib/commonjs/components/Accessibility/NotificationAnnouncer.js.map +1 -1
  9. package/lib/commonjs/components/Accessibility/hooks/useIncomingMessageAnnouncements.js +10 -10
  10. package/lib/commonjs/components/Accessibility/hooks/useIncomingMessageAnnouncements.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/Attachment.js +6 -6
  12. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/Audio/AudioAttachment.js +14 -13
  14. package/lib/commonjs/components/Attachment/Audio/AudioAttachment.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/FileAttachment.js +4 -4
  16. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/FilePreview.js +4 -2
  18. package/lib/commonjs/components/Attachment/FilePreview.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/Gallery.js +9 -5
  20. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  21. package/lib/commonjs/components/Attachment/Giphy/Giphy.js +1 -1
  22. package/lib/commonjs/components/Attachment/Giphy/Giphy.js.map +1 -1
  23. package/lib/commonjs/components/Attachment/UnsupportedAttachment.js +3 -3
  24. package/lib/commonjs/components/Attachment/UnsupportedAttachment.js.map +1 -1
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +2 -1
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  27. package/lib/commonjs/components/Attachment/utils/openUrlSafely.js +3 -0
  28. package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
  29. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentMediaPicker.js +2 -2
  30. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentMediaPicker.js.map +1 -1
  31. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +29 -24
  32. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  33. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerContent.js +22 -21
  34. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerContent.js.map +1 -1
  35. package/lib/commonjs/components/AttachmentPicker/components/AttachmentTypePickerButton.js +9 -9
  36. package/lib/commonjs/components/AttachmentPicker/components/AttachmentTypePickerButton.js.map +1 -1
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +8 -9
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  41. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  42. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.js +2 -2
  43. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.js.map +1 -1
  44. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionRoleItem.js +1 -1
  45. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionRoleItem.js.map +1 -1
  46. package/lib/commonjs/components/Channel/Channel.js +54 -1410
  47. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  48. package/lib/commonjs/components/Channel/ChannelShell.js +398 -0
  49. package/lib/commonjs/components/Channel/ChannelShell.js.map +1 -0
  50. package/lib/commonjs/components/Channel/hooks/useChannelLifecycle.js +120 -0
  51. package/lib/commonjs/components/Channel/hooks/useChannelLifecycle.js.map +1 -0
  52. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +3 -53
  53. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  54. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +1 -9
  55. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  56. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +3 -19
  57. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  58. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +11 -27
  59. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  60. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js +6 -46
  61. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  62. package/lib/commonjs/components/Channel/hooks/useSupersededChannelSwap.js +28 -0
  63. package/lib/commonjs/components/Channel/hooks/useSupersededChannelSwap.js.map +1 -0
  64. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsEditButton.js +2 -2
  65. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsEditButton.js.map +1 -1
  66. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsMemberSection.js +10 -6
  67. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsMemberSection.js.map +1 -1
  68. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavHeader.js +2 -2
  69. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavHeader.js.map +1 -1
  70. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsProfile.js +1 -1
  71. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsProfile.js.map +1 -1
  72. package/lib/commonjs/components/ChannelDetails/components/ChannelEditDetailsFormContent.js +2 -2
  73. package/lib/commonjs/components/ChannelDetails/components/ChannelEditDetailsFormContent.js.map +1 -1
  74. package/lib/commonjs/components/ChannelDetails/components/ChannelEditDetailsFormHeader.js +2 -2
  75. package/lib/commonjs/components/ChannelDetails/components/ChannelEditDetailsFormHeader.js.map +1 -1
  76. package/lib/commonjs/components/ChannelDetails/components/ChannelEditImageSheet.js +5 -5
  77. package/lib/commonjs/components/ChannelDetails/components/ChannelEditImageSheet.js.map +1 -1
  78. package/lib/commonjs/components/ChannelDetails/components/ChannelEditName.js +2 -2
  79. package/lib/commonjs/components/ChannelDetails/components/ChannelEditName.js.map +1 -1
  80. package/lib/commonjs/components/ChannelDetails/components/members/AddMemberSearchResultItem.js +3 -3
  81. package/lib/commonjs/components/ChannelDetails/components/members/AddMemberSearchResultItem.js.map +1 -1
  82. package/lib/commonjs/components/ChannelDetails/components/members/ChannelAddMembersButton.js +3 -3
  83. package/lib/commonjs/components/ChannelDetails/components/members/ChannelAddMembersButton.js.map +1 -1
  84. package/lib/commonjs/components/ChannelDetails/components/members/ChannelAddMembersFormContent.js +3 -3
  85. package/lib/commonjs/components/ChannelDetails/components/members/ChannelAddMembersFormContent.js.map +1 -1
  86. package/lib/commonjs/components/ChannelDetails/components/members/ChannelAddMembersFormHeader.js +2 -2
  87. package/lib/commonjs/components/ChannelDetails/components/members/ChannelAddMembersFormHeader.js.map +1 -1
  88. package/lib/commonjs/components/ChannelDetails/components/members/ChannelMemberItem.js +2 -2
  89. package/lib/commonjs/components/ChannelDetails/components/members/ChannelMemberItem.js.map +1 -1
  90. package/lib/commonjs/components/ChannelDetails/components/members/ChannelMemberList.js +3 -3
  91. package/lib/commonjs/components/ChannelDetails/components/members/ChannelMemberList.js.map +1 -1
  92. package/lib/commonjs/components/ChannelDetails/components/modal/ModalHeader.js +1 -1
  93. package/lib/commonjs/components/ChannelDetails/components/modal/ModalHeader.js.map +1 -1
  94. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentList.js +3 -3
  95. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentList.js.map +1 -1
  96. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaItem.js +2 -2
  97. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaItem.js.map +1 -1
  98. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaList.js +3 -3
  99. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaList.js.map +1 -1
  100. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageList.js +5 -5
  101. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageList.js.map +1 -1
  102. package/lib/commonjs/components/ChannelDetails/hooks/members/useMemberRoles.js +3 -3
  103. package/lib/commonjs/components/ChannelDetails/hooks/members/useMemberRoles.js.map +1 -1
  104. package/lib/commonjs/components/ChannelDetails/hooks/useChannelDetailsMemberStatusText.js +5 -3
  105. package/lib/commonjs/components/ChannelDetails/hooks/useChannelDetailsMemberStatusText.js.map +1 -1
  106. package/lib/commonjs/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js +5 -4
  107. package/lib/commonjs/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js.map +1 -1
  108. package/lib/commonjs/components/ChannelDetails/hooks/useEditChannelImage.js +6 -6
  109. package/lib/commonjs/components/ChannelDetails/hooks/useEditChannelImage.js.map +1 -1
  110. package/lib/commonjs/components/ChannelDetails/hooks/useFileAttachmentListSections.js +9 -5
  111. package/lib/commonjs/components/ChannelDetails/hooks/useFileAttachmentListSections.js.map +1 -1
  112. package/lib/commonjs/components/ChannelDetails/hooks/useUserActivityStatus.js +8 -7
  113. package/lib/commonjs/components/ChannelDetails/hooks/useUserActivityStatus.js.map +1 -1
  114. package/lib/commonjs/components/ChannelList/ChannelList.js +23 -98
  115. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  116. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  117. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  118. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  119. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  120. package/lib/commonjs/components/ChannelList/ChannelListView.js +28 -68
  121. package/lib/commonjs/components/ChannelList/ChannelListView.js.map +1 -1
  122. package/lib/commonjs/components/ChannelList/hooks/index.js +0 -11
  123. package/lib/commonjs/components/ChannelList/hooks/index.js.map +1 -1
  124. package/lib/commonjs/components/ChannelList/hooks/useChannelMembersState.js +32 -9
  125. package/lib/commonjs/components/ChannelList/hooks/useChannelMembersState.js.map +1 -1
  126. package/lib/commonjs/components/ChannelList/hooks/useChannelOnlineMemberCount.js +6 -15
  127. package/lib/commonjs/components/ChannelList/hooks/useChannelOnlineMemberCount.js.map +1 -1
  128. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +20 -44
  129. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  130. package/lib/commonjs/components/ChannelList/hooks/useMutedChannels.js +7 -7
  131. package/lib/commonjs/components/ChannelList/hooks/useMutedChannels.js.map +1 -1
  132. package/lib/commonjs/components/ChannelList/hooks/useMutedUsers.js +7 -9
  133. package/lib/commonjs/components/ChannelList/hooks/useMutedUsers.js.map +1 -1
  134. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +69 -125
  135. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  136. package/lib/commonjs/components/ChannelPreview/ChannelDetailsBottomSheet.js +12 -3
  137. package/lib/commonjs/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
  138. package/lib/commonjs/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.js +19 -11
  139. package/lib/commonjs/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.js.map +1 -1
  140. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -3
  141. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  142. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +6 -5
  143. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  144. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  145. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  146. package/lib/commonjs/components/ChannelPreview/ChannelPreviewPinnedStatus.js +1 -1
  147. package/lib/commonjs/components/ChannelPreview/ChannelPreviewPinnedStatus.js.map +1 -1
  148. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +9 -8
  149. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  150. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTypingIndicator.js +8 -8
  151. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTypingIndicator.js.map +1 -1
  152. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  153. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  154. package/lib/commonjs/components/ChannelPreview/ChannelPreviewView.js +1 -3
  155. package/lib/commonjs/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
  156. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js +25 -118
  157. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -1
  158. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +11 -4
  159. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  160. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  161. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDraftMessage.js +14 -5
  162. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDraftMessage.js.map +1 -1
  163. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewPollLabel.js +3 -3
  164. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewPollLabel.js.map +1 -1
  165. package/lib/commonjs/components/ChannelPreview/hooks/useChannelTypingState.js +2 -37
  166. package/lib/commonjs/components/ChannelPreview/hooks/useChannelTypingState.js.map +1 -1
  167. package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js +6 -29
  168. package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -1
  169. package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelPinned.js +1 -1
  170. package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelPinned.js.map +1 -1
  171. package/lib/commonjs/components/Chat/Chat.js +53 -59
  172. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  173. package/lib/commonjs/components/Chat/hooks/index.js +16 -16
  174. package/lib/commonjs/components/Chat/hooks/index.js.map +1 -1
  175. package/lib/commonjs/components/Chat/hooks/useAppSettingsGetter.js +75 -0
  176. package/lib/commonjs/components/Chat/hooks/useAppSettingsGetter.js.map +1 -0
  177. package/lib/commonjs/components/Chat/hooks/useClientUserId.js +17 -0
  178. package/lib/commonjs/components/Chat/hooks/useClientUserId.js.map +1 -0
  179. package/lib/commonjs/components/Chat/hooks/useConnectionLifecycle.js +53 -0
  180. package/lib/commonjs/components/Chat/hooks/useConnectionLifecycle.js.map +1 -0
  181. package/lib/commonjs/components/Chat/hooks/useCreateChatClient.js +15 -1
  182. package/lib/commonjs/components/Chat/hooks/useCreateChatClient.js.map +1 -1
  183. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +7 -25
  184. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  185. package/lib/commonjs/components/Chat/hooks/useInitializeOfflineDb.js +11 -4
  186. package/lib/commonjs/components/Chat/hooks/useInitializeOfflineDb.js.map +1 -1
  187. package/lib/commonjs/components/Chat/hooks/useNetworkConnectionState.js +22 -0
  188. package/lib/commonjs/components/Chat/hooks/useNetworkConnectionState.js.map +1 -0
  189. package/lib/commonjs/components/Chat/hooks/usePendingUploadsDefault.js +24 -0
  190. package/lib/commonjs/components/Chat/hooks/usePendingUploadsDefault.js.map +1 -0
  191. package/lib/commonjs/components/Chat/hooks/useWSConnectionState.js +63 -0
  192. package/lib/commonjs/components/Chat/hooks/useWSConnectionState.js.map +1 -0
  193. package/lib/commonjs/components/ImageGallery/components/ImageGalleryA11yProbe.js +1 -1
  194. package/lib/commonjs/components/ImageGallery/components/ImageGalleryA11yProbe.js.map +1 -1
  195. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +3 -3
  196. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  197. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +6 -6
  198. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  199. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  200. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  201. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +4 -4
  202. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  203. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +3 -3
  204. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  205. package/lib/commonjs/components/Indicators/LoadingIndicator.js +3 -3
  206. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  207. package/lib/commonjs/components/Message/Message.js +64 -195
  208. package/lib/commonjs/components/Message/Message.js.map +1 -1
  209. package/lib/commonjs/components/Message/MessageItemView/Headers/MessagePinnedHeader.js +1 -1
  210. package/lib/commonjs/components/Message/MessageItemView/Headers/MessagePinnedHeader.js.map +1 -1
  211. package/lib/commonjs/components/Message/MessageItemView/Headers/MessageReminderHeader.js +2 -2
  212. package/lib/commonjs/components/Message/MessageItemView/Headers/MessageReminderHeader.js.map +1 -1
  213. package/lib/commonjs/components/Message/MessageItemView/Headers/MessageSavedForLaterHeader.js +1 -1
  214. package/lib/commonjs/components/Message/MessageItemView/Headers/MessageSavedForLaterHeader.js.map +1 -1
  215. package/lib/commonjs/components/Message/MessageItemView/Headers/SentToChannelHeader.js +34 -19
  216. package/lib/commonjs/components/Message/MessageItemView/Headers/SentToChannelHeader.js.map +1 -1
  217. package/lib/commonjs/components/Message/MessageItemView/MessageBounce.js +8 -8
  218. package/lib/commonjs/components/Message/MessageItemView/MessageBounce.js.map +1 -1
  219. package/lib/commonjs/components/Message/MessageItemView/MessageContent.js +4 -8
  220. package/lib/commonjs/components/Message/MessageItemView/MessageContent.js.map +1 -1
  221. package/lib/commonjs/components/Message/MessageItemView/MessageDeleted.js +1 -1
  222. package/lib/commonjs/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
  223. package/lib/commonjs/components/Message/MessageItemView/MessageFooter.js +17 -15
  224. package/lib/commonjs/components/Message/MessageItemView/MessageFooter.js.map +1 -1
  225. package/lib/commonjs/components/Message/MessageItemView/MessageHeader.js +27 -23
  226. package/lib/commonjs/components/Message/MessageItemView/MessageHeader.js.map +1 -1
  227. package/lib/commonjs/components/Message/MessageItemView/MessageItemView.js +14 -19
  228. package/lib/commonjs/components/Message/MessageItemView/MessageItemView.js.map +1 -1
  229. package/lib/commonjs/components/Message/MessageItemView/MessageReplies.js +7 -16
  230. package/lib/commonjs/components/Message/MessageItemView/MessageReplies.js.map +1 -1
  231. package/lib/commonjs/components/Message/MessageItemView/MessageStatus.js +25 -33
  232. package/lib/commonjs/components/Message/MessageItemView/MessageStatus.js.map +1 -1
  233. package/lib/commonjs/components/Message/MessageItemView/MessageTimestamp.js +4 -4
  234. package/lib/commonjs/components/Message/MessageItemView/MessageTimestamp.js.map +1 -1
  235. package/lib/commonjs/components/Message/MessageItemView/MessageWrapper.js +37 -31
  236. package/lib/commonjs/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
  237. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListClustered.js +3 -3
  238. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListClustered.js.map +1 -1
  239. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListItem.js +1 -1
  240. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListItem.js.map +1 -1
  241. package/lib/commonjs/components/Message/hooks/useCreateMessageActionHandlers.js +453 -0
  242. package/lib/commonjs/components/Message/hooks/useCreateMessageActionHandlers.js.map +1 -0
  243. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +5 -12
  244. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  245. package/lib/commonjs/components/Message/hooks/useIsMessageDeliveredToOthers.js +25 -0
  246. package/lib/commonjs/components/Message/hooks/useIsMessageDeliveredToOthers.js.map +1 -0
  247. package/lib/commonjs/components/Message/hooks/useIsMessageReadByOthers.js +25 -0
  248. package/lib/commonjs/components/Message/hooks/useIsMessageReadByOthers.js.map +1 -0
  249. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +9 -440
  250. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  251. package/lib/commonjs/components/Message/hooks/useMessageActions.js +59 -87
  252. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  253. package/lib/commonjs/components/Message/hooks/useMessageData.js +4 -5
  254. package/lib/commonjs/components/Message/hooks/useMessageData.js.map +1 -1
  255. package/lib/commonjs/components/Message/hooks/useMessageDeliveryData.js +12 -36
  256. package/lib/commonjs/components/Message/hooks/useMessageDeliveryData.js.map +1 -1
  257. package/lib/commonjs/components/Message/hooks/useMessageOperations.js +144 -0
  258. package/lib/commonjs/components/Message/hooks/useMessageOperations.js.map +1 -0
  259. package/lib/commonjs/components/Message/hooks/useMessageReadData.js +12 -36
  260. package/lib/commonjs/components/Message/hooks/useMessageReadData.js.map +1 -1
  261. package/lib/commonjs/components/Message/hooks/useProcessReactions.js +4 -2
  262. package/lib/commonjs/components/Message/hooks/useProcessReactions.js.map +1 -1
  263. package/lib/commonjs/components/Message/hooks/useUserMuteActive.js +15 -7
  264. package/lib/commonjs/components/Message/hooks/useUserMuteActive.js.map +1 -1
  265. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  266. package/lib/commonjs/components/MessageInput/MessageComposer.js +25 -18
  267. package/lib/commonjs/components/MessageInput/MessageComposer.js.map +1 -1
  268. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  269. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  270. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +10 -12
  271. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  272. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentRemoveControl.js +1 -1
  273. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentRemoveControl.js.map +1 -1
  274. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadProgressIndicator.js +3 -3
  275. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadProgressIndicator.js.map +1 -1
  276. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AudioAttachmentUploadPreview.js +6 -6
  277. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AudioAttachmentUploadPreview.js.map +1 -1
  278. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +6 -6
  279. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
  280. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +3 -4
  281. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
  282. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/VideoAttachmentUploadPreview.js +6 -5
  283. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/VideoAttachmentUploadPreview.js.map +1 -1
  284. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecorder.js +5 -5
  285. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecorder.js.map +1 -1
  286. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +4 -4
  287. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  288. package/lib/commonjs/components/MessageInput/components/InputButtons/AttachButton.js +1 -1
  289. package/lib/commonjs/components/MessageInput/components/InputButtons/AttachButton.js.map +1 -1
  290. package/lib/commonjs/components/MessageInput/components/InputButtons/index.js +9 -2
  291. package/lib/commonjs/components/MessageInput/components/InputButtons/index.js.map +1 -1
  292. package/lib/commonjs/components/MessageInput/components/OutputButtons/EditButton.js +1 -1
  293. package/lib/commonjs/components/MessageInput/components/OutputButtons/EditButton.js.map +1 -1
  294. package/lib/commonjs/components/MessageInput/components/OutputButtons/SendButton.js +1 -1
  295. package/lib/commonjs/components/MessageInput/components/OutputButtons/SendButton.js.map +1 -1
  296. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js +3 -3
  297. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js.map +1 -1
  298. package/lib/commonjs/components/MessageInput/hooks/useAudioRecorder.js +7 -5
  299. package/lib/commonjs/components/MessageInput/hooks/useAudioRecorder.js.map +1 -1
  300. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +6 -6
  301. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  302. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +5 -8
  303. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  304. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +5 -8
  305. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  306. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +5 -3
  307. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  308. package/lib/commonjs/components/MessageList/MessageFlashList.js +152 -390
  309. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  310. package/lib/commonjs/components/MessageList/MessageList.js +141 -436
  311. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  312. package/lib/commonjs/components/MessageList/MessageSystem.js +5 -4
  313. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  314. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +8 -16
  315. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js.map +1 -1
  316. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +13 -7
  317. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  318. package/lib/commonjs/components/MessageList/StickyHeader.js +5 -5
  319. package/lib/commonjs/components/MessageList/StickyHeader.js.map +1 -1
  320. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +15 -6
  321. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  322. package/lib/commonjs/components/MessageList/UnreadMessagesNotification.js +39 -26
  323. package/lib/commonjs/components/MessageList/UnreadMessagesNotification.js.map +1 -1
  324. package/lib/commonjs/components/MessageList/hooks/useMarkRead.js +50 -0
  325. package/lib/commonjs/components/MessageList/hooks/useMarkRead.js.map +1 -0
  326. package/lib/commonjs/components/MessageList/hooks/useMessageDateSeparator.js +4 -3
  327. package/lib/commonjs/components/MessageList/hooks/useMessageDateSeparator.js.map +1 -1
  328. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +20 -27
  329. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  330. package/lib/commonjs/components/MessageList/hooks/useMessageListFocus.js +41 -0
  331. package/lib/commonjs/components/MessageList/hooks/useMessageListFocus.js.map +1 -0
  332. package/lib/commonjs/components/MessageList/hooks/useMessageListLiveState.js +72 -0
  333. package/lib/commonjs/components/MessageList/hooks/useMessageListLiveState.js.map +1 -0
  334. package/lib/commonjs/components/MessageList/hooks/useMessageListPagination.js +71 -0
  335. package/lib/commonjs/components/MessageList/hooks/useMessageListPagination.js.map +1 -0
  336. package/lib/commonjs/components/MessageList/hooks/useOwnUnreadCount.js +22 -0
  337. package/lib/commonjs/components/MessageList/hooks/useOwnUnreadCount.js.map +1 -0
  338. package/lib/commonjs/components/MessageList/hooks/useScrollToBottomAccessibilityAction.js.map +1 -1
  339. package/lib/commonjs/components/MessageList/hooks/useStickyHeaderDate.js +41 -0
  340. package/lib/commonjs/components/MessageList/hooks/useStickyHeaderDate.js.map +1 -0
  341. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  342. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  343. package/lib/commonjs/components/MessageList/hooks/useTypingUsers.js +21 -8
  344. package/lib/commonjs/components/MessageList/hooks/useTypingUsers.js.map +1 -1
  345. package/lib/commonjs/components/MessageList/hooks/useUnreadNotificationVisibility.js +56 -0
  346. package/lib/commonjs/components/MessageList/hooks/useUnreadNotificationVisibility.js.map +1 -0
  347. package/lib/commonjs/components/MessageList/utils/buildMessageListWithNeighbours.js +2 -2
  348. package/lib/commonjs/components/MessageList/utils/buildMessageListWithNeighbours.js.map +1 -1
  349. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js +8 -7
  350. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  351. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +2 -1
  352. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  353. package/lib/commonjs/components/MessageMenu/MessageActionList.js +1 -1
  354. package/lib/commonjs/components/MessageMenu/MessageActionList.js.map +1 -1
  355. package/lib/commonjs/components/MessageMenu/MessageActionListWithActions.js +77 -0
  356. package/lib/commonjs/components/MessageMenu/MessageActionListWithActions.js.map +1 -0
  357. package/lib/commonjs/components/MessageMenu/MessageReactionPicker.js +1 -1
  358. package/lib/commonjs/components/MessageMenu/MessageReactionPicker.js.map +1 -1
  359. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +14 -11
  360. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
  361. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +2 -2
  362. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
  363. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js +37 -28
  364. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  365. package/lib/commonjs/components/Notifications/Notification.js +1 -1
  366. package/lib/commonjs/components/Notifications/Notification.js.map +1 -1
  367. package/lib/commonjs/components/Notifications/NotificationList.js +1 -1
  368. package/lib/commonjs/components/Notifications/NotificationList.js.map +1 -1
  369. package/lib/commonjs/components/Notifications/hooks/useNotificationTarget.js +1 -2
  370. package/lib/commonjs/components/Notifications/hooks/useNotificationTarget.js.map +1 -1
  371. package/lib/commonjs/components/Notifications/notificationTranslations.js +59 -45
  372. package/lib/commonjs/components/Notifications/notificationTranslations.js.map +1 -1
  373. package/lib/commonjs/components/Poll/CreatePollContent.js +9 -9
  374. package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
  375. package/lib/commonjs/components/Poll/Poll.js +7 -5
  376. package/lib/commonjs/components/Poll/Poll.js.map +1 -1
  377. package/lib/commonjs/components/Poll/components/CreatePollHeader.js +3 -3
  378. package/lib/commonjs/components/Poll/components/CreatePollHeader.js.map +1 -1
  379. package/lib/commonjs/components/Poll/components/CreatePollOptions.js +9 -4
  380. package/lib/commonjs/components/Poll/components/CreatePollOptions.js.map +1 -1
  381. package/lib/commonjs/components/Poll/components/MultipleAnswersField.js +2 -2
  382. package/lib/commonjs/components/Poll/components/MultipleAnswersField.js.map +1 -1
  383. package/lib/commonjs/components/Poll/components/MultipleVotesSettings.js +4 -4
  384. package/lib/commonjs/components/Poll/components/MultipleVotesSettings.js.map +1 -1
  385. package/lib/commonjs/components/Poll/components/NameField.js +2 -2
  386. package/lib/commonjs/components/Poll/components/NameField.js.map +1 -1
  387. package/lib/commonjs/components/Poll/components/PollAnswersList.js +10 -10
  388. package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
  389. package/lib/commonjs/components/Poll/components/PollButtons.js +19 -15
  390. package/lib/commonjs/components/Poll/components/PollButtons.js.map +1 -1
  391. package/lib/commonjs/components/Poll/components/PollInputDialog.js +2 -2
  392. package/lib/commonjs/components/Poll/components/PollInputDialog.js.map +1 -1
  393. package/lib/commonjs/components/Poll/components/PollModalHeader.js +1 -1
  394. package/lib/commonjs/components/Poll/components/PollModalHeader.js.map +1 -1
  395. package/lib/commonjs/components/Poll/components/PollOption.js +6 -4
  396. package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
  397. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +4 -2
  398. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  399. package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js +7 -5
  400. package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  401. package/lib/commonjs/components/Poll/components/PollResults/PollResults.js +1 -1
  402. package/lib/commonjs/components/Poll/components/PollResults/PollResults.js.map +1 -1
  403. package/lib/commonjs/components/Poll/components/PollResults/PollVote.js +6 -6
  404. package/lib/commonjs/components/Poll/components/PollResults/PollVote.js.map +1 -1
  405. package/lib/commonjs/components/Poll/contexts/PollUIStateContext.js +2 -2
  406. package/lib/commonjs/components/Poll/contexts/PollUIStateContext.js.map +1 -1
  407. package/lib/commonjs/components/Poll/hooks/useEndVote.js +2 -2
  408. package/lib/commonjs/components/Poll/hooks/useEndVote.js.map +1 -1
  409. package/lib/commonjs/components/Poll/hooks/usePollAnswersPagination.js +8 -7
  410. package/lib/commonjs/components/Poll/hooks/usePollAnswersPagination.js.map +1 -1
  411. package/lib/commonjs/components/Poll/hooks/usePollOptionVotesPagination.js +14 -12
  412. package/lib/commonjs/components/Poll/hooks/usePollOptionVotesPagination.js.map +1 -1
  413. package/lib/commonjs/components/Poll/hooks/usePollState.js +21 -18
  414. package/lib/commonjs/components/Poll/hooks/usePollState.js.map +1 -1
  415. package/lib/commonjs/components/Reply/Reply.js +10 -9
  416. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  417. package/lib/commonjs/components/Thread/Thread.js +77 -104
  418. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  419. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +26 -46
  420. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  421. package/lib/commonjs/components/ThreadList/ThreadList.js +17 -18
  422. package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
  423. package/lib/commonjs/components/ThreadList/ThreadListItem.js +20 -15
  424. package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -1
  425. package/lib/commonjs/components/ThreadList/ThreadListItemMessagePreview.js +1 -1
  426. package/lib/commonjs/components/ThreadList/ThreadListItemMessagePreview.js.map +1 -1
  427. package/lib/commonjs/components/ThreadList/ThreadListUnreadBanner.js +23 -20
  428. package/lib/commonjs/components/ThreadList/ThreadListUnreadBanner.js.map +1 -1
  429. package/lib/commonjs/components/ThreadList/ThreadMessagePreviewDeliveryStatus.js +15 -8
  430. package/lib/commonjs/components/ThreadList/ThreadMessagePreviewDeliveryStatus.js.map +1 -1
  431. package/lib/commonjs/components/UIComponents/BottomSheetModal.js +2 -2
  432. package/lib/commonjs/components/UIComponents/BottomSheetModal.js.map +1 -1
  433. package/lib/commonjs/components/UIComponents/SearchInput.js +2 -2
  434. package/lib/commonjs/components/UIComponents/SearchInput.js.map +1 -1
  435. package/lib/commonjs/components/index.js +235 -44
  436. package/lib/commonjs/components/index.js.map +1 -1
  437. package/lib/commonjs/components/ui/Avatar/Avatar.js +1 -1
  438. package/lib/commonjs/components/ui/Avatar/Avatar.js.map +1 -1
  439. package/lib/commonjs/components/ui/Avatar/ChannelAvatar.js +12 -4
  440. package/lib/commonjs/components/ui/Avatar/ChannelAvatar.js.map +1 -1
  441. package/lib/commonjs/contexts/channelAddMembersContext/ChannelAddMembersContext.js +2 -1
  442. package/lib/commonjs/contexts/channelAddMembersContext/ChannelAddMembersContext.js.map +1 -1
  443. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  444. package/lib/commonjs/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js +4 -3
  445. package/lib/commonjs/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js.map +1 -1
  446. package/lib/commonjs/contexts/channelMediaListContext/ChannelMediaListContext.js +4 -3
  447. package/lib/commonjs/contexts/channelMediaListContext/ChannelMediaListContext.js.map +1 -1
  448. package/lib/commonjs/contexts/channelMemberListContext/ChannelMemberListContext.js +4 -3
  449. package/lib/commonjs/contexts/channelMemberListContext/ChannelMemberListContext.js.map +1 -1
  450. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  451. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  452. package/lib/commonjs/contexts/componentsContext/defaultComponents.js +0 -2
  453. package/lib/commonjs/contexts/componentsContext/defaultComponents.js.map +1 -1
  454. package/lib/commonjs/contexts/index.js +11 -33
  455. package/lib/commonjs/contexts/index.js.map +1 -1
  456. package/lib/commonjs/contexts/liveLocationManagerContext/LiveLocationManagerContext.js +2 -1
  457. package/lib/commonjs/contexts/liveLocationManagerContext/LiveLocationManagerContext.js.map +1 -1
  458. package/lib/commonjs/contexts/liveLocationManagerContext/hooks/useHandleLiveLocationEvents.js +5 -6
  459. package/lib/commonjs/contexts/liveLocationManagerContext/hooks/useHandleLiveLocationEvents.js.map +1 -1
  460. package/lib/commonjs/contexts/messageComposerContext/MessageComposerContext.js +49 -10
  461. package/lib/commonjs/contexts/messageComposerContext/MessageComposerContext.js.map +1 -1
  462. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  463. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +23 -130
  464. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  465. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -8
  466. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  467. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageComposer.js +1 -5
  468. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageComposer.js.map +1 -1
  469. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageComposerHasSendableData.js +3 -4
  470. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageComposerHasSendableData.js.map +1 -1
  471. package/lib/commonjs/contexts/messageInputContext/hooks/usePendingUploadsEnabled.js +16 -0
  472. package/lib/commonjs/contexts/messageInputContext/hooks/usePendingUploadsEnabled.js.map +1 -0
  473. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  474. package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js +1 -1
  475. package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
  476. package/lib/commonjs/contexts/threadContext/ThreadContext.js +6 -10
  477. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  478. package/lib/commonjs/contexts/threadsContext/ThreadsContext.js.map +1 -1
  479. package/lib/commonjs/contexts/translationContext/TranslationContext.js +4 -6
  480. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  481. package/lib/commonjs/contexts/translationContext/index.js +0 -11
  482. package/lib/commonjs/contexts/translationContext/index.js.map +1 -1
  483. package/lib/commonjs/hooks/actions/useChannelActionItems.js +21 -21
  484. package/lib/commonjs/hooks/actions/useChannelActionItems.js.map +1 -1
  485. package/lib/commonjs/hooks/actions/useChannelActions.js +52 -38
  486. package/lib/commonjs/hooks/actions/useChannelActions.js.map +1 -1
  487. package/lib/commonjs/hooks/actions/useChannelMemberActionItems.js +10 -10
  488. package/lib/commonjs/hooks/actions/useChannelMemberActionItems.js.map +1 -1
  489. package/lib/commonjs/hooks/actions/useUserActions.js +15 -11
  490. package/lib/commonjs/hooks/actions/useUserActions.js.map +1 -1
  491. package/lib/commonjs/hooks/index.js +33 -11
  492. package/lib/commonjs/hooks/index.js.map +1 -1
  493. package/lib/commonjs/hooks/messagePreview/useGroupedAttachments.js.map +1 -1
  494. package/lib/commonjs/hooks/messagePreview/useMessageDeliveryStatus.js +26 -52
  495. package/lib/commonjs/hooks/messagePreview/useMessageDeliveryStatus.js.map +1 -1
  496. package/lib/commonjs/hooks/messagePreview/useMessagePreviewText.js +34 -22
  497. package/lib/commonjs/hooks/messagePreview/useMessagePreviewText.js.map +1 -1
  498. package/lib/commonjs/hooks/useAudioPlayer.js +3 -3
  499. package/lib/commonjs/hooks/useAudioPlayer.js.map +1 -1
  500. package/lib/commonjs/hooks/useChannel.js +16 -0
  501. package/lib/commonjs/hooks/useChannel.js.map +1 -0
  502. package/lib/commonjs/hooks/useChannelImage.js +8 -10
  503. package/lib/commonjs/hooks/useChannelImage.js.map +1 -1
  504. package/lib/commonjs/hooks/useChannelMemberCount.js +6 -11
  505. package/lib/commonjs/hooks/useChannelMemberCount.js.map +1 -1
  506. package/lib/commonjs/hooks/useChannelMembershipState.js +6 -8
  507. package/lib/commonjs/hooks/useChannelMembershipState.js.map +1 -1
  508. package/lib/commonjs/hooks/useChannelMuteActive.js +3 -6
  509. package/lib/commonjs/hooks/useChannelMuteActive.js.map +1 -1
  510. package/lib/commonjs/hooks/useChannelName.js +8 -10
  511. package/lib/commonjs/hooks/useChannelName.js.map +1 -1
  512. package/lib/commonjs/hooks/useChannelOwnCapabilities.js +6 -11
  513. package/lib/commonjs/hooks/useChannelOwnCapabilities.js.map +1 -1
  514. package/lib/commonjs/hooks/useIsDirectChat.js +9 -3
  515. package/lib/commonjs/hooks/useIsDirectChat.js.map +1 -1
  516. package/lib/commonjs/hooks/useIsTargetedMessage.js +20 -0
  517. package/lib/commonjs/hooks/useIsTargetedMessage.js.map +1 -0
  518. package/lib/commonjs/hooks/useLoadingImage.js +5 -5
  519. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
  520. package/lib/commonjs/hooks/useMessagePaginator.js +15 -0
  521. package/lib/commonjs/hooks/useMessagePaginator.js.map +1 -0
  522. package/lib/commonjs/hooks/usePrunableMessageList.js +17 -16
  523. package/lib/commonjs/hooks/usePrunableMessageList.js.map +1 -1
  524. package/lib/commonjs/hooks/useQueryReminders.js +7 -6
  525. package/lib/commonjs/hooks/useQueryReminders.js.map +1 -1
  526. package/lib/commonjs/hooks/useStreami18n.js +13 -44
  527. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  528. package/lib/commonjs/hooks/useTranslatedMessage.js +8 -4
  529. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  530. package/lib/commonjs/i18n/index.js +37 -0
  531. package/lib/commonjs/i18n/index.js.map +1 -0
  532. package/lib/commonjs/i18n/keys.js +2 -0
  533. package/lib/commonjs/i18n/keys.js.map +1 -0
  534. package/lib/commonjs/i18n/runtimeDefaults.js +103 -0
  535. package/lib/commonjs/i18n/runtimeDefaults.js.map +1 -0
  536. package/lib/commonjs/i18n/types.js.map +1 -0
  537. package/lib/commonjs/i18n/utils.js +72 -0
  538. package/lib/commonjs/i18n/utils.js.map +1 -0
  539. package/lib/commonjs/index.js +16 -101
  540. package/lib/commonjs/index.js.map +1 -1
  541. package/lib/commonjs/middlewares/attachments.js +1 -80
  542. package/lib/commonjs/middlewares/attachments.js.map +1 -1
  543. package/lib/commonjs/mock-builders/DB/mock.js +5 -4
  544. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  545. package/lib/commonjs/mock-builders/api/channelMocks.js +38 -35
  546. package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
  547. package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js +6 -1
  548. package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js.map +1 -1
  549. package/lib/commonjs/mock-builders/api/queryMembers.js +15 -14
  550. package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
  551. package/lib/commonjs/mock-builders/api/useMockedApis.js +31 -1
  552. package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
  553. package/lib/commonjs/mock-builders/attachments.js +5 -0
  554. package/lib/commonjs/mock-builders/attachments.js.map +1 -1
  555. package/lib/commonjs/mock-builders/event/connectionChanged.js +13 -6
  556. package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
  557. package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
  558. package/lib/commonjs/mock-builders/event/messageDeleted.js +0 -1
  559. package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
  560. package/lib/commonjs/mock-builders/event/messageRead.js +2 -1
  561. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  562. package/lib/commonjs/mock-builders/event/messageUpdated.js +0 -1
  563. package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
  564. package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js +1 -3
  565. package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
  566. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +2 -1
  567. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -1
  568. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js +2 -1
  569. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  570. package/lib/commonjs/mock-builders/event/typing.js +1 -3
  571. package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
  572. package/lib/commonjs/mock-builders/event/userPresence.js +1 -3
  573. package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
  574. package/lib/commonjs/mock-builders/event/userUpdated.js +1 -3
  575. package/lib/commonjs/mock-builders/event/userUpdated.js.map +1 -1
  576. package/lib/commonjs/mock-builders/event/utils.js +18 -0
  577. package/lib/commonjs/mock-builders/event/utils.js.map +1 -0
  578. package/lib/commonjs/mock-builders/generator/attachment.js +11 -3
  579. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  580. package/lib/commonjs/mock-builders/generator/channel.js +5 -4
  581. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  582. package/lib/commonjs/mock-builders/generator/channelState.js +53 -0
  583. package/lib/commonjs/mock-builders/generator/channelState.js.map +1 -0
  584. package/lib/commonjs/mock-builders/generator/message.js +15 -8
  585. package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
  586. package/lib/commonjs/mock-builders/generator/reaction.js +2 -1
  587. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  588. package/lib/commonjs/mock-builders/generator/time.js +13 -0
  589. package/lib/commonjs/mock-builders/generator/time.js.map +1 -0
  590. package/lib/commonjs/mock-builders/generator/user.js +3 -2
  591. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  592. package/lib/commonjs/mock-builders/mock.js +5 -3
  593. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  594. package/lib/commonjs/state-store/attachment-picker-store.js +2 -2
  595. package/lib/commonjs/state-store/attachment-picker-store.js.map +1 -1
  596. package/lib/commonjs/state-store/audio-player-pool.js +2 -2
  597. package/lib/commonjs/state-store/audio-player-pool.js.map +1 -1
  598. package/lib/commonjs/state-store/audio-player.js +2 -2
  599. package/lib/commonjs/state-store/audio-player.js.map +1 -1
  600. package/lib/commonjs/state-store/audio-recorder-manager.js +2 -2
  601. package/lib/commonjs/state-store/audio-recorder-manager.js.map +1 -1
  602. package/lib/commonjs/state-store/edit-channel-details-store.js +5 -5
  603. package/lib/commonjs/state-store/edit-channel-details-store.js.map +1 -1
  604. package/lib/commonjs/state-store/image-gallery-state-store.js +5 -4
  605. package/lib/commonjs/state-store/image-gallery-state-store.js.map +1 -1
  606. package/lib/commonjs/state-store/in-app-notifications-store.js +2 -2
  607. package/lib/commonjs/state-store/in-app-notifications-store.js.map +1 -1
  608. package/lib/commonjs/state-store/message-input-height-store.js +2 -2
  609. package/lib/commonjs/state-store/message-input-height-store.js.map +1 -1
  610. package/lib/commonjs/state-store/message-overlay-store.js +4 -4
  611. package/lib/commonjs/state-store/message-overlay-store.js.map +1 -1
  612. package/lib/commonjs/state-store/selection-store.js +2 -2
  613. package/lib/commonjs/state-store/selection-store.js.map +1 -1
  614. package/lib/commonjs/state-store/signal-store.js +2 -2
  615. package/lib/commonjs/state-store/signal-store.js.map +1 -1
  616. package/lib/commonjs/state-store/video-player-pool.js +2 -2
  617. package/lib/commonjs/state-store/video-player-pool.js.map +1 -1
  618. package/lib/commonjs/state-store/video-player.js +2 -2
  619. package/lib/commonjs/state-store/video-player.js.map +1 -1
  620. package/lib/commonjs/store/OfflineDB.js +11 -13
  621. package/lib/commonjs/store/OfflineDB.js.map +1 -1
  622. package/lib/commonjs/store/SqliteClient.js +1 -1
  623. package/lib/commonjs/store/apis/channelExists.js +1 -1
  624. package/lib/commonjs/store/apis/channelExists.js.map +1 -1
  625. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +2 -1
  626. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
  627. package/lib/commonjs/store/apis/getAppSettings.js +3 -3
  628. package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
  629. package/lib/commonjs/store/apis/getChannelActiveLocations.js.map +1 -1
  630. package/lib/commonjs/store/apis/getChannelMessages.js +3 -3
  631. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  632. package/lib/commonjs/store/apis/getChannels.js +7 -6
  633. package/lib/commonjs/store/apis/getChannels.js.map +1 -1
  634. package/lib/commonjs/store/apis/getChannelsForFilterSort.js +18 -10
  635. package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -1
  636. package/lib/commonjs/store/apis/getDraft.js +1 -1
  637. package/lib/commonjs/store/apis/getDraft.js.map +1 -1
  638. package/lib/commonjs/store/apis/getDraftsForChannels.js +2 -2
  639. package/lib/commonjs/store/apis/getDraftsForChannels.js.map +1 -1
  640. package/lib/commonjs/store/apis/getLastSyncedAt.js +3 -3
  641. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  642. package/lib/commonjs/store/apis/getReads.js.map +1 -1
  643. package/lib/commonjs/store/apis/index.js +0 -11
  644. package/lib/commonjs/store/apis/index.js.map +1 -1
  645. package/lib/commonjs/store/apis/insertReaction.js +6 -2
  646. package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
  647. package/lib/commonjs/store/apis/queries/selectActiveLocationsForChannels.js +2 -1
  648. package/lib/commonjs/store/apis/queries/selectActiveLocationsForChannels.js.map +1 -1
  649. package/lib/commonjs/store/apis/queries/selectChannelQueryForFilterSort.js +56 -0
  650. package/lib/commonjs/store/apis/queries/selectChannelQueryForFilterSort.js.map +1 -0
  651. package/lib/commonjs/store/apis/queries/selectDraftMessageFromDraftForChannels.js +1 -1
  652. package/lib/commonjs/store/apis/queries/selectDraftMessageFromDraftForChannels.js.map +1 -1
  653. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +1 -1
  654. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
  655. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +2 -2
  656. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  657. package/lib/commonjs/store/apis/softDeleteMessage.js +2 -1
  658. package/lib/commonjs/store/apis/softDeleteMessage.js.map +1 -1
  659. package/lib/commonjs/store/apis/updateReaction.js +6 -1
  660. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  661. package/lib/commonjs/store/apis/upsertAppSettings.js +3 -3
  662. package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -1
  663. package/lib/commonjs/store/apis/upsertChannels.js +13 -6
  664. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  665. package/lib/commonjs/store/apis/upsertCidsForQuery.js +6 -2
  666. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
  667. package/lib/commonjs/store/apis/upsertDraft.js.map +1 -1
  668. package/lib/commonjs/store/apis/upsertUserSyncStatus.js +3 -3
  669. package/lib/commonjs/store/apis/upsertUserSyncStatus.js.map +1 -1
  670. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +8 -11
  671. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -1
  672. package/lib/commonjs/store/mappers/mapChannelToStorable.js +8 -11
  673. package/lib/commonjs/store/mappers/mapChannelToStorable.js.map +1 -1
  674. package/lib/commonjs/store/mappers/mapDraftMessageToStorable.js +1 -1
  675. package/lib/commonjs/store/mappers/mapDraftMessageToStorable.js.map +1 -1
  676. package/lib/commonjs/store/mappers/mapDraftToStorable.js +2 -2
  677. package/lib/commonjs/store/mappers/mapDraftToStorable.js.map +1 -1
  678. package/lib/commonjs/store/mappers/mapMemberToStorable.js +7 -7
  679. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -1
  680. package/lib/commonjs/store/mappers/mapMessageToStorable.js +6 -6
  681. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
  682. package/lib/commonjs/store/mappers/mapPollToStorable.js +4 -4
  683. package/lib/commonjs/store/mappers/mapPollToStorable.js.map +1 -1
  684. package/lib/commonjs/store/mappers/mapReactionToStorable.js +3 -3
  685. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -1
  686. package/lib/commonjs/store/mappers/mapReadToStorable.js +3 -3
  687. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -1
  688. package/lib/commonjs/store/mappers/mapReminderToStorable.js +4 -4
  689. package/lib/commonjs/store/mappers/mapReminderToStorable.js.map +1 -1
  690. package/lib/commonjs/store/mappers/mapSharedLocationToStorable.js +4 -4
  691. package/lib/commonjs/store/mappers/mapSharedLocationToStorable.js.map +1 -1
  692. package/lib/commonjs/store/mappers/mapStorableToChannel.js +6 -5
  693. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -1
  694. package/lib/commonjs/store/mappers/mapStorableToDraft.js +4 -3
  695. package/lib/commonjs/store/mappers/mapStorableToDraft.js.map +1 -1
  696. package/lib/commonjs/store/mappers/mapStorableToMember.js +12 -9
  697. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -1
  698. package/lib/commonjs/store/mappers/mapStorableToMessage.js +7 -6
  699. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -1
  700. package/lib/commonjs/store/mappers/mapStorableToPoll.js +9 -6
  701. package/lib/commonjs/store/mappers/mapStorableToPoll.js.map +1 -1
  702. package/lib/commonjs/store/mappers/mapStorableToReaction.js +3 -2
  703. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -1
  704. package/lib/commonjs/store/mappers/mapStorableToRead.js +4 -3
  705. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -1
  706. package/lib/commonjs/store/mappers/mapStorableToReminder.js +4 -3
  707. package/lib/commonjs/store/mappers/mapStorableToReminder.js.map +1 -1
  708. package/lib/commonjs/store/mappers/mapStorableToSharedLocation.js +4 -3
  709. package/lib/commonjs/store/mappers/mapStorableToSharedLocation.js.map +1 -1
  710. package/lib/commonjs/store/mappers/mapStorableToTimestamp.js +13 -0
  711. package/lib/commonjs/store/mappers/mapStorableToTimestamp.js.map +1 -0
  712. package/lib/commonjs/store/mappers/mapStorableToUser.js +5 -4
  713. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -1
  714. package/lib/commonjs/store/mappers/mapTimestampToStorable.js +7 -0
  715. package/lib/commonjs/store/mappers/mapTimestampToStorable.js.map +1 -0
  716. package/lib/commonjs/store/mappers/mapUserToStorable.js +4 -3
  717. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -1
  718. package/lib/commonjs/store/schema.js +33 -32
  719. package/lib/commonjs/store/schema.js.map +1 -1
  720. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +17 -3
  721. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  722. package/lib/commonjs/store/sqlite-utils/createUpsertQueryIfParentExists.js +15 -0
  723. package/lib/commonjs/store/sqlite-utils/createUpsertQueryIfParentExists.js.map +1 -0
  724. package/lib/commonjs/types/types.js.map +1 -1
  725. package/lib/commonjs/utils/attachmentUrls.js +15 -0
  726. package/lib/commonjs/utils/attachmentUrls.js.map +1 -0
  727. package/lib/commonjs/utils/getUrlOfImageAttachment.js +6 -1
  728. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
  729. package/lib/commonjs/utils/i18n/Streami18n.js +43 -408
  730. package/lib/commonjs/utils/i18n/Streami18n.js.map +1 -1
  731. package/lib/commonjs/utils/installNativeMultipartAdapter.js +25 -25
  732. package/lib/commonjs/utils/installNativeMultipartAdapter.js.map +1 -1
  733. package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
  734. package/lib/commonjs/utils/utils.js +16 -54
  735. package/lib/commonjs/utils/utils.js.map +1 -1
  736. package/lib/commonjs/version.json +1 -1
  737. package/lib/module/a11y/hooks/useA11yLabel.js +2 -1
  738. package/lib/module/a11y/hooks/useA11yLabel.js.map +1 -1
  739. package/lib/module/components/AITypingIndicatorView/AITypingIndicatorView.js +2 -2
  740. package/lib/module/components/AITypingIndicatorView/AITypingIndicatorView.js.map +1 -1
  741. package/lib/module/components/AITypingIndicatorView/hooks/useAIState.js +15 -47
  742. package/lib/module/components/AITypingIndicatorView/hooks/useAIState.js.map +1 -1
  743. package/lib/module/components/Accessibility/NotificationAnnouncer.js +9 -7
  744. package/lib/module/components/Accessibility/NotificationAnnouncer.js.map +1 -1
  745. package/lib/module/components/Accessibility/hooks/useIncomingMessageAnnouncements.js +10 -10
  746. package/lib/module/components/Accessibility/hooks/useIncomingMessageAnnouncements.js.map +1 -1
  747. package/lib/module/components/Attachment/Attachment.js +6 -6
  748. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  749. package/lib/module/components/Attachment/Audio/AudioAttachment.js +14 -13
  750. package/lib/module/components/Attachment/Audio/AudioAttachment.js.map +1 -1
  751. package/lib/module/components/Attachment/FileAttachment.js +4 -4
  752. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  753. package/lib/module/components/Attachment/FilePreview.js +4 -2
  754. package/lib/module/components/Attachment/FilePreview.js.map +1 -1
  755. package/lib/module/components/Attachment/Gallery.js +9 -5
  756. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  757. package/lib/module/components/Attachment/Giphy/Giphy.js +1 -1
  758. package/lib/module/components/Attachment/Giphy/Giphy.js.map +1 -1
  759. package/lib/module/components/Attachment/UnsupportedAttachment.js +3 -3
  760. package/lib/module/components/Attachment/UnsupportedAttachment.js.map +1 -1
  761. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +2 -1
  762. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  763. package/lib/module/components/Attachment/utils/openUrlSafely.js +3 -0
  764. package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
  765. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentMediaPicker.js +2 -2
  766. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentMediaPicker.js.map +1 -1
  767. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +29 -24
  768. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  769. package/lib/module/components/AttachmentPicker/components/AttachmentPickerContent.js +22 -21
  770. package/lib/module/components/AttachmentPicker/components/AttachmentPickerContent.js.map +1 -1
  771. package/lib/module/components/AttachmentPicker/components/AttachmentTypePickerButton.js +9 -9
  772. package/lib/module/components/AttachmentPicker/components/AttachmentTypePickerButton.js.map +1 -1
  773. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +8 -9
  774. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  775. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  776. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  777. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  778. package/lib/module/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.js +2 -2
  779. package/lib/module/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.js.map +1 -1
  780. package/lib/module/components/AutoCompleteInput/mentionItems/MentionRoleItem.js +1 -1
  781. package/lib/module/components/AutoCompleteInput/mentionItems/MentionRoleItem.js.map +1 -1
  782. package/lib/module/components/Channel/Channel.js +54 -1410
  783. package/lib/module/components/Channel/Channel.js.map +1 -1
  784. package/lib/module/components/Channel/ChannelShell.js +398 -0
  785. package/lib/module/components/Channel/ChannelShell.js.map +1 -0
  786. package/lib/module/components/Channel/hooks/useChannelLifecycle.js +120 -0
  787. package/lib/module/components/Channel/hooks/useChannelLifecycle.js.map +1 -0
  788. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +3 -53
  789. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  790. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +1 -9
  791. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  792. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +3 -19
  793. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  794. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +11 -27
  795. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  796. package/lib/module/components/Channel/hooks/useCreateThreadContext.js +6 -46
  797. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  798. package/lib/module/components/Channel/hooks/useSupersededChannelSwap.js +28 -0
  799. package/lib/module/components/Channel/hooks/useSupersededChannelSwap.js.map +1 -0
  800. package/lib/module/components/ChannelDetails/components/ChannelDetailsEditButton.js +2 -2
  801. package/lib/module/components/ChannelDetails/components/ChannelDetailsEditButton.js.map +1 -1
  802. package/lib/module/components/ChannelDetails/components/ChannelDetailsMemberSection.js +10 -6
  803. package/lib/module/components/ChannelDetails/components/ChannelDetailsMemberSection.js.map +1 -1
  804. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavHeader.js +2 -2
  805. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavHeader.js.map +1 -1
  806. package/lib/module/components/ChannelDetails/components/ChannelDetailsProfile.js +1 -1
  807. package/lib/module/components/ChannelDetails/components/ChannelDetailsProfile.js.map +1 -1
  808. package/lib/module/components/ChannelDetails/components/ChannelEditDetailsFormContent.js +2 -2
  809. package/lib/module/components/ChannelDetails/components/ChannelEditDetailsFormContent.js.map +1 -1
  810. package/lib/module/components/ChannelDetails/components/ChannelEditDetailsFormHeader.js +2 -2
  811. package/lib/module/components/ChannelDetails/components/ChannelEditDetailsFormHeader.js.map +1 -1
  812. package/lib/module/components/ChannelDetails/components/ChannelEditImageSheet.js +5 -5
  813. package/lib/module/components/ChannelDetails/components/ChannelEditImageSheet.js.map +1 -1
  814. package/lib/module/components/ChannelDetails/components/ChannelEditName.js +2 -2
  815. package/lib/module/components/ChannelDetails/components/ChannelEditName.js.map +1 -1
  816. package/lib/module/components/ChannelDetails/components/members/AddMemberSearchResultItem.js +3 -3
  817. package/lib/module/components/ChannelDetails/components/members/AddMemberSearchResultItem.js.map +1 -1
  818. package/lib/module/components/ChannelDetails/components/members/ChannelAddMembersButton.js +3 -3
  819. package/lib/module/components/ChannelDetails/components/members/ChannelAddMembersButton.js.map +1 -1
  820. package/lib/module/components/ChannelDetails/components/members/ChannelAddMembersFormContent.js +3 -3
  821. package/lib/module/components/ChannelDetails/components/members/ChannelAddMembersFormContent.js.map +1 -1
  822. package/lib/module/components/ChannelDetails/components/members/ChannelAddMembersFormHeader.js +2 -2
  823. package/lib/module/components/ChannelDetails/components/members/ChannelAddMembersFormHeader.js.map +1 -1
  824. package/lib/module/components/ChannelDetails/components/members/ChannelMemberItem.js +2 -2
  825. package/lib/module/components/ChannelDetails/components/members/ChannelMemberItem.js.map +1 -1
  826. package/lib/module/components/ChannelDetails/components/members/ChannelMemberList.js +3 -3
  827. package/lib/module/components/ChannelDetails/components/members/ChannelMemberList.js.map +1 -1
  828. package/lib/module/components/ChannelDetails/components/modal/ModalHeader.js +1 -1
  829. package/lib/module/components/ChannelDetails/components/modal/ModalHeader.js.map +1 -1
  830. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentList.js +3 -3
  831. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentList.js.map +1 -1
  832. package/lib/module/components/ChannelDetails/components/navigation-section/MediaItem.js +2 -2
  833. package/lib/module/components/ChannelDetails/components/navigation-section/MediaItem.js.map +1 -1
  834. package/lib/module/components/ChannelDetails/components/navigation-section/MediaList.js +3 -3
  835. package/lib/module/components/ChannelDetails/components/navigation-section/MediaList.js.map +1 -1
  836. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageList.js +5 -5
  837. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageList.js.map +1 -1
  838. package/lib/module/components/ChannelDetails/hooks/members/useMemberRoles.js +3 -3
  839. package/lib/module/components/ChannelDetails/hooks/members/useMemberRoles.js.map +1 -1
  840. package/lib/module/components/ChannelDetails/hooks/useChannelDetailsMemberStatusText.js +5 -3
  841. package/lib/module/components/ChannelDetails/hooks/useChannelDetailsMemberStatusText.js.map +1 -1
  842. package/lib/module/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js +5 -4
  843. package/lib/module/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js.map +1 -1
  844. package/lib/module/components/ChannelDetails/hooks/useEditChannelImage.js +6 -6
  845. package/lib/module/components/ChannelDetails/hooks/useEditChannelImage.js.map +1 -1
  846. package/lib/module/components/ChannelDetails/hooks/useFileAttachmentListSections.js +9 -5
  847. package/lib/module/components/ChannelDetails/hooks/useFileAttachmentListSections.js.map +1 -1
  848. package/lib/module/components/ChannelDetails/hooks/useUserActivityStatus.js +8 -7
  849. package/lib/module/components/ChannelDetails/hooks/useUserActivityStatus.js.map +1 -1
  850. package/lib/module/components/ChannelList/ChannelList.js +23 -98
  851. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  852. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  853. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  854. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  855. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  856. package/lib/module/components/ChannelList/ChannelListView.js +28 -68
  857. package/lib/module/components/ChannelList/ChannelListView.js.map +1 -1
  858. package/lib/module/components/ChannelList/hooks/index.js +0 -11
  859. package/lib/module/components/ChannelList/hooks/index.js.map +1 -1
  860. package/lib/module/components/ChannelList/hooks/useChannelMembersState.js +32 -9
  861. package/lib/module/components/ChannelList/hooks/useChannelMembersState.js.map +1 -1
  862. package/lib/module/components/ChannelList/hooks/useChannelOnlineMemberCount.js +6 -15
  863. package/lib/module/components/ChannelList/hooks/useChannelOnlineMemberCount.js.map +1 -1
  864. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +20 -44
  865. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  866. package/lib/module/components/ChannelList/hooks/useMutedChannels.js +7 -7
  867. package/lib/module/components/ChannelList/hooks/useMutedChannels.js.map +1 -1
  868. package/lib/module/components/ChannelList/hooks/useMutedUsers.js +7 -9
  869. package/lib/module/components/ChannelList/hooks/useMutedUsers.js.map +1 -1
  870. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +69 -125
  871. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  872. package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js +12 -3
  873. package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
  874. package/lib/module/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.js +19 -11
  875. package/lib/module/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.js.map +1 -1
  876. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -3
  877. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  878. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +6 -5
  879. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  880. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  881. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  882. package/lib/module/components/ChannelPreview/ChannelPreviewPinnedStatus.js +1 -1
  883. package/lib/module/components/ChannelPreview/ChannelPreviewPinnedStatus.js.map +1 -1
  884. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +9 -8
  885. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  886. package/lib/module/components/ChannelPreview/ChannelPreviewTypingIndicator.js +8 -8
  887. package/lib/module/components/ChannelPreview/ChannelPreviewTypingIndicator.js.map +1 -1
  888. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  889. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  890. package/lib/module/components/ChannelPreview/ChannelPreviewView.js +1 -3
  891. package/lib/module/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
  892. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js +25 -118
  893. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -1
  894. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +11 -4
  895. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  896. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  897. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDraftMessage.js +14 -5
  898. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDraftMessage.js.map +1 -1
  899. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewPollLabel.js +3 -3
  900. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewPollLabel.js.map +1 -1
  901. package/lib/module/components/ChannelPreview/hooks/useChannelTypingState.js +2 -37
  902. package/lib/module/components/ChannelPreview/hooks/useChannelTypingState.js.map +1 -1
  903. package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js +6 -29
  904. package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -1
  905. package/lib/module/components/ChannelPreview/hooks/useIsChannelPinned.js +1 -1
  906. package/lib/module/components/ChannelPreview/hooks/useIsChannelPinned.js.map +1 -1
  907. package/lib/module/components/Chat/Chat.js +53 -59
  908. package/lib/module/components/Chat/Chat.js.map +1 -1
  909. package/lib/module/components/Chat/hooks/index.js +16 -16
  910. package/lib/module/components/Chat/hooks/index.js.map +1 -1
  911. package/lib/module/components/Chat/hooks/useAppSettingsGetter.js +75 -0
  912. package/lib/module/components/Chat/hooks/useAppSettingsGetter.js.map +1 -0
  913. package/lib/module/components/Chat/hooks/useClientUserId.js +17 -0
  914. package/lib/module/components/Chat/hooks/useClientUserId.js.map +1 -0
  915. package/lib/module/components/Chat/hooks/useConnectionLifecycle.js +53 -0
  916. package/lib/module/components/Chat/hooks/useConnectionLifecycle.js.map +1 -0
  917. package/lib/module/components/Chat/hooks/useCreateChatClient.js +15 -1
  918. package/lib/module/components/Chat/hooks/useCreateChatClient.js.map +1 -1
  919. package/lib/module/components/Chat/hooks/useCreateChatContext.js +7 -25
  920. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  921. package/lib/module/components/Chat/hooks/useInitializeOfflineDb.js +11 -4
  922. package/lib/module/components/Chat/hooks/useInitializeOfflineDb.js.map +1 -1
  923. package/lib/module/components/Chat/hooks/useNetworkConnectionState.js +22 -0
  924. package/lib/module/components/Chat/hooks/useNetworkConnectionState.js.map +1 -0
  925. package/lib/module/components/Chat/hooks/usePendingUploadsDefault.js +24 -0
  926. package/lib/module/components/Chat/hooks/usePendingUploadsDefault.js.map +1 -0
  927. package/lib/module/components/Chat/hooks/useWSConnectionState.js +63 -0
  928. package/lib/module/components/Chat/hooks/useWSConnectionState.js.map +1 -0
  929. package/lib/module/components/ImageGallery/components/ImageGalleryA11yProbe.js +1 -1
  930. package/lib/module/components/ImageGallery/components/ImageGalleryA11yProbe.js.map +1 -1
  931. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +3 -3
  932. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  933. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +6 -6
  934. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  935. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  936. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  937. package/lib/module/components/Indicators/EmptyStateIndicator.js +4 -4
  938. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  939. package/lib/module/components/Indicators/LoadingErrorIndicator.js +3 -3
  940. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  941. package/lib/module/components/Indicators/LoadingIndicator.js +3 -3
  942. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  943. package/lib/module/components/Message/Message.js +64 -195
  944. package/lib/module/components/Message/Message.js.map +1 -1
  945. package/lib/module/components/Message/MessageItemView/Headers/MessagePinnedHeader.js +1 -1
  946. package/lib/module/components/Message/MessageItemView/Headers/MessagePinnedHeader.js.map +1 -1
  947. package/lib/module/components/Message/MessageItemView/Headers/MessageReminderHeader.js +2 -2
  948. package/lib/module/components/Message/MessageItemView/Headers/MessageReminderHeader.js.map +1 -1
  949. package/lib/module/components/Message/MessageItemView/Headers/MessageSavedForLaterHeader.js +1 -1
  950. package/lib/module/components/Message/MessageItemView/Headers/MessageSavedForLaterHeader.js.map +1 -1
  951. package/lib/module/components/Message/MessageItemView/Headers/SentToChannelHeader.js +34 -19
  952. package/lib/module/components/Message/MessageItemView/Headers/SentToChannelHeader.js.map +1 -1
  953. package/lib/module/components/Message/MessageItemView/MessageBounce.js +8 -8
  954. package/lib/module/components/Message/MessageItemView/MessageBounce.js.map +1 -1
  955. package/lib/module/components/Message/MessageItemView/MessageContent.js +4 -8
  956. package/lib/module/components/Message/MessageItemView/MessageContent.js.map +1 -1
  957. package/lib/module/components/Message/MessageItemView/MessageDeleted.js +1 -1
  958. package/lib/module/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
  959. package/lib/module/components/Message/MessageItemView/MessageFooter.js +17 -15
  960. package/lib/module/components/Message/MessageItemView/MessageFooter.js.map +1 -1
  961. package/lib/module/components/Message/MessageItemView/MessageHeader.js +27 -23
  962. package/lib/module/components/Message/MessageItemView/MessageHeader.js.map +1 -1
  963. package/lib/module/components/Message/MessageItemView/MessageItemView.js +14 -19
  964. package/lib/module/components/Message/MessageItemView/MessageItemView.js.map +1 -1
  965. package/lib/module/components/Message/MessageItemView/MessageReplies.js +7 -16
  966. package/lib/module/components/Message/MessageItemView/MessageReplies.js.map +1 -1
  967. package/lib/module/components/Message/MessageItemView/MessageStatus.js +25 -33
  968. package/lib/module/components/Message/MessageItemView/MessageStatus.js.map +1 -1
  969. package/lib/module/components/Message/MessageItemView/MessageTimestamp.js +4 -4
  970. package/lib/module/components/Message/MessageItemView/MessageTimestamp.js.map +1 -1
  971. package/lib/module/components/Message/MessageItemView/MessageWrapper.js +37 -31
  972. package/lib/module/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
  973. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListClustered.js +3 -3
  974. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListClustered.js.map +1 -1
  975. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListItem.js +1 -1
  976. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListItem.js.map +1 -1
  977. package/lib/module/components/Message/hooks/useCreateMessageActionHandlers.js +453 -0
  978. package/lib/module/components/Message/hooks/useCreateMessageActionHandlers.js.map +1 -0
  979. package/lib/module/components/Message/hooks/useCreateMessageContext.js +5 -12
  980. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  981. package/lib/module/components/Message/hooks/useIsMessageDeliveredToOthers.js +25 -0
  982. package/lib/module/components/Message/hooks/useIsMessageDeliveredToOthers.js.map +1 -0
  983. package/lib/module/components/Message/hooks/useIsMessageReadByOthers.js +25 -0
  984. package/lib/module/components/Message/hooks/useIsMessageReadByOthers.js.map +1 -0
  985. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +9 -440
  986. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  987. package/lib/module/components/Message/hooks/useMessageActions.js +59 -87
  988. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  989. package/lib/module/components/Message/hooks/useMessageData.js +4 -5
  990. package/lib/module/components/Message/hooks/useMessageData.js.map +1 -1
  991. package/lib/module/components/Message/hooks/useMessageDeliveryData.js +12 -36
  992. package/lib/module/components/Message/hooks/useMessageDeliveryData.js.map +1 -1
  993. package/lib/module/components/Message/hooks/useMessageOperations.js +144 -0
  994. package/lib/module/components/Message/hooks/useMessageOperations.js.map +1 -0
  995. package/lib/module/components/Message/hooks/useMessageReadData.js +12 -36
  996. package/lib/module/components/Message/hooks/useMessageReadData.js.map +1 -1
  997. package/lib/module/components/Message/hooks/useProcessReactions.js +4 -2
  998. package/lib/module/components/Message/hooks/useProcessReactions.js.map +1 -1
  999. package/lib/module/components/Message/hooks/useUserMuteActive.js +15 -7
  1000. package/lib/module/components/Message/hooks/useUserMuteActive.js.map +1 -1
  1001. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  1002. package/lib/module/components/MessageInput/MessageComposer.js +25 -18
  1003. package/lib/module/components/MessageInput/MessageComposer.js.map +1 -1
  1004. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  1005. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  1006. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +10 -12
  1007. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  1008. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentRemoveControl.js +1 -1
  1009. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentRemoveControl.js.map +1 -1
  1010. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadProgressIndicator.js +3 -3
  1011. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadProgressIndicator.js.map +1 -1
  1012. package/lib/module/components/MessageInput/components/AttachmentPreview/AudioAttachmentUploadPreview.js +6 -6
  1013. package/lib/module/components/MessageInput/components/AttachmentPreview/AudioAttachmentUploadPreview.js.map +1 -1
  1014. package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +6 -6
  1015. package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
  1016. package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +3 -4
  1017. package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
  1018. package/lib/module/components/MessageInput/components/AttachmentPreview/VideoAttachmentUploadPreview.js +6 -5
  1019. package/lib/module/components/MessageInput/components/AttachmentPreview/VideoAttachmentUploadPreview.js.map +1 -1
  1020. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecorder.js +5 -5
  1021. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecorder.js.map +1 -1
  1022. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +4 -4
  1023. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  1024. package/lib/module/components/MessageInput/components/InputButtons/AttachButton.js +1 -1
  1025. package/lib/module/components/MessageInput/components/InputButtons/AttachButton.js.map +1 -1
  1026. package/lib/module/components/MessageInput/components/InputButtons/index.js +9 -2
  1027. package/lib/module/components/MessageInput/components/InputButtons/index.js.map +1 -1
  1028. package/lib/module/components/MessageInput/components/OutputButtons/EditButton.js +1 -1
  1029. package/lib/module/components/MessageInput/components/OutputButtons/EditButton.js.map +1 -1
  1030. package/lib/module/components/MessageInput/components/OutputButtons/SendButton.js +1 -1
  1031. package/lib/module/components/MessageInput/components/OutputButtons/SendButton.js.map +1 -1
  1032. package/lib/module/components/MessageInput/components/OutputButtons/index.js +3 -3
  1033. package/lib/module/components/MessageInput/components/OutputButtons/index.js.map +1 -1
  1034. package/lib/module/components/MessageInput/hooks/useAudioRecorder.js +7 -5
  1035. package/lib/module/components/MessageInput/hooks/useAudioRecorder.js.map +1 -1
  1036. package/lib/module/components/MessageList/InlineDateSeparator.js +6 -6
  1037. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  1038. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +5 -8
  1039. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  1040. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +5 -8
  1041. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  1042. package/lib/module/components/MessageList/InlineUnreadIndicator.js +5 -3
  1043. package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  1044. package/lib/module/components/MessageList/MessageFlashList.js +152 -390
  1045. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  1046. package/lib/module/components/MessageList/MessageList.js +141 -436
  1047. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  1048. package/lib/module/components/MessageList/MessageSystem.js +5 -4
  1049. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  1050. package/lib/module/components/MessageList/NetworkDownIndicator.js +8 -16
  1051. package/lib/module/components/MessageList/NetworkDownIndicator.js.map +1 -1
  1052. package/lib/module/components/MessageList/ScrollToBottomButton.js +13 -7
  1053. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  1054. package/lib/module/components/MessageList/StickyHeader.js +5 -5
  1055. package/lib/module/components/MessageList/StickyHeader.js.map +1 -1
  1056. package/lib/module/components/MessageList/TypingIndicatorContainer.js +15 -6
  1057. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  1058. package/lib/module/components/MessageList/UnreadMessagesNotification.js +39 -26
  1059. package/lib/module/components/MessageList/UnreadMessagesNotification.js.map +1 -1
  1060. package/lib/module/components/MessageList/hooks/useMarkRead.js +50 -0
  1061. package/lib/module/components/MessageList/hooks/useMarkRead.js.map +1 -0
  1062. package/lib/module/components/MessageList/hooks/useMessageDateSeparator.js +4 -3
  1063. package/lib/module/components/MessageList/hooks/useMessageDateSeparator.js.map +1 -1
  1064. package/lib/module/components/MessageList/hooks/useMessageList.js +20 -27
  1065. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  1066. package/lib/module/components/MessageList/hooks/useMessageListFocus.js +41 -0
  1067. package/lib/module/components/MessageList/hooks/useMessageListFocus.js.map +1 -0
  1068. package/lib/module/components/MessageList/hooks/useMessageListLiveState.js +72 -0
  1069. package/lib/module/components/MessageList/hooks/useMessageListLiveState.js.map +1 -0
  1070. package/lib/module/components/MessageList/hooks/useMessageListPagination.js +71 -0
  1071. package/lib/module/components/MessageList/hooks/useMessageListPagination.js.map +1 -0
  1072. package/lib/module/components/MessageList/hooks/useOwnUnreadCount.js +22 -0
  1073. package/lib/module/components/MessageList/hooks/useOwnUnreadCount.js.map +1 -0
  1074. package/lib/module/components/MessageList/hooks/useScrollToBottomAccessibilityAction.js.map +1 -1
  1075. package/lib/module/components/MessageList/hooks/useStickyHeaderDate.js +41 -0
  1076. package/lib/module/components/MessageList/hooks/useStickyHeaderDate.js.map +1 -0
  1077. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  1078. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  1079. package/lib/module/components/MessageList/hooks/useTypingUsers.js +21 -8
  1080. package/lib/module/components/MessageList/hooks/useTypingUsers.js.map +1 -1
  1081. package/lib/module/components/MessageList/hooks/useUnreadNotificationVisibility.js +56 -0
  1082. package/lib/module/components/MessageList/hooks/useUnreadNotificationVisibility.js.map +1 -0
  1083. package/lib/module/components/MessageList/utils/buildMessageListWithNeighbours.js +2 -2
  1084. package/lib/module/components/MessageList/utils/buildMessageListWithNeighbours.js.map +1 -1
  1085. package/lib/module/components/MessageList/utils/filterTypingUsers.js +8 -7
  1086. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  1087. package/lib/module/components/MessageList/utils/getGroupStyles.js +2 -1
  1088. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  1089. package/lib/module/components/MessageMenu/MessageActionList.js +1 -1
  1090. package/lib/module/components/MessageMenu/MessageActionList.js.map +1 -1
  1091. package/lib/module/components/MessageMenu/MessageActionListWithActions.js +77 -0
  1092. package/lib/module/components/MessageMenu/MessageActionListWithActions.js.map +1 -0
  1093. package/lib/module/components/MessageMenu/MessageReactionPicker.js +1 -1
  1094. package/lib/module/components/MessageMenu/MessageReactionPicker.js.map +1 -1
  1095. package/lib/module/components/MessageMenu/MessageUserReactions.js +14 -11
  1096. package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
  1097. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +2 -2
  1098. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
  1099. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js +37 -28
  1100. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  1101. package/lib/module/components/Notifications/Notification.js +1 -1
  1102. package/lib/module/components/Notifications/Notification.js.map +1 -1
  1103. package/lib/module/components/Notifications/NotificationList.js +1 -1
  1104. package/lib/module/components/Notifications/NotificationList.js.map +1 -1
  1105. package/lib/module/components/Notifications/hooks/useNotificationTarget.js +1 -2
  1106. package/lib/module/components/Notifications/hooks/useNotificationTarget.js.map +1 -1
  1107. package/lib/module/components/Notifications/notificationTranslations.js +59 -45
  1108. package/lib/module/components/Notifications/notificationTranslations.js.map +1 -1
  1109. package/lib/module/components/Poll/CreatePollContent.js +9 -9
  1110. package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
  1111. package/lib/module/components/Poll/Poll.js +7 -5
  1112. package/lib/module/components/Poll/Poll.js.map +1 -1
  1113. package/lib/module/components/Poll/components/CreatePollHeader.js +3 -3
  1114. package/lib/module/components/Poll/components/CreatePollHeader.js.map +1 -1
  1115. package/lib/module/components/Poll/components/CreatePollOptions.js +9 -4
  1116. package/lib/module/components/Poll/components/CreatePollOptions.js.map +1 -1
  1117. package/lib/module/components/Poll/components/MultipleAnswersField.js +2 -2
  1118. package/lib/module/components/Poll/components/MultipleAnswersField.js.map +1 -1
  1119. package/lib/module/components/Poll/components/MultipleVotesSettings.js +4 -4
  1120. package/lib/module/components/Poll/components/MultipleVotesSettings.js.map +1 -1
  1121. package/lib/module/components/Poll/components/NameField.js +2 -2
  1122. package/lib/module/components/Poll/components/NameField.js.map +1 -1
  1123. package/lib/module/components/Poll/components/PollAnswersList.js +10 -10
  1124. package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
  1125. package/lib/module/components/Poll/components/PollButtons.js +19 -15
  1126. package/lib/module/components/Poll/components/PollButtons.js.map +1 -1
  1127. package/lib/module/components/Poll/components/PollInputDialog.js +2 -2
  1128. package/lib/module/components/Poll/components/PollInputDialog.js.map +1 -1
  1129. package/lib/module/components/Poll/components/PollModalHeader.js +1 -1
  1130. package/lib/module/components/Poll/components/PollModalHeader.js.map +1 -1
  1131. package/lib/module/components/Poll/components/PollOption.js +6 -4
  1132. package/lib/module/components/Poll/components/PollOption.js.map +1 -1
  1133. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +4 -2
  1134. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  1135. package/lib/module/components/Poll/components/PollResults/PollResultItem.js +7 -5
  1136. package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  1137. package/lib/module/components/Poll/components/PollResults/PollResults.js +1 -1
  1138. package/lib/module/components/Poll/components/PollResults/PollResults.js.map +1 -1
  1139. package/lib/module/components/Poll/components/PollResults/PollVote.js +6 -6
  1140. package/lib/module/components/Poll/components/PollResults/PollVote.js.map +1 -1
  1141. package/lib/module/components/Poll/contexts/PollUIStateContext.js +2 -2
  1142. package/lib/module/components/Poll/contexts/PollUIStateContext.js.map +1 -1
  1143. package/lib/module/components/Poll/hooks/useEndVote.js +2 -2
  1144. package/lib/module/components/Poll/hooks/useEndVote.js.map +1 -1
  1145. package/lib/module/components/Poll/hooks/usePollAnswersPagination.js +8 -7
  1146. package/lib/module/components/Poll/hooks/usePollAnswersPagination.js.map +1 -1
  1147. package/lib/module/components/Poll/hooks/usePollOptionVotesPagination.js +14 -12
  1148. package/lib/module/components/Poll/hooks/usePollOptionVotesPagination.js.map +1 -1
  1149. package/lib/module/components/Poll/hooks/usePollState.js +21 -18
  1150. package/lib/module/components/Poll/hooks/usePollState.js.map +1 -1
  1151. package/lib/module/components/Reply/Reply.js +10 -9
  1152. package/lib/module/components/Reply/Reply.js.map +1 -1
  1153. package/lib/module/components/Thread/Thread.js +77 -104
  1154. package/lib/module/components/Thread/Thread.js.map +1 -1
  1155. package/lib/module/components/Thread/components/ThreadFooterComponent.js +26 -46
  1156. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  1157. package/lib/module/components/ThreadList/ThreadList.js +17 -18
  1158. package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
  1159. package/lib/module/components/ThreadList/ThreadListItem.js +20 -15
  1160. package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -1
  1161. package/lib/module/components/ThreadList/ThreadListItemMessagePreview.js +1 -1
  1162. package/lib/module/components/ThreadList/ThreadListItemMessagePreview.js.map +1 -1
  1163. package/lib/module/components/ThreadList/ThreadListUnreadBanner.js +23 -20
  1164. package/lib/module/components/ThreadList/ThreadListUnreadBanner.js.map +1 -1
  1165. package/lib/module/components/ThreadList/ThreadMessagePreviewDeliveryStatus.js +15 -8
  1166. package/lib/module/components/ThreadList/ThreadMessagePreviewDeliveryStatus.js.map +1 -1
  1167. package/lib/module/components/UIComponents/BottomSheetModal.js +2 -2
  1168. package/lib/module/components/UIComponents/BottomSheetModal.js.map +1 -1
  1169. package/lib/module/components/UIComponents/SearchInput.js +2 -2
  1170. package/lib/module/components/UIComponents/SearchInput.js.map +1 -1
  1171. package/lib/module/components/index.js +235 -44
  1172. package/lib/module/components/index.js.map +1 -1
  1173. package/lib/module/components/ui/Avatar/Avatar.js +1 -1
  1174. package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
  1175. package/lib/module/components/ui/Avatar/ChannelAvatar.js +12 -4
  1176. package/lib/module/components/ui/Avatar/ChannelAvatar.js.map +1 -1
  1177. package/lib/module/contexts/channelAddMembersContext/ChannelAddMembersContext.js +2 -1
  1178. package/lib/module/contexts/channelAddMembersContext/ChannelAddMembersContext.js.map +1 -1
  1179. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  1180. package/lib/module/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js +4 -3
  1181. package/lib/module/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js.map +1 -1
  1182. package/lib/module/contexts/channelMediaListContext/ChannelMediaListContext.js +4 -3
  1183. package/lib/module/contexts/channelMediaListContext/ChannelMediaListContext.js.map +1 -1
  1184. package/lib/module/contexts/channelMemberListContext/ChannelMemberListContext.js +4 -3
  1185. package/lib/module/contexts/channelMemberListContext/ChannelMemberListContext.js.map +1 -1
  1186. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  1187. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  1188. package/lib/module/contexts/componentsContext/defaultComponents.js +0 -2
  1189. package/lib/module/contexts/componentsContext/defaultComponents.js.map +1 -1
  1190. package/lib/module/contexts/index.js +11 -33
  1191. package/lib/module/contexts/index.js.map +1 -1
  1192. package/lib/module/contexts/liveLocationManagerContext/LiveLocationManagerContext.js +2 -1
  1193. package/lib/module/contexts/liveLocationManagerContext/LiveLocationManagerContext.js.map +1 -1
  1194. package/lib/module/contexts/liveLocationManagerContext/hooks/useHandleLiveLocationEvents.js +5 -6
  1195. package/lib/module/contexts/liveLocationManagerContext/hooks/useHandleLiveLocationEvents.js.map +1 -1
  1196. package/lib/module/contexts/messageComposerContext/MessageComposerContext.js +49 -10
  1197. package/lib/module/contexts/messageComposerContext/MessageComposerContext.js.map +1 -1
  1198. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  1199. package/lib/module/contexts/messageInputContext/MessageInputContext.js +23 -130
  1200. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  1201. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -8
  1202. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  1203. package/lib/module/contexts/messageInputContext/hooks/useMessageComposer.js +1 -5
  1204. package/lib/module/contexts/messageInputContext/hooks/useMessageComposer.js.map +1 -1
  1205. package/lib/module/contexts/messageInputContext/hooks/useMessageComposerHasSendableData.js +3 -4
  1206. package/lib/module/contexts/messageInputContext/hooks/useMessageComposerHasSendableData.js.map +1 -1
  1207. package/lib/module/contexts/messageInputContext/hooks/usePendingUploadsEnabled.js +16 -0
  1208. package/lib/module/contexts/messageInputContext/hooks/usePendingUploadsEnabled.js.map +1 -0
  1209. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  1210. package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js +1 -1
  1211. package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
  1212. package/lib/module/contexts/threadContext/ThreadContext.js +6 -10
  1213. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  1214. package/lib/module/contexts/threadsContext/ThreadsContext.js.map +1 -1
  1215. package/lib/module/contexts/translationContext/TranslationContext.js +4 -6
  1216. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  1217. package/lib/module/contexts/translationContext/index.js +0 -11
  1218. package/lib/module/contexts/translationContext/index.js.map +1 -1
  1219. package/lib/module/hooks/actions/useChannelActionItems.js +21 -21
  1220. package/lib/module/hooks/actions/useChannelActionItems.js.map +1 -1
  1221. package/lib/module/hooks/actions/useChannelActions.js +52 -38
  1222. package/lib/module/hooks/actions/useChannelActions.js.map +1 -1
  1223. package/lib/module/hooks/actions/useChannelMemberActionItems.js +10 -10
  1224. package/lib/module/hooks/actions/useChannelMemberActionItems.js.map +1 -1
  1225. package/lib/module/hooks/actions/useUserActions.js +15 -11
  1226. package/lib/module/hooks/actions/useUserActions.js.map +1 -1
  1227. package/lib/module/hooks/index.js +33 -11
  1228. package/lib/module/hooks/index.js.map +1 -1
  1229. package/lib/module/hooks/messagePreview/useGroupedAttachments.js.map +1 -1
  1230. package/lib/module/hooks/messagePreview/useMessageDeliveryStatus.js +26 -52
  1231. package/lib/module/hooks/messagePreview/useMessageDeliveryStatus.js.map +1 -1
  1232. package/lib/module/hooks/messagePreview/useMessagePreviewText.js +34 -22
  1233. package/lib/module/hooks/messagePreview/useMessagePreviewText.js.map +1 -1
  1234. package/lib/module/hooks/useAudioPlayer.js +3 -3
  1235. package/lib/module/hooks/useAudioPlayer.js.map +1 -1
  1236. package/lib/module/hooks/useChannel.js +16 -0
  1237. package/lib/module/hooks/useChannel.js.map +1 -0
  1238. package/lib/module/hooks/useChannelImage.js +8 -10
  1239. package/lib/module/hooks/useChannelImage.js.map +1 -1
  1240. package/lib/module/hooks/useChannelMemberCount.js +6 -11
  1241. package/lib/module/hooks/useChannelMemberCount.js.map +1 -1
  1242. package/lib/module/hooks/useChannelMembershipState.js +6 -8
  1243. package/lib/module/hooks/useChannelMembershipState.js.map +1 -1
  1244. package/lib/module/hooks/useChannelMuteActive.js +3 -6
  1245. package/lib/module/hooks/useChannelMuteActive.js.map +1 -1
  1246. package/lib/module/hooks/useChannelName.js +8 -10
  1247. package/lib/module/hooks/useChannelName.js.map +1 -1
  1248. package/lib/module/hooks/useChannelOwnCapabilities.js +6 -11
  1249. package/lib/module/hooks/useChannelOwnCapabilities.js.map +1 -1
  1250. package/lib/module/hooks/useIsDirectChat.js +9 -3
  1251. package/lib/module/hooks/useIsDirectChat.js.map +1 -1
  1252. package/lib/module/hooks/useIsTargetedMessage.js +20 -0
  1253. package/lib/module/hooks/useIsTargetedMessage.js.map +1 -0
  1254. package/lib/module/hooks/useLoadingImage.js +5 -5
  1255. package/lib/module/hooks/useLoadingImage.js.map +1 -1
  1256. package/lib/module/hooks/useMessagePaginator.js +15 -0
  1257. package/lib/module/hooks/useMessagePaginator.js.map +1 -0
  1258. package/lib/module/hooks/usePrunableMessageList.js +17 -16
  1259. package/lib/module/hooks/usePrunableMessageList.js.map +1 -1
  1260. package/lib/module/hooks/useQueryReminders.js +7 -6
  1261. package/lib/module/hooks/useQueryReminders.js.map +1 -1
  1262. package/lib/module/hooks/useStreami18n.js +13 -44
  1263. package/lib/module/hooks/useStreami18n.js.map +1 -1
  1264. package/lib/module/hooks/useTranslatedMessage.js +8 -4
  1265. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  1266. package/lib/module/i18n/index.js +37 -0
  1267. package/lib/module/i18n/index.js.map +1 -0
  1268. package/lib/module/i18n/keys.js +2 -0
  1269. package/lib/module/i18n/keys.js.map +1 -0
  1270. package/lib/module/i18n/runtimeDefaults.js +103 -0
  1271. package/lib/module/i18n/runtimeDefaults.js.map +1 -0
  1272. package/lib/module/i18n/types.js.map +1 -0
  1273. package/lib/module/i18n/utils.js +72 -0
  1274. package/lib/module/i18n/utils.js.map +1 -0
  1275. package/lib/module/index.js +16 -101
  1276. package/lib/module/index.js.map +1 -1
  1277. package/lib/module/middlewares/attachments.js +1 -80
  1278. package/lib/module/middlewares/attachments.js.map +1 -1
  1279. package/lib/module/mock-builders/DB/mock.js +5 -4
  1280. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  1281. package/lib/module/mock-builders/api/channelMocks.js +38 -35
  1282. package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
  1283. package/lib/module/mock-builders/api/initiateClientWithChannels.js +6 -1
  1284. package/lib/module/mock-builders/api/initiateClientWithChannels.js.map +1 -1
  1285. package/lib/module/mock-builders/api/queryMembers.js +15 -14
  1286. package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
  1287. package/lib/module/mock-builders/api/useMockedApis.js +31 -1
  1288. package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
  1289. package/lib/module/mock-builders/attachments.js +5 -0
  1290. package/lib/module/mock-builders/attachments.js.map +1 -1
  1291. package/lib/module/mock-builders/event/connectionChanged.js +13 -6
  1292. package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
  1293. package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
  1294. package/lib/module/mock-builders/event/messageDeleted.js +0 -1
  1295. package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
  1296. package/lib/module/mock-builders/event/messageRead.js +2 -1
  1297. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  1298. package/lib/module/mock-builders/event/messageUpdated.js +0 -1
  1299. package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
  1300. package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js +1 -3
  1301. package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
  1302. package/lib/module/mock-builders/event/notificationMarkUnread.js +2 -1
  1303. package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -1
  1304. package/lib/module/mock-builders/event/notificationMutesUpdated.js +2 -1
  1305. package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  1306. package/lib/module/mock-builders/event/typing.js +1 -3
  1307. package/lib/module/mock-builders/event/typing.js.map +1 -1
  1308. package/lib/module/mock-builders/event/userPresence.js +1 -3
  1309. package/lib/module/mock-builders/event/userPresence.js.map +1 -1
  1310. package/lib/module/mock-builders/event/userUpdated.js +1 -3
  1311. package/lib/module/mock-builders/event/userUpdated.js.map +1 -1
  1312. package/lib/module/mock-builders/event/utils.js +18 -0
  1313. package/lib/module/mock-builders/event/utils.js.map +1 -0
  1314. package/lib/module/mock-builders/generator/attachment.js +11 -3
  1315. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  1316. package/lib/module/mock-builders/generator/channel.js +5 -4
  1317. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  1318. package/lib/module/mock-builders/generator/channelState.js +53 -0
  1319. package/lib/module/mock-builders/generator/channelState.js.map +1 -0
  1320. package/lib/module/mock-builders/generator/message.js +15 -8
  1321. package/lib/module/mock-builders/generator/message.js.map +1 -1
  1322. package/lib/module/mock-builders/generator/reaction.js +2 -1
  1323. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  1324. package/lib/module/mock-builders/generator/time.js +13 -0
  1325. package/lib/module/mock-builders/generator/time.js.map +1 -0
  1326. package/lib/module/mock-builders/generator/user.js +3 -2
  1327. package/lib/module/mock-builders/generator/user.js.map +1 -1
  1328. package/lib/module/mock-builders/mock.js +5 -3
  1329. package/lib/module/mock-builders/mock.js.map +1 -1
  1330. package/lib/module/state-store/attachment-picker-store.js +2 -2
  1331. package/lib/module/state-store/attachment-picker-store.js.map +1 -1
  1332. package/lib/module/state-store/audio-player-pool.js +2 -2
  1333. package/lib/module/state-store/audio-player-pool.js.map +1 -1
  1334. package/lib/module/state-store/audio-player.js +2 -2
  1335. package/lib/module/state-store/audio-player.js.map +1 -1
  1336. package/lib/module/state-store/audio-recorder-manager.js +2 -2
  1337. package/lib/module/state-store/audio-recorder-manager.js.map +1 -1
  1338. package/lib/module/state-store/edit-channel-details-store.js +5 -5
  1339. package/lib/module/state-store/edit-channel-details-store.js.map +1 -1
  1340. package/lib/module/state-store/image-gallery-state-store.js +5 -4
  1341. package/lib/module/state-store/image-gallery-state-store.js.map +1 -1
  1342. package/lib/module/state-store/in-app-notifications-store.js +2 -2
  1343. package/lib/module/state-store/in-app-notifications-store.js.map +1 -1
  1344. package/lib/module/state-store/message-input-height-store.js +2 -2
  1345. package/lib/module/state-store/message-input-height-store.js.map +1 -1
  1346. package/lib/module/state-store/message-overlay-store.js +4 -4
  1347. package/lib/module/state-store/message-overlay-store.js.map +1 -1
  1348. package/lib/module/state-store/selection-store.js +2 -2
  1349. package/lib/module/state-store/selection-store.js.map +1 -1
  1350. package/lib/module/state-store/signal-store.js +2 -2
  1351. package/lib/module/state-store/signal-store.js.map +1 -1
  1352. package/lib/module/state-store/video-player-pool.js +2 -2
  1353. package/lib/module/state-store/video-player-pool.js.map +1 -1
  1354. package/lib/module/state-store/video-player.js +2 -2
  1355. package/lib/module/state-store/video-player.js.map +1 -1
  1356. package/lib/module/store/OfflineDB.js +11 -13
  1357. package/lib/module/store/OfflineDB.js.map +1 -1
  1358. package/lib/module/store/SqliteClient.js +1 -1
  1359. package/lib/module/store/apis/channelExists.js +1 -1
  1360. package/lib/module/store/apis/channelExists.js.map +1 -1
  1361. package/lib/module/store/apis/deleteMessagesForChannel.js +2 -1
  1362. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
  1363. package/lib/module/store/apis/getAppSettings.js +3 -3
  1364. package/lib/module/store/apis/getAppSettings.js.map +1 -1
  1365. package/lib/module/store/apis/getChannelActiveLocations.js.map +1 -1
  1366. package/lib/module/store/apis/getChannelMessages.js +3 -3
  1367. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  1368. package/lib/module/store/apis/getChannels.js +7 -6
  1369. package/lib/module/store/apis/getChannels.js.map +1 -1
  1370. package/lib/module/store/apis/getChannelsForFilterSort.js +18 -10
  1371. package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -1
  1372. package/lib/module/store/apis/getDraft.js +1 -1
  1373. package/lib/module/store/apis/getDraft.js.map +1 -1
  1374. package/lib/module/store/apis/getDraftsForChannels.js +2 -2
  1375. package/lib/module/store/apis/getDraftsForChannels.js.map +1 -1
  1376. package/lib/module/store/apis/getLastSyncedAt.js +3 -3
  1377. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  1378. package/lib/module/store/apis/getReads.js.map +1 -1
  1379. package/lib/module/store/apis/index.js +0 -11
  1380. package/lib/module/store/apis/index.js.map +1 -1
  1381. package/lib/module/store/apis/insertReaction.js +6 -2
  1382. package/lib/module/store/apis/insertReaction.js.map +1 -1
  1383. package/lib/module/store/apis/queries/selectActiveLocationsForChannels.js +2 -1
  1384. package/lib/module/store/apis/queries/selectActiveLocationsForChannels.js.map +1 -1
  1385. package/lib/module/store/apis/queries/selectChannelQueryForFilterSort.js +56 -0
  1386. package/lib/module/store/apis/queries/selectChannelQueryForFilterSort.js.map +1 -0
  1387. package/lib/module/store/apis/queries/selectDraftMessageFromDraftForChannels.js +1 -1
  1388. package/lib/module/store/apis/queries/selectDraftMessageFromDraftForChannels.js.map +1 -1
  1389. package/lib/module/store/apis/queries/selectMembersForChannels.js +1 -1
  1390. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
  1391. package/lib/module/store/apis/queries/selectReactionsForMessages.js +2 -2
  1392. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  1393. package/lib/module/store/apis/softDeleteMessage.js +2 -1
  1394. package/lib/module/store/apis/softDeleteMessage.js.map +1 -1
  1395. package/lib/module/store/apis/updateReaction.js +6 -1
  1396. package/lib/module/store/apis/updateReaction.js.map +1 -1
  1397. package/lib/module/store/apis/upsertAppSettings.js +3 -3
  1398. package/lib/module/store/apis/upsertAppSettings.js.map +1 -1
  1399. package/lib/module/store/apis/upsertChannels.js +13 -6
  1400. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  1401. package/lib/module/store/apis/upsertCidsForQuery.js +6 -2
  1402. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
  1403. package/lib/module/store/apis/upsertDraft.js.map +1 -1
  1404. package/lib/module/store/apis/upsertUserSyncStatus.js +3 -3
  1405. package/lib/module/store/apis/upsertUserSyncStatus.js.map +1 -1
  1406. package/lib/module/store/mappers/mapChannelDataToStorable.js +8 -11
  1407. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -1
  1408. package/lib/module/store/mappers/mapChannelToStorable.js +8 -11
  1409. package/lib/module/store/mappers/mapChannelToStorable.js.map +1 -1
  1410. package/lib/module/store/mappers/mapDraftMessageToStorable.js +1 -1
  1411. package/lib/module/store/mappers/mapDraftMessageToStorable.js.map +1 -1
  1412. package/lib/module/store/mappers/mapDraftToStorable.js +2 -2
  1413. package/lib/module/store/mappers/mapDraftToStorable.js.map +1 -1
  1414. package/lib/module/store/mappers/mapMemberToStorable.js +7 -7
  1415. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -1
  1416. package/lib/module/store/mappers/mapMessageToStorable.js +6 -6
  1417. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
  1418. package/lib/module/store/mappers/mapPollToStorable.js +4 -4
  1419. package/lib/module/store/mappers/mapPollToStorable.js.map +1 -1
  1420. package/lib/module/store/mappers/mapReactionToStorable.js +3 -3
  1421. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -1
  1422. package/lib/module/store/mappers/mapReadToStorable.js +3 -3
  1423. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -1
  1424. package/lib/module/store/mappers/mapReminderToStorable.js +4 -4
  1425. package/lib/module/store/mappers/mapReminderToStorable.js.map +1 -1
  1426. package/lib/module/store/mappers/mapSharedLocationToStorable.js +4 -4
  1427. package/lib/module/store/mappers/mapSharedLocationToStorable.js.map +1 -1
  1428. package/lib/module/store/mappers/mapStorableToChannel.js +6 -5
  1429. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -1
  1430. package/lib/module/store/mappers/mapStorableToDraft.js +4 -3
  1431. package/lib/module/store/mappers/mapStorableToDraft.js.map +1 -1
  1432. package/lib/module/store/mappers/mapStorableToMember.js +12 -9
  1433. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -1
  1434. package/lib/module/store/mappers/mapStorableToMessage.js +7 -6
  1435. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -1
  1436. package/lib/module/store/mappers/mapStorableToPoll.js +9 -6
  1437. package/lib/module/store/mappers/mapStorableToPoll.js.map +1 -1
  1438. package/lib/module/store/mappers/mapStorableToReaction.js +3 -2
  1439. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -1
  1440. package/lib/module/store/mappers/mapStorableToRead.js +4 -3
  1441. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -1
  1442. package/lib/module/store/mappers/mapStorableToReminder.js +4 -3
  1443. package/lib/module/store/mappers/mapStorableToReminder.js.map +1 -1
  1444. package/lib/module/store/mappers/mapStorableToSharedLocation.js +4 -3
  1445. package/lib/module/store/mappers/mapStorableToSharedLocation.js.map +1 -1
  1446. package/lib/module/store/mappers/mapStorableToTimestamp.js +13 -0
  1447. package/lib/module/store/mappers/mapStorableToTimestamp.js.map +1 -0
  1448. package/lib/module/store/mappers/mapStorableToUser.js +5 -4
  1449. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -1
  1450. package/lib/module/store/mappers/mapTimestampToStorable.js +7 -0
  1451. package/lib/module/store/mappers/mapTimestampToStorable.js.map +1 -0
  1452. package/lib/module/store/mappers/mapUserToStorable.js +4 -3
  1453. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -1
  1454. package/lib/module/store/schema.js +33 -32
  1455. package/lib/module/store/schema.js.map +1 -1
  1456. package/lib/module/store/sqlite-utils/createUpsertQuery.js +17 -3
  1457. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  1458. package/lib/module/store/sqlite-utils/createUpsertQueryIfParentExists.js +15 -0
  1459. package/lib/module/store/sqlite-utils/createUpsertQueryIfParentExists.js.map +1 -0
  1460. package/lib/module/types/types.js.map +1 -1
  1461. package/lib/module/utils/attachmentUrls.js +15 -0
  1462. package/lib/module/utils/attachmentUrls.js.map +1 -0
  1463. package/lib/module/utils/getUrlOfImageAttachment.js +6 -1
  1464. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
  1465. package/lib/module/utils/i18n/Streami18n.js +43 -408
  1466. package/lib/module/utils/i18n/Streami18n.js.map +1 -1
  1467. package/lib/module/utils/installNativeMultipartAdapter.js +25 -25
  1468. package/lib/module/utils/installNativeMultipartAdapter.js.map +1 -1
  1469. package/lib/module/utils/removeReservedFields.js.map +1 -1
  1470. package/lib/module/utils/utils.js +16 -54
  1471. package/lib/module/utils/utils.js.map +1 -1
  1472. package/lib/module/version.json +1 -1
  1473. package/lib/typescript/a11y/hooks/useA11yLabel.d.ts.map +1 -1
  1474. package/lib/typescript/components/AITypingIndicatorView/hooks/useAIState.d.ts +2 -8
  1475. package/lib/typescript/components/AITypingIndicatorView/hooks/useAIState.d.ts.map +1 -1
  1476. package/lib/typescript/components/Accessibility/NotificationAnnouncer.d.ts.map +1 -1
  1477. package/lib/typescript/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts +2 -2
  1478. package/lib/typescript/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts.map +1 -1
  1479. package/lib/typescript/components/Attachment/Attachment.d.ts.map +1 -1
  1480. package/lib/typescript/components/Attachment/Audio/AudioAttachment.d.ts +2 -1
  1481. package/lib/typescript/components/Attachment/Audio/AudioAttachment.d.ts.map +1 -1
  1482. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  1483. package/lib/typescript/components/Attachment/FileAttachment.d.ts.map +1 -1
  1484. package/lib/typescript/components/Attachment/FilePreview.d.ts.map +1 -1
  1485. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  1486. package/lib/typescript/components/Attachment/Giphy/Giphy.d.ts.map +1 -1
  1487. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +1 -1
  1488. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts.map +1 -1
  1489. package/lib/typescript/components/Attachment/utils/openUrlSafely.d.ts.map +1 -1
  1490. package/lib/typescript/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentMediaPicker.d.ts.map +1 -1
  1491. package/lib/typescript/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.d.ts.map +1 -1
  1492. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerContent.d.ts.map +1 -1
  1493. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts.map +1 -1
  1494. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +2 -3
  1495. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts.map +1 -1
  1496. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionRoleItem.d.ts.map +1 -1
  1497. package/lib/typescript/components/Channel/Channel.d.ts +13 -87
  1498. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  1499. package/lib/typescript/components/Channel/ChannelShell.d.ts +52 -0
  1500. package/lib/typescript/components/Channel/ChannelShell.d.ts.map +1 -0
  1501. package/lib/typescript/components/Channel/hooks/useChannelLifecycle.d.ts +21 -0
  1502. package/lib/typescript/components/Channel/hooks/useChannelLifecycle.d.ts.map +1 -0
  1503. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  1504. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  1505. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
  1506. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
  1507. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  1508. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  1509. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts.map +1 -1
  1510. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +1 -35
  1511. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts.map +1 -1
  1512. package/lib/typescript/components/Channel/hooks/useSupersededChannelSwap.d.ts +8 -0
  1513. package/lib/typescript/components/Channel/hooks/useSupersededChannelSwap.d.ts.map +1 -0
  1514. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsMemberSection.d.ts.map +1 -1
  1515. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsNavHeader.d.ts.map +1 -1
  1516. package/lib/typescript/components/ChannelDetails/components/ChannelEditDetailsFormHeader.d.ts.map +1 -1
  1517. package/lib/typescript/components/ChannelDetails/components/members/AddMemberSearchResultItem.d.ts.map +1 -1
  1518. package/lib/typescript/components/ChannelDetails/components/members/ChannelAddMembersFormContent.d.ts.map +1 -1
  1519. package/lib/typescript/components/ChannelDetails/components/members/ChannelAddMembersFormHeader.d.ts.map +1 -1
  1520. package/lib/typescript/components/ChannelDetails/components/members/ChannelMemberList.d.ts.map +1 -1
  1521. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentList.d.ts.map +1 -1
  1522. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaItem.d.ts.map +1 -1
  1523. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaList.d.ts.map +1 -1
  1524. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageList.d.ts.map +1 -1
  1525. package/lib/typescript/components/ChannelDetails/hooks/members/useMemberRoles.d.ts.map +1 -1
  1526. package/lib/typescript/components/ChannelDetails/hooks/useChannelDetailsMemberStatusText.d.ts.map +1 -1
  1527. package/lib/typescript/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.d.ts.map +1 -1
  1528. package/lib/typescript/components/ChannelDetails/hooks/useEditChannelImage.d.ts.map +1 -1
  1529. package/lib/typescript/components/ChannelDetails/hooks/useFileAttachmentListSections.d.ts.map +1 -1
  1530. package/lib/typescript/components/ChannelDetails/hooks/useUserActivityStatus.d.ts.map +1 -1
  1531. package/lib/typescript/components/ChannelList/ChannelList.d.ts +7 -129
  1532. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  1533. package/lib/typescript/components/ChannelList/ChannelListView.d.ts +37 -2
  1534. package/lib/typescript/components/ChannelList/ChannelListView.d.ts.map +1 -1
  1535. package/lib/typescript/components/ChannelList/hooks/index.d.ts +0 -1
  1536. package/lib/typescript/components/ChannelList/hooks/index.d.ts.map +1 -1
  1537. package/lib/typescript/components/ChannelList/hooks/useChannelMembersState.d.ts +14 -3
  1538. package/lib/typescript/components/ChannelList/hooks/useChannelMembersState.d.ts.map +1 -1
  1539. package/lib/typescript/components/ChannelList/hooks/useChannelOnlineMemberCount.d.ts +5 -1
  1540. package/lib/typescript/components/ChannelList/hooks/useChannelOnlineMemberCount.d.ts.map +1 -1
  1541. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +1 -1
  1542. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts.map +1 -1
  1543. package/lib/typescript/components/ChannelList/hooks/useMutedChannels.d.ts +5 -3
  1544. package/lib/typescript/components/ChannelList/hooks/useMutedChannels.d.ts.map +1 -1
  1545. package/lib/typescript/components/ChannelList/hooks/useMutedUsers.d.ts +3 -6
  1546. package/lib/typescript/components/ChannelList/hooks/useMutedUsers.d.ts.map +1 -1
  1547. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +8 -19
  1548. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  1549. package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts.map +1 -1
  1550. package/lib/typescript/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.d.ts.map +1 -1
  1551. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -2
  1552. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  1553. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts.map +1 -1
  1554. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts.map +1 -1
  1555. package/lib/typescript/components/ChannelPreview/ChannelPreviewTypingIndicator.d.ts.map +1 -1
  1556. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts.map +1 -1
  1557. package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts.map +1 -1
  1558. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts +2 -2
  1559. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts.map +1 -1
  1560. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts.map +1 -1
  1561. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts.map +1 -1
  1562. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDraftMessage.d.ts.map +1 -1
  1563. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewPollLabel.d.ts.map +1 -1
  1564. package/lib/typescript/components/ChannelPreview/hooks/useChannelTypingState.d.ts +8 -2
  1565. package/lib/typescript/components/ChannelPreview/hooks/useChannelTypingState.d.ts.map +1 -1
  1566. package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +6 -6
  1567. package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -1
  1568. package/lib/typescript/components/Chat/Chat.d.ts +11 -42
  1569. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  1570. package/lib/typescript/components/Chat/hooks/index.d.ts +3 -3
  1571. package/lib/typescript/components/Chat/hooks/index.d.ts.map +1 -1
  1572. package/lib/typescript/components/Chat/hooks/useAppSettingsGetter.d.ts +16 -0
  1573. package/lib/typescript/components/Chat/hooks/useAppSettingsGetter.d.ts.map +1 -0
  1574. package/lib/typescript/components/Chat/hooks/useClientUserId.d.ts +14 -0
  1575. package/lib/typescript/components/Chat/hooks/useClientUserId.d.ts.map +1 -0
  1576. package/lib/typescript/components/Chat/hooks/useConnectionLifecycle.d.ts +42 -0
  1577. package/lib/typescript/components/Chat/hooks/useConnectionLifecycle.d.ts.map +1 -0
  1578. package/lib/typescript/components/Chat/hooks/useCreateChatClient.d.ts +7 -3
  1579. package/lib/typescript/components/Chat/hooks/useCreateChatClient.d.ts.map +1 -1
  1580. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  1581. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  1582. package/lib/typescript/components/Chat/hooks/useInitializeOfflineDb.d.ts +3 -2
  1583. package/lib/typescript/components/Chat/hooks/useInitializeOfflineDb.d.ts.map +1 -1
  1584. package/lib/typescript/components/Chat/hooks/useNetworkConnectionState.d.ts +23 -0
  1585. package/lib/typescript/components/Chat/hooks/useNetworkConnectionState.d.ts.map +1 -0
  1586. package/lib/typescript/components/Chat/hooks/usePendingUploadsDefault.d.ts +22 -0
  1587. package/lib/typescript/components/Chat/hooks/usePendingUploadsDefault.d.ts.map +1 -0
  1588. package/lib/typescript/components/Chat/hooks/useWSConnectionState.d.ts +54 -0
  1589. package/lib/typescript/components/Chat/hooks/useWSConnectionState.d.ts.map +1 -0
  1590. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts.map +1 -1
  1591. package/lib/typescript/components/Indicators/EmptyStateIndicator.d.ts.map +1 -1
  1592. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  1593. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts.map +1 -1
  1594. package/lib/typescript/components/Indicators/LoadingIndicator.d.ts.map +1 -1
  1595. package/lib/typescript/components/Message/Message.d.ts +5 -7
  1596. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  1597. package/lib/typescript/components/Message/MessageItemView/Headers/MessagePinnedHeader.d.ts.map +1 -1
  1598. package/lib/typescript/components/Message/MessageItemView/Headers/MessageReminderHeader.d.ts.map +1 -1
  1599. package/lib/typescript/components/Message/MessageItemView/Headers/SentToChannelHeader.d.ts +2 -2
  1600. package/lib/typescript/components/Message/MessageItemView/Headers/SentToChannelHeader.d.ts.map +1 -1
  1601. package/lib/typescript/components/Message/MessageItemView/MessageBounce.d.ts +2 -2
  1602. package/lib/typescript/components/Message/MessageItemView/MessageBounce.d.ts.map +1 -1
  1603. package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts +1 -1
  1604. package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts.map +1 -1
  1605. package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts.map +1 -1
  1606. package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts +1 -2
  1607. package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts.map +1 -1
  1608. package/lib/typescript/components/Message/MessageItemView/MessageHeader.d.ts.map +1 -1
  1609. package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts +2 -1
  1610. package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts.map +1 -1
  1611. package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts +1 -1
  1612. package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts.map +1 -1
  1613. package/lib/typescript/components/Message/MessageItemView/MessageStatus.d.ts +6 -1
  1614. package/lib/typescript/components/Message/MessageItemView/MessageStatus.d.ts.map +1 -1
  1615. package/lib/typescript/components/Message/MessageItemView/MessageWrapper.d.ts +1 -1
  1616. package/lib/typescript/components/Message/MessageItemView/MessageWrapper.d.ts.map +1 -1
  1617. package/lib/typescript/components/Message/hooks/useCreateMessageActionHandlers.d.ts +30 -0
  1618. package/lib/typescript/components/Message/hooks/useCreateMessageActionHandlers.d.ts.map +1 -0
  1619. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  1620. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
  1621. package/lib/typescript/components/Message/hooks/useIsMessageDeliveredToOthers.d.ts +15 -0
  1622. package/lib/typescript/components/Message/hooks/useIsMessageDeliveredToOthers.d.ts.map +1 -0
  1623. package/lib/typescript/components/Message/hooks/useIsMessageReadByOthers.d.ts +18 -0
  1624. package/lib/typescript/components/Message/hooks/useIsMessageReadByOthers.d.ts.map +1 -0
  1625. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +7 -22
  1626. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts.map +1 -1
  1627. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +8 -13
  1628. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts.map +1 -1
  1629. package/lib/typescript/components/Message/hooks/useMessageData.d.ts +2 -2
  1630. package/lib/typescript/components/Message/hooks/useMessageData.d.ts.map +1 -1
  1631. package/lib/typescript/components/Message/hooks/useMessageDeliveryData.d.ts +1 -1
  1632. package/lib/typescript/components/Message/hooks/useMessageDeliveryData.d.ts.map +1 -1
  1633. package/lib/typescript/components/Message/hooks/useMessageOperations.d.ts +22 -0
  1634. package/lib/typescript/components/Message/hooks/useMessageOperations.d.ts.map +1 -0
  1635. package/lib/typescript/components/Message/hooks/useMessageReadData.d.ts +1 -1
  1636. package/lib/typescript/components/Message/hooks/useMessageReadData.d.ts.map +1 -1
  1637. package/lib/typescript/components/Message/hooks/useProcessReactions.d.ts.map +1 -1
  1638. package/lib/typescript/components/Message/hooks/useUserMuteActive.d.ts +11 -1
  1639. package/lib/typescript/components/Message/hooks/useUserMuteActive.d.ts.map +1 -1
  1640. package/lib/typescript/components/Message/utils/messageActions.d.ts +2 -2
  1641. package/lib/typescript/components/Message/utils/messageActions.d.ts.map +1 -1
  1642. package/lib/typescript/components/MessageInput/MessageComposer.d.ts +7 -3
  1643. package/lib/typescript/components/MessageInput/MessageComposer.d.ts.map +1 -1
  1644. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts.map +1 -1
  1645. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +1 -4
  1646. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts.map +1 -1
  1647. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadProgressIndicator.d.ts.map +1 -1
  1648. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AudioAttachmentUploadPreview.d.ts.map +1 -1
  1649. package/lib/typescript/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.d.ts.map +1 -1
  1650. package/lib/typescript/components/MessageInput/components/AttachmentPreview/VideoAttachmentUploadPreview.d.ts.map +1 -1
  1651. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingButton.d.ts.map +1 -1
  1652. package/lib/typescript/components/MessageInput/components/InputButtons/AttachButton.d.ts.map +1 -1
  1653. package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts.map +1 -1
  1654. package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts +4 -2
  1655. package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts.map +1 -1
  1656. package/lib/typescript/components/MessageInput/hooks/useAudioRecorder.d.ts.map +1 -1
  1657. package/lib/typescript/components/MessageInput/utils/messageComposerSelectors.d.ts +2 -2
  1658. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +1 -1
  1659. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts.map +1 -1
  1660. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +1 -1
  1661. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts.map +1 -1
  1662. package/lib/typescript/components/MessageList/InlineUnreadIndicator.d.ts.map +1 -1
  1663. package/lib/typescript/components/MessageList/MessageFlashList.d.ts +15 -6
  1664. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  1665. package/lib/typescript/components/MessageList/MessageList.d.ts +16 -6
  1666. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  1667. package/lib/typescript/components/MessageList/MessageSystem.d.ts.map +1 -1
  1668. package/lib/typescript/components/MessageList/NetworkDownIndicator.d.ts.map +1 -1
  1669. package/lib/typescript/components/MessageList/ScrollToBottomButton.d.ts +2 -3
  1670. package/lib/typescript/components/MessageList/ScrollToBottomButton.d.ts.map +1 -1
  1671. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +5 -3
  1672. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts.map +1 -1
  1673. package/lib/typescript/components/MessageList/UnreadMessagesNotification.d.ts +7 -6
  1674. package/lib/typescript/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -1
  1675. package/lib/typescript/components/MessageList/hooks/useMarkRead.d.ts +16 -0
  1676. package/lib/typescript/components/MessageList/hooks/useMarkRead.d.ts.map +1 -0
  1677. package/lib/typescript/components/MessageList/hooks/useMessageDateSeparator.d.ts.map +1 -1
  1678. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +11 -5
  1679. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  1680. package/lib/typescript/components/MessageList/hooks/useMessageListFocus.d.ts +18 -0
  1681. package/lib/typescript/components/MessageList/hooks/useMessageListFocus.d.ts.map +1 -0
  1682. package/lib/typescript/components/MessageList/hooks/useMessageListLiveState.d.ts +24 -0
  1683. package/lib/typescript/components/MessageList/hooks/useMessageListLiveState.d.ts.map +1 -0
  1684. package/lib/typescript/components/MessageList/hooks/useMessageListPagination.d.ts +18 -0
  1685. package/lib/typescript/components/MessageList/hooks/useMessageListPagination.d.ts.map +1 -0
  1686. package/lib/typescript/components/MessageList/hooks/useOwnUnreadCount.d.ts +7 -0
  1687. package/lib/typescript/components/MessageList/hooks/useOwnUnreadCount.d.ts.map +1 -0
  1688. package/lib/typescript/components/MessageList/hooks/useScrollToBottomAccessibilityAction.d.ts +2 -3
  1689. package/lib/typescript/components/MessageList/hooks/useScrollToBottomAccessibilityAction.d.ts.map +1 -1
  1690. package/lib/typescript/components/MessageList/hooks/useStickyHeaderDate.d.ts +13 -0
  1691. package/lib/typescript/components/MessageList/hooks/useStickyHeaderDate.d.ts.map +1 -0
  1692. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts.map +1 -1
  1693. package/lib/typescript/components/MessageList/hooks/useTypingUsers.d.ts +13 -0
  1694. package/lib/typescript/components/MessageList/hooks/useTypingUsers.d.ts.map +1 -1
  1695. package/lib/typescript/components/MessageList/hooks/useUnreadNotificationVisibility.d.ts +25 -0
  1696. package/lib/typescript/components/MessageList/hooks/useUnreadNotificationVisibility.d.ts.map +1 -0
  1697. package/lib/typescript/components/MessageList/utils/buildMessageListWithNeighbours.d.ts +5 -0
  1698. package/lib/typescript/components/MessageList/utils/buildMessageListWithNeighbours.d.ts.map +1 -1
  1699. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +6 -5
  1700. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts.map +1 -1
  1701. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts.map +1 -1
  1702. package/lib/typescript/components/MessageMenu/MessageActionListWithActions.d.ts +7 -0
  1703. package/lib/typescript/components/MessageMenu/MessageActionListWithActions.d.ts.map +1 -0
  1704. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -1
  1705. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts +2 -2
  1706. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
  1707. package/lib/typescript/components/Notifications/hooks/useNotificationTarget.d.ts.map +1 -1
  1708. package/lib/typescript/components/Notifications/notificationTranslations.d.ts +2 -2
  1709. package/lib/typescript/components/Notifications/notificationTranslations.d.ts.map +1 -1
  1710. package/lib/typescript/components/Poll/CreatePollContent.d.ts.map +1 -1
  1711. package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
  1712. package/lib/typescript/components/Poll/components/Button.d.ts +2 -2
  1713. package/lib/typescript/components/Poll/components/Button.d.ts.map +1 -1
  1714. package/lib/typescript/components/Poll/components/CreatePollOptions.d.ts +2 -1
  1715. package/lib/typescript/components/Poll/components/CreatePollOptions.d.ts.map +1 -1
  1716. package/lib/typescript/components/Poll/components/MultipleAnswersField.d.ts.map +1 -1
  1717. package/lib/typescript/components/Poll/components/MultipleVotesSettings.d.ts.map +1 -1
  1718. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +3 -3
  1719. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
  1720. package/lib/typescript/components/Poll/components/PollButtons.d.ts.map +1 -1
  1721. package/lib/typescript/components/Poll/components/PollOption.d.ts +1 -1
  1722. package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
  1723. package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts +2 -2
  1724. package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts.map +1 -1
  1725. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +4 -4
  1726. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
  1727. package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts +1 -1
  1728. package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts.map +1 -1
  1729. package/lib/typescript/components/Poll/contexts/PollUIStateContext.d.ts +1 -1
  1730. package/lib/typescript/components/Poll/contexts/PollUIStateContext.d.ts.map +1 -1
  1731. package/lib/typescript/components/Poll/hooks/useEndVote.d.ts +1 -1
  1732. package/lib/typescript/components/Poll/hooks/useEndVote.d.ts.map +1 -1
  1733. package/lib/typescript/components/Poll/hooks/usePollAnswersPagination.d.ts +2 -2
  1734. package/lib/typescript/components/Poll/hooks/usePollAnswersPagination.d.ts.map +1 -1
  1735. package/lib/typescript/components/Poll/hooks/usePollOptionVotesPagination.d.ts +4 -4
  1736. package/lib/typescript/components/Poll/hooks/usePollOptionVotesPagination.d.ts.map +1 -1
  1737. package/lib/typescript/components/Poll/hooks/usePollState.d.ts +7 -7
  1738. package/lib/typescript/components/Poll/hooks/usePollState.d.ts.map +1 -1
  1739. package/lib/typescript/components/Reply/Reply.d.ts +3 -2
  1740. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  1741. package/lib/typescript/components/Thread/Thread.d.ts +24 -38
  1742. package/lib/typescript/components/Thread/Thread.d.ts.map +1 -1
  1743. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +8 -1
  1744. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
  1745. package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
  1746. package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -1
  1747. package/lib/typescript/components/ThreadList/ThreadListUnreadBanner.d.ts.map +1 -1
  1748. package/lib/typescript/components/ThreadList/ThreadMessagePreviewDeliveryStatus.d.ts.map +1 -1
  1749. package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts.map +1 -1
  1750. package/lib/typescript/components/index.d.ts +5 -8
  1751. package/lib/typescript/components/index.d.ts.map +1 -1
  1752. package/lib/typescript/components/ui/Avatar/ChannelAvatar.d.ts.map +1 -1
  1753. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +1 -106
  1754. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  1755. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +5 -34
  1756. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts.map +1 -1
  1757. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +9 -34
  1758. package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
  1759. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts +0 -4
  1760. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts.map +1 -1
  1761. package/lib/typescript/contexts/index.d.ts +1 -3
  1762. package/lib/typescript/contexts/index.d.ts.map +1 -1
  1763. package/lib/typescript/contexts/liveLocationManagerContext/LiveLocationManagerContext.d.ts.map +1 -1
  1764. package/lib/typescript/contexts/liveLocationManagerContext/hooks/useHandleLiveLocationEvents.d.ts.map +1 -1
  1765. package/lib/typescript/contexts/messageComposerContext/MessageComposerContext.d.ts +8 -5
  1766. package/lib/typescript/contexts/messageComposerContext/MessageComposerContext.d.ts.map +1 -1
  1767. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +13 -17
  1768. package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
  1769. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -20
  1770. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  1771. package/lib/typescript/contexts/messageInputContext/hooks/useActiveCommand.d.ts +1 -1
  1772. package/lib/typescript/contexts/messageInputContext/hooks/useActiveCommand.d.ts.map +1 -1
  1773. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -2
  1774. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  1775. package/lib/typescript/contexts/messageInputContext/hooks/useMessageComposer.d.ts +4 -0
  1776. package/lib/typescript/contexts/messageInputContext/hooks/useMessageComposer.d.ts.map +1 -1
  1777. package/lib/typescript/contexts/messageInputContext/hooks/usePendingUploadsEnabled.d.ts +11 -0
  1778. package/lib/typescript/contexts/messageInputContext/hooks/usePendingUploadsEnabled.d.ts.map +1 -0
  1779. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +10 -25
  1780. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  1781. package/lib/typescript/contexts/pollContext/createPollContentContext.d.ts +1 -1
  1782. package/lib/typescript/contexts/pollContext/createPollContentContext.d.ts.map +1 -1
  1783. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +8 -28
  1784. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts.map +1 -1
  1785. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts +2 -3
  1786. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts.map +1 -1
  1787. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +11 -3
  1788. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts.map +1 -1
  1789. package/lib/typescript/contexts/translationContext/index.d.ts +0 -1
  1790. package/lib/typescript/contexts/translationContext/index.d.ts.map +1 -1
  1791. package/lib/typescript/contexts/translationContext/types.d.ts +20 -8
  1792. package/lib/typescript/contexts/translationContext/types.d.ts.map +1 -1
  1793. package/lib/typescript/hooks/actions/useChannelActionItems.d.ts.map +1 -1
  1794. package/lib/typescript/hooks/actions/useChannelActions.d.ts.map +1 -1
  1795. package/lib/typescript/hooks/actions/useChannelMemberActionItems.d.ts.map +1 -1
  1796. package/lib/typescript/hooks/actions/useUserActions.d.ts.map +1 -1
  1797. package/lib/typescript/hooks/index.d.ts +3 -1
  1798. package/lib/typescript/hooks/index.d.ts.map +1 -1
  1799. package/lib/typescript/hooks/messagePreview/useGroupedAttachments.d.ts +2 -2
  1800. package/lib/typescript/hooks/messagePreview/useGroupedAttachments.d.ts.map +1 -1
  1801. package/lib/typescript/hooks/messagePreview/useMessageDeliveryStatus.d.ts +9 -2
  1802. package/lib/typescript/hooks/messagePreview/useMessageDeliveryStatus.d.ts.map +1 -1
  1803. package/lib/typescript/hooks/messagePreview/useMessagePreviewText.d.ts.map +1 -1
  1804. package/lib/typescript/hooks/useAudioPlayer.d.ts.map +1 -1
  1805. package/lib/typescript/hooks/useChannel.d.ts +11 -0
  1806. package/lib/typescript/hooks/useChannel.d.ts.map +1 -0
  1807. package/lib/typescript/hooks/useChannelImage.d.ts +3 -0
  1808. package/lib/typescript/hooks/useChannelImage.d.ts.map +1 -1
  1809. package/lib/typescript/hooks/useChannelMemberCount.d.ts +4 -0
  1810. package/lib/typescript/hooks/useChannelMemberCount.d.ts.map +1 -1
  1811. package/lib/typescript/hooks/useChannelMembershipState.d.ts +4 -0
  1812. package/lib/typescript/hooks/useChannelMembershipState.d.ts.map +1 -1
  1813. package/lib/typescript/hooks/useChannelMuteActive.d.ts.map +1 -1
  1814. package/lib/typescript/hooks/useChannelName.d.ts +3 -0
  1815. package/lib/typescript/hooks/useChannelName.d.ts.map +1 -1
  1816. package/lib/typescript/hooks/useChannelOwnCapabilities.d.ts +5 -2
  1817. package/lib/typescript/hooks/useChannelOwnCapabilities.d.ts.map +1 -1
  1818. package/lib/typescript/hooks/useIsDirectChat.d.ts.map +1 -1
  1819. package/lib/typescript/hooks/useIsTargetedMessage.d.ts +12 -0
  1820. package/lib/typescript/hooks/useIsTargetedMessage.d.ts.map +1 -0
  1821. package/lib/typescript/hooks/useMessagePaginator.d.ts +6 -0
  1822. package/lib/typescript/hooks/useMessagePaginator.d.ts.map +1 -0
  1823. package/lib/typescript/hooks/usePrunableMessageList.d.ts +18 -6
  1824. package/lib/typescript/hooks/usePrunableMessageList.d.ts.map +1 -1
  1825. package/lib/typescript/hooks/useQueryReminders.d.ts +3 -3
  1826. package/lib/typescript/hooks/useQueryReminders.d.ts.map +1 -1
  1827. package/lib/typescript/hooks/useStateStore.d.ts +1 -1
  1828. package/lib/typescript/hooks/useStateStore.d.ts.map +1 -1
  1829. package/lib/typescript/hooks/useStreami18n.d.ts.map +1 -1
  1830. package/lib/typescript/hooks/useSyncClientEvents.d.ts +5 -5
  1831. package/lib/typescript/hooks/useSyncClientEvents.d.ts.map +1 -1
  1832. package/lib/typescript/hooks/useTranslatedMessage.d.ts +203 -114
  1833. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  1834. package/lib/typescript/i18n/index.d.ts +5 -0
  1835. package/lib/typescript/i18n/index.d.ts.map +1 -0
  1836. package/lib/typescript/i18n/keys.d.ts +432 -0
  1837. package/lib/typescript/i18n/keys.d.ts.map +1 -0
  1838. package/lib/typescript/i18n/runtimeDefaults.d.ts +135 -0
  1839. package/lib/typescript/i18n/runtimeDefaults.d.ts.map +1 -0
  1840. package/lib/typescript/i18n/types.d.ts +29 -0
  1841. package/lib/typescript/i18n/types.d.ts.map +1 -0
  1842. package/lib/typescript/i18n/utils.d.ts +33 -0
  1843. package/lib/typescript/i18n/utils.d.ts.map +1 -0
  1844. package/lib/typescript/index.d.ts +2 -13
  1845. package/lib/typescript/index.d.ts.map +1 -1
  1846. package/lib/typescript/middlewares/attachments.d.ts +1 -4
  1847. package/lib/typescript/middlewares/attachments.d.ts.map +1 -1
  1848. package/lib/typescript/state-store/attachment-picker-store.d.ts +1 -1
  1849. package/lib/typescript/state-store/attachment-picker-store.d.ts.map +1 -1
  1850. package/lib/typescript/state-store/audio-player-pool.d.ts +1 -1
  1851. package/lib/typescript/state-store/audio-player-pool.d.ts.map +1 -1
  1852. package/lib/typescript/state-store/audio-player.d.ts +1 -1
  1853. package/lib/typescript/state-store/audio-player.d.ts.map +1 -1
  1854. package/lib/typescript/state-store/audio-recorder-manager.d.ts +1 -1
  1855. package/lib/typescript/state-store/audio-recorder-manager.d.ts.map +1 -1
  1856. package/lib/typescript/state-store/edit-channel-details-store.d.ts +2 -1
  1857. package/lib/typescript/state-store/edit-channel-details-store.d.ts.map +1 -1
  1858. package/lib/typescript/state-store/image-gallery-state-store.d.ts +5 -4
  1859. package/lib/typescript/state-store/image-gallery-state-store.d.ts.map +1 -1
  1860. package/lib/typescript/state-store/in-app-notifications-store.d.ts +2 -1
  1861. package/lib/typescript/state-store/in-app-notifications-store.d.ts.map +1 -1
  1862. package/lib/typescript/state-store/message-input-height-store.d.ts +1 -1
  1863. package/lib/typescript/state-store/message-input-height-store.d.ts.map +1 -1
  1864. package/lib/typescript/state-store/message-overlay-store.d.ts +1 -1
  1865. package/lib/typescript/state-store/message-overlay-store.d.ts.map +1 -1
  1866. package/lib/typescript/state-store/selection-store.d.ts +1 -1
  1867. package/lib/typescript/state-store/selection-store.d.ts.map +1 -1
  1868. package/lib/typescript/state-store/signal-store.d.ts +1 -1
  1869. package/lib/typescript/state-store/signal-store.d.ts.map +1 -1
  1870. package/lib/typescript/state-store/video-player-pool.d.ts +1 -1
  1871. package/lib/typescript/state-store/video-player-pool.d.ts.map +1 -1
  1872. package/lib/typescript/state-store/video-player.d.ts +1 -1
  1873. package/lib/typescript/state-store/video-player.d.ts.map +1 -1
  1874. package/lib/typescript/store/OfflineDB.d.ts +12 -11
  1875. package/lib/typescript/store/OfflineDB.d.ts.map +1 -1
  1876. package/lib/typescript/store/SqliteClient.d.ts +2 -2
  1877. package/lib/typescript/store/SqliteClient.d.ts.map +1 -1
  1878. package/lib/typescript/store/apis/channelExists.d.ts +9 -0
  1879. package/lib/typescript/store/apis/channelExists.d.ts.map +1 -1
  1880. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +3 -1
  1881. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts.map +1 -1
  1882. package/lib/typescript/store/apis/deleteReaction.d.ts +2 -2
  1883. package/lib/typescript/store/apis/deleteReaction.d.ts.map +1 -1
  1884. package/lib/typescript/store/apis/getAppSettings.d.ts +4 -4
  1885. package/lib/typescript/store/apis/getAppSettings.d.ts.map +1 -1
  1886. package/lib/typescript/store/apis/getChannelActiveLocations.d.ts +2 -2
  1887. package/lib/typescript/store/apis/getChannelActiveLocations.d.ts.map +1 -1
  1888. package/lib/typescript/store/apis/getChannelMessages.d.ts +2 -2
  1889. package/lib/typescript/store/apis/getChannelMessages.d.ts.map +1 -1
  1890. package/lib/typescript/store/apis/getChannels.d.ts +5 -5
  1891. package/lib/typescript/store/apis/getChannels.d.ts.map +1 -1
  1892. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts +8 -7
  1893. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts.map +1 -1
  1894. package/lib/typescript/store/apis/getDraftsForChannels.d.ts +2 -2
  1895. package/lib/typescript/store/apis/getDraftsForChannels.d.ts.map +1 -1
  1896. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +2 -2
  1897. package/lib/typescript/store/apis/getLastSyncedAt.d.ts.map +1 -1
  1898. package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts +2 -2
  1899. package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts.map +1 -1
  1900. package/lib/typescript/store/apis/getReads.d.ts +2 -2
  1901. package/lib/typescript/store/apis/getReads.d.ts.map +1 -1
  1902. package/lib/typescript/store/apis/index.d.ts +0 -1
  1903. package/lib/typescript/store/apis/index.d.ts.map +1 -1
  1904. package/lib/typescript/store/apis/insertReaction.d.ts.map +1 -1
  1905. package/lib/typescript/store/apis/queries/selectActiveLocationsForChannels.d.ts.map +1 -1
  1906. package/lib/typescript/store/apis/queries/selectChannelQueryForFilterSort.d.ts +24 -0
  1907. package/lib/typescript/store/apis/queries/selectChannelQueryForFilterSort.d.ts.map +1 -0
  1908. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +2 -2
  1909. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts.map +1 -1
  1910. package/lib/typescript/store/apis/softDeleteMessage.d.ts.map +1 -1
  1911. package/lib/typescript/store/apis/updateReaction.d.ts.map +1 -1
  1912. package/lib/typescript/store/apis/upsertAppSettings.d.ts +4 -4
  1913. package/lib/typescript/store/apis/upsertAppSettings.d.ts.map +1 -1
  1914. package/lib/typescript/store/apis/upsertChannels.d.ts +2 -2
  1915. package/lib/typescript/store/apis/upsertChannels.d.ts.map +1 -1
  1916. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +4 -3
  1917. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts.map +1 -1
  1918. package/lib/typescript/store/apis/upsertDraft.d.ts.map +1 -1
  1919. package/lib/typescript/store/apis/upsertLocation.d.ts +2 -2
  1920. package/lib/typescript/store/apis/upsertLocation.d.ts.map +1 -1
  1921. package/lib/typescript/store/apis/upsertPoll.d.ts +2 -2
  1922. package/lib/typescript/store/apis/upsertPoll.d.ts.map +1 -1
  1923. package/lib/typescript/store/apis/upsertReads.d.ts +2 -2
  1924. package/lib/typescript/store/apis/upsertReads.d.ts.map +1 -1
  1925. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts +2 -2
  1926. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts.map +1 -1
  1927. package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts +2 -2
  1928. package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts.map +1 -1
  1929. package/lib/typescript/store/mappers/mapChannelDataToStorable.d.ts.map +1 -1
  1930. package/lib/typescript/store/mappers/mapChannelToStorable.d.ts.map +1 -1
  1931. package/lib/typescript/store/mappers/mapDraftMessageToStorable.d.ts.map +1 -1
  1932. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts.map +1 -1
  1933. package/lib/typescript/store/mappers/mapPollToStorable.d.ts +2 -2
  1934. package/lib/typescript/store/mappers/mapPollToStorable.d.ts.map +1 -1
  1935. package/lib/typescript/store/mappers/mapReadToStorable.d.ts +2 -2
  1936. package/lib/typescript/store/mappers/mapReadToStorable.d.ts.map +1 -1
  1937. package/lib/typescript/store/mappers/mapReminderToStorable.d.ts +2 -2
  1938. package/lib/typescript/store/mappers/mapSharedLocationToStorable.d.ts +2 -2
  1939. package/lib/typescript/store/mappers/mapSharedLocationToStorable.d.ts.map +1 -1
  1940. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +2 -2
  1941. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts.map +1 -1
  1942. package/lib/typescript/store/mappers/mapStorableToDraft.d.ts +2 -2
  1943. package/lib/typescript/store/mappers/mapStorableToDraft.d.ts.map +1 -1
  1944. package/lib/typescript/store/mappers/mapStorableToMember.d.ts.map +1 -1
  1945. package/lib/typescript/store/mappers/mapStorableToMessage.d.ts +2 -2
  1946. package/lib/typescript/store/mappers/mapStorableToMessage.d.ts.map +1 -1
  1947. package/lib/typescript/store/mappers/mapStorableToPoll.d.ts +2 -2
  1948. package/lib/typescript/store/mappers/mapStorableToPoll.d.ts.map +1 -1
  1949. package/lib/typescript/store/mappers/mapStorableToReaction.d.ts.map +1 -1
  1950. package/lib/typescript/store/mappers/mapStorableToRead.d.ts +2 -2
  1951. package/lib/typescript/store/mappers/mapStorableToRead.d.ts.map +1 -1
  1952. package/lib/typescript/store/mappers/mapStorableToReminder.d.ts +2 -2
  1953. package/lib/typescript/store/mappers/mapStorableToReminder.d.ts.map +1 -1
  1954. package/lib/typescript/store/mappers/mapStorableToSharedLocation.d.ts +2 -2
  1955. package/lib/typescript/store/mappers/mapStorableToSharedLocation.d.ts.map +1 -1
  1956. package/lib/typescript/store/mappers/mapStorableToTimestamp.d.ts +20 -0
  1957. package/lib/typescript/store/mappers/mapStorableToTimestamp.d.ts.map +1 -0
  1958. package/lib/typescript/store/mappers/mapStorableToUser.d.ts.map +1 -1
  1959. package/lib/typescript/store/mappers/mapTaskToStorable.d.ts +7 -7
  1960. package/lib/typescript/store/mappers/mapTimestampToStorable.d.ts +14 -0
  1961. package/lib/typescript/store/mappers/mapTimestampToStorable.d.ts.map +1 -0
  1962. package/lib/typescript/store/mappers/mapUserToStorable.d.ts.map +1 -1
  1963. package/lib/typescript/store/schema.d.ts +38 -33
  1964. package/lib/typescript/store/schema.d.ts.map +1 -1
  1965. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +13 -0
  1966. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts.map +1 -1
  1967. package/lib/typescript/store/sqlite-utils/createUpsertQueryIfParentExists.d.ts +40 -0
  1968. package/lib/typescript/store/sqlite-utils/createUpsertQueryIfParentExists.d.ts.map +1 -0
  1969. package/lib/typescript/store/types.d.ts +4 -4
  1970. package/lib/typescript/store/types.d.ts.map +1 -1
  1971. package/lib/typescript/types/react-native-compat.d.ts +2 -2
  1972. package/lib/typescript/types/types.d.ts +11 -6
  1973. package/lib/typescript/types/types.d.ts.map +1 -1
  1974. package/lib/typescript/utils/attachmentUrls.d.ts +13 -0
  1975. package/lib/typescript/utils/attachmentUrls.d.ts.map +1 -0
  1976. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +1 -1
  1977. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts.map +1 -1
  1978. package/lib/typescript/utils/i18n/Streami18n.d.ts +60 -632
  1979. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  1980. package/lib/typescript/utils/installNativeMultipartAdapter.d.ts +9 -5
  1981. package/lib/typescript/utils/installNativeMultipartAdapter.d.ts.map +1 -1
  1982. package/lib/typescript/utils/removeReservedFields.d.ts +1 -1
  1983. package/lib/typescript/utils/removeReservedFields.d.ts.map +1 -1
  1984. package/lib/typescript/utils/utils.d.ts +13 -32
  1985. package/lib/typescript/utils/utils.d.ts.map +1 -1
  1986. package/package.json +11 -11
  1987. package/src/__tests__/instanceConfiguration.test.tsx +287 -0
  1988. package/src/__tests__/offline-support/index.test.ts +6 -0
  1989. package/src/__tests__/offline-support/offline-feature.tsx +149 -69
  1990. package/src/__tests__/offline-support/optimistic-update.tsx +702 -132
  1991. package/src/a11y/hooks/useA11yLabel.ts +3 -1
  1992. package/src/components/AITypingIndicatorView/AITypingIndicatorView.tsx +3 -3
  1993. package/src/components/AITypingIndicatorView/hooks/__tests__/useAIState.test.ts +46 -0
  1994. package/src/components/AITypingIndicatorView/hooks/useAIState.ts +8 -49
  1995. package/src/components/Accessibility/NotificationAnnouncer.tsx +15 -5
  1996. package/src/components/Accessibility/hooks/useIncomingMessageAnnouncements.ts +22 -23
  1997. package/src/components/Attachment/Attachment.tsx +10 -6
  1998. package/src/components/Attachment/Audio/AudioAttachment.tsx +10 -10
  1999. package/src/components/Attachment/FileAttachment.tsx +13 -5
  2000. package/src/components/Attachment/FilePreview.tsx +8 -4
  2001. package/src/components/Attachment/Gallery.tsx +17 -5
  2002. package/src/components/Attachment/Giphy/Giphy.tsx +3 -1
  2003. package/src/components/Attachment/UnsupportedAttachment.tsx +2 -2
  2004. package/src/components/Attachment/__tests__/Attachment.test.tsx +84 -13
  2005. package/src/components/Attachment/__tests__/openUrlSafely.test.ts +13 -0
  2006. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +3 -3
  2007. package/src/components/Attachment/utils/openUrlSafely.ts +7 -1
  2008. package/src/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentMediaPicker.tsx +5 -2
  2009. package/src/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.tsx +57 -25
  2010. package/src/components/AttachmentPicker/components/AttachmentMediaPicker/__tests__/AttachmentPickerItem.test.tsx +63 -0
  2011. package/src/components/AttachmentPicker/components/AttachmentPickerContent.tsx +24 -16
  2012. package/src/components/AttachmentPicker/components/AttachmentTypePickerButton.tsx +9 -9
  2013. package/src/components/AttachmentPicker/components/__tests__/AttachmentCommandPicker.test.tsx +47 -0
  2014. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +17 -7
  2015. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +2 -4
  2016. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +3 -3
  2017. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.tsx +12 -3
  2018. package/src/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.tsx +2 -2
  2019. package/src/components/AutoCompleteInput/mentionItems/MentionRoleItem.tsx +3 -1
  2020. package/src/components/AutoCompleteInput/mentionItems/__tests__/MentionItems.test.tsx +5 -5
  2021. package/src/components/Channel/Channel.tsx +60 -1783
  2022. package/src/components/Channel/ChannelShell.tsx +542 -0
  2023. package/src/components/Channel/__tests__/Channel.test.tsx +584 -221
  2024. package/src/components/Channel/__tests__/isAttachmentEqualHandler.test.tsx +7 -2
  2025. package/src/components/Channel/__tests__/ownCapabilities.test.tsx +12 -13
  2026. package/src/components/Channel/__tests__/useCreateChannelContext.test.ts +56 -0
  2027. package/src/components/Channel/hooks/useChannelLifecycle.ts +170 -0
  2028. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -64
  2029. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +1 -9
  2030. package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -20
  2031. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +19 -32
  2032. package/src/components/Channel/hooks/useCreateThreadContext.ts +9 -49
  2033. package/src/components/Channel/hooks/useSupersededChannelSwap.ts +25 -0
  2034. package/src/components/ChannelDetails/__tests__/ChannelDetails.test.tsx +3 -2
  2035. package/src/components/ChannelDetails/__tests__/ChannelDetailsActionsSection.test.tsx +15 -10
  2036. package/src/components/ChannelDetails/__tests__/ChannelDetailsEditButton.test.tsx +3 -2
  2037. package/src/components/ChannelDetails/__tests__/ChannelDetailsMemberSection.test.tsx +6 -7
  2038. package/src/components/ChannelDetails/__tests__/ChannelDetailsNavHeader.test.tsx +1 -1
  2039. package/src/components/ChannelDetails/__tests__/ChannelDetailsNavigationSection.test.tsx +9 -1
  2040. package/src/components/ChannelDetails/__tests__/ChannelDetailsProfile.test.tsx +1 -1
  2041. package/src/components/ChannelDetails/__tests__/ChannelEditDetailsForm.test.tsx +16 -7
  2042. package/src/components/ChannelDetails/__tests__/ChannelEditDetailsFormContent.test.tsx +13 -10
  2043. package/src/components/ChannelDetails/__tests__/ChannelEditImageSheet.test.tsx +11 -8
  2044. package/src/components/ChannelDetails/__tests__/ChannelEditName.test.tsx +9 -8
  2045. package/src/components/ChannelDetails/__tests__/members/AddMemberSearchResultItem.test.tsx +16 -6
  2046. package/src/components/ChannelDetails/__tests__/members/ChannelAddMembersButton.test.tsx +3 -2
  2047. package/src/components/ChannelDetails/__tests__/members/ChannelAddMembersForm.test.tsx +8 -2
  2048. package/src/components/ChannelDetails/__tests__/members/ChannelAddMembersFormContent.test.tsx +2 -2
  2049. package/src/components/ChannelDetails/__tests__/members/ChannelMemberActionsSheet.test.tsx +2 -2
  2050. package/src/components/ChannelDetails/__tests__/members/ChannelMemberItem.test.tsx +16 -6
  2051. package/src/components/ChannelDetails/__tests__/members/ChannelMemberList.test.tsx +2 -2
  2052. package/src/components/ChannelDetails/__tests__/members/useMemberRoles.test.tsx +1 -1
  2053. package/src/components/ChannelDetails/__tests__/useChannelDetailsMemberStatusText.test.tsx +22 -3
  2054. package/src/components/ChannelDetails/__tests__/useChannelDetailsMembersPreview.test.tsx +9 -3
  2055. package/src/components/ChannelDetails/__tests__/useEditChannelImage.test.tsx +1 -1
  2056. package/src/components/ChannelDetails/__tests__/useFileAttachmentListSections.test.tsx +11 -7
  2057. package/src/components/ChannelDetails/__tests__/useUserActivityStatus.test.tsx +3 -2
  2058. package/src/components/ChannelDetails/components/ChannelDetailsEditButton.tsx +2 -2
  2059. package/src/components/ChannelDetails/components/ChannelDetailsMemberSection.tsx +12 -4
  2060. package/src/components/ChannelDetails/components/ChannelDetailsNavHeader.tsx +6 -2
  2061. package/src/components/ChannelDetails/components/ChannelDetailsProfile.tsx +1 -1
  2062. package/src/components/ChannelDetails/components/ChannelEditDetailsFormContent.tsx +2 -2
  2063. package/src/components/ChannelDetails/components/ChannelEditDetailsFormHeader.tsx +5 -2
  2064. package/src/components/ChannelDetails/components/ChannelEditImageSheet.tsx +5 -5
  2065. package/src/components/ChannelDetails/components/ChannelEditName.tsx +2 -2
  2066. package/src/components/ChannelDetails/components/__tests__/navigation-section/FileAttachmentList.test.tsx +8 -7
  2067. package/src/components/ChannelDetails/components/__tests__/navigation-section/MediaItem.test.tsx +4 -2
  2068. package/src/components/ChannelDetails/components/__tests__/navigation-section/MediaList.test.tsx +2 -2
  2069. package/src/components/ChannelDetails/components/__tests__/navigation-section/PinnedMessageItem.test.tsx +1 -1
  2070. package/src/components/ChannelDetails/components/__tests__/navigation-section/PinnedMessageList.test.tsx +2 -2
  2071. package/src/components/ChannelDetails/components/members/AddMemberSearchResultItem.tsx +9 -3
  2072. package/src/components/ChannelDetails/components/members/ChannelAddMembersButton.tsx +3 -3
  2073. package/src/components/ChannelDetails/components/members/ChannelAddMembersFormContent.tsx +6 -3
  2074. package/src/components/ChannelDetails/components/members/ChannelAddMembersFormHeader.tsx +5 -2
  2075. package/src/components/ChannelDetails/components/members/ChannelMemberItem.tsx +2 -2
  2076. package/src/components/ChannelDetails/components/members/ChannelMemberList.tsx +8 -3
  2077. package/src/components/ChannelDetails/components/modal/ModalHeader.tsx +1 -1
  2078. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentList.tsx +6 -3
  2079. package/src/components/ChannelDetails/components/navigation-section/MediaItem.tsx +3 -1
  2080. package/src/components/ChannelDetails/components/navigation-section/MediaList.tsx +6 -3
  2081. package/src/components/ChannelDetails/components/navigation-section/PinnedMessageList.tsx +13 -5
  2082. package/src/components/ChannelDetails/hooks/members/useMemberRoles.ts +12 -3
  2083. package/src/components/ChannelDetails/hooks/useChannelDetailsMemberStatusText.ts +4 -2
  2084. package/src/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.ts +9 -4
  2085. package/src/components/ChannelDetails/hooks/useEditChannelImage.ts +19 -8
  2086. package/src/components/ChannelDetails/hooks/useFileAttachmentListSections.ts +9 -5
  2087. package/src/components/ChannelDetails/hooks/useUserActivityStatus.ts +8 -6
  2088. package/src/components/ChannelList/ChannelList.tsx +35 -286
  2089. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +1 -1
  2090. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +1 -1
  2091. package/src/components/ChannelList/ChannelListView.tsx +62 -64
  2092. package/src/components/ChannelList/__tests__/ChannelList.test.tsx +383 -339
  2093. package/src/components/ChannelList/__tests__/ChannelListView.test.tsx +92 -55
  2094. package/src/components/ChannelList/hooks/__tests__/useChannelMembersState.test.tsx +66 -0
  2095. package/src/components/ChannelList/hooks/__tests__/useMutedChannels.test.tsx +37 -0
  2096. package/src/components/ChannelList/hooks/index.ts +0 -1
  2097. package/src/components/ChannelList/hooks/useChannelMembersState.ts +58 -17
  2098. package/src/components/ChannelList/hooks/useChannelOnlineMemberCount.ts +8 -10
  2099. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +24 -49
  2100. package/src/components/ChannelList/hooks/useMutedChannels.ts +11 -14
  2101. package/src/components/ChannelList/hooks/useMutedUsers.ts +6 -11
  2102. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +78 -173
  2103. package/src/components/ChannelPreview/ChannelDetailsBottomSheet.tsx +18 -2
  2104. package/src/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.tsx +37 -17
  2105. package/src/components/ChannelPreview/ChannelPreview.tsx +9 -17
  2106. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +10 -5
  2107. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +1 -1
  2108. package/src/components/ChannelPreview/ChannelPreviewPinnedStatus.tsx +1 -1
  2109. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +12 -7
  2110. package/src/components/ChannelPreview/ChannelPreviewTypingIndicator.tsx +30 -14
  2111. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +4 -1
  2112. package/src/components/ChannelPreview/ChannelPreviewView.tsx +2 -3
  2113. package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +37 -2
  2114. package/src/components/ChannelPreview/__tests__/ChannelLastMessagePreview.test.tsx +2 -1
  2115. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +70 -90
  2116. package/src/components/ChannelPreview/__tests__/ChannelPreviewView.test.tsx +1 -1
  2117. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +57 -0
  2118. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDraftMessage.test.tsx +32 -0
  2119. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewMuted.test.tsx +25 -50
  2120. package/src/components/ChannelPreview/hooks/__tests__/useChannelTypingState.test.tsx +57 -0
  2121. package/src/components/ChannelPreview/hooks/__tests__/useIsChannelPinned.test.tsx +21 -12
  2122. package/src/components/ChannelPreview/hooks/useChannelPreviewData.ts +50 -169
  2123. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +7 -2
  2124. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +2 -2
  2125. package/src/components/ChannelPreview/hooks/useChannelPreviewDraftMessage.ts +16 -13
  2126. package/src/components/ChannelPreview/hooks/useChannelPreviewPollLabel.ts +5 -3
  2127. package/src/components/ChannelPreview/hooks/useChannelTypingState.ts +9 -38
  2128. package/src/components/ChannelPreview/hooks/useIsChannelMuted.ts +11 -37
  2129. package/src/components/ChannelPreview/hooks/useIsChannelPinned.ts +1 -1
  2130. package/src/components/Chat/Chat.tsx +53 -105
  2131. package/src/components/Chat/__tests__/Chat.test.tsx +269 -93
  2132. package/src/components/Chat/hooks/__tests__/connectionStateHooks.test.tsx +314 -0
  2133. package/src/components/Chat/hooks/__tests__/useAppSettingsGetter.test.tsx +104 -0
  2134. package/src/components/Chat/hooks/__tests__/useCreateChatClient.netinfo.test.ts +47 -0
  2135. package/src/components/Chat/hooks/__tests__/useCreateChatClient.userData.test.ts +51 -0
  2136. package/src/components/Chat/hooks/index.ts +3 -3
  2137. package/src/components/Chat/hooks/useAppSettingsGetter.ts +80 -0
  2138. package/src/components/Chat/hooks/useClientUserId.ts +31 -0
  2139. package/src/components/Chat/hooks/useConnectionLifecycle.ts +122 -0
  2140. package/src/components/Chat/hooks/useCreateChatClient.ts +36 -9
  2141. package/src/components/Chat/hooks/useCreateChatContext.ts +5 -33
  2142. package/src/components/Chat/hooks/useInitializeOfflineDb.ts +11 -5
  2143. package/src/components/Chat/hooks/useNetworkConnectionState.ts +39 -0
  2144. package/src/components/Chat/hooks/usePendingUploadsDefault.ts +43 -0
  2145. package/src/components/Chat/hooks/useWSConnectionState.ts +115 -0
  2146. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +2 -2
  2147. package/src/components/ImageGallery/components/ImageGalleryA11yProbe.tsx +1 -1
  2148. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +3 -3
  2149. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +7 -5
  2150. package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +1 -1
  2151. package/src/components/Indicators/EmptyStateIndicator.tsx +8 -4
  2152. package/src/components/Indicators/LoadingErrorIndicator.tsx +10 -4
  2153. package/src/components/Indicators/LoadingIndicator.tsx +11 -3
  2154. package/src/components/Message/Message.tsx +67 -222
  2155. package/src/components/Message/MessageItemView/Headers/MessagePinnedHeader.tsx +4 -2
  2156. package/src/components/Message/MessageItemView/Headers/MessageReminderHeader.tsx +4 -2
  2157. package/src/components/Message/MessageItemView/Headers/MessageSavedForLaterHeader.tsx +1 -1
  2158. package/src/components/Message/MessageItemView/Headers/SentToChannelHeader.tsx +34 -22
  2159. package/src/components/Message/MessageItemView/MessageBounce.tsx +11 -10
  2160. package/src/components/Message/MessageItemView/MessageContent.tsx +5 -10
  2161. package/src/components/Message/MessageItemView/MessageDeleted.tsx +3 -1
  2162. package/src/components/Message/MessageItemView/MessageFooter.tsx +30 -38
  2163. package/src/components/Message/MessageItemView/MessageHeader.tsx +24 -41
  2164. package/src/components/Message/MessageItemView/MessageItemView.tsx +20 -19
  2165. package/src/components/Message/MessageItemView/MessageReplies.tsx +11 -25
  2166. package/src/components/Message/MessageItemView/MessageStatus.tsx +26 -39
  2167. package/src/components/Message/MessageItemView/MessageTimestamp.tsx +3 -3
  2168. package/src/components/Message/MessageItemView/MessageWrapper.tsx +75 -39
  2169. package/src/components/Message/MessageItemView/ReactionList/ReactionListClustered.tsx +3 -3
  2170. package/src/components/Message/MessageItemView/ReactionList/ReactionListItem.tsx +1 -1
  2171. package/src/components/Message/MessageItemView/__tests__/Message.test.tsx +135 -14
  2172. package/src/components/Message/MessageItemView/__tests__/MessageAuthor.test.tsx +2 -2
  2173. package/src/components/Message/MessageItemView/__tests__/MessageContent.test.tsx +76 -91
  2174. package/src/components/Message/MessageItemView/__tests__/MessageFooter.test.tsx +71 -0
  2175. package/src/components/Message/MessageItemView/__tests__/MessageHeader.test.tsx +78 -0
  2176. package/src/components/Message/MessageItemView/__tests__/MessageItemView.test.tsx +14 -14
  2177. package/src/components/Message/MessageItemView/__tests__/MessageReplies.test.tsx +6 -23
  2178. package/src/components/Message/MessageItemView/__tests__/MessageStatus.test.tsx +115 -56
  2179. package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +7 -4
  2180. package/src/components/Message/MessageItemView/__tests__/ReactionListBottom.test.tsx +5 -9
  2181. package/src/components/Message/MessageItemView/__tests__/ReactionListTop.test.tsx +5 -9
  2182. package/src/components/Message/hooks/__tests__/receiptUserHooks.test.tsx +103 -0
  2183. package/src/components/Message/hooks/__tests__/{useMessageActionHandlers.test.tsx → useCreateMessageActionHandlers.test.tsx} +44 -9
  2184. package/src/components/Message/hooks/__tests__/useMessageOperations.test.tsx +70 -0
  2185. package/src/components/Message/hooks/__tests__/useShouldUseOverlayStyles.test.tsx +0 -4
  2186. package/src/components/Message/hooks/__tests__/useUserMuteActive.test.tsx +49 -0
  2187. package/src/components/Message/hooks/useCreateMessageActionHandlers.ts +434 -0
  2188. package/src/components/Message/hooks/useCreateMessageContext.ts +5 -15
  2189. package/src/components/Message/hooks/useIsMessageDeliveredToOthers.ts +41 -0
  2190. package/src/components/Message/hooks/useIsMessageReadByOthers.ts +41 -0
  2191. package/src/components/Message/hooks/useMessageActionHandlers.ts +13 -393
  2192. package/src/components/Message/hooks/useMessageActions.tsx +64 -130
  2193. package/src/components/Message/hooks/useMessageData.ts +4 -6
  2194. package/src/components/Message/hooks/useMessageDeliveryData.ts +19 -37
  2195. package/src/components/Message/hooks/useMessageOperations.ts +153 -0
  2196. package/src/components/Message/hooks/useMessageReadData.ts +19 -38
  2197. package/src/components/Message/hooks/useProcessReactions.ts +3 -3
  2198. package/src/components/Message/hooks/useUserMuteActive.ts +30 -7
  2199. package/src/components/Message/utils/messageActions.ts +2 -2
  2200. package/src/components/MessageInput/MessageComposer.tsx +37 -20
  2201. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +3 -1
  2202. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +13 -16
  2203. package/src/components/MessageInput/__tests__/AttachmentUploadPreviewList.test.tsx +9 -0
  2204. package/src/components/MessageInput/__tests__/InputButtons.test.tsx +18 -0
  2205. package/src/components/MessageInput/__tests__/MessageComposer.test.tsx +39 -1
  2206. package/src/components/MessageInput/__tests__/SendMessageDisallowedIndicator.test.tsx +37 -6
  2207. package/src/components/MessageInput/components/AttachmentPreview/AttachmentRemoveControl.tsx +1 -1
  2208. package/src/components/MessageInput/components/AttachmentPreview/AttachmentUploadProgressIndicator.tsx +5 -3
  2209. package/src/components/MessageInput/components/AttachmentPreview/AudioAttachmentUploadPreview.tsx +11 -6
  2210. package/src/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.tsx +6 -6
  2211. package/src/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.tsx +3 -3
  2212. package/src/components/MessageInput/components/AttachmentPreview/VideoAttachmentUploadPreview.tsx +8 -4
  2213. package/src/components/MessageInput/components/AudioRecorder/AudioRecorder.tsx +5 -5
  2214. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx +12 -4
  2215. package/src/components/MessageInput/components/InputButtons/AttachButton.tsx +3 -1
  2216. package/src/components/MessageInput/components/InputButtons/index.tsx +8 -0
  2217. package/src/components/MessageInput/components/OutputButtons/EditButton.tsx +1 -1
  2218. package/src/components/MessageInput/components/OutputButtons/SendButton.tsx +1 -1
  2219. package/src/components/MessageInput/components/OutputButtons/index.tsx +9 -6
  2220. package/src/components/MessageInput/hooks/useAudioRecorder.tsx +6 -4
  2221. package/src/components/MessageList/InlineDateSeparator.tsx +4 -4
  2222. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +5 -6
  2223. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +5 -6
  2224. package/src/components/MessageList/InlineUnreadIndicator.tsx +7 -1
  2225. package/src/components/MessageList/MessageFlashList.tsx +161 -565
  2226. package/src/components/MessageList/MessageList.tsx +155 -652
  2227. package/src/components/MessageList/MessageSystem.tsx +4 -4
  2228. package/src/components/MessageList/NetworkDownIndicator.tsx +11 -15
  2229. package/src/components/MessageList/ScrollToBottomButton.tsx +13 -6
  2230. package/src/components/MessageList/StickyHeader.tsx +4 -4
  2231. package/src/components/MessageList/TypingIndicatorContainer.tsx +18 -9
  2232. package/src/components/MessageList/UnreadMessagesNotification.tsx +50 -31
  2233. package/src/components/MessageList/__tests__/InlineUnreadIndicator.test.tsx +26 -0
  2234. package/src/components/MessageList/__tests__/MessageFlashList.test.tsx +130 -0
  2235. package/src/components/MessageList/__tests__/MessageList.test.tsx +702 -161
  2236. package/src/components/MessageList/__tests__/MessageSystem.test.tsx +2 -2
  2237. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.tsx +63 -11
  2238. package/src/components/MessageList/__tests__/TypingIndicator.test.tsx +39 -24
  2239. package/src/components/MessageList/__tests__/buildMessageListWithNeighbours.test.ts +33 -0
  2240. package/src/components/MessageList/__tests__/dateSeparatorSystemMessages.test.tsx +23 -18
  2241. package/src/components/MessageList/__tests__/useMessageDateSeparator.test.ts +9 -8
  2242. package/src/components/MessageList/__tests__/useMessageList.test.tsx +19 -52
  2243. package/src/components/MessageList/hooks/__tests__/useMarkRead.test.tsx +108 -0
  2244. package/src/components/MessageList/hooks/__tests__/useMessageListLiveState.test.tsx +160 -0
  2245. package/src/components/MessageList/hooks/__tests__/useMessageListPagination.test.tsx +184 -0
  2246. package/src/components/MessageList/hooks/__tests__/useStickyHeaderDate.test.ts +31 -0
  2247. package/src/components/MessageList/hooks/useMarkRead.ts +82 -0
  2248. package/src/components/MessageList/hooks/useMessageDateSeparator.ts +12 -3
  2249. package/src/components/MessageList/hooks/useMessageList.ts +26 -25
  2250. package/src/components/MessageList/hooks/useMessageListFocus.ts +40 -0
  2251. package/src/components/MessageList/hooks/useMessageListLiveState.ts +101 -0
  2252. package/src/components/MessageList/hooks/useMessageListPagination.ts +71 -0
  2253. package/src/components/MessageList/hooks/useOwnUnreadCount.ts +22 -0
  2254. package/src/components/MessageList/hooks/useScrollToBottomAccessibilityAction.ts +2 -3
  2255. package/src/components/MessageList/hooks/useStickyHeaderDate.ts +41 -0
  2256. package/src/components/MessageList/hooks/useTypingString.ts +11 -5
  2257. package/src/components/MessageList/hooks/useTypingUsers.ts +26 -4
  2258. package/src/components/MessageList/hooks/useUnreadNotificationVisibility.ts +86 -0
  2259. package/src/components/MessageList/utils/buildMessageListWithNeighbours.ts +9 -2
  2260. package/src/components/MessageList/utils/filterTypingUsers.ts +12 -12
  2261. package/src/components/MessageList/utils/getGroupStyles.ts +3 -2
  2262. package/src/components/MessageMenu/MessageActionList.tsx +1 -1
  2263. package/src/components/MessageMenu/MessageActionListWithActions.tsx +69 -0
  2264. package/src/components/MessageMenu/MessageReactionPicker.tsx +1 -1
  2265. package/src/components/MessageMenu/MessageUserReactions.tsx +12 -10
  2266. package/src/components/MessageMenu/MessageUserReactionsItem.tsx +2 -2
  2267. package/src/components/MessageMenu/__tests__/MessageReactionPicker.test.tsx +2 -1
  2268. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +33 -3
  2269. package/src/components/MessageMenu/__tests__/MessageUserReactionsAvatar.test.tsx +2 -1
  2270. package/src/components/MessageMenu/__tests__/MessageUserReactionsItem.test.tsx +6 -1
  2271. package/src/components/MessageMenu/hooks/__tests__/useFetchReactions.test.ts +107 -1
  2272. package/src/components/MessageMenu/hooks/useFetchReactions.ts +33 -25
  2273. package/src/components/Notifications/Notification.tsx +1 -1
  2274. package/src/components/Notifications/NotificationList.tsx +1 -1
  2275. package/src/components/Notifications/__tests__/notificationTranslations.test.ts +59 -0
  2276. package/src/components/Notifications/hooks/__tests__/useNotificationApi.test.tsx +1 -1
  2277. package/src/components/Notifications/hooks/__tests__/useNotificationTarget.test.tsx +1 -13
  2278. package/src/components/Notifications/hooks/useNotificationTarget.ts +1 -2
  2279. package/src/components/Notifications/notificationTranslations.ts +117 -47
  2280. package/src/components/Poll/CreatePollContent.tsx +15 -8
  2281. package/src/components/Poll/Poll.tsx +9 -5
  2282. package/src/components/Poll/__tests__/Poll.test.tsx +3 -1
  2283. package/src/components/Poll/components/Button.tsx +2 -2
  2284. package/src/components/Poll/components/CreatePollHeader.tsx +3 -3
  2285. package/src/components/Poll/components/CreatePollOptions.tsx +24 -5
  2286. package/src/components/Poll/components/MultipleAnswersField.tsx +4 -2
  2287. package/src/components/Poll/components/MultipleVotesSettings.tsx +6 -4
  2288. package/src/components/Poll/components/NameField.tsx +2 -2
  2289. package/src/components/Poll/components/PollAnswersList.tsx +17 -13
  2290. package/src/components/Poll/components/PollButtons.tsx +36 -13
  2291. package/src/components/Poll/components/PollInputDialog.tsx +2 -2
  2292. package/src/components/Poll/components/PollModalHeader.tsx +1 -1
  2293. package/src/components/Poll/components/PollOption.tsx +14 -4
  2294. package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +7 -3
  2295. package/src/components/Poll/components/PollResults/PollResultItem.tsx +23 -8
  2296. package/src/components/Poll/components/PollResults/PollResults.tsx +1 -1
  2297. package/src/components/Poll/components/PollResults/PollVote.tsx +8 -9
  2298. package/src/components/Poll/components/__tests__/PollOption.test.tsx +3 -1
  2299. package/src/components/Poll/contexts/PollUIStateContext.tsx +1 -1
  2300. package/src/components/Poll/hooks/__tests__/usePollPagination.test.tsx +71 -0
  2301. package/src/components/Poll/hooks/useEndVote.ts +2 -2
  2302. package/src/components/Poll/hooks/usePollAnswersPagination.ts +8 -8
  2303. package/src/components/Poll/hooks/usePollOptionVotesPagination.ts +20 -14
  2304. package/src/components/Poll/hooks/usePollState.ts +13 -15
  2305. package/src/components/Reply/Reply.tsx +25 -15
  2306. package/src/components/Reply/__tests__/Reply.test.tsx +5 -4
  2307. package/src/components/Thread/Thread.tsx +134 -153
  2308. package/src/components/Thread/__tests__/Thread.test.tsx +444 -53
  2309. package/src/components/Thread/__tests__/__snapshots__/Thread.test.tsx.snap +72 -52
  2310. package/src/components/Thread/components/ThreadFooterComponent.tsx +35 -70
  2311. package/src/components/ThreadList/ThreadList.tsx +15 -21
  2312. package/src/components/ThreadList/ThreadListItem.tsx +21 -14
  2313. package/src/components/ThreadList/ThreadListItemMessagePreview.tsx +1 -1
  2314. package/src/components/ThreadList/ThreadListUnreadBanner.tsx +36 -22
  2315. package/src/components/ThreadList/ThreadMessagePreviewDeliveryStatus.tsx +24 -8
  2316. package/src/components/ThreadList/__tests__/ThreadList.test.tsx +182 -0
  2317. package/src/components/UIComponents/BottomSheetModal.tsx +2 -4
  2318. package/src/components/UIComponents/SearchInput.tsx +2 -2
  2319. package/src/components/UIComponents/__tests__/SearchInput.test.tsx +1 -1
  2320. package/src/components/index.ts +6 -8
  2321. package/src/components/ui/Avatar/Avatar.tsx +1 -1
  2322. package/src/components/ui/Avatar/ChannelAvatar.tsx +13 -5
  2323. package/src/components/ui/Avatar/__tests__/ChannelAvatar.test.tsx +60 -24
  2324. package/src/components/ui/Button/__tests__/Button.test.tsx +1 -1
  2325. package/src/contexts/__tests__/index.test.tsx +16 -19
  2326. package/src/contexts/channelAddMembersContext/ChannelAddMembersContext.tsx +1 -1
  2327. package/src/contexts/channelContext/ChannelContext.tsx +1 -119
  2328. package/src/contexts/channelContext/__tests__/publicSurface.test.ts +75 -0
  2329. package/src/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.tsx +1 -1
  2330. package/src/contexts/channelMediaListContext/ChannelMediaListContext.tsx +1 -1
  2331. package/src/contexts/channelMemberListContext/ChannelMemberListContext.tsx +1 -1
  2332. package/src/contexts/channelsContext/ChannelsContext.tsx +5 -40
  2333. package/src/contexts/chatContext/ChatContext.tsx +9 -34
  2334. package/src/contexts/componentsContext/defaultComponents.ts +0 -2
  2335. package/src/contexts/index.ts +1 -3
  2336. package/src/contexts/liveLocationManagerContext/LiveLocationManagerContext.tsx +4 -1
  2337. package/src/contexts/liveLocationManagerContext/__tests__/LiveLocationManagerContext.test.tsx +66 -0
  2338. package/src/contexts/liveLocationManagerContext/hooks/__tests__/useHandleLiveLocationEvents.test.tsx +74 -0
  2339. package/src/contexts/liveLocationManagerContext/hooks/useHandleLiveLocationEvents.ts +8 -8
  2340. package/src/contexts/messageComposerContext/MessageComposerContext.tsx +56 -14
  2341. package/src/contexts/messageComposerContext/__tests__/MessageComposerContext.test.tsx +77 -0
  2342. package/src/contexts/messageContext/MessageContext.tsx +13 -17
  2343. package/src/contexts/messageInputContext/MessageInputContext.tsx +57 -185
  2344. package/src/contexts/messageInputContext/__tests__/filePickers.test.tsx +1 -9
  2345. package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +118 -259
  2346. package/src/contexts/messageInputContext/__tests__/useMessageComposerHasSendableData.test.tsx +44 -0
  2347. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +2 -10
  2348. package/src/contexts/messageInputContext/hooks/useMessageComposer.ts +5 -7
  2349. package/src/contexts/messageInputContext/hooks/useMessageComposerHasSendableData.ts +5 -5
  2350. package/src/contexts/messageInputContext/hooks/usePendingUploadsEnabled.ts +20 -0
  2351. package/src/contexts/messagesContext/MessagesContext.tsx +10 -40
  2352. package/src/contexts/overlayContext/MessageOverlayHostLayer.tsx +1 -1
  2353. package/src/contexts/pollContext/createPollContentContext.tsx +1 -1
  2354. package/src/contexts/threadContext/ThreadContext.tsx +20 -44
  2355. package/src/contexts/threadsContext/ThreadsContext.tsx +2 -3
  2356. package/src/contexts/translationContext/TranslationContext.tsx +14 -9
  2357. package/src/contexts/translationContext/index.ts +0 -1
  2358. package/src/contexts/translationContext/types.ts +20 -11
  2359. package/src/hooks/__tests__/useChannelMuteActive.test.tsx +40 -17
  2360. package/src/hooks/__tests__/useIsChannelMember.test.tsx +4 -2
  2361. package/src/hooks/__tests__/useIsDirectChat.test.tsx +55 -0
  2362. package/src/hooks/__tests__/usePendingAttachmentUpload.test.tsx +1 -1
  2363. package/src/hooks/__tests__/usePrunableMessageList.test.tsx +175 -0
  2364. package/src/hooks/__tests__/useStreami18n.test.ts +71 -0
  2365. package/src/hooks/actions/__tests__/useChannelActionItems.test.tsx +35 -21
  2366. package/src/hooks/actions/__tests__/useChannelActions.test.tsx +32 -7
  2367. package/src/hooks/actions/__tests__/useChannelMemberActionItems.test.tsx +27 -20
  2368. package/src/hooks/actions/__tests__/useUserActions.test.tsx +15 -15
  2369. package/src/hooks/actions/useChannelActionItems.tsx +54 -29
  2370. package/src/hooks/actions/useChannelActions.ts +46 -36
  2371. package/src/hooks/actions/useChannelMemberActionItems.tsx +21 -11
  2372. package/src/hooks/actions/useUserActions.ts +15 -11
  2373. package/src/hooks/index.ts +3 -1
  2374. package/src/hooks/messagePreview/__tests__/useMessageDeliveryStatus.test.tsx +119 -0
  2375. package/src/hooks/messagePreview/__tests__/useMessagePreviewText.test.tsx +4 -6
  2376. package/src/hooks/messagePreview/useGroupedAttachments.ts +4 -1
  2377. package/src/hooks/messagePreview/useMessageDeliveryStatus.ts +49 -68
  2378. package/src/hooks/messagePreview/useMessagePreviewText.tsx +45 -20
  2379. package/src/hooks/useAudioPlayer.ts +9 -3
  2380. package/src/hooks/useChannel.ts +19 -0
  2381. package/src/hooks/useChannelImage.ts +9 -5
  2382. package/src/hooks/useChannelMemberCount.ts +10 -5
  2383. package/src/hooks/useChannelMembershipState.ts +10 -5
  2384. package/src/hooks/useChannelMuteActive.ts +2 -6
  2385. package/src/hooks/useChannelName.ts +9 -5
  2386. package/src/hooks/useChannelOwnCapabilities.ts +11 -8
  2387. package/src/hooks/useIsDirectChat.ts +4 -2
  2388. package/src/hooks/useIsTargetedMessage.ts +29 -0
  2389. package/src/hooks/useLoadingImage.tsx +4 -4
  2390. package/src/hooks/useMessagePaginator.ts +13 -0
  2391. package/src/hooks/usePrunableMessageList.ts +37 -31
  2392. package/src/hooks/useQueryReminders.ts +19 -17
  2393. package/src/hooks/useStateStore.ts +1 -1
  2394. package/src/hooks/useStreami18n.ts +25 -46
  2395. package/src/hooks/useSyncClientEvents.ts +7 -7
  2396. package/src/hooks/useTranslatedMessage.ts +23 -5
  2397. package/src/i18n/__tests__/callSites.test.ts +346 -0
  2398. package/src/i18n/__tests__/catalog.fixture.json +418 -0
  2399. package/src/i18n/__tests__/catalogRenders.test.ts +88 -0
  2400. package/src/i18n/__tests__/dateNormalization.test.ts +91 -0
  2401. package/src/i18n/__tests__/pluralCategories.test.ts +114 -0
  2402. package/src/i18n/__tests__/publicExports.test.ts +79 -0
  2403. package/src/i18n/index.ts +4 -0
  2404. package/src/i18n/keys.ts +525 -0
  2405. package/src/i18n/runtimeDefaults.ts +148 -0
  2406. package/src/i18n/types.ts +54 -0
  2407. package/src/i18n/utils.ts +69 -0
  2408. package/src/index.ts +2 -14
  2409. package/src/middlewares/__tests__/attachments.test.ts +69 -49
  2410. package/src/middlewares/attachments.ts +7 -110
  2411. package/src/mock-builders/DB/mock.ts +13 -4
  2412. package/src/mock-builders/api/channelMocks.tsx +36 -33
  2413. package/src/mock-builders/api/getOrCreateChannel.ts +2 -2
  2414. package/src/mock-builders/api/initiateClientWithChannels.ts +13 -2
  2415. package/src/mock-builders/api/queryMembers.ts +16 -14
  2416. package/src/mock-builders/api/useMockedApis.ts +63 -5
  2417. package/src/mock-builders/attachments.ts +5 -0
  2418. package/src/mock-builders/event/connectionChanged.ts +29 -9
  2419. package/src/mock-builders/event/connectionRecovered.ts +5 -0
  2420. package/src/mock-builders/event/messageDeleted.ts +0 -1
  2421. package/src/mock-builders/event/messageRead.ts +3 -1
  2422. package/src/mock-builders/event/messageUpdated.ts +0 -1
  2423. package/src/mock-builders/event/notificationChannelMutesUpdated.ts +1 -3
  2424. package/src/mock-builders/event/notificationMarkUnread.ts +3 -1
  2425. package/src/mock-builders/event/notificationMutesUpdated.ts +5 -3
  2426. package/src/mock-builders/event/typing.ts +0 -2
  2427. package/src/mock-builders/event/userPresence.ts +5 -3
  2428. package/src/mock-builders/event/userUpdated.ts +5 -3
  2429. package/src/mock-builders/event/utils.ts +31 -0
  2430. package/src/mock-builders/generator/attachment.ts +14 -4
  2431. package/src/mock-builders/generator/channel.ts +14 -10
  2432. package/src/mock-builders/generator/channelState.ts +56 -0
  2433. package/src/mock-builders/generator/message.ts +22 -15
  2434. package/src/mock-builders/generator/reaction.ts +2 -1
  2435. package/src/mock-builders/generator/time.ts +19 -0
  2436. package/src/mock-builders/generator/user.ts +4 -2
  2437. package/src/mock-builders/mock.ts +19 -9
  2438. package/src/state-store/__tests__/edit-channel-details-store.test.ts +8 -3
  2439. package/src/state-store/__tests__/image-gallery-state-store.test.ts +52 -2
  2440. package/src/state-store/attachment-picker-store.ts +1 -1
  2441. package/src/state-store/audio-player-pool.ts +1 -1
  2442. package/src/state-store/audio-player.ts +1 -1
  2443. package/src/state-store/audio-recorder-manager.ts +1 -1
  2444. package/src/state-store/edit-channel-details-store.ts +4 -3
  2445. package/src/state-store/image-gallery-state-store.ts +4 -3
  2446. package/src/state-store/in-app-notifications-store.ts +2 -1
  2447. package/src/state-store/message-input-height-store.ts +1 -1
  2448. package/src/state-store/message-overlay-store.ts +1 -1
  2449. package/src/state-store/selection-store.ts +1 -1
  2450. package/src/state-store/signal-store.ts +1 -1
  2451. package/src/state-store/video-player-pool.ts +1 -1
  2452. package/src/state-store/video-player.ts +1 -1
  2453. package/src/store/OfflineDB.ts +13 -15
  2454. package/src/store/SqliteClient.ts +3 -3
  2455. package/src/store/__tests__/channelExists.test.ts +44 -0
  2456. package/src/store/__tests__/insertReaction.test.ts +107 -0
  2457. package/src/store/__tests__/mapperRequiredTimestamps.test.ts +64 -0
  2458. package/src/store/__tests__/timestampStorage.test.ts +146 -0
  2459. package/src/store/apis/__tests__/channelQueryCids.test.ts +69 -9
  2460. package/src/store/apis/__tests__/updatePendingTask.test.ts +3 -1
  2461. package/src/store/apis/channelExists.ts +12 -4
  2462. package/src/store/apis/deleteMessagesForChannel.ts +7 -2
  2463. package/src/store/apis/deleteReaction.ts +2 -2
  2464. package/src/store/apis/getAppSettings.ts +6 -6
  2465. package/src/store/apis/getChannelActiveLocations.ts +3 -3
  2466. package/src/store/apis/getChannelMessages.ts +4 -4
  2467. package/src/store/apis/getChannels.ts +10 -9
  2468. package/src/store/apis/getChannelsForFilterSort.ts +27 -16
  2469. package/src/store/apis/getDraft.ts +1 -1
  2470. package/src/store/apis/getDraftsForChannels.ts +3 -3
  2471. package/src/store/apis/getLastSyncedAt.ts +4 -4
  2472. package/src/store/apis/getReactionsforFilterSort.ts +2 -2
  2473. package/src/store/apis/getReads.ts +2 -2
  2474. package/src/store/apis/index.ts +0 -1
  2475. package/src/store/apis/insertReaction.ts +12 -2
  2476. package/src/store/apis/queries/selectActiveLocationsForChannels.ts +5 -2
  2477. package/src/store/apis/queries/selectChannelQueryForFilterSort.ts +90 -0
  2478. package/src/store/apis/queries/selectDraftMessageFromDraftForChannels.ts +1 -1
  2479. package/src/store/apis/queries/selectMembersForChannels.ts +1 -1
  2480. package/src/store/apis/queries/selectReactionsForMessages.ts +6 -8
  2481. package/src/store/apis/softDeleteMessage.ts +2 -2
  2482. package/src/store/apis/updateReaction.ts +8 -1
  2483. package/src/store/apis/upsertAppSettings.ts +6 -6
  2484. package/src/store/apis/upsertChannels.ts +11 -7
  2485. package/src/store/apis/upsertCidsForQuery.ts +12 -2
  2486. package/src/store/apis/upsertDraft.ts +2 -2
  2487. package/src/store/apis/upsertLocation.ts +2 -2
  2488. package/src/store/apis/upsertPoll.ts +2 -2
  2489. package/src/store/apis/upsertReads.ts +2 -2
  2490. package/src/store/apis/upsertUserSyncStatus.ts +4 -4
  2491. package/src/store/apis/utils/__tests__/convertFilterSortToQuery.test.ts +1 -1
  2492. package/src/store/apis/utils/convertFilterSortToQuery.ts +2 -2
  2493. package/src/store/mappers/mapChannelDataToStorable.ts +7 -10
  2494. package/src/store/mappers/mapChannelToStorable.ts +7 -10
  2495. package/src/store/mappers/mapDraftMessageToStorable.ts +2 -2
  2496. package/src/store/mappers/mapDraftToStorable.ts +2 -2
  2497. package/src/store/mappers/mapMemberToStorable.ts +7 -7
  2498. package/src/store/mappers/mapMessageToStorable.ts +7 -7
  2499. package/src/store/mappers/mapPollToStorable.ts +6 -6
  2500. package/src/store/mappers/mapReactionToStorable.ts +3 -3
  2501. package/src/store/mappers/mapReadToStorable.ts +6 -5
  2502. package/src/store/mappers/mapReminderToStorable.ts +6 -6
  2503. package/src/store/mappers/mapSharedLocationToStorable.ts +6 -6
  2504. package/src/store/mappers/mapStorableToChannel.ts +12 -7
  2505. package/src/store/mappers/mapStorableToDraft.ts +5 -4
  2506. package/src/store/mappers/mapStorableToMember.ts +12 -9
  2507. package/src/store/mappers/mapStorableToMessage.ts +8 -7
  2508. package/src/store/mappers/mapStorableToPoll.ts +14 -8
  2509. package/src/store/mappers/mapStorableToReaction.ts +3 -2
  2510. package/src/store/mappers/mapStorableToRead.ts +6 -5
  2511. package/src/store/mappers/mapStorableToReminder.ts +7 -5
  2512. package/src/store/mappers/mapStorableToSharedLocation.ts +9 -5
  2513. package/src/store/mappers/mapStorableToTimestamp.ts +24 -0
  2514. package/src/store/mappers/mapStorableToUser.ts +6 -4
  2515. package/src/store/mappers/mapTimestampToStorable.ts +14 -0
  2516. package/src/store/mappers/mapUserToStorable.ts +5 -3
  2517. package/src/store/schema.ts +70 -64
  2518. package/src/store/sqlite-utils/createUpsertQuery.ts +35 -9
  2519. package/src/store/sqlite-utils/createUpsertQueryIfParentExists.ts +58 -0
  2520. package/src/store/types.ts +4 -4
  2521. package/src/types/react-native-compat.ts +2 -2
  2522. package/src/types/types.ts +13 -10
  2523. package/src/utils/__tests__/Streami18n.test.ts +248 -255
  2524. package/src/utils/__tests__/installNativeMultipartAdapter.test.ts +125 -22
  2525. package/src/utils/attachmentUrls.ts +19 -0
  2526. package/src/utils/getUrlOfImageAttachment.ts +9 -2
  2527. package/src/utils/i18n/Streami18n.ts +115 -725
  2528. package/src/utils/installNativeMultipartAdapter.ts +46 -39
  2529. package/src/utils/removeReservedFields.ts +2 -4
  2530. package/src/utils/utils.ts +32 -98
  2531. package/src/version.json +1 -1
  2532. package/lib/commonjs/components/Channel/hooks/useChannelDataState.js +0 -187
  2533. package/lib/commonjs/components/Channel/hooks/useChannelDataState.js.map +0 -1
  2534. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +0 -36
  2535. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +0 -1
  2536. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js +0 -16
  2537. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +0 -1
  2538. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +0 -292
  2539. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +0 -1
  2540. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js +0 -50
  2541. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +0 -1
  2542. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +0 -43
  2543. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +0 -1
  2544. package/lib/commonjs/components/ChannelList/hooks/utils/index.js +0 -115
  2545. package/lib/commonjs/components/ChannelList/hooks/utils/index.js.map +0 -1
  2546. package/lib/commonjs/components/Chat/hooks/useAppSettings.js +0 -69
  2547. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +0 -1
  2548. package/lib/commonjs/components/Chat/hooks/useClientMutedUsers.js +0 -26
  2549. package/lib/commonjs/components/Chat/hooks/useClientMutedUsers.js.map +0 -1
  2550. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +0 -100
  2551. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +0 -1
  2552. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentThreadIndicator.js +0 -55
  2553. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentThreadIndicator.js.map +0 -1
  2554. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +0 -19
  2555. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +0 -1
  2556. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +0 -22
  2557. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +0 -1
  2558. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +0 -67
  2559. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +0 -1
  2560. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +0 -47
  2561. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +0 -1
  2562. package/lib/commonjs/contexts/debugContext/DebugContext.js +0 -42
  2563. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +0 -1
  2564. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageComposer.js +0 -68
  2565. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageComposer.js.map +0 -1
  2566. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageCompositionIsEmpty.js +0 -14
  2567. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageCompositionIsEmpty.js.map +0 -1
  2568. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +0 -28
  2569. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +0 -1
  2570. package/lib/commonjs/contexts/translationContext/isDayOrMoment.js +0 -7
  2571. package/lib/commonjs/contexts/translationContext/isDayOrMoment.js.map +0 -1
  2572. package/lib/commonjs/contexts/typingContext/TypingContext.js +0 -28
  2573. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +0 -1
  2574. package/lib/commonjs/hooks/useSelectedChannelState.js +0 -30
  2575. package/lib/commonjs/hooks/useSelectedChannelState.js.map +0 -1
  2576. package/lib/commonjs/i18n/ar.json +0 -471
  2577. package/lib/commonjs/i18n/en.json +0 -471
  2578. package/lib/commonjs/i18n/es.json +0 -471
  2579. package/lib/commonjs/i18n/fr.json +0 -471
  2580. package/lib/commonjs/i18n/he.json +0 -471
  2581. package/lib/commonjs/i18n/hi.json +0 -471
  2582. package/lib/commonjs/i18n/it.json +0 -471
  2583. package/lib/commonjs/i18n/ja.json +0 -471
  2584. package/lib/commonjs/i18n/ko.json +0 -471
  2585. package/lib/commonjs/i18n/nl.json +0 -471
  2586. package/lib/commonjs/i18n/pt-br.json +0 -471
  2587. package/lib/commonjs/i18n/ru.json +0 -471
  2588. package/lib/commonjs/i18n/tr.json +0 -471
  2589. package/lib/commonjs/state-store/channel-unread-state.js +0 -25
  2590. package/lib/commonjs/state-store/channel-unread-state.js.map +0 -1
  2591. package/lib/commonjs/state-store/message-list-prev-next-state.js +0 -40
  2592. package/lib/commonjs/state-store/message-list-prev-next-state.js.map +0 -1
  2593. package/lib/commonjs/store/apis/deleteReactions.js +0 -30
  2594. package/lib/commonjs/store/apis/deleteReactions.js.map +0 -1
  2595. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +0 -35
  2596. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +0 -1
  2597. package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js +0 -29
  2598. package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js.map +0 -1
  2599. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +0 -12
  2600. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +0 -1
  2601. package/lib/commonjs/store/sqlite-utils/printRow.js +0 -18
  2602. package/lib/commonjs/store/sqlite-utils/printRow.js.map +0 -1
  2603. package/lib/commonjs/utils/addReactionToLocalState.js +0 -51
  2604. package/lib/commonjs/utils/addReactionToLocalState.js.map +0 -1
  2605. package/lib/commonjs/utils/date.js +0 -8
  2606. package/lib/commonjs/utils/date.js.map +0 -1
  2607. package/lib/commonjs/utils/i18n/calendarFormats.js +0 -111
  2608. package/lib/commonjs/utils/i18n/calendarFormats.js.map +0 -1
  2609. package/lib/commonjs/utils/i18n/getDateString.js +0 -75
  2610. package/lib/commonjs/utils/i18n/getDateString.js.map +0 -1
  2611. package/lib/commonjs/utils/i18n/predefinedFormatters.js +0 -83
  2612. package/lib/commonjs/utils/i18n/predefinedFormatters.js.map +0 -1
  2613. package/lib/commonjs/utils/i18n/types.js.map +0 -1
  2614. package/lib/commonjs/utils/patchMessageTextCommand.js +0 -20
  2615. package/lib/commonjs/utils/patchMessageTextCommand.js.map +0 -1
  2616. package/lib/commonjs/utils/removeReactionFromLocalState.js +0 -33
  2617. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +0 -1
  2618. package/lib/module/components/Channel/hooks/useChannelDataState.js +0 -187
  2619. package/lib/module/components/Channel/hooks/useChannelDataState.js.map +0 -1
  2620. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +0 -36
  2621. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +0 -1
  2622. package/lib/module/components/Channel/hooks/useCreateTypingContext.js +0 -16
  2623. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +0 -1
  2624. package/lib/module/components/Channel/hooks/useMessageListPagination.js +0 -292
  2625. package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +0 -1
  2626. package/lib/module/components/Channel/hooks/useTargetedMessage.js +0 -50
  2627. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +0 -1
  2628. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +0 -43
  2629. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +0 -1
  2630. package/lib/module/components/ChannelList/hooks/utils/index.js +0 -115
  2631. package/lib/module/components/ChannelList/hooks/utils/index.js.map +0 -1
  2632. package/lib/module/components/Chat/hooks/useAppSettings.js +0 -69
  2633. package/lib/module/components/Chat/hooks/useAppSettings.js.map +0 -1
  2634. package/lib/module/components/Chat/hooks/useClientMutedUsers.js +0 -26
  2635. package/lib/module/components/Chat/hooks/useClientMutedUsers.js.map +0 -1
  2636. package/lib/module/components/Chat/hooks/useIsOnline.js +0 -100
  2637. package/lib/module/components/Chat/hooks/useIsOnline.js.map +0 -1
  2638. package/lib/module/components/MessageList/InlineLoadingMoreRecentThreadIndicator.js +0 -55
  2639. package/lib/module/components/MessageList/InlineLoadingMoreRecentThreadIndicator.js.map +0 -1
  2640. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +0 -19
  2641. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +0 -1
  2642. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +0 -22
  2643. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +0 -1
  2644. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +0 -67
  2645. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +0 -1
  2646. package/lib/module/contexts/channelsStateContext/useChannelState.js +0 -47
  2647. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +0 -1
  2648. package/lib/module/contexts/debugContext/DebugContext.js +0 -42
  2649. package/lib/module/contexts/debugContext/DebugContext.js.map +0 -1
  2650. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageComposer.js +0 -68
  2651. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageComposer.js.map +0 -1
  2652. package/lib/module/contexts/messageInputContext/hooks/useMessageCompositionIsEmpty.js +0 -14
  2653. package/lib/module/contexts/messageInputContext/hooks/useMessageCompositionIsEmpty.js.map +0 -1
  2654. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +0 -28
  2655. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +0 -1
  2656. package/lib/module/contexts/translationContext/isDayOrMoment.js +0 -7
  2657. package/lib/module/contexts/translationContext/isDayOrMoment.js.map +0 -1
  2658. package/lib/module/contexts/typingContext/TypingContext.js +0 -28
  2659. package/lib/module/contexts/typingContext/TypingContext.js.map +0 -1
  2660. package/lib/module/hooks/useSelectedChannelState.js +0 -30
  2661. package/lib/module/hooks/useSelectedChannelState.js.map +0 -1
  2662. package/lib/module/i18n/ar.json +0 -471
  2663. package/lib/module/i18n/en.json +0 -471
  2664. package/lib/module/i18n/es.json +0 -471
  2665. package/lib/module/i18n/fr.json +0 -471
  2666. package/lib/module/i18n/he.json +0 -471
  2667. package/lib/module/i18n/hi.json +0 -471
  2668. package/lib/module/i18n/it.json +0 -471
  2669. package/lib/module/i18n/ja.json +0 -471
  2670. package/lib/module/i18n/ko.json +0 -471
  2671. package/lib/module/i18n/nl.json +0 -471
  2672. package/lib/module/i18n/pt-br.json +0 -471
  2673. package/lib/module/i18n/ru.json +0 -471
  2674. package/lib/module/i18n/tr.json +0 -471
  2675. package/lib/module/state-store/channel-unread-state.js +0 -25
  2676. package/lib/module/state-store/channel-unread-state.js.map +0 -1
  2677. package/lib/module/state-store/message-list-prev-next-state.js +0 -40
  2678. package/lib/module/state-store/message-list-prev-next-state.js.map +0 -1
  2679. package/lib/module/store/apis/deleteReactions.js +0 -30
  2680. package/lib/module/store/apis/deleteReactions.js.map +0 -1
  2681. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +0 -35
  2682. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +0 -1
  2683. package/lib/module/store/apis/upsertChannelDataFromChannel.js +0 -29
  2684. package/lib/module/store/apis/upsertChannelDataFromChannel.js.map +0 -1
  2685. package/lib/module/store/mappers/mapDateTimeToStorable.js +0 -12
  2686. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +0 -1
  2687. package/lib/module/store/sqlite-utils/printRow.js +0 -18
  2688. package/lib/module/store/sqlite-utils/printRow.js.map +0 -1
  2689. package/lib/module/utils/addReactionToLocalState.js +0 -51
  2690. package/lib/module/utils/addReactionToLocalState.js.map +0 -1
  2691. package/lib/module/utils/date.js +0 -8
  2692. package/lib/module/utils/date.js.map +0 -1
  2693. package/lib/module/utils/i18n/calendarFormats.js +0 -111
  2694. package/lib/module/utils/i18n/calendarFormats.js.map +0 -1
  2695. package/lib/module/utils/i18n/getDateString.js +0 -75
  2696. package/lib/module/utils/i18n/getDateString.js.map +0 -1
  2697. package/lib/module/utils/i18n/predefinedFormatters.js +0 -83
  2698. package/lib/module/utils/i18n/predefinedFormatters.js.map +0 -1
  2699. package/lib/module/utils/i18n/types.js.map +0 -1
  2700. package/lib/module/utils/patchMessageTextCommand.js +0 -20
  2701. package/lib/module/utils/patchMessageTextCommand.js.map +0 -1
  2702. package/lib/module/utils/removeReactionFromLocalState.js +0 -33
  2703. package/lib/module/utils/removeReactionFromLocalState.js.map +0 -1
  2704. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts +0 -74
  2705. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts.map +0 -1
  2706. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +0 -5
  2707. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts.map +0 -1
  2708. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +0 -3
  2709. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts.map +0 -1
  2710. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +0 -29
  2711. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +0 -1
  2712. package/lib/typescript/components/Channel/hooks/useTargetedMessage.d.ts +0 -7
  2713. package/lib/typescript/components/Channel/hooks/useTargetedMessage.d.ts.map +0 -1
  2714. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +0 -9
  2715. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts.map +0 -1
  2716. package/lib/typescript/components/ChannelList/hooks/utils/index.d.ts +0 -21
  2717. package/lib/typescript/components/ChannelList/hooks/utils/index.d.ts.map +0 -1
  2718. package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts +0 -3
  2719. package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts.map +0 -1
  2720. package/lib/typescript/components/Chat/hooks/useClientMutedUsers.d.ts +0 -3
  2721. package/lib/typescript/components/Chat/hooks/useClientMutedUsers.d.ts.map +0 -1
  2722. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +0 -12
  2723. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts.map +0 -1
  2724. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentThreadIndicator.d.ts +0 -7
  2725. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentThreadIndicator.d.ts.map +0 -1
  2726. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +0 -3
  2727. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts.map +0 -1
  2728. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +0 -8
  2729. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts.map +0 -1
  2730. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +0 -24
  2731. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts.map +0 -1
  2732. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +0 -14
  2733. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts.map +0 -1
  2734. package/lib/typescript/contexts/debugContext/DebugContext.d.ts +0 -26
  2735. package/lib/typescript/contexts/debugContext/DebugContext.d.ts.map +0 -1
  2736. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageComposer.d.ts +0 -4
  2737. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageComposer.d.ts.map +0 -1
  2738. package/lib/typescript/contexts/messageInputContext/hooks/useMessageCompositionIsEmpty.d.ts +0 -2
  2739. package/lib/typescript/contexts/messageInputContext/hooks/useMessageCompositionIsEmpty.d.ts.map +0 -1
  2740. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +0 -52
  2741. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts.map +0 -1
  2742. package/lib/typescript/contexts/translationContext/isDayOrMoment.d.ts +0 -5
  2743. package/lib/typescript/contexts/translationContext/isDayOrMoment.d.ts.map +0 -1
  2744. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +0 -11
  2745. package/lib/typescript/contexts/typingContext/TypingContext.d.ts.map +0 -1
  2746. package/lib/typescript/hooks/useSelectedChannelState.d.ts +0 -12
  2747. package/lib/typescript/hooks/useSelectedChannelState.d.ts.map +0 -1
  2748. package/lib/typescript/i18n/ar.json +0 -471
  2749. package/lib/typescript/i18n/en.json +0 -471
  2750. package/lib/typescript/i18n/es.json +0 -471
  2751. package/lib/typescript/i18n/fr.json +0 -471
  2752. package/lib/typescript/i18n/he.json +0 -471
  2753. package/lib/typescript/i18n/hi.json +0 -471
  2754. package/lib/typescript/i18n/it.json +0 -471
  2755. package/lib/typescript/i18n/ja.json +0 -471
  2756. package/lib/typescript/i18n/ko.json +0 -471
  2757. package/lib/typescript/i18n/nl.json +0 -471
  2758. package/lib/typescript/i18n/pt-br.json +0 -471
  2759. package/lib/typescript/i18n/ru.json +0 -471
  2760. package/lib/typescript/i18n/tr.json +0 -471
  2761. package/lib/typescript/state-store/channel-unread-state.d.ts +0 -12
  2762. package/lib/typescript/state-store/channel-unread-state.d.ts.map +0 -1
  2763. package/lib/typescript/state-store/message-list-prev-next-state.d.ts +0 -16
  2764. package/lib/typescript/state-store/message-list-prev-next-state.d.ts.map +0 -1
  2765. package/lib/typescript/store/apis/deleteReactions.d.ts +0 -5
  2766. package/lib/typescript/store/apis/deleteReactions.d.ts.map +0 -1
  2767. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +0 -16
  2768. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts.map +0 -1
  2769. package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts +0 -6
  2770. package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts.map +0 -1
  2771. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +0 -2
  2772. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts.map +0 -1
  2773. package/lib/typescript/store/sqlite-utils/printRow.d.ts +0 -3
  2774. package/lib/typescript/store/sqlite-utils/printRow.d.ts.map +0 -1
  2775. package/lib/typescript/utils/addReactionToLocalState.d.ts +0 -9
  2776. package/lib/typescript/utils/addReactionToLocalState.d.ts.map +0 -1
  2777. package/lib/typescript/utils/date.d.ts +0 -3
  2778. package/lib/typescript/utils/date.d.ts.map +0 -1
  2779. package/lib/typescript/utils/i18n/calendarFormats.d.ts +0 -6
  2780. package/lib/typescript/utils/i18n/calendarFormats.d.ts.map +0 -1
  2781. package/lib/typescript/utils/i18n/getDateString.d.ts +0 -44
  2782. package/lib/typescript/utils/i18n/getDateString.d.ts.map +0 -1
  2783. package/lib/typescript/utils/i18n/predefinedFormatters.d.ts +0 -3
  2784. package/lib/typescript/utils/i18n/predefinedFormatters.d.ts.map +0 -1
  2785. package/lib/typescript/utils/i18n/types.d.ts +0 -69
  2786. package/lib/typescript/utils/i18n/types.d.ts.map +0 -1
  2787. package/lib/typescript/utils/patchMessageTextCommand.d.ts +0 -10
  2788. package/lib/typescript/utils/patchMessageTextCommand.d.ts.map +0 -1
  2789. package/lib/typescript/utils/removeReactionFromLocalState.d.ts +0 -8
  2790. package/lib/typescript/utils/removeReactionFromLocalState.d.ts.map +0 -1
  2791. package/src/components/Channel/__tests__/useMessageListPagination.test.tsx +0 -692
  2792. package/src/components/Channel/hooks/useChannelDataState.ts +0 -220
  2793. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +0 -42
  2794. package/src/components/Channel/hooks/useCreateTypingContext.ts +0 -17
  2795. package/src/components/Channel/hooks/useMessageListPagination.tsx +0 -330
  2796. package/src/components/Channel/hooks/useTargetedMessage.ts +0 -44
  2797. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +0 -87
  2798. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +0 -49
  2799. package/src/components/ChannelList/hooks/utils/index.ts +0 -125
  2800. package/src/components/Chat/hooks/__tests__/useAppSettings.test.tsx +0 -37
  2801. package/src/components/Chat/hooks/useAppSettings.ts +0 -65
  2802. package/src/components/Chat/hooks/useClientMutedUsers.ts +0 -19
  2803. package/src/components/Chat/hooks/useIsOnline.ts +0 -104
  2804. package/src/components/MessageList/InlineLoadingMoreRecentThreadIndicator.tsx +0 -61
  2805. package/src/components/MessageList/utils/getLastReceivedMessage.ts +0 -16
  2806. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +0 -15
  2807. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +0 -107
  2808. package/src/contexts/channelsStateContext/useChannelState.ts +0 -66
  2809. package/src/contexts/debugContext/DebugContext.tsx +0 -68
  2810. package/src/contexts/messageInputContext/hooks/useCreateMessageComposer.ts +0 -97
  2811. package/src/contexts/messageInputContext/hooks/useMessageCompositionIsEmpty.ts +0 -13
  2812. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +0 -83
  2813. package/src/contexts/translationContext/isDayOrMoment.ts +0 -8
  2814. package/src/contexts/typingContext/TypingContext.tsx +0 -36
  2815. package/src/hooks/useSelectedChannelState.ts +0 -53
  2816. package/src/i18n/ar.json +0 -471
  2817. package/src/i18n/en.json +0 -471
  2818. package/src/i18n/es.json +0 -471
  2819. package/src/i18n/fr.json +0 -471
  2820. package/src/i18n/he.json +0 -471
  2821. package/src/i18n/hi.json +0 -471
  2822. package/src/i18n/it.json +0 -471
  2823. package/src/i18n/ja.json +0 -471
  2824. package/src/i18n/ko.json +0 -471
  2825. package/src/i18n/nl.json +0 -471
  2826. package/src/i18n/pt-br.json +0 -471
  2827. package/src/i18n/ru.json +0 -471
  2828. package/src/i18n/tr.json +0 -471
  2829. package/src/state-store/channel-unread-state.ts +0 -28
  2830. package/src/state-store/message-list-prev-next-state.ts +0 -58
  2831. package/src/store/apis/deleteReactions.ts +0 -23
  2832. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +0 -42
  2833. package/src/store/apis/upsertChannelDataFromChannel.ts +0 -24
  2834. package/src/store/mappers/mapDateTimeToStorable.ts +0 -7
  2835. package/src/store/sqlite-utils/printRow.ts +0 -19
  2836. package/src/utils/__tests__/patchMessageTextCommand.test.ts +0 -14
  2837. package/src/utils/addReactionToLocalState.ts +0 -52
  2838. package/src/utils/date.ts +0 -4
  2839. package/src/utils/i18n/calendarFormats.ts +0 -111
  2840. package/src/utils/i18n/getDateString.ts +0 -133
  2841. package/src/utils/i18n/predefinedFormatters.ts +0 -98
  2842. package/src/utils/i18n/types.ts +0 -82
  2843. package/src/utils/patchMessageTextCommand.ts +0 -36
  2844. package/src/utils/removeReactionFromLocalState.ts +0 -49
  2845. /package/lib/commonjs/{utils/i18n → i18n}/types.js +0 -0
  2846. /package/lib/module/{utils/i18n → i18n}/types.js +0 -0
@@ -1,22 +1,29 @@
1
- import React, { useContext, useEffect, useState } from 'react';
1
+ import React, { useContext, useEffect, useRef, useState } from 'react';
2
2
  import { View } from 'react-native';
3
3
 
4
4
  import { act, cleanup, render, screen, waitFor } from '@testing-library/react-native';
5
5
 
6
6
  import type {
7
+ Attachment,
7
8
  Channel as ChannelLLC,
8
- ChannelAPIResponse,
9
9
  ChannelMemberResponse,
10
10
  LocalMessage,
11
+ LocalUploadAttachment,
11
12
  ReactionResponse,
12
13
  StreamChat,
14
+ TimestampNS,
13
15
  UserResponse,
14
16
  } from 'stream-chat';
17
+ import { dateToNs, localMessageToNewMessagePayload, nowNs } from 'stream-chat';
15
18
  import { v4 as uuidv4 } from 'uuid';
16
19
 
17
20
  import { Channel as ChannelRaw } from '../../components/Channel/Channel';
18
21
  import { Chat } from '../../components/Chat/Chat';
19
- import { MessageInputContext, MessagesContext } from '../../contexts';
22
+ import {
23
+ MessageOperations,
24
+ useMessageOperations,
25
+ } from '../../components/Message/hooks/useMessageOperations';
26
+ import { MessageInputContext } from '../../contexts';
20
27
  import { deleteMessageApi } from '../../mock-builders/api/deleteMessage';
21
28
  import { deleteReactionApi } from '../../mock-builders/api/deleteReaction';
22
29
  import { erroredDeleteApi, erroredPostApi } from '../../mock-builders/api/error';
@@ -45,7 +52,7 @@ const Channel = ChannelRaw as unknown as React.ComponentType<
45
52
  >;
46
53
 
47
54
  // Tests reach into internal / private StreamChat + LLC Channel APIs (sync manager, legacy
48
- // `wsConnection`, `_deleteMessage`, `_sendReaction`, `_sendMessage`). Helpers narrow at the
55
+ // `wsConnection`, and the HTTP methods a replay calls). Helpers narrow at the
49
56
  // call sites without sprinkling `any` everywhere.
50
57
  type TestPendingTask = { id: number; type: string; payload: unknown };
51
58
  type TestSyncManager = {
@@ -65,11 +72,58 @@ type TestOfflineDb = {
65
72
  }) => Promise<void>;
66
73
  deletePendingTask: (params: { id: number }) => Promise<void>;
67
74
  getPendingTasks: () => Promise<TestPendingTask[]>;
75
+ upsertMessages: (params: { execute?: boolean; messages: unknown[] }) => Promise<unknown>;
68
76
  syncManager: TestSyncManager;
69
77
  };
70
78
  const getOfflineDb = (client: StreamChat): TestOfflineDb =>
71
79
  client.offlineDb as unknown as TestOfflineDb;
72
80
 
81
+ // Forces the client offline. `queueTask` then short-circuits to a connection-lost (ephemeral)
82
+ // failure and persists the task for replay — the WORKING offline-queue path. This is the real v10
83
+ // queue trigger: `queueTask` only persists a pending task when the failure is EPHEMERAL (offline /
84
+ // connection-loss / a retryable code); a definitive server rejection (e.g. a plain 500) is skipped
85
+ // by design (BC48), since retrying it would never succeed. The "pending task should exist if ...
86
+ // request fails" tests below therefore force this offline case (they still pass an errored API mock,
87
+ // but the offline short-circuit is what queues the task), NOT a raw 500.
88
+ const markConnectionUnhealthy = (client: StreamChat) => {
89
+ // `_setStatus` is the SDK's own documented hook for faking socket status in tests — there is no
90
+ // public setter, because only the socket itself is supposed to write this. The connection id is
91
+ // dropped alongside it, mirroring `StableWSConnection._applyHealth`, so a watched query issued
92
+ // while down waits for the reconnect instead of racing ahead with a dead id.
93
+ client.connectionIdManager.invalidate();
94
+ // eslint-disable-next-line no-underscore-dangle
95
+ client.wsConnection._setStatus({ isHealthy: false });
96
+ };
97
+
98
+ /** The counterpart of {@link markConnectionUnhealthy}, for tests that go offline and then reconnect. */
99
+ const markConnectionHealthy = (client: StreamChat) => {
100
+ // Resolved before the status flips, as the handshake does: anything parked on the id is released
101
+ // by this, and requests that need one would otherwise hang with no timeout to rescue them.
102
+ client.connectionIdManager.resolveConnectionId('dummy_connection_id');
103
+ // eslint-disable-next-line no-underscore-dangle
104
+ client.wsConnection._setStatus({ isHealthy: true });
105
+ };
106
+
107
+ // React flushes passive effects child-first, so the test-callback effect below runs BEFORE `Channel`'s
108
+ // own mount effects.
109
+ //
110
+ // An operation fired from that window races `Channel`'s own offline-DB persistence of the initial query
111
+ // result. The in-memory paginator is fine either way; the DB row is not. Observed across repeat runs of
112
+ // the same test: the persisted `messages` row held the edited text on one run and the pre-edit text on
113
+ // the next, while the pending task was queued both times. Two writers, last write wins, no ordering
114
+ // guarantee between them.
115
+ //
116
+ // That window does not exist in production — the channel is queried and persisted before any message UI
117
+ // exists to edit, so a user cannot reach it. Only code editing from a child mount effect can, which is
118
+ // exactly what this harness does.
119
+ //
120
+ // It used to be hidden. While `doUpdateMessageRequest` was a prop, the callback polled `configState`
121
+ // until `Channel`'s effect had registered the handler; the first iteration found nothing and yielded a
122
+ // macrotask, which is what let the parent effects flush. Registering the handler declaratively removed
123
+ // the reason to poll and, accidentally, the barrier. So it is now explicit and named for what it does:
124
+ // one macrotask, matching the single yield the poll performed, not a sleep tuned until tests went green.
125
+ const flushMountEffects = () => new Promise((resolve) => setTimeout(resolve, 0));
126
+
73
127
  test('Workaround to allow exporting tests', () => expect(true).toBe(true));
74
128
 
75
129
  export const OptimisticUpdates = () => {
@@ -84,7 +138,8 @@ export const OptimisticUpdates = () => {
84
138
  const allMembers: ChannelMemberResponse[] = [];
85
139
  const allReactions: ReactionResponse[] = [];
86
140
  const allReads: Array<{
87
- last_read: Date;
141
+ /** Unix nanoseconds, as the API sends it. */
142
+ last_read: TimestampNS;
88
143
  unread_messages: number;
89
144
  user: ReturnType<typeof generateUser> | undefined;
90
145
  }> = [];
@@ -125,7 +180,9 @@ export const OptimisticUpdates = () => {
125
180
  });
126
181
 
127
182
  const reads = members.map((member: ChannelMemberResponse) => ({
128
- last_read: new Date(new Date().setDate(new Date().getDate() - getRandomInt(0, 20))),
183
+ last_read: dateToNs(
184
+ new Date(new Date().setDate(new Date().getDate() - getRandomInt(0, 20))),
185
+ ),
129
186
  unread_messages: getRandomInt(0, messages.length),
130
187
  user: member.user,
131
188
  }));
@@ -163,13 +220,13 @@ export const OptimisticUpdates = () => {
163
220
  await SqliteClient.initializeDatabase();
164
221
  await BetterSqlite.openDB();
165
222
  await upsertChannels({
166
- channels: [channelResponse] as unknown as ChannelAPIResponse[],
223
+ channels: [channelResponse] as unknown as Parameters<typeof upsertChannels>[0]['channels'],
167
224
  isLatestMessagesSet: true,
168
225
  });
169
- chatClient.wsConnection = {
170
- isHealthy: true,
171
- onlineStatusChanged: jest.fn(),
172
- } as unknown as StreamChat['wsConnection'];
226
+ // `getTestClientWithUser` already marks the socket up on the real `WSConnection`. Replacing the
227
+ // object wholesale would drop its `state` store, which `markConnectionHealthy` /
228
+ // `markConnectionUnhealthy` and the connection hooks both read.
229
+ markConnectionHealthy(chatClient);
173
230
  });
174
231
 
175
232
  afterEach(() => {
@@ -194,7 +251,15 @@ export const OptimisticUpdates = () => {
194
251
  }) => {
195
252
  const ctx = useContext(context);
196
253
  const [ready, setReady] = useState(false);
254
+ // Run the callback exactly once. The context value is a fresh object on every render, so keying
255
+ // the effect on it would re-fire the callback after `setReady` re-renders — double-invoking the
256
+ // operation under test and, e.g., queuing a pending task twice. A ref guard pins it to mount.
257
+ const hasRun = useRef(false);
197
258
  useEffect(() => {
259
+ if (hasRun.current) {
260
+ return;
261
+ }
262
+ hasRun.current = true;
198
263
  const call = async () => {
199
264
  await callback(ctx);
200
265
  setReady(true);
@@ -210,26 +275,67 @@ export const OptimisticUpdates = () => {
210
275
  return <>{children}</>;
211
276
  };
212
277
 
278
+ // Same as CallbackEffectWithContext, but sources the message operations (delete/react/etc.)
279
+ // from the useMessageOperations hook instead of a context — they no longer live on MessagesContext.
280
+ const CallbackEffectWithMessageOperations = ({
281
+ callback,
282
+ children,
283
+ }: {
284
+ callback: (ops: MessageOperations) => Promise<void> | void;
285
+ children: React.ReactNode;
286
+ }) => {
287
+ const ops = useMessageOperations();
288
+ const [ready, setReady] = useState(false);
289
+ // Run the callback exactly once. `useMessageOperations` returns a fresh object on every render,
290
+ // so keying the effect on it would re-fire the callback after `setReady` re-renders —
291
+ // double-invoking the operation under test (queuing a pending task twice). A ref guard pins it
292
+ // to mount.
293
+ const hasRun = useRef(false);
294
+ useEffect(() => {
295
+ if (hasRun.current) {
296
+ return;
297
+ }
298
+ hasRun.current = true;
299
+ const call = async () => {
300
+ await callback(ops);
301
+ setReady(true);
302
+ };
303
+
304
+ call();
305
+ }, [callback, ops]);
306
+
307
+ if (!ready) {
308
+ return null;
309
+ }
310
+
311
+ return <>{children}</>;
312
+ };
313
+
213
314
  describe('delete message', () => {
315
+ // Queuing triggers on an EPHEMERAL failure — a connection-loss/offline error or a retryable
316
+ // server code (see the LLC's `queueTask` + `isEphemeral`/`shouldSkipQueueingTask`). A definitive
317
+ // server rejection (e.g. a plain 500 with no retryable code) is intentionally NOT queued, since
318
+ // retrying it would never succeed. Force the ephemeral case with an offline connection so the
319
+ // pending task is persisted for replay.
214
320
  it('pending task should exist if deleteMessage request fails', async () => {
215
321
  const message = generateMessage();
216
322
 
217
323
  render(
218
324
  <Chat client={chatClient} enableOfflineSupport>
219
325
  <Channel channel={channel} initialValue={message.text}>
220
- <CallbackEffectWithContext
326
+ <CallbackEffectWithMessageOperations
221
327
  callback={async ({ deleteMessage }) => {
222
- useMockedApis(chatClient, [erroredPostApi()]);
328
+ markConnectionUnhealthy(chatClient);
329
+ useMockedApis(chatClient, [erroredDeleteApi()]);
223
330
  try {
224
331
  await deleteMessage(message);
225
332
  } catch (e) {
226
333
  // do nothing
227
334
  }
228
335
  }}
229
- context={MessagesContext}
230
336
  >
231
337
  <View testID='children' />
232
- </CallbackEffectWithContext>
338
+ </CallbackEffectWithMessageOperations>
233
339
  </Channel>
234
340
  </Chat>,
235
341
  );
@@ -239,7 +345,8 @@ export const OptimisticUpdates = () => {
239
345
  const pendingTaskType = pendingTasksRows?.[0]?.type;
240
346
  const pendingTaskPayload = JSON.parse((pendingTasksRows?.[0]?.payload as string) || '{}');
241
347
  expect(pendingTaskType).toBe('delete-message');
242
- expect(pendingTaskPayload[0]).toBe(message.id);
348
+ // The payload is `client.deleteMessage`'s argument list: the id alone is the first argument.
349
+ expect(pendingTaskPayload[0]).toEqual({ id: message.id });
243
350
  });
244
351
  });
245
352
 
@@ -248,15 +355,14 @@ export const OptimisticUpdates = () => {
248
355
  render(
249
356
  <Chat client={chatClient} enableOfflineSupport>
250
357
  <Channel channel={channel} initialValue={message.text}>
251
- <CallbackEffectWithContext
358
+ <CallbackEffectWithMessageOperations
252
359
  callback={async ({ deleteMessage }) => {
253
360
  useMockedApis(chatClient, [deleteMessageApi(message)]);
254
361
  await deleteMessage(message);
255
362
  }}
256
- context={MessagesContext}
257
363
  >
258
364
  <View testID='children' />
259
- </CallbackEffectWithContext>
365
+ </CallbackEffectWithMessageOperations>
260
366
  </Channel>
261
367
  </Chat>,
262
368
  );
@@ -270,15 +376,18 @@ export const OptimisticUpdates = () => {
270
376
  });
271
377
 
272
378
  describe('send reaction', () => {
379
+ // Queues on an EPHEMERAL failure (offline/connection-loss or a retryable code); a definitive 500
380
+ // is intentionally NOT queued. Force the offline case. See the delete-message variant for detail.
273
381
  it('pending task should exist if sendReaction request fails', async () => {
274
382
  const reaction = generateReaction();
275
- const targetMessage = channel.state.messages[0];
383
+ const targetMessage = channel.messagePaginator.headItems[0];
276
384
 
277
385
  render(
278
386
  <Chat client={chatClient} enableOfflineSupport>
279
387
  <Channel channel={channel}>
280
- <CallbackEffectWithContext
388
+ <CallbackEffectWithMessageOperations
281
389
  callback={async ({ sendReaction }) => {
390
+ markConnectionUnhealthy(chatClient);
282
391
  useMockedApis(chatClient, [erroredPostApi()]);
283
392
  try {
284
393
  await sendReaction(reaction.type, targetMessage.id);
@@ -286,10 +395,9 @@ export const OptimisticUpdates = () => {
286
395
  // do nothing
287
396
  }
288
397
  }}
289
- context={MessagesContext}
290
398
  >
291
399
  <View testID='children' />
292
- </CallbackEffectWithContext>
400
+ </CallbackEffectWithMessageOperations>
293
401
  </Channel>
294
402
  </Chat>,
295
403
  );
@@ -299,26 +407,27 @@ export const OptimisticUpdates = () => {
299
407
  const pendingTaskType = pendingTasksRows?.[0]?.type;
300
408
  const pendingTaskPayload = JSON.parse((pendingTasksRows?.[0]?.payload as string) || '{}');
301
409
  expect(pendingTaskType).toBe('send-reaction');
302
- expect(pendingTaskPayload[0]).toBe(targetMessage.id);
410
+ // `[{ id }, { reaction, ... }]` - the reaction travels in the request, not with the id.
411
+ expect(pendingTaskPayload[0]).toEqual({ id: targetMessage.id });
412
+ expect(pendingTaskPayload[1].reaction.type).toBe(reaction.type);
303
413
  });
304
414
  });
305
415
 
306
416
  it('pending task should be cleared if sendReaction request is successful', async () => {
307
417
  const reaction = generateReaction();
308
- const targetMessage = channel.state.messages[0];
418
+ const targetMessage = channel.messagePaginator.headItems[0];
309
419
 
310
420
  render(
311
421
  <Chat client={chatClient} enableOfflineSupport>
312
422
  <Channel channel={channel}>
313
- <CallbackEffectWithContext
423
+ <CallbackEffectWithMessageOperations
314
424
  callback={async ({ sendReaction }) => {
315
425
  useMockedApis(chatClient, [sendReactionApi(targetMessage, reaction)]);
316
426
  await sendReaction(reaction.type, targetMessage.id);
317
427
  }}
318
- context={MessagesContext}
319
428
  >
320
429
  <View testID='children' />
321
- </CallbackEffectWithContext>
430
+ </CallbackEffectWithMessageOperations>
322
431
  </Channel>
323
432
  </Chat>,
324
433
  );
@@ -331,6 +440,8 @@ export const OptimisticUpdates = () => {
331
440
  });
332
441
 
333
442
  describe('send message', () => {
443
+ // Queues on an EPHEMERAL failure (offline/connection-loss or a retryable code); a definitive 500
444
+ // is intentionally NOT queued. Force the offline case. See the delete-message variant for detail.
334
445
  it('pending task should exist if sendMessage request fails', async () => {
335
446
  const newMessage = generateMessage();
336
447
 
@@ -345,6 +456,7 @@ export const OptimisticUpdates = () => {
345
456
  <Channel channel={channel}>
346
457
  <CallbackEffectWithContext
347
458
  callback={async ({ sendMessage }) => {
459
+ markConnectionUnhealthy(chatClient);
348
460
  useMockedApis(chatClient, [erroredPostApi()]);
349
461
  try {
350
462
  await sendMessage();
@@ -365,8 +477,8 @@ export const OptimisticUpdates = () => {
365
477
  const pendingTaskType = pendingTasksRows?.[0]?.type;
366
478
  const pendingTaskPayload = JSON.parse((pendingTasksRows?.[0]?.payload as string) || '{}');
367
479
  expect(pendingTaskType).toBe('send-message');
368
- expect(pendingTaskPayload[0].id).toEqual(newMessage.id);
369
- expect(pendingTaskPayload[0].text).toEqual(newMessage.text);
480
+ expect(pendingTaskPayload[0].message.id).toEqual(newMessage.id);
481
+ expect(pendingTaskPayload[0].message.text).toEqual(newMessage.text);
370
482
  });
371
483
  });
372
484
 
@@ -400,26 +512,28 @@ export const OptimisticUpdates = () => {
400
512
  });
401
513
 
402
514
  describe('delete reaction', () => {
515
+ // Queues on an EPHEMERAL failure (offline/connection-loss or a retryable code); a definitive 500
516
+ // is intentionally NOT queued. Force the offline case. See the delete-message variant for detail.
403
517
  it('pending task should exist if deleteReaction request fails', async () => {
404
518
  const reaction = generateReaction();
405
- const targetMessage = channel.state.messages[0];
519
+ const targetMessage = channel.messagePaginator.headItems[0];
406
520
 
407
521
  render(
408
522
  <Chat client={chatClient} enableOfflineSupport>
409
523
  <Channel channel={channel}>
410
- <CallbackEffectWithContext
524
+ <CallbackEffectWithMessageOperations
411
525
  callback={async ({ deleteReaction }) => {
412
- useMockedApis(chatClient, [erroredPostApi()]);
526
+ markConnectionUnhealthy(chatClient);
527
+ useMockedApis(chatClient, [erroredDeleteApi()]);
413
528
  try {
414
529
  await deleteReaction(reaction.type, targetMessage.id);
415
530
  } catch (e) {
416
531
  // do nothing
417
532
  }
418
533
  }}
419
- context={MessagesContext}
420
534
  >
421
535
  <View testID='children' />
422
- </CallbackEffectWithContext>
536
+ </CallbackEffectWithMessageOperations>
423
537
  </Channel>
424
538
  </Chat>,
425
539
  );
@@ -429,26 +543,25 @@ export const OptimisticUpdates = () => {
429
543
  const pendingTaskType = pendingTasksRows?.[0]?.type;
430
544
  const pendingTaskPayload = JSON.parse((pendingTasksRows?.[0]?.payload as string) || '{}');
431
545
  expect(pendingTaskType).toBe('delete-reaction');
432
- expect(pendingTaskPayload[0]).toBe(targetMessage.id);
546
+ expect(pendingTaskPayload[0].id).toBe(targetMessage.id);
433
547
  });
434
548
  });
435
549
 
436
550
  it('pending task should be cleared if deleteReaction request is successful', async () => {
437
551
  const reaction = generateReaction();
438
- const targetMessage = channel.state.messages[0];
552
+ const targetMessage = channel.messagePaginator.headItems[0];
439
553
 
440
554
  render(
441
555
  <Chat client={chatClient} enableOfflineSupport>
442
556
  <Channel channel={channel}>
443
- <CallbackEffectWithContext
557
+ <CallbackEffectWithMessageOperations
444
558
  callback={async ({ deleteReaction }) => {
445
559
  useMockedApis(chatClient, [deleteReactionApi(targetMessage, reaction)]);
446
560
  await deleteReaction(reaction.type, targetMessage.id);
447
561
  }}
448
- context={MessagesContext}
449
562
  >
450
563
  <View testID='children' />
451
- </CallbackEffectWithContext>
564
+ </CallbackEffectWithMessageOperations>
452
565
  </Channel>
453
566
  </Chat>,
454
567
  );
@@ -463,35 +576,62 @@ export const OptimisticUpdates = () => {
463
576
 
464
577
  describe('edit message', () => {
465
578
  it('should keep the optimistic edit in state and DB if the LLC queues the edit', async () => {
466
- const message = channel.state.messages[0];
579
+ const message = channel.messagePaginator.headItems[0];
467
580
  const editedText = 'edited while offline';
468
581
 
582
+ // Registered declaratively — the `<Channel doUpdateMessageRequest>` prop is gone. The LLC
583
+ // resolves this into `channel.configState.requestHandlers` as part of the channel's own
584
+ // derivation, so it is in place before `render` rather than after a mount effect.
585
+ chatClient.config.set({
586
+ channel: {
587
+ requestHandlers: {
588
+ updateMessageRequest: (async ({
589
+ localMessage,
590
+ options,
591
+ }: {
592
+ localMessage: LocalMessage;
593
+ options?: unknown;
594
+ }) => {
595
+ // The LLC hands over a `localMessage`; the queued pending-task payload is the
596
+ // `client.updateMessage` argument list, `[{ id }, { message, ...options }]`.
597
+ const pathParams = { id: localMessage.id };
598
+ const request = {
599
+ message: localMessageToNewMessagePayload(localMessage),
600
+ ...(options as object | undefined),
601
+ };
602
+ const editedMessage = {
603
+ ...message,
604
+ message_text_updated_at: nowNs(),
605
+ text: editedText,
606
+ updated_at: nowNs(),
607
+ };
608
+ await getOfflineDb(chatClient).addPendingTask({
609
+ channelId: channel.id,
610
+ channelType: channel.type,
611
+ messageId: message.id,
612
+ payload: [pathParams, request],
613
+ type: 'update-message',
614
+ });
615
+ // A complete offline update handler persists the optimistic edit to the DB (so it
616
+ // survives cold start and the offline-DB hydration that Channel triggers on mount /
617
+ // sync-status change re-seeds the edited copy, not the pre-edit one).
618
+ await getOfflineDb(chatClient).upsertMessages({
619
+ execute: true,
620
+ messages: [editedMessage],
621
+ });
622
+ return { message: editedMessage };
623
+ }) as never,
624
+ },
625
+ },
626
+ });
627
+
469
628
  render(
470
629
  <Chat client={chatClient} enableOfflineSupport>
471
- <Channel
472
- channel={channel}
473
- doUpdateMessageRequest={
474
- (async (_channelId: string, localMessage: LocalMessage, options: unknown) => {
475
- await getOfflineDb(chatClient).addPendingTask({
476
- channelId: channel.id,
477
- channelType: channel.type,
478
- messageId: message.id,
479
- payload: [localMessage, undefined, options],
480
- type: 'update-message',
481
- });
482
- return {
483
- message: {
484
- ...localMessage,
485
- message_text_updated_at: new Date(),
486
- updated_at: new Date(),
487
- },
488
- };
489
- }) as unknown as React.ComponentProps<typeof Channel>['doUpdateMessageRequest']
490
- }
491
- >
630
+ <Channel channel={channel}>
492
631
  <CallbackEffectWithContext
493
- callback={async ({ editMessage }) => {
494
- await editMessage({
632
+ callback={async () => {
633
+ await flushMountEffects();
634
+ await channel.messageOperations.update({
495
635
  localMessage: {
496
636
  ...message,
497
637
  cid: channel.cid,
@@ -511,7 +651,7 @@ export const OptimisticUpdates = () => {
511
651
  await waitFor(() => expect(screen.getByTestId('children')).toBeTruthy());
512
652
 
513
653
  await waitFor(async () => {
514
- const updatedMessage = channel.state.findMessage(message.id);
654
+ const updatedMessage = channel.messagePaginator.getItem(message.id);
515
655
  const pendingTasksRows = await BetterSqlite.selectFromTable('pendingTasks');
516
656
  const dbMessages = await BetterSqlite.selectFromTable('messages');
517
657
  const dbMessage = dbMessages.find((row) => row.id === message.id);
@@ -526,21 +666,40 @@ export const OptimisticUpdates = () => {
526
666
  });
527
667
 
528
668
  it('should keep the optimistic edit if the request fails', async () => {
529
- const message = channel.state.messages[0];
669
+ const message = channel.messagePaginator.headItems[0];
530
670
  const editedText = 'should stay optimistic';
531
671
 
672
+ // Registered declaratively — the `<Channel doUpdateMessageRequest>` prop is gone. The LLC
673
+ // resolves this into `channel.configState.requestHandlers` as part of the channel's own
674
+ // derivation, so it is in place before `render` rather than after a mount effect.
675
+ chatClient.config.set({
676
+ channel: {
677
+ requestHandlers: {
678
+ updateMessageRequest: (async () => {
679
+ await getOfflineDb(chatClient).upsertMessages({
680
+ execute: true,
681
+ messages: [{ ...message, status: MessageStatusTypes.FAILED, text: editedText }],
682
+ });
683
+ throw new Error('validation');
684
+ }) as never,
685
+ },
686
+ },
687
+ });
688
+
532
689
  render(
533
690
  <Chat client={chatClient} enableOfflineSupport>
534
691
  <Channel
535
692
  channel={channel}
536
- doUpdateMessageRequest={() => {
537
- throw new Error('validation');
538
- }}
693
+ // Persist the optimistic edit locally, then reject the request (validation failure).
694
+ // The local copy (state + DB) must survive so the user's edit is not lost, and so the
695
+ // offline-DB hydration Channel runs on mount re-seeds the edited copy, not the pre-edit
696
+ // one.
539
697
  >
540
698
  <CallbackEffectWithContext
541
- callback={async ({ editMessage }) => {
699
+ callback={async () => {
700
+ await flushMountEffects();
542
701
  try {
543
- await editMessage({
702
+ await channel.messageOperations.update({
544
703
  localMessage: {
545
704
  ...message,
546
705
  cid: channel.cid,
@@ -563,7 +722,7 @@ export const OptimisticUpdates = () => {
563
722
  await waitFor(() => expect(screen.getByTestId('children')).toBeTruthy());
564
723
 
565
724
  await waitFor(async () => {
566
- const updatedMessage = channel.state.findMessage(message.id);
725
+ const updatedMessage = channel.messagePaginator.getItem(message.id);
567
726
  const pendingTasksRows = await BetterSqlite.selectFromTable('pendingTasks');
568
727
  const dbMessages = await BetterSqlite.selectFromTable('messages');
569
728
  const dbMessage = dbMessages.find((row) => row.id === message.id);
@@ -575,29 +734,41 @@ export const OptimisticUpdates = () => {
575
734
  });
576
735
 
577
736
  it('should not set message_text_updated_at during optimistic edit of a failed message', async () => {
578
- const message = channel.state.messages[0];
737
+ // A message that failed to send never received a server-confirmed text update, so a realistic
738
+ // failed message carries no message_text_updated_at. generateMessage always sets one, so strip
739
+ // it here; the test then verifies the optimistic edit path does not add one back.
740
+ const { message_text_updated_at: _stripped, ...headItem } = channel.messagePaginator
741
+ .headItems[0] as LocalMessage & { message_text_updated_at?: Date };
742
+ const message = headItem as LocalMessage;
579
743
  const optimisticStateSpy = jest.fn();
580
744
 
745
+ // Registered declaratively — the `<Channel doUpdateMessageRequest>` prop is gone. The LLC
746
+ // resolves this into `channel.configState.requestHandlers` as part of the channel's own
747
+ // derivation, so it is in place before `render` rather than after a mount effect.
748
+ chatClient.config.set({
749
+ channel: {
750
+ requestHandlers: {
751
+ updateMessageRequest: (() => {
752
+ const optimisticMessage = channel.messagePaginator.getItem(message.id);
753
+ optimisticStateSpy(optimisticMessage);
754
+
755
+ return {
756
+ message: {
757
+ ...optimisticMessage,
758
+ },
759
+ };
760
+ }) as never,
761
+ },
762
+ },
763
+ });
764
+
581
765
  render(
582
766
  <Chat client={chatClient} enableOfflineSupport>
583
- <Channel
584
- channel={channel}
585
- doUpdateMessageRequest={
586
- (() => {
587
- const optimisticMessage = channel.state.findMessage(message.id);
588
- optimisticStateSpy(optimisticMessage);
589
-
590
- return {
591
- message: {
592
- ...optimisticMessage,
593
- },
594
- };
595
- }) as unknown as React.ComponentProps<typeof Channel>['doUpdateMessageRequest']
596
- }
597
- >
767
+ <Channel channel={channel}>
598
768
  <CallbackEffectWithContext
599
- callback={async ({ editMessage }) => {
600
- await editMessage({
769
+ callback={async () => {
770
+ await flushMountEffects();
771
+ await channel.messageOperations.update({
601
772
  localMessage: {
602
773
  ...message,
603
774
  cid: channel.cid,
@@ -624,35 +795,63 @@ export const OptimisticUpdates = () => {
624
795
  });
625
796
 
626
797
  it('should keep the optimistic edit for attachment updates without auto-queueing', async () => {
627
- const message = channel.state.messages[0];
798
+ const message = channel.messagePaginator.headItems[0];
628
799
  const editedText = 'edited attachment message';
629
800
  const localUri = 'file://edited-attachment.png';
801
+ const editedAttachments = [
802
+ {
803
+ localMetadata: {
804
+ file: generateFileReference({
805
+ name: 'edited-attachment.png',
806
+ type: 'image/png',
807
+ uri: localUri,
808
+ }),
809
+ id: 'edited-attachment-upload',
810
+ previewUri: localUri,
811
+ uploadState: 'uploading',
812
+ },
813
+ type: 'file',
814
+ },
815
+ ] as unknown as Attachment[];
816
+
817
+ // Registered declaratively — the `<Channel doUpdateMessageRequest>` prop is gone. The LLC
818
+ // resolves this into `channel.configState.requestHandlers` as part of the channel's own
819
+ // derivation, so it is in place before `render` rather than after a mount effect.
820
+ chatClient.config.set({
821
+ channel: {
822
+ requestHandlers: {
823
+ updateMessageRequest: (async () => {
824
+ await getOfflineDb(chatClient).upsertMessages({
825
+ execute: true,
826
+ messages: [
827
+ {
828
+ ...message,
829
+ attachments: editedAttachments,
830
+ status: MessageStatusTypes.FAILED,
831
+ text: editedText,
832
+ },
833
+ ],
834
+ });
835
+ throw new Error('offline');
836
+ }) as never,
837
+ },
838
+ },
839
+ });
630
840
 
631
841
  render(
632
842
  <Chat client={chatClient} enableOfflineSupport>
633
843
  <Channel
634
844
  channel={channel}
635
- doUpdateMessageRequest={() => {
636
- throw new Error('offline');
637
- }}
845
+ // Persist the optimistic attachment edit locally, then reject the request (offline).
638
846
  >
639
847
  <CallbackEffectWithContext
640
- callback={async ({ editMessage }) => {
848
+ callback={async () => {
849
+ await flushMountEffects();
641
850
  try {
642
- await editMessage({
851
+ await channel.messageOperations.update({
643
852
  localMessage: {
644
853
  ...message,
645
- attachments: [
646
- {
647
- asset_url: localUri,
648
- originalFile: generateFileReference({
649
- name: 'edited-attachment.png',
650
- type: 'image/png',
651
- uri: localUri,
652
- }),
653
- type: 'file',
654
- },
655
- ],
854
+ attachments: editedAttachments,
656
855
  cid: channel.cid,
657
856
  text: editedText,
658
857
  },
@@ -673,31 +872,324 @@ export const OptimisticUpdates = () => {
673
872
  await waitFor(() => expect(screen.getByTestId('children')).toBeTruthy());
674
873
 
675
874
  await waitFor(async () => {
676
- const updatedMessage = channel.state.findMessage(message.id);
875
+ const updatedMessage = channel.messagePaginator.getItem(message.id);
677
876
  const pendingTasksRows = await BetterSqlite.selectFromTable('pendingTasks');
678
877
  const dbMessages = await BetterSqlite.selectFromTable('messages');
679
878
  const dbMessage = dbMessages.find((row) => row.id === message.id);
680
879
  const storedAttachments = JSON.parse(dbMessage!.attachments as string);
681
880
 
881
+ const { localMetadata } = updatedMessage!.attachments![0] as LocalUploadAttachment;
882
+
682
883
  expect(updatedMessage!.text).toBe(editedText);
683
- expect(updatedMessage!.attachments![0].asset_url).toBe(localUri);
884
+ expect(localMetadata.previewUri).toBe(localUri);
885
+ expect(localMetadata.file).toEqual(expect.objectContaining({ uri: localUri }));
684
886
  expect(pendingTasksRows).toHaveLength(0);
685
887
  expect(dbMessage!.text).toBe(editedText);
686
- expect(storedAttachments[0].asset_url).toBe(localUri);
888
+ expect(storedAttachments[0].localMetadata.file.uri).toBe(localUri);
889
+ expect(storedAttachments[0].localMetadata.previewUri).toBe(localUri);
890
+ });
891
+ });
892
+ });
893
+
894
+ // INTENTIONALLY RED — DO NOT SKIP OR WORK AROUND. Every passing "edit message" test above supplies
895
+ // a custom `doUpdateMessageRequest` that manually persists + queues the edit. These two tests use
896
+ // NO custom handler — they exercise the DEFAULT offline update/delete path, which is not yet
897
+ // implemented in v10: the pending task queues + replays (see "pending task execution" below), but
898
+ // the optimistic edit/delete is NOT applied to state or persisted to the offline DB. Keep these
899
+ // failing until the default optimistic offline update/delete lands — the red is the signal.
900
+ describe('default offline update/delete (no custom handler)', () => {
901
+ it('should optimistically apply + persist an offline edit without a custom doUpdateMessageRequest', async () => {
902
+ const message = channel.messagePaginator.headItems[0];
903
+ const editedText = 'edited offline via default path';
904
+
905
+ render(
906
+ <Chat client={chatClient} enableOfflineSupport>
907
+ <Channel channel={channel}>
908
+ <CallbackEffectWithContext
909
+ callback={async () => {
910
+ // Same barrier every other "edit message" test uses. Without it the edit fires from
911
+ // this child mount effect BEFORE `Channel`'s own effect runs `channel.watch()`, whose
912
+ // seed then re-ingests the pre-edit copy from the mocked query response and overwrites
913
+ // the optimistic edit. Measured: the optimistic copy is correct at `messageOperations.update`
914
+ // resolution and still correct a macrotask later, then the in-flight watch lands on
915
+ // top of it. That window is unreachable in production (see flushMountEffects).
916
+ await flushMountEffects();
917
+ // Go offline BEFORE editing so the default (no-handler) offline path runs.
918
+ markConnectionUnhealthy(chatClient);
919
+ try {
920
+ await channel.messageOperations.update({
921
+ localMessage: { ...message, cid: channel.cid, text: editedText },
922
+ options: {},
923
+ });
924
+ } catch (e) {
925
+ // do nothing
926
+ }
927
+ }}
928
+ context={MessageInputContext}
929
+ >
930
+ <View testID='children' />
931
+ </CallbackEffectWithContext>
932
+ </Channel>
933
+ </Chat>,
934
+ );
935
+ await waitFor(() => expect(screen.getByTestId('children')).toBeTruthy());
936
+
937
+ // A working optimistic offline edit reflects the new text in state AND persists it to the
938
+ // offline DB immediately (so it survives cold start / hydration), independent of the queue.
939
+ await waitFor(
940
+ async () => {
941
+ const updatedMessage = channel.messagePaginator.getItem(message.id);
942
+ const dbMessages = await BetterSqlite.selectFromTable('messages');
943
+ const dbMessage = dbMessages.find((row) => row.id === message.id);
944
+
945
+ expect(updatedMessage?.text).toBe(editedText);
946
+ // Offline support is enabled and the edit was queued for replay, so this is "pending",
947
+ // not "failed" — the message must never enter a failed state on this path.
948
+ expect(updatedMessage?.status).not.toBe(MessageStatusTypes.FAILED);
949
+ expect(dbMessage?.text).toBe(editedText);
950
+ },
951
+ { timeout: 2500 },
952
+ );
953
+ });
954
+
955
+ it('should optimistically apply + persist an offline delete without a custom doDeleteMessageRequest', async () => {
956
+ const message = channel.messagePaginator.headItems[0];
957
+
958
+ render(
959
+ <Chat client={chatClient} enableOfflineSupport>
960
+ <Channel channel={channel}>
961
+ <CallbackEffectWithMessageOperations
962
+ callback={async ({ deleteMessage }) => {
963
+ await flushMountEffects();
964
+ markConnectionUnhealthy(chatClient);
965
+ try {
966
+ await deleteMessage(message);
967
+ } catch (e) {
968
+ // do nothing
969
+ }
970
+ }}
971
+ >
972
+ <View testID='children' />
973
+ </CallbackEffectWithMessageOperations>
974
+ </Channel>
975
+ </Chat>,
976
+ );
977
+ await waitFor(() => expect(screen.getByTestId('children')).toBeTruthy());
978
+
979
+ // A working optimistic offline delete marks the message deleted in state AND persists that to
980
+ // the offline DB immediately (independent of the queued delete-message task that replays later).
981
+ await waitFor(
982
+ async () => {
983
+ const stateMessage = channel.messagePaginator.getItem(message.id);
984
+ const dbMessages = await BetterSqlite.selectFromTable('messages');
985
+ const dbMessage = dbMessages.find((row) => row.id === message.id);
986
+
987
+ expect(stateMessage?.type).toBe('deleted');
988
+ expect(dbMessage?.type).toBe('deleted');
989
+ },
990
+ { timeout: 2500 },
991
+ );
992
+ });
993
+ });
994
+
995
+ describe('failed message persistence', () => {
996
+ it('persists a failed send so it survives a restart and reads back as retryable', async () => {
997
+ const localMessage = generateMessage({
998
+ cid: channel.cid,
999
+ status: MessageStatusTypes.SENDING,
1000
+ text: 'unsent across a restart',
1001
+ user: chatClient.user as UserResponse,
1002
+ user_id: chatClient.userID,
1003
+ });
1004
+
1005
+ jest
1006
+ .spyOn(channel.messageComposer, 'compose')
1007
+ .mockResolvedValue({ localMessage, message: localMessage } as unknown as Awaited<
1008
+ ReturnType<typeof channel.messageComposer.compose>
1009
+ >);
1010
+
1011
+ render(
1012
+ <Chat client={chatClient} enableOfflineSupport>
1013
+ <Channel channel={channel} initialValue={localMessage.text}>
1014
+ <CallbackEffectWithContext
1015
+ callback={async ({ sendMessage }) => {
1016
+ await flushMountEffects();
1017
+ markConnectionUnhealthy(chatClient);
1018
+ try {
1019
+ await sendMessage();
1020
+ } catch (e) {
1021
+ // do nothing
1022
+ }
1023
+ }}
1024
+ context={MessageInputContext}
1025
+ >
1026
+ <View testID='children' />
1027
+ </CallbackEffectWithContext>
1028
+ </Channel>
1029
+ </Chat>,
1030
+ );
1031
+ await waitFor(() => expect(screen.getByTestId('children')).toBeTruthy());
1032
+
1033
+ // The row itself is what makes a failed message survive a process death: v9 wrote it ahead of
1034
+ // the request and v10 dropped that write, which is why closing the app lost unsent messages.
1035
+ await waitFor(async () => {
1036
+ const dbMessages = await BetterSqlite.selectFromTable<{
1037
+ extraData: string;
1038
+ id: string;
1039
+ text: string;
1040
+ }>('messages');
1041
+ const dbMessage = dbMessages.find((row) => row.id === localMessage.id);
1042
+
1043
+ expect(dbMessage).toBeTruthy();
1044
+ expect(dbMessage!.text).toBe(localMessage.text);
1045
+ // `status` has no column of its own — it round-trips through the extraData blob.
1046
+ expect(JSON.parse(dbMessage!.extraData).status).toBe(MessageStatusTypes.FAILED);
1047
+ });
1048
+
1049
+ // And it has to come back through the DB's own read path, which is what a cold start hydrates
1050
+ // from and what `Channel.reload` consults on reconnect.
1051
+ const restored = await (
1052
+ chatClient.offlineDb as unknown as {
1053
+ getFailedMessages: (o: { cid: string }) => Promise<LocalMessage[]>;
1054
+ }
1055
+ ).getFailedMessages({ cid: channel.cid });
1056
+
1057
+ expect(restored.map((message) => message.id)).toContain(localMessage.id);
1058
+ expect(restored.find((message) => message.id === localMessage.id)?.text).toBe(
1059
+ localMessage.text,
1060
+ );
1061
+ });
1062
+ });
1063
+
1064
+ describe('channel guard cost', () => {
1065
+ it('writes an optimistic message without probing for the channel row', async () => {
1066
+ const localMessage = generateMessage({
1067
+ cid: channel.cid,
1068
+ status: MessageStatusTypes.SENDING,
1069
+ text: 'no guard probe please',
1070
+ user: chatClient.user as UserResponse,
1071
+ user_id: chatClient.userID,
1072
+ });
1073
+
1074
+ jest
1075
+ .spyOn(channel.messageComposer, 'compose')
1076
+ .mockResolvedValue({ localMessage, message: localMessage } as unknown as Awaited<
1077
+ ReturnType<typeof channel.messageComposer.compose>
1078
+ >);
1079
+
1080
+ let guardSpy: jest.SpyInstance | undefined;
1081
+
1082
+ render(
1083
+ <Chat client={chatClient} enableOfflineSupport>
1084
+ <Channel channel={channel} initialValue={localMessage.text}>
1085
+ <CallbackEffectWithContext
1086
+ callback={async ({ sendMessage }) => {
1087
+ await flushMountEffects();
1088
+ // Spied after mount, so the count covers only the send below — not the channel
1089
+ // query that `Channel` performs while starting up.
1090
+ guardSpy = jest.spyOn(
1091
+ chatClient.offlineDb as unknown as { channelExists: () => Promise<boolean> },
1092
+ 'channelExists',
1093
+ );
1094
+ try {
1095
+ await sendMessage();
1096
+ } catch (e) {
1097
+ // do nothing
1098
+ }
1099
+ }}
1100
+ context={MessageInputContext}
1101
+ >
1102
+ <View testID='children' />
1103
+ </CallbackEffectWithContext>
1104
+ </Channel>
1105
+ </Chat>,
1106
+ );
1107
+ await waitFor(() => expect(screen.getByTestId('children')).toBeTruthy());
1108
+
1109
+ // The write has to actually have happened, or "no probe" would be trivially true.
1110
+ await waitFor(async () => {
1111
+ const dbMessages = await BetterSqlite.selectFromTable<{ id: string }>('messages');
1112
+ expect(dbMessages.some((row) => row.id === localMessage.id)).toBe(true);
1113
+ });
1114
+
1115
+ // The guard is lazy: it attempts the write and only probes if that fails on the foreign key.
1116
+ // A probe here means the eager version is back — a native round-trip per message write, for
1117
+ // every message written AND every message received.
1118
+ expect(guardSpy).not.toHaveBeenCalled();
1119
+ });
1120
+ });
1121
+
1122
+ describe('optimistic edit without offline support', () => {
1123
+ it('keeps the optimistic edit AND surfaces the failure when there is no offline DB', async () => {
1124
+ const message = channel.messagePaginator.headItems[0];
1125
+ const editedText = 'edited with no offline support';
1126
+
1127
+ chatClient.config.set({
1128
+ channel: {
1129
+ requestHandlers: {
1130
+ updateMessageRequest: (() => Promise.reject(new Error('validation'))) as never,
1131
+ },
1132
+ },
1133
+ });
1134
+
1135
+ // No `enableOfflineSupport`, so `client.offlineDb` is never attached and there is no queue for
1136
+ // the edit to fall back on. The failure is therefore definitive and must be shown on the
1137
+ // message — the opposite of the offline-enabled case above, where it must NOT be.
1138
+ render(
1139
+ <Chat client={chatClient}>
1140
+ <Channel channel={channel}>
1141
+ <CallbackEffectWithContext
1142
+ callback={async () => {
1143
+ await flushMountEffects();
1144
+ try {
1145
+ await channel.messageOperations.update({
1146
+ localMessage: { ...message, cid: channel.cid, text: editedText },
1147
+ options: {},
1148
+ });
1149
+ } catch (e) {
1150
+ // do nothing
1151
+ }
1152
+ }}
1153
+ context={MessageInputContext}
1154
+ >
1155
+ <View testID='children' />
1156
+ </CallbackEffectWithContext>
1157
+ </Channel>
1158
+ </Chat>,
1159
+ );
1160
+ await waitFor(() => expect(screen.getByTestId('children')).toBeTruthy());
1161
+
1162
+ await waitFor(() => {
1163
+ const updatedMessage = channel.messagePaginator.getItem(message.id);
1164
+
1165
+ expect(chatClient.offlineDb).toBeUndefined();
1166
+ // The edit is never rolled back — reverting would throw away what the user typed.
1167
+ expect(updatedMessage?.text).toBe(editedText);
1168
+ expect(updatedMessage?.status).toBe(MessageStatusTypes.FAILED);
687
1169
  });
688
1170
  });
689
1171
  });
690
1172
 
691
1173
  describe('pending task execution', () => {
1174
+ // Every test in this block drives a real reconnect, and since recovery became store-driven its
1175
+ // `connection` discriminator these events actually reach `ConnectionRecoveryManager` — so each
1176
+ // one now runs a genuine recovery (`channel.reload()`) plus real SQLite pending-task I/O on top
1177
+ // of a full render. That lands around 2s alone but exceeded the 5s default under the suite's
1178
+ // parallel load, flaking roughly one run in two. The work is legitimate, not a hang; the
1179
+ // default was simply sized for the old no-op path.
1180
+ jest.setTimeout(20_000);
1181
+
692
1182
  it('pending task should be executed after connection is recovered', async () => {
693
- const message = channel.state.messages[0];
1183
+ const message = channel.messagePaginator.headItems[0];
694
1184
  const reaction = generateReaction();
695
1185
 
696
1186
  render(
697
1187
  <Chat client={chatClient} enableOfflineSupport>
698
1188
  <Channel channel={channel} initialValue={message.text}>
699
- <CallbackEffectWithContext
1189
+ <CallbackEffectWithMessageOperations
700
1190
  callback={async ({ deleteMessage, sendReaction }) => {
1191
+ // Queue two pending tasks via the working offline path (helper), then reconnect below.
1192
+ markConnectionUnhealthy(chatClient);
701
1193
  useMockedApis(chatClient, [erroredDeleteApi()]);
702
1194
  try {
703
1195
  await deleteMessage(message);
@@ -712,10 +1204,9 @@ export const OptimisticUpdates = () => {
712
1204
  // do nothing
713
1205
  }
714
1206
  }}
715
- context={MessagesContext}
716
1207
  >
717
1208
  <View testID='children' />
718
- </CallbackEffectWithContext>
1209
+ </CallbackEffectWithMessageOperations>
719
1210
  </Channel>
720
1211
  </Chat>,
721
1212
  );
@@ -727,8 +1218,8 @@ export const OptimisticUpdates = () => {
727
1218
  expect(pendingTasksRows.length).toBe(2);
728
1219
  });
729
1220
 
730
- const deleteMessageSpy = jest.spyOn(chatClient, '_deleteMessage').mockImplementation();
731
- const sendReactionSpy = jest.spyOn(channel, '_sendReaction').mockImplementation();
1221
+ const deleteMessageSpy = jest.spyOn(chatClient, 'deleteMessage').mockImplementation();
1222
+ const sendReactionSpy = jest.spyOn(chatClient, 'sendReaction').mockImplementation();
732
1223
 
733
1224
  act(() => dispatchConnectionChangedEvent(chatClient, true));
734
1225
 
@@ -736,6 +1227,14 @@ export const OptimisticUpdates = () => {
736
1227
  expect(deleteMessageSpy).toHaveBeenCalled();
737
1228
  expect(sendReactionSpy).toHaveBeenCalled();
738
1229
  });
1230
+ // Replayed from the SQLite row: the split argument list survives the JSON round trip, with
1231
+ // the (empty, soft-delete) options in the request slot rather than merged into the id.
1232
+ expect(deleteMessageSpy.mock.calls[0][0]).toEqual({ id: message.id });
1233
+ expect(deleteMessageSpy.mock.calls[0][1]).toEqual({});
1234
+ expect(sendReactionSpy.mock.calls[0][0]).toEqual({ id: message.id });
1235
+ expect(sendReactionSpy.mock.calls[0][1]).toEqual(
1236
+ expect.objectContaining({ reaction: expect.objectContaining({ type: reaction.type }) }),
1237
+ );
739
1238
  });
740
1239
 
741
1240
  // This is a separate test so CallbackEffectWithContext does not need to be modified in order
@@ -756,6 +1255,8 @@ export const OptimisticUpdates = () => {
756
1255
  <Channel channel={channel} initialValue={newMessage.text}>
757
1256
  <CallbackEffectWithContext
758
1257
  callback={async ({ sendMessage }) => {
1258
+ // Queue a pending send task via the working offline path (helper), then reconnect below.
1259
+ markConnectionUnhealthy(chatClient);
759
1260
  useMockedApis(chatClient, [erroredPostApi()]);
760
1261
  try {
761
1262
  await sendMessage();
@@ -778,7 +1279,7 @@ export const OptimisticUpdates = () => {
778
1279
  expect(pendingTasksRows.length).toBe(1);
779
1280
  });
780
1281
 
781
- const sendMessageSpy = jest.spyOn(channel, '_sendMessage').mockImplementation();
1282
+ const sendMessageSpy = jest.spyOn(channel, 'sendMessage').mockImplementation();
782
1283
 
783
1284
  act(() => dispatchConnectionChangedEvent(chatClient, true));
784
1285
 
@@ -789,15 +1290,19 @@ export const OptimisticUpdates = () => {
789
1290
 
790
1291
  it('should not re-add a failed local message after reconnect when its pending send task was resolved', async () => {
791
1292
  const localMessage = generateMessage({
1293
+ // The channel paginator only ingests messages whose cid matches (matchesFilter), so the
1294
+ // optimistic message must carry the channel cid to appear in the paginator/headItems.
1295
+ cid: channel.cid,
792
1296
  status: MessageStatusTypes.SENDING,
793
1297
  text: 'offline resend',
794
- user: chatClient.user,
1298
+ user: chatClient.user as UserResponse,
795
1299
  user_id: chatClient.userID,
796
1300
  });
797
1301
  const serverMessage = generateMessage({
1302
+ cid: channel.cid,
798
1303
  id: localMessage.id,
799
1304
  text: localMessage.text,
800
- user: chatClient.user,
1305
+ user: chatClient.user as UserResponse,
801
1306
  user_id: chatClient.userID,
802
1307
  });
803
1308
 
@@ -812,8 +1317,15 @@ export const OptimisticUpdates = () => {
812
1317
  <Channel channel={channel} initialValue={localMessage.text}>
813
1318
  <CallbackEffectWithContext
814
1319
  callback={async ({ sendMessage }) => {
815
- useMockedApis(chatClient, [erroredPostApi()]);
816
- await sendMessage();
1320
+ // Offline + no POST mock: the offline queueTask persists the pending task, then the
1321
+ // LLC's fallthrough send request rejects (no mocked response), so the message settles
1322
+ // as `failed` and is kept in the paginator — the precondition this test resyncs from.
1323
+ markConnectionUnhealthy(chatClient);
1324
+ try {
1325
+ await sendMessage();
1326
+ } catch (e) {
1327
+ // do nothing
1328
+ }
817
1329
  }}
818
1330
  context={MessageInputContext}
819
1331
  >
@@ -831,22 +1343,44 @@ export const OptimisticUpdates = () => {
831
1343
  pendingTask = pendingTasks[0];
832
1344
  });
833
1345
 
834
- expect(channel.state.messages.some((message) => message.id === localMessage.id)).toBe(true);
1346
+ expect(
1347
+ channel.messagePaginator.headItems.some((message) => message.id === localMessage.id),
1348
+ ).toBe(true);
835
1349
 
836
1350
  jest
837
1351
  .spyOn(channel, 'watch')
838
1352
  .mockResolvedValue({} as Awaited<ReturnType<typeof channel.watch>>);
1353
+ // Without this the reconnect below nukes the offline DB. `client.sync` is a POST, so it
1354
+ // resolves with the `getOrCreateChannelApi` payload mocked in `beforeEach`, whose `events` is
1355
+ // undefined; `OfflineDBSyncManager.sync` then throws reading `result.events.length` and its
1356
+ // catch block calls `resetDB()` — taking the persisted failed message with it. Nothing to do
1357
+ // with what these tests assert, so give sync an empty, well-formed reply.
1358
+ jest
1359
+ .spyOn(chatClient, 'sync')
1360
+ .mockResolvedValue({ events: [] } as unknown as Awaited<
1361
+ ReturnType<typeof chatClient.sync>
1362
+ >);
839
1363
 
840
- channel.state.removeMessage(localMessage);
841
- channel.state.addMessageSorted(serverMessage, true);
1364
+ channel.messagePaginator.removeItem({ id: localMessage.id });
1365
+ channel.messagePaginator.ingestItem(channel.state.formatMessage(serverMessage));
842
1366
  await getOfflineDb(chatClient).deletePendingTask({ id: pendingTask!.id });
843
1367
 
844
1368
  await act(async () => {
845
- await getOfflineDb(chatClient).syncManager.invokeSyncStatusListeners(true);
1369
+ // The real reconnect signal. `invokeSyncStatusListeners(true)` on its own used to be enough
1370
+ // because `Channel` subscribed to the offline DB's sync-status edge itself; on v10 that moved
1371
+ // into the LLC's `ConnectionRecoveryManager`, which binds that subscription lazily from its
1372
+ // `connection.changed` handler and only then reloads the active channels. Driving the edge
1373
+ // directly therefore reached no subscriber at all — the assertions below never ran against a
1374
+ // reload. `OfflineDBSyncManager` publishes the edge itself once it has replayed and synced.
1375
+ markConnectionHealthy(chatClient);
1376
+ dispatchConnectionChangedEvent(chatClient, true);
1377
+ // Recovery is detached (`runDetached`), so yield once to let it start before the assertions
1378
+ // below begin polling.
1379
+ await flushMountEffects();
846
1380
  });
847
1381
 
848
1382
  await waitFor(() => {
849
- const matchingMessages = channel.state.messages.filter(
1383
+ const matchingMessages = channel.messagePaginator.headItems.filter(
850
1384
  (message) => message.text === localMessage.text,
851
1385
  );
852
1386
 
@@ -856,11 +1390,20 @@ export const OptimisticUpdates = () => {
856
1390
  });
857
1391
  });
858
1392
 
1393
+ // INTENTIONALLY RED — DO NOT SKIP OR WORK AROUND. This tests the OPTIMISTIC-UPDATE layer:
1394
+ // a failed local message must be persisted to the offline DB and re-added on reconnect when the
1395
+ // fresh server state does not contain it. In v10 the failed optimistic message is NOT persisted
1396
+ // (`dbHasFailedMsg === false`), so it never comes back. Pending-task QUEUING works; optimistic
1397
+ // failed-message persistence/re-add does not. Keep this failing until that is implemented — the
1398
+ // red is the signal.
859
1399
  it('should re-add a failed local message after reconnect when fresh state still does not contain it', async () => {
860
1400
  const localMessage = generateMessage({
1401
+ // The channel paginator only ingests messages whose cid matches (matchesFilter), so the
1402
+ // optimistic message must carry the channel cid to appear in the paginator/headItems.
1403
+ cid: channel.cid,
861
1404
  status: MessageStatusTypes.SENDING,
862
1405
  text: 'offline resend unresolved',
863
- user: chatClient.user,
1406
+ user: chatClient.user as UserResponse,
864
1407
  user_id: chatClient.userID,
865
1408
  });
866
1409
 
@@ -875,8 +1418,15 @@ export const OptimisticUpdates = () => {
875
1418
  <Channel channel={channel} initialValue={localMessage.text}>
876
1419
  <CallbackEffectWithContext
877
1420
  callback={async ({ sendMessage }) => {
878
- useMockedApis(chatClient, [erroredPostApi()]);
879
- await sendMessage();
1421
+ // Offline + no POST mock: the offline queueTask persists the pending task, then the
1422
+ // LLC's fallthrough send request rejects (no mocked response), so the message settles
1423
+ // as `failed` and is kept in the paginator — the precondition this test resyncs from.
1424
+ markConnectionUnhealthy(chatClient);
1425
+ try {
1426
+ await sendMessage();
1427
+ } catch (e) {
1428
+ // do nothing
1429
+ }
880
1430
  }}
881
1431
  context={MessageInputContext}
882
1432
  >
@@ -897,16 +1447,36 @@ export const OptimisticUpdates = () => {
897
1447
  jest
898
1448
  .spyOn(channel, 'watch')
899
1449
  .mockResolvedValue({} as Awaited<ReturnType<typeof channel.watch>>);
1450
+ // Without this the reconnect below nukes the offline DB. `client.sync` is a POST, so it
1451
+ // resolves with the `getOrCreateChannelApi` payload mocked in `beforeEach`, whose `events` is
1452
+ // undefined; `OfflineDBSyncManager.sync` then throws reading `result.events.length` and its
1453
+ // catch block calls `resetDB()` — taking the persisted failed message with it. Nothing to do
1454
+ // with what these tests assert, so give sync an empty, well-formed reply.
1455
+ jest
1456
+ .spyOn(chatClient, 'sync')
1457
+ .mockResolvedValue({ events: [] } as unknown as Awaited<
1458
+ ReturnType<typeof chatClient.sync>
1459
+ >);
900
1460
 
901
- channel.state.removeMessage(localMessage);
1461
+ channel.messagePaginator.removeItem({ id: localMessage.id });
902
1462
  await getOfflineDb(chatClient).deletePendingTask({ id: pendingTask!.id });
903
1463
 
904
1464
  await act(async () => {
905
- await getOfflineDb(chatClient).syncManager.invokeSyncStatusListeners(true);
1465
+ // The real reconnect signal. `invokeSyncStatusListeners(true)` on its own used to be enough
1466
+ // because `Channel` subscribed to the offline DB's sync-status edge itself; on v10 that moved
1467
+ // into the LLC's `ConnectionRecoveryManager`, which binds that subscription lazily from its
1468
+ // `connection.changed` handler and only then reloads the active channels. Driving the edge
1469
+ // directly therefore reached no subscriber at all — the assertions below never ran against a
1470
+ // reload. `OfflineDBSyncManager` publishes the edge itself once it has replayed and synced.
1471
+ markConnectionHealthy(chatClient);
1472
+ dispatchConnectionChangedEvent(chatClient, true);
1473
+ // Recovery is detached (`runDetached`), so yield once to let it start before the assertions
1474
+ // below begin polling.
1475
+ await flushMountEffects();
906
1476
  });
907
1477
 
908
1478
  await waitFor(() => {
909
- const matchingMessages = channel.state.messages.filter(
1479
+ const matchingMessages = channel.messagePaginator.headItems.filter(
910
1480
  (message) => message.id === localMessage.id,
911
1481
  );
912
1482