stream-chat-react-native-core 5.8.0-beta.4 → 5.8.0-beta.6

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 (1777) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +45 -56
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js +25 -43
  4. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/AudioAttachment.js +114 -191
  6. package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/Card.js +53 -80
  8. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/FileAttachment.js +30 -57
  10. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +19 -50
  12. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/FileIcon.js +3 -45
  14. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/Gallery.js +121 -162
  16. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/GalleryImage.js +5 -23
  18. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/Giphy.js +76 -109
  20. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  21. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +7 -23
  22. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  23. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +3 -15
  24. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  25. package/lib/commonjs/components/Attachment/VideoThumbnail.js +10 -20
  26. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
  27. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +1 -10
  28. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  29. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +8 -24
  30. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  31. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +22 -35
  32. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  33. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +1 -7
  34. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  35. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +4 -7
  36. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  37. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +5 -9
  38. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  39. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -1
  40. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +0 -2
  41. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  42. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +12 -14
  43. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  44. package/lib/commonjs/components/Attachment/utils/getGiphyMimeType.js +0 -2
  45. package/lib/commonjs/components/Attachment/utils/getGiphyMimeType.js.map +1 -1
  46. package/lib/commonjs/components/Attachment/utils/openUrlSafely.js +19 -33
  47. package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
  48. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +74 -123
  49. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  50. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +4 -18
  51. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  52. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +33 -56
  53. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  54. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +2 -10
  55. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  56. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +71 -117
  57. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  58. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +33 -59
  59. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  60. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +2 -10
  61. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  62. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +2 -10
  63. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  64. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +4 -14
  65. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  66. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +4 -13
  67. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  68. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +177 -285
  69. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  70. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +6 -24
  71. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  72. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +12 -30
  73. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  74. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +30 -47
  75. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  76. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +21 -49
  77. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  78. package/lib/commonjs/components/Avatar/Avatar.js +22 -42
  79. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  80. package/lib/commonjs/components/Avatar/GroupAvatar.js +15 -33
  81. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  82. package/lib/commonjs/components/Channel/Channel.js +1136 -1586
  83. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  84. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +31 -34
  85. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  86. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +40 -43
  87. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  88. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +81 -84
  89. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  90. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +1 -11
  91. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  92. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +9 -13
  93. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  94. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js +9 -13
  95. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  96. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js +0 -3
  97. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  98. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js +3 -12
  99. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  100. package/lib/commonjs/components/ChannelList/ChannelList.js +71 -110
  101. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  102. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +2 -12
  103. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  104. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +12 -24
  105. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  106. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +9 -20
  107. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  108. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +6 -17
  109. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  110. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +55 -84
  111. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  112. package/lib/commonjs/components/ChannelList/Skeleton.js +16 -33
  113. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  114. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +28 -50
  115. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  116. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -14
  117. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  118. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -14
  119. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  120. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +4 -12
  121. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  122. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -16
  123. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  124. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +28 -49
  125. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  126. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -17
  127. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  128. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +28 -50
  129. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  130. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -12
  131. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  132. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +1 -12
  133. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  134. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +29 -34
  135. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  136. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +141 -219
  137. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  138. package/lib/commonjs/components/ChannelList/utils.js +13 -26
  139. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  140. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +3 -19
  141. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  142. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +14 -44
  143. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  144. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +4 -15
  145. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  146. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +35 -60
  147. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  148. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +7 -18
  149. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  150. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +10 -24
  151. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  152. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +4 -14
  153. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  154. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +7 -17
  155. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  156. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +4 -27
  157. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  158. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +12 -36
  159. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  160. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js +4 -21
  161. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  162. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +22 -68
  163. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  164. package/lib/commonjs/components/Chat/Chat.js +26 -69
  165. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  166. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +0 -26
  167. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
  168. package/lib/commonjs/components/Chat/hooks/useAppSettings.js +42 -69
  169. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  170. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +8 -11
  171. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  172. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +19 -50
  173. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  174. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js +3 -11
  175. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  176. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js +1 -8
  177. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  178. package/lib/commonjs/components/ImageBackground.js +7 -21
  179. package/lib/commonjs/components/ImageBackground.js.map +1 -1
  180. package/lib/commonjs/components/ImageGallery/ImageGallery.js +53 -131
  181. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  182. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +12 -27
  183. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  184. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +21 -52
  185. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  186. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +79 -125
  187. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  188. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +26 -56
  189. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  190. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +12 -32
  191. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  192. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +14 -27
  193. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  194. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +16 -38
  195. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  196. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +12 -26
  197. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  198. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +15 -52
  199. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  200. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +10 -25
  201. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  202. package/lib/commonjs/components/Indicators/LoadingDot.js +10 -21
  203. package/lib/commonjs/components/Indicators/LoadingDot.js.map +1 -1
  204. package/lib/commonjs/components/Indicators/LoadingDots.js +11 -21
  205. package/lib/commonjs/components/Indicators/LoadingDots.js.map +1 -1
  206. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +16 -33
  207. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  208. package/lib/commonjs/components/Indicators/LoadingIndicator.js +8 -26
  209. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  210. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +9 -67
  211. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  212. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +22 -68
  213. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  214. package/lib/commonjs/components/Message/Message.js +246 -335
  215. package/lib/commonjs/components/Message/Message.js.map +1 -1
  216. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +20 -40
  217. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  218. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +113 -164
  219. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  220. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +27 -49
  221. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  222. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +55 -68
  223. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  224. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +11 -34
  225. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  226. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +37 -57
  227. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  228. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +13 -30
  229. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  230. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +37 -57
  231. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  232. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +16 -40
  233. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  234. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +30 -51
  235. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  236. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +56 -84
  237. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  238. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +23 -37
  239. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  240. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +0 -1
  241. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
  242. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +36 -78
  243. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  244. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +97 -127
  245. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  246. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +37 -42
  247. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  248. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +108 -171
  249. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  250. package/lib/commonjs/components/Message/hooks/useMessageActions.js +141 -225
  251. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  252. package/lib/commonjs/components/Message/utils/messageActions.js +15 -30
  253. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  254. package/lib/commonjs/components/MessageInput/AttachButton.js +15 -33
  255. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  256. package/lib/commonjs/components/MessageInput/CommandsButton.js +13 -31
  257. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  258. package/lib/commonjs/components/MessageInput/CooldownTimer.js +8 -20
  259. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  260. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +48 -86
  261. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  262. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +25 -57
  263. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  264. package/lib/commonjs/components/MessageInput/InputButtons.js +47 -69
  265. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  266. package/lib/commonjs/components/MessageInput/MessageInput.js +176 -236
  267. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  268. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +9 -25
  269. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  270. package/lib/commonjs/components/MessageInput/SendButton.js +15 -33
  271. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  272. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +9 -20
  273. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  274. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +27 -50
  275. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  276. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +9 -28
  277. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  278. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +14 -34
  279. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  280. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +20 -41
  281. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  282. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +14 -34
  283. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  284. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +6 -24
  285. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  286. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +3 -16
  287. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
  288. package/lib/commonjs/components/MessageList/DateHeader.js +8 -18
  289. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  290. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +9 -22
  291. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  292. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +3 -21
  293. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  294. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -21
  295. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  296. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -21
  297. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  298. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +10 -26
  299. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  300. package/lib/commonjs/components/MessageList/MessageList.js +239 -355
  301. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  302. package/lib/commonjs/components/MessageList/MessageSystem.js +14 -27
  303. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  304. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +9 -26
  305. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js.map +1 -1
  306. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +16 -27
  307. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  308. package/lib/commonjs/components/MessageList/TypingIndicator.js +8 -19
  309. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  310. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +8 -29
  311. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  312. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +10 -34
  313. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  314. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +4 -18
  315. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  316. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js +2 -10
  317. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  318. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +3 -11
  319. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  320. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +5 -18
  321. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  322. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +1 -9
  323. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  324. package/lib/commonjs/components/MessageList/utils/getReadStates.js +1 -22
  325. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  326. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +16 -39
  327. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  328. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +16 -36
  329. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  330. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +75 -127
  331. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  332. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +3 -12
  333. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  334. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +39 -77
  335. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  336. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -53
  337. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  338. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +5 -14
  339. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  340. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +2 -5
  341. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  342. package/lib/commonjs/components/ProgressControl/ProgressControl.js +9 -26
  343. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  344. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +3 -13
  345. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  346. package/lib/commonjs/components/Reply/Reply.js +37 -79
  347. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  348. package/lib/commonjs/components/Spinner/Spinner.js +6 -20
  349. package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
  350. package/lib/commonjs/components/Thread/Thread.js +28 -57
  351. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  352. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +15 -43
  353. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  354. package/lib/commonjs/components/docs/data.js +0 -7
  355. package/lib/commonjs/components/docs/data.js.map +1 -1
  356. package/lib/commonjs/components/index.js +0 -284
  357. package/lib/commonjs/components/index.js.map +1 -1
  358. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -18
  359. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  360. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +20 -50
  361. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  362. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -23
  363. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  364. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -23
  365. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  366. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +4 -37
  367. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  368. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +63 -81
  369. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  370. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -23
  371. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  372. package/lib/commonjs/contexts/debugContext/DebugContext.js +3 -17
  373. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
  374. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +7 -32
  375. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  376. package/lib/commonjs/contexts/index.js +0 -48
  377. package/lib/commonjs/contexts/index.js.map +1 -1
  378. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -20
  379. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  380. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -20
  381. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  382. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +531 -762
  383. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  384. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +88 -91
  385. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  386. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +19 -44
  387. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  388. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -24
  389. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  390. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +3 -12
  391. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  392. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +40 -52
  393. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  394. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -23
  395. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  396. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -20
  397. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  398. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +76 -124
  399. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  400. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +2 -18
  401. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  402. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -23
  403. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  404. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +11 -46
  405. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  406. package/lib/commonjs/contexts/themeContext/ThemeContext.js +5 -28
  407. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  408. package/lib/commonjs/contexts/themeContext/utils/theme.js +0 -4
  409. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  410. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -23
  411. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  412. package/lib/commonjs/contexts/translationContext/TranslationContext.js +2 -26
  413. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  414. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -23
  415. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  416. package/lib/commonjs/contexts/utils/defaultBaseContextValue.js.map +1 -1
  417. package/lib/commonjs/contexts/utils/getDisplayName.js +0 -2
  418. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  419. package/lib/commonjs/contexts/utils/isTestEnvironment.js +0 -2
  420. package/lib/commonjs/contexts/utils/isTestEnvironment.js.map +1 -1
  421. package/lib/commonjs/emoji-data/compile.js +2 -4
  422. package/lib/commonjs/emoji-data/compile.js.map +1 -1
  423. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  424. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  425. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  426. package/lib/commonjs/emoji-data/index.js +1 -7
  427. package/lib/commonjs/emoji-data/index.js.map +1 -1
  428. package/lib/commonjs/hooks/index.js +0 -4
  429. package/lib/commonjs/hooks/index.js.map +1 -1
  430. package/lib/commonjs/hooks/useAppStateListener.js +0 -7
  431. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  432. package/lib/commonjs/hooks/useIsMountedRef.js +0 -3
  433. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -1
  434. package/lib/commonjs/hooks/useLoadingImage.js +7 -16
  435. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
  436. package/lib/commonjs/hooks/useStreami18n.js +4 -16
  437. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  438. package/lib/commonjs/hooks/useTranslatedMessage.js +1 -11
  439. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  440. package/lib/commonjs/icons/ArrowRight.js +1 -8
  441. package/lib/commonjs/icons/ArrowRight.js.map +1 -1
  442. package/lib/commonjs/icons/AtMentions.js +1 -8
  443. package/lib/commonjs/icons/AtMentions.js.map +1 -1
  444. package/lib/commonjs/icons/Attach.js +1 -8
  445. package/lib/commonjs/icons/Attach.js.map +1 -1
  446. package/lib/commonjs/icons/Audio.js +1 -9
  447. package/lib/commonjs/icons/Audio.js.map +1 -1
  448. package/lib/commonjs/icons/CSV.js +1 -8
  449. package/lib/commonjs/icons/CSV.js.map +1 -1
  450. package/lib/commonjs/icons/Camera.js +1 -8
  451. package/lib/commonjs/icons/Camera.js.map +1 -1
  452. package/lib/commonjs/icons/Check.js +1 -8
  453. package/lib/commonjs/icons/Check.js.map +1 -1
  454. package/lib/commonjs/icons/CheckAll.js +1 -8
  455. package/lib/commonjs/icons/CheckAll.js.map +1 -1
  456. package/lib/commonjs/icons/CheckSend.js +1 -8
  457. package/lib/commonjs/icons/CheckSend.js.map +1 -1
  458. package/lib/commonjs/icons/CircleClose.js +1 -8
  459. package/lib/commonjs/icons/CircleClose.js.map +1 -1
  460. package/lib/commonjs/icons/CirclePlus.js +1 -8
  461. package/lib/commonjs/icons/CirclePlus.js.map +1 -1
  462. package/lib/commonjs/icons/CircleRight.js +1 -8
  463. package/lib/commonjs/icons/CircleRight.js.map +1 -1
  464. package/lib/commonjs/icons/Close.js +1 -8
  465. package/lib/commonjs/icons/Close.js.map +1 -1
  466. package/lib/commonjs/icons/Copy.js +1 -8
  467. package/lib/commonjs/icons/Copy.js.map +1 -1
  468. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -8
  469. package/lib/commonjs/icons/CurveLineLeftUp.js.map +1 -1
  470. package/lib/commonjs/icons/DOC.js +1 -9
  471. package/lib/commonjs/icons/DOC.js.map +1 -1
  472. package/lib/commonjs/icons/DOCX.js +1 -9
  473. package/lib/commonjs/icons/DOCX.js.map +1 -1
  474. package/lib/commonjs/icons/Delete.js +1 -8
  475. package/lib/commonjs/icons/Delete.js.map +1 -1
  476. package/lib/commonjs/icons/Down.js +1 -8
  477. package/lib/commonjs/icons/Down.js.map +1 -1
  478. package/lib/commonjs/icons/DownloadArrow.js +1 -8
  479. package/lib/commonjs/icons/DownloadArrow.js.map +1 -1
  480. package/lib/commonjs/icons/DownloadCloud.js +1 -8
  481. package/lib/commonjs/icons/DownloadCloud.js.map +1 -1
  482. package/lib/commonjs/icons/Edit.js +1 -8
  483. package/lib/commonjs/icons/Edit.js.map +1 -1
  484. package/lib/commonjs/icons/Error.js +1 -8
  485. package/lib/commonjs/icons/Error.js.map +1 -1
  486. package/lib/commonjs/icons/Eye.js +1 -8
  487. package/lib/commonjs/icons/Eye.js.map +1 -1
  488. package/lib/commonjs/icons/Flag.js +1 -8
  489. package/lib/commonjs/icons/Flag.js.map +1 -1
  490. package/lib/commonjs/icons/Folder.js +1 -8
  491. package/lib/commonjs/icons/Folder.js.map +1 -1
  492. package/lib/commonjs/icons/GenericFile.js +1 -9
  493. package/lib/commonjs/icons/GenericFile.js.map +1 -1
  494. package/lib/commonjs/icons/GiphyIcon.js +1 -8
  495. package/lib/commonjs/icons/GiphyIcon.js.map +1 -1
  496. package/lib/commonjs/icons/Grid.js +1 -8
  497. package/lib/commonjs/icons/Grid.js.map +1 -1
  498. package/lib/commonjs/icons/Group.js +1 -8
  499. package/lib/commonjs/icons/Group.js.map +1 -1
  500. package/lib/commonjs/icons/HTML.js +1 -8
  501. package/lib/commonjs/icons/HTML.js.map +1 -1
  502. package/lib/commonjs/icons/Imgur.js +1 -9
  503. package/lib/commonjs/icons/Imgur.js.map +1 -1
  504. package/lib/commonjs/icons/LOLReaction.js +1 -8
  505. package/lib/commonjs/icons/LOLReaction.js.map +1 -1
  506. package/lib/commonjs/icons/Lightning.js +1 -8
  507. package/lib/commonjs/icons/Lightning.js.map +1 -1
  508. package/lib/commonjs/icons/Link.js +1 -8
  509. package/lib/commonjs/icons/Link.js.map +1 -1
  510. package/lib/commonjs/icons/Loading.js +12 -20
  511. package/lib/commonjs/icons/Loading.js.map +1 -1
  512. package/lib/commonjs/icons/Logo.js +1 -8
  513. package/lib/commonjs/icons/Logo.js.map +1 -1
  514. package/lib/commonjs/icons/LoveReaction.js +1 -8
  515. package/lib/commonjs/icons/LoveReaction.js.map +1 -1
  516. package/lib/commonjs/icons/MD.js +1 -8
  517. package/lib/commonjs/icons/MD.js.map +1 -1
  518. package/lib/commonjs/icons/MailOpen.js +1 -8
  519. package/lib/commonjs/icons/MailOpen.js.map +1 -1
  520. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -8
  521. package/lib/commonjs/icons/MenuPointHorizontal.js.map +1 -1
  522. package/lib/commonjs/icons/MenuPointVertical.js +1 -8
  523. package/lib/commonjs/icons/MenuPointVertical.js.map +1 -1
  524. package/lib/commonjs/icons/MessageFlag.js +1 -8
  525. package/lib/commonjs/icons/MessageFlag.js.map +1 -1
  526. package/lib/commonjs/icons/MessageIcon.js +1 -8
  527. package/lib/commonjs/icons/MessageIcon.js.map +1 -1
  528. package/lib/commonjs/icons/Mute.js +1 -8
  529. package/lib/commonjs/icons/Mute.js.map +1 -1
  530. package/lib/commonjs/icons/Notification.js +1 -8
  531. package/lib/commonjs/icons/Notification.js.map +1 -1
  532. package/lib/commonjs/icons/ODT.js +1 -8
  533. package/lib/commonjs/icons/ODT.js.map +1 -1
  534. package/lib/commonjs/icons/PDF.js +1 -8
  535. package/lib/commonjs/icons/PDF.js.map +1 -1
  536. package/lib/commonjs/icons/PPT.js +1 -9
  537. package/lib/commonjs/icons/PPT.js.map +1 -1
  538. package/lib/commonjs/icons/PPTX.js +1 -9
  539. package/lib/commonjs/icons/PPTX.js.map +1 -1
  540. package/lib/commonjs/icons/Pause.js +2 -10
  541. package/lib/commonjs/icons/Pause.js.map +1 -1
  542. package/lib/commonjs/icons/Picture.js +1 -8
  543. package/lib/commonjs/icons/Picture.js.map +1 -1
  544. package/lib/commonjs/icons/Pin.js +1 -8
  545. package/lib/commonjs/icons/Pin.js.map +1 -1
  546. package/lib/commonjs/icons/PinHeader.js +1 -8
  547. package/lib/commonjs/icons/PinHeader.js.map +1 -1
  548. package/lib/commonjs/icons/Play.js +1 -8
  549. package/lib/commonjs/icons/Play.js.map +1 -1
  550. package/lib/commonjs/icons/RAR.js +1 -8
  551. package/lib/commonjs/icons/RAR.js.map +1 -1
  552. package/lib/commonjs/icons/RTF.js +1 -8
  553. package/lib/commonjs/icons/RTF.js.map +1 -1
  554. package/lib/commonjs/icons/Recorder.js +1 -8
  555. package/lib/commonjs/icons/Recorder.js.map +1 -1
  556. package/lib/commonjs/icons/Refresh.js +1 -8
  557. package/lib/commonjs/icons/Refresh.js.map +1 -1
  558. package/lib/commonjs/icons/SEVEN_Z.js +1 -8
  559. package/lib/commonjs/icons/SEVEN_Z.js.map +1 -1
  560. package/lib/commonjs/icons/Search.js +1 -8
  561. package/lib/commonjs/icons/Search.js.map +1 -1
  562. package/lib/commonjs/icons/SendRight.js +1 -8
  563. package/lib/commonjs/icons/SendRight.js.map +1 -1
  564. package/lib/commonjs/icons/SendUp.js +1 -8
  565. package/lib/commonjs/icons/SendUp.js.map +1 -1
  566. package/lib/commonjs/icons/Share.js +1 -9
  567. package/lib/commonjs/icons/Share.js.map +1 -1
  568. package/lib/commonjs/icons/ShareRightArrow.js +1 -8
  569. package/lib/commonjs/icons/ShareRightArrow.js.map +1 -1
  570. package/lib/commonjs/icons/Smile.js +1 -8
  571. package/lib/commonjs/icons/Smile.js.map +1 -1
  572. package/lib/commonjs/icons/Sound.js +1 -8
  573. package/lib/commonjs/icons/Sound.js.map +1 -1
  574. package/lib/commonjs/icons/TAR.js +1 -8
  575. package/lib/commonjs/icons/TAR.js.map +1 -1
  576. package/lib/commonjs/icons/TXT.js +1 -8
  577. package/lib/commonjs/icons/TXT.js.map +1 -1
  578. package/lib/commonjs/icons/ThreadReply.js +1 -8
  579. package/lib/commonjs/icons/ThreadReply.js.map +1 -1
  580. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -8
  581. package/lib/commonjs/icons/ThumbsDownReaction.js.map +1 -1
  582. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -8
  583. package/lib/commonjs/icons/ThumbsUpReaction.js.map +1 -1
  584. package/lib/commonjs/icons/Time.js +1 -8
  585. package/lib/commonjs/icons/Time.js.map +1 -1
  586. package/lib/commonjs/icons/Unknown.js +1 -8
  587. package/lib/commonjs/icons/Unknown.js.map +1 -1
  588. package/lib/commonjs/icons/Unpin.js +1 -8
  589. package/lib/commonjs/icons/Unpin.js.map +1 -1
  590. package/lib/commonjs/icons/User.js +1 -8
  591. package/lib/commonjs/icons/User.js.map +1 -1
  592. package/lib/commonjs/icons/UserAdd.js +1 -8
  593. package/lib/commonjs/icons/UserAdd.js.map +1 -1
  594. package/lib/commonjs/icons/UserAdmin.js +3 -12
  595. package/lib/commonjs/icons/UserAdmin.js.map +1 -1
  596. package/lib/commonjs/icons/UserDelete.js +1 -8
  597. package/lib/commonjs/icons/UserDelete.js.map +1 -1
  598. package/lib/commonjs/icons/UserMinus.js +1 -8
  599. package/lib/commonjs/icons/UserMinus.js.map +1 -1
  600. package/lib/commonjs/icons/Video.js +1 -8
  601. package/lib/commonjs/icons/Video.js.map +1 -1
  602. package/lib/commonjs/icons/Warning.js +1 -8
  603. package/lib/commonjs/icons/Warning.js.map +1 -1
  604. package/lib/commonjs/icons/WutReaction.js +1 -8
  605. package/lib/commonjs/icons/WutReaction.js.map +1 -1
  606. package/lib/commonjs/icons/XLS.js +1 -9
  607. package/lib/commonjs/icons/XLS.js.map +1 -1
  608. package/lib/commonjs/icons/XLSX.js +1 -9
  609. package/lib/commonjs/icons/XLSX.js.map +1 -1
  610. package/lib/commonjs/icons/ZIP.js +1 -8
  611. package/lib/commonjs/icons/ZIP.js.map +1 -1
  612. package/lib/commonjs/icons/index.js +0 -168
  613. package/lib/commonjs/icons/index.js.map +1 -1
  614. package/lib/commonjs/icons/utils/base.js +11 -25
  615. package/lib/commonjs/icons/utils/base.js.map +1 -1
  616. package/lib/commonjs/index.js +0 -35
  617. package/lib/commonjs/index.js.map +1 -1
  618. package/lib/commonjs/init.js +0 -3
  619. package/lib/commonjs/init.js.map +1 -1
  620. package/lib/commonjs/mock-builders/DB/consts.js.map +1 -1
  621. package/lib/commonjs/mock-builders/DB/mock.js +0 -11
  622. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  623. package/lib/commonjs/mock-builders/api/channelMocks.js +0 -2
  624. package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
  625. package/lib/commonjs/mock-builders/api/deleteMessage.js +0 -4
  626. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
  627. package/lib/commonjs/mock-builders/api/deleteReaction.js +0 -4
  628. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
  629. package/lib/commonjs/mock-builders/api/error.js +0 -12
  630. package/lib/commonjs/mock-builders/api/error.js.map +1 -1
  631. package/lib/commonjs/mock-builders/api/getOrCreateChannel.js +0 -3
  632. package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
  633. package/lib/commonjs/mock-builders/api/queryChannels.js +0 -3
  634. package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
  635. package/lib/commonjs/mock-builders/api/queryMembers.js +0 -3
  636. package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
  637. package/lib/commonjs/mock-builders/api/sendMessage.js +0 -4
  638. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  639. package/lib/commonjs/mock-builders/api/sendReaction.js +0 -4
  640. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
  641. package/lib/commonjs/mock-builders/api/threadReplies.js +0 -3
  642. package/lib/commonjs/mock-builders/api/threadReplies.js.map +1 -1
  643. package/lib/commonjs/mock-builders/api/useMockedApis.js +1 -3
  644. package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
  645. package/lib/commonjs/mock-builders/api/utils.js +0 -2
  646. package/lib/commonjs/mock-builders/api/utils.js.map +1 -1
  647. package/lib/commonjs/mock-builders/event/channelDeleted.js +0 -2
  648. package/lib/commonjs/mock-builders/event/channelDeleted.js.map +1 -1
  649. package/lib/commonjs/mock-builders/event/channelHidden.js +0 -2
  650. package/lib/commonjs/mock-builders/event/channelHidden.js.map +1 -1
  651. package/lib/commonjs/mock-builders/event/channelTruncated.js +0 -2
  652. package/lib/commonjs/mock-builders/event/channelTruncated.js.map +1 -1
  653. package/lib/commonjs/mock-builders/event/channelUpdated.js +0 -2
  654. package/lib/commonjs/mock-builders/event/channelUpdated.js.map +1 -1
  655. package/lib/commonjs/mock-builders/event/connectionChanged.js +0 -2
  656. package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
  657. package/lib/commonjs/mock-builders/event/connectionRecovered.js +0 -2
  658. package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
  659. package/lib/commonjs/mock-builders/event/memberAdded.js +0 -2
  660. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
  661. package/lib/commonjs/mock-builders/event/memberRemoved.js +0 -2
  662. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
  663. package/lib/commonjs/mock-builders/event/memberUpdated.js +0 -2
  664. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
  665. package/lib/commonjs/mock-builders/event/messageDeleted.js +0 -2
  666. package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
  667. package/lib/commonjs/mock-builders/event/messageNew.js +0 -2
  668. package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
  669. package/lib/commonjs/mock-builders/event/messageRead.js +0 -2
  670. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  671. package/lib/commonjs/mock-builders/event/messageUpdated.js +0 -2
  672. package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
  673. package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js +0 -2
  674. package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js.map +1 -1
  675. package/lib/commonjs/mock-builders/event/notificationMessageNew.js +0 -2
  676. package/lib/commonjs/mock-builders/event/notificationMessageNew.js.map +1 -1
  677. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js +0 -4
  678. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  679. package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js +0 -2
  680. package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
  681. package/lib/commonjs/mock-builders/event/reactionDeleted.js +0 -2
  682. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -1
  683. package/lib/commonjs/mock-builders/event/reactionNew.js +0 -2
  684. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -1
  685. package/lib/commonjs/mock-builders/event/reactionUpdated.js +0 -2
  686. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -1
  687. package/lib/commonjs/mock-builders/event/typing.js +0 -2
  688. package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
  689. package/lib/commonjs/mock-builders/event/userPresence.js +0 -2
  690. package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
  691. package/lib/commonjs/mock-builders/event/userUpdated.js +0 -2
  692. package/lib/commonjs/mock-builders/event/userUpdated.js.map +1 -1
  693. package/lib/commonjs/mock-builders/generator/attachment.js +0 -24
  694. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  695. package/lib/commonjs/mock-builders/generator/channel.js +13 -28
  696. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  697. package/lib/commonjs/mock-builders/generator/member.js +0 -5
  698. package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
  699. package/lib/commonjs/mock-builders/generator/message.js +0 -8
  700. package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
  701. package/lib/commonjs/mock-builders/generator/reaction.js +0 -5
  702. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  703. package/lib/commonjs/mock-builders/generator/user.js +0 -10
  704. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  705. package/lib/commonjs/mock-builders/mock.js +23 -47
  706. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  707. package/lib/commonjs/mock-builders/native/react-native-mock.js.map +1 -1
  708. package/lib/commonjs/native.js +0 -23
  709. package/lib/commonjs/native.js.map +1 -1
  710. package/lib/commonjs/store/QuickSqliteClient.js +2 -49
  711. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
  712. package/lib/commonjs/store/QuickSqliteClient_v4.js +12 -41
  713. package/lib/commonjs/store/QuickSqliteClient_v4.js.map +1 -1
  714. package/lib/commonjs/store/apis/addPendingTask.js +3 -12
  715. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
  716. package/lib/commonjs/store/apis/deleteChannel.js +2 -8
  717. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -1
  718. package/lib/commonjs/store/apis/deleteMember.js +3 -9
  719. package/lib/commonjs/store/apis/deleteMember.js.map +1 -1
  720. package/lib/commonjs/store/apis/deleteMessage.js +2 -8
  721. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
  722. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +2 -8
  723. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
  724. package/lib/commonjs/store/apis/deletePendingTask.js +0 -6
  725. package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -1
  726. package/lib/commonjs/store/apis/deleteReaction.js +4 -10
  727. package/lib/commonjs/store/apis/deleteReaction.js.map +1 -1
  728. package/lib/commonjs/store/apis/deleteReactions.js +2 -8
  729. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
  730. package/lib/commonjs/store/apis/getAllChannelIds.js +0 -3
  731. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
  732. package/lib/commonjs/store/apis/getAppSettings.js +0 -7
  733. package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
  734. package/lib/commonjs/store/apis/getChannelMessages.js +1 -8
  735. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  736. package/lib/commonjs/store/apis/getChannels.js +1 -10
  737. package/lib/commonjs/store/apis/getChannels.js.map +1 -1
  738. package/lib/commonjs/store/apis/getChannelsForFilterSort.js +2 -10
  739. package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -1
  740. package/lib/commonjs/store/apis/getLastSyncedAt.js +0 -7
  741. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  742. package/lib/commonjs/store/apis/getMembers.js +0 -5
  743. package/lib/commonjs/store/apis/getMembers.js.map +1 -1
  744. package/lib/commonjs/store/apis/getPendingTasks.js +0 -7
  745. package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -1
  746. package/lib/commonjs/store/apis/getReads.js +0 -5
  747. package/lib/commonjs/store/apis/getReads.js.map +1 -1
  748. package/lib/commonjs/store/apis/index.js +0 -46
  749. package/lib/commonjs/store/apis/index.js.map +1 -1
  750. package/lib/commonjs/store/apis/insertReaction.js +2 -9
  751. package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
  752. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +1 -9
  753. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  754. package/lib/commonjs/store/apis/queries/selectChannels.js +1 -8
  755. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
  756. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +0 -6
  757. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
  758. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +0 -6
  759. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  760. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +0 -6
  761. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  762. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +0 -6
  763. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
  764. package/lib/commonjs/store/apis/updateMessage.js +2 -22
  765. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  766. package/lib/commonjs/store/apis/updateReaction.js +4 -18
  767. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  768. package/lib/commonjs/store/apis/upsertAppSettings.js +3 -8
  769. package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -1
  770. package/lib/commonjs/store/apis/upsertChannelData.js +2 -9
  771. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -1
  772. package/lib/commonjs/store/apis/upsertChannels.js +8 -26
  773. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  774. package/lib/commonjs/store/apis/upsertCidsForQuery.js +4 -11
  775. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
  776. package/lib/commonjs/store/apis/upsertLastSyncedAt.js +1 -6
  777. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -1
  778. package/lib/commonjs/store/apis/upsertMembers.js +3 -12
  779. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
  780. package/lib/commonjs/store/apis/upsertMessages.js +2 -16
  781. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -1
  782. package/lib/commonjs/store/apis/upsertReads.js +3 -12
  783. package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
  784. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +1 -3
  785. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  786. package/lib/commonjs/store/constants.js.map +1 -1
  787. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +23 -29
  788. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -1
  789. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +0 -2
  790. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
  791. package/lib/commonjs/store/mappers/mapMemberToStorable.js +11 -14
  792. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -1
  793. package/lib/commonjs/store/mappers/mapMessageToStorable.js +12 -18
  794. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
  795. package/lib/commonjs/store/mappers/mapReactionToStorable.js +6 -12
  796. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -1
  797. package/lib/commonjs/store/mappers/mapReadToStorable.js +3 -6
  798. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -1
  799. package/lib/commonjs/store/mappers/mapStorableToChannel.js +23 -27
  800. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -1
  801. package/lib/commonjs/store/mappers/mapStorableToMember.js +11 -14
  802. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -1
  803. package/lib/commonjs/store/mappers/mapStorableToMessage.js +8 -17
  804. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -1
  805. package/lib/commonjs/store/mappers/mapStorableToReaction.js +6 -11
  806. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -1
  807. package/lib/commonjs/store/mappers/mapStorableToRead.js +2 -5
  808. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -1
  809. package/lib/commonjs/store/mappers/mapStorableToTask.js +4 -6
  810. package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -1
  811. package/lib/commonjs/store/mappers/mapStorableToUser.js +7 -11
  812. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -1
  813. package/lib/commonjs/store/mappers/mapTaskToStorable.js +0 -4
  814. package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -1
  815. package/lib/commonjs/store/mappers/mapUserToStorable.js +7 -12
  816. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -1
  817. package/lib/commonjs/store/schema.js.map +1 -1
  818. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js +0 -5
  819. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  820. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +0 -8
  821. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  822. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +2 -10
  823. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  824. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +0 -3
  825. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -1
  826. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +5 -14
  827. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -1
  828. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +3 -11
  829. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -1
  830. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +0 -5
  831. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  832. package/lib/commonjs/store/sqlite-utils/printRow.js +0 -5
  833. package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -1
  834. package/lib/commonjs/store/types.js.map +1 -1
  835. package/lib/commonjs/test-utils/BetterSqlite.js +0 -11
  836. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  837. package/lib/commonjs/types/types.js.map +1 -1
  838. package/lib/commonjs/utils/DBSyncManager.js +217 -321
  839. package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
  840. package/lib/commonjs/utils/Streami18n.js +74 -181
  841. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  842. package/lib/commonjs/utils/addReactionToLocalState.js +4 -21
  843. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
  844. package/lib/commonjs/utils/date.js +0 -2
  845. package/lib/commonjs/utils/date.js.map +1 -1
  846. package/lib/commonjs/utils/getResizedImageUrl.js +4 -10
  847. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  848. package/lib/commonjs/utils/getUrlOfImageAttachment.js +0 -1
  849. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
  850. package/lib/commonjs/utils/patchMessageTextCommand.js +0 -6
  851. package/lib/commonjs/utils/patchMessageTextCommand.js.map +1 -1
  852. package/lib/commonjs/utils/removeReactionFromLocalState.js +3 -9
  853. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
  854. package/lib/commonjs/utils/removeReservedFields.js +0 -4
  855. package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
  856. package/lib/commonjs/utils/utils.js +86 -179
  857. package/lib/commonjs/utils/utils.js.map +1 -1
  858. package/lib/commonjs/version.json +1 -1
  859. package/lib/module/components/Attachment/Attachment.js +45 -56
  860. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  861. package/lib/module/components/Attachment/AttachmentActions.js +25 -43
  862. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  863. package/lib/module/components/Attachment/AudioAttachment.js +114 -191
  864. package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
  865. package/lib/module/components/Attachment/Card.js +53 -80
  866. package/lib/module/components/Attachment/Card.js.map +1 -1
  867. package/lib/module/components/Attachment/FileAttachment.js +30 -57
  868. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  869. package/lib/module/components/Attachment/FileAttachmentGroup.js +19 -50
  870. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  871. package/lib/module/components/Attachment/FileIcon.js +3 -45
  872. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  873. package/lib/module/components/Attachment/Gallery.js +121 -162
  874. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  875. package/lib/module/components/Attachment/GalleryImage.js +5 -23
  876. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  877. package/lib/module/components/Attachment/Giphy.js +76 -109
  878. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  879. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +7 -23
  880. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  881. package/lib/module/components/Attachment/ImageLoadingIndicator.js +3 -15
  882. package/lib/module/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  883. package/lib/module/components/Attachment/VideoThumbnail.js +10 -20
  884. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
  885. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +1 -10
  886. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  887. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +8 -24
  888. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  889. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +22 -35
  890. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  891. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +1 -7
  892. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  893. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +4 -7
  894. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  895. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +5 -9
  896. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  897. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -1
  898. package/lib/module/components/Attachment/utils/getAspectRatio.js +0 -2
  899. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  900. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +12 -14
  901. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  902. package/lib/module/components/Attachment/utils/getGiphyMimeType.js +0 -2
  903. package/lib/module/components/Attachment/utils/getGiphyMimeType.js.map +1 -1
  904. package/lib/module/components/Attachment/utils/openUrlSafely.js +19 -33
  905. package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
  906. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +74 -123
  907. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  908. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +4 -18
  909. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  910. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +33 -56
  911. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  912. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +2 -10
  913. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  914. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +71 -117
  915. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  916. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +33 -59
  917. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  918. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +2 -10
  919. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  920. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +2 -10
  921. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  922. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +4 -14
  923. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  924. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +4 -13
  925. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  926. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +177 -285
  927. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  928. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +6 -24
  929. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  930. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +12 -30
  931. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  932. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +30 -47
  933. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  934. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +21 -49
  935. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  936. package/lib/module/components/Avatar/Avatar.js +22 -42
  937. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  938. package/lib/module/components/Avatar/GroupAvatar.js +15 -33
  939. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  940. package/lib/module/components/Channel/Channel.js +1136 -1586
  941. package/lib/module/components/Channel/Channel.js.map +1 -1
  942. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +31 -34
  943. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  944. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +40 -43
  945. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  946. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +81 -84
  947. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  948. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +1 -11
  949. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  950. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +9 -13
  951. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  952. package/lib/module/components/Channel/hooks/useCreateThreadContext.js +9 -13
  953. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  954. package/lib/module/components/Channel/hooks/useCreateTypingContext.js +0 -3
  955. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  956. package/lib/module/components/Channel/hooks/useTargetedMessage.js +3 -12
  957. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  958. package/lib/module/components/ChannelList/ChannelList.js +71 -110
  959. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  960. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +2 -12
  961. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  962. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +12 -24
  963. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  964. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +9 -20
  965. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  966. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +6 -17
  967. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  968. package/lib/module/components/ChannelList/ChannelListMessenger.js +55 -84
  969. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  970. package/lib/module/components/ChannelList/Skeleton.js +16 -33
  971. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  972. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +28 -50
  973. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  974. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -14
  975. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  976. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -14
  977. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  978. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +4 -12
  979. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  980. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -16
  981. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  982. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +28 -49
  983. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  984. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -17
  985. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  986. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +28 -50
  987. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  988. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -12
  989. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  990. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +1 -12
  991. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  992. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +29 -34
  993. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  994. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +141 -219
  995. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  996. package/lib/module/components/ChannelList/utils.js +13 -26
  997. package/lib/module/components/ChannelList/utils.js.map +1 -1
  998. package/lib/module/components/ChannelPreview/ChannelAvatar.js +3 -19
  999. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  1000. package/lib/module/components/ChannelPreview/ChannelPreview.js +14 -44
  1001. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  1002. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +4 -15
  1003. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  1004. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +35 -60
  1005. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  1006. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +7 -18
  1007. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  1008. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +10 -24
  1009. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  1010. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +4 -14
  1011. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  1012. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +7 -17
  1013. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  1014. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +4 -27
  1015. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  1016. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +12 -36
  1017. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  1018. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js +4 -21
  1019. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  1020. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +22 -68
  1021. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  1022. package/lib/module/components/Chat/Chat.js +26 -69
  1023. package/lib/module/components/Chat/Chat.js.map +1 -1
  1024. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +0 -26
  1025. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
  1026. package/lib/module/components/Chat/hooks/useAppSettings.js +42 -69
  1027. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  1028. package/lib/module/components/Chat/hooks/useCreateChatContext.js +8 -11
  1029. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  1030. package/lib/module/components/Chat/hooks/useIsOnline.js +19 -50
  1031. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  1032. package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -11
  1033. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  1034. package/lib/module/components/Chat/hooks/useSyncDatabase.js +1 -8
  1035. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  1036. package/lib/module/components/ImageBackground.js +7 -21
  1037. package/lib/module/components/ImageBackground.js.map +1 -1
  1038. package/lib/module/components/ImageGallery/ImageGallery.js +53 -131
  1039. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  1040. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +12 -27
  1041. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  1042. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +21 -52
  1043. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  1044. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +79 -125
  1045. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  1046. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +26 -56
  1047. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  1048. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +12 -32
  1049. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  1050. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +14 -27
  1051. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  1052. package/lib/module/components/ImageGallery/components/ImageGrid.js +16 -38
  1053. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  1054. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +12 -26
  1055. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  1056. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +15 -52
  1057. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  1058. package/lib/module/components/Indicators/EmptyStateIndicator.js +10 -25
  1059. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  1060. package/lib/module/components/Indicators/LoadingDot.js +10 -21
  1061. package/lib/module/components/Indicators/LoadingDot.js.map +1 -1
  1062. package/lib/module/components/Indicators/LoadingDots.js +11 -21
  1063. package/lib/module/components/Indicators/LoadingDots.js.map +1 -1
  1064. package/lib/module/components/Indicators/LoadingErrorIndicator.js +16 -33
  1065. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  1066. package/lib/module/components/Indicators/LoadingIndicator.js +8 -26
  1067. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  1068. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +9 -67
  1069. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  1070. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +22 -68
  1071. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  1072. package/lib/module/components/Message/Message.js +246 -335
  1073. package/lib/module/components/Message/Message.js.map +1 -1
  1074. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +20 -40
  1075. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  1076. package/lib/module/components/Message/MessageSimple/MessageContent.js +113 -164
  1077. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  1078. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +27 -49
  1079. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  1080. package/lib/module/components/Message/MessageSimple/MessageFooter.js +55 -68
  1081. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  1082. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +11 -34
  1083. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  1084. package/lib/module/components/Message/MessageSimple/MessageReplies.js +37 -57
  1085. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  1086. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +13 -30
  1087. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  1088. package/lib/module/components/Message/MessageSimple/MessageSimple.js +37 -57
  1089. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  1090. package/lib/module/components/Message/MessageSimple/MessageStatus.js +16 -40
  1091. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  1092. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +30 -51
  1093. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  1094. package/lib/module/components/Message/MessageSimple/ReactionList.js +56 -84
  1095. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  1096. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +23 -37
  1097. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  1098. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +0 -1
  1099. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
  1100. package/lib/module/components/Message/MessageSimple/utils/renderText.js +36 -78
  1101. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  1102. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +97 -127
  1103. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  1104. package/lib/module/components/Message/hooks/useCreateMessageContext.js +37 -42
  1105. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  1106. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +108 -171
  1107. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  1108. package/lib/module/components/Message/hooks/useMessageActions.js +141 -225
  1109. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  1110. package/lib/module/components/Message/utils/messageActions.js +15 -30
  1111. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  1112. package/lib/module/components/MessageInput/AttachButton.js +15 -33
  1113. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  1114. package/lib/module/components/MessageInput/CommandsButton.js +13 -31
  1115. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  1116. package/lib/module/components/MessageInput/CooldownTimer.js +8 -20
  1117. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  1118. package/lib/module/components/MessageInput/FileUploadPreview.js +48 -86
  1119. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  1120. package/lib/module/components/MessageInput/ImageUploadPreview.js +25 -57
  1121. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  1122. package/lib/module/components/MessageInput/InputButtons.js +47 -69
  1123. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  1124. package/lib/module/components/MessageInput/MessageInput.js +176 -236
  1125. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  1126. package/lib/module/components/MessageInput/MoreOptionsButton.js +9 -25
  1127. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  1128. package/lib/module/components/MessageInput/SendButton.js +15 -33
  1129. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  1130. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +9 -20
  1131. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  1132. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +27 -50
  1133. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  1134. package/lib/module/components/MessageInput/UploadProgressIndicator.js +9 -28
  1135. package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  1136. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +14 -34
  1137. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  1138. package/lib/module/components/MessageInput/components/InputGiphySearch.js +20 -41
  1139. package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  1140. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +14 -34
  1141. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  1142. package/lib/module/components/MessageInput/hooks/useCooldown.js +6 -24
  1143. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  1144. package/lib/module/components/MessageInput/hooks/useCountdown.js +3 -16
  1145. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
  1146. package/lib/module/components/MessageList/DateHeader.js +8 -18
  1147. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  1148. package/lib/module/components/MessageList/InlineDateSeparator.js +9 -22
  1149. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  1150. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +3 -21
  1151. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  1152. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -21
  1153. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  1154. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -21
  1155. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  1156. package/lib/module/components/MessageList/InlineUnreadIndicator.js +10 -26
  1157. package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  1158. package/lib/module/components/MessageList/MessageList.js +239 -355
  1159. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  1160. package/lib/module/components/MessageList/MessageSystem.js +14 -27
  1161. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  1162. package/lib/module/components/MessageList/NetworkDownIndicator.js +9 -26
  1163. package/lib/module/components/MessageList/NetworkDownIndicator.js.map +1 -1
  1164. package/lib/module/components/MessageList/ScrollToBottomButton.js +16 -27
  1165. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  1166. package/lib/module/components/MessageList/TypingIndicator.js +8 -19
  1167. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  1168. package/lib/module/components/MessageList/TypingIndicatorContainer.js +8 -29
  1169. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  1170. package/lib/module/components/MessageList/hooks/useMessageList.js +10 -34
  1171. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  1172. package/lib/module/components/MessageList/hooks/useTypingString.js +4 -18
  1173. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  1174. package/lib/module/components/MessageList/utils/filterTypingUsers.js +2 -10
  1175. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  1176. package/lib/module/components/MessageList/utils/getDateSeparators.js +3 -11
  1177. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  1178. package/lib/module/components/MessageList/utils/getGroupStyles.js +5 -18
  1179. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  1180. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +1 -9
  1181. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  1182. package/lib/module/components/MessageList/utils/getReadStates.js +1 -22
  1183. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  1184. package/lib/module/components/MessageOverlay/MessageActionList.js +16 -39
  1185. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  1186. package/lib/module/components/MessageOverlay/MessageActionListItem.js +16 -36
  1187. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  1188. package/lib/module/components/MessageOverlay/MessageOverlay.js +75 -127
  1189. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  1190. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +3 -12
  1191. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  1192. package/lib/module/components/MessageOverlay/OverlayReactionList.js +39 -77
  1193. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  1194. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -53
  1195. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  1196. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +5 -14
  1197. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  1198. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +2 -5
  1199. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  1200. package/lib/module/components/ProgressControl/ProgressControl.js +9 -26
  1201. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  1202. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +3 -13
  1203. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  1204. package/lib/module/components/Reply/Reply.js +37 -79
  1205. package/lib/module/components/Reply/Reply.js.map +1 -1
  1206. package/lib/module/components/Spinner/Spinner.js +6 -20
  1207. package/lib/module/components/Spinner/Spinner.js.map +1 -1
  1208. package/lib/module/components/Thread/Thread.js +28 -57
  1209. package/lib/module/components/Thread/Thread.js.map +1 -1
  1210. package/lib/module/components/Thread/components/ThreadFooterComponent.js +15 -43
  1211. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  1212. package/lib/module/components/docs/data.js +0 -7
  1213. package/lib/module/components/docs/data.js.map +1 -1
  1214. package/lib/module/components/index.js +0 -284
  1215. package/lib/module/components/index.js.map +1 -1
  1216. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -18
  1217. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  1218. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +20 -50
  1219. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  1220. package/lib/module/contexts/channelContext/ChannelContext.js +2 -23
  1221. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  1222. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -23
  1223. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  1224. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +4 -37
  1225. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  1226. package/lib/module/contexts/channelsStateContext/useChannelState.js +63 -81
  1227. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  1228. package/lib/module/contexts/chatContext/ChatContext.js +2 -23
  1229. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  1230. package/lib/module/contexts/debugContext/DebugContext.js +3 -17
  1231. package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
  1232. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +7 -32
  1233. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  1234. package/lib/module/contexts/index.js +0 -48
  1235. package/lib/module/contexts/index.js.map +1 -1
  1236. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -20
  1237. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  1238. package/lib/module/contexts/messageContext/MessageContext.js +2 -20
  1239. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  1240. package/lib/module/contexts/messageInputContext/MessageInputContext.js +531 -762
  1241. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  1242. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +88 -91
  1243. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  1244. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +19 -44
  1245. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  1246. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -24
  1247. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  1248. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +3 -12
  1249. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  1250. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +40 -52
  1251. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  1252. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -23
  1253. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  1254. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -20
  1255. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  1256. package/lib/module/contexts/overlayContext/OverlayProvider.js +76 -124
  1257. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  1258. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +2 -18
  1259. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  1260. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -23
  1261. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  1262. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +11 -46
  1263. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  1264. package/lib/module/contexts/themeContext/ThemeContext.js +5 -28
  1265. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  1266. package/lib/module/contexts/themeContext/utils/theme.js +0 -4
  1267. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  1268. package/lib/module/contexts/threadContext/ThreadContext.js +2 -23
  1269. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  1270. package/lib/module/contexts/translationContext/TranslationContext.js +2 -26
  1271. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  1272. package/lib/module/contexts/typingContext/TypingContext.js +2 -23
  1273. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  1274. package/lib/module/contexts/utils/defaultBaseContextValue.js.map +1 -1
  1275. package/lib/module/contexts/utils/getDisplayName.js +0 -2
  1276. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  1277. package/lib/module/contexts/utils/isTestEnvironment.js +0 -2
  1278. package/lib/module/contexts/utils/isTestEnvironment.js.map +1 -1
  1279. package/lib/module/emoji-data/compile.js +2 -4
  1280. package/lib/module/emoji-data/compile.js.map +1 -1
  1281. package/lib/module/emoji-data/compiled.js.map +1 -1
  1282. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  1283. package/lib/module/emoji-data/emojis.js.map +1 -1
  1284. package/lib/module/emoji-data/index.js +1 -7
  1285. package/lib/module/emoji-data/index.js.map +1 -1
  1286. package/lib/module/hooks/index.js +0 -4
  1287. package/lib/module/hooks/index.js.map +1 -1
  1288. package/lib/module/hooks/useAppStateListener.js +0 -7
  1289. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  1290. package/lib/module/hooks/useIsMountedRef.js +0 -3
  1291. package/lib/module/hooks/useIsMountedRef.js.map +1 -1
  1292. package/lib/module/hooks/useLoadingImage.js +7 -16
  1293. package/lib/module/hooks/useLoadingImage.js.map +1 -1
  1294. package/lib/module/hooks/useStreami18n.js +4 -16
  1295. package/lib/module/hooks/useStreami18n.js.map +1 -1
  1296. package/lib/module/hooks/useTranslatedMessage.js +1 -11
  1297. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  1298. package/lib/module/icons/ArrowRight.js +1 -8
  1299. package/lib/module/icons/ArrowRight.js.map +1 -1
  1300. package/lib/module/icons/AtMentions.js +1 -8
  1301. package/lib/module/icons/AtMentions.js.map +1 -1
  1302. package/lib/module/icons/Attach.js +1 -8
  1303. package/lib/module/icons/Attach.js.map +1 -1
  1304. package/lib/module/icons/Audio.js +1 -9
  1305. package/lib/module/icons/Audio.js.map +1 -1
  1306. package/lib/module/icons/CSV.js +1 -8
  1307. package/lib/module/icons/CSV.js.map +1 -1
  1308. package/lib/module/icons/Camera.js +1 -8
  1309. package/lib/module/icons/Camera.js.map +1 -1
  1310. package/lib/module/icons/Check.js +1 -8
  1311. package/lib/module/icons/Check.js.map +1 -1
  1312. package/lib/module/icons/CheckAll.js +1 -8
  1313. package/lib/module/icons/CheckAll.js.map +1 -1
  1314. package/lib/module/icons/CheckSend.js +1 -8
  1315. package/lib/module/icons/CheckSend.js.map +1 -1
  1316. package/lib/module/icons/CircleClose.js +1 -8
  1317. package/lib/module/icons/CircleClose.js.map +1 -1
  1318. package/lib/module/icons/CirclePlus.js +1 -8
  1319. package/lib/module/icons/CirclePlus.js.map +1 -1
  1320. package/lib/module/icons/CircleRight.js +1 -8
  1321. package/lib/module/icons/CircleRight.js.map +1 -1
  1322. package/lib/module/icons/Close.js +1 -8
  1323. package/lib/module/icons/Close.js.map +1 -1
  1324. package/lib/module/icons/Copy.js +1 -8
  1325. package/lib/module/icons/Copy.js.map +1 -1
  1326. package/lib/module/icons/CurveLineLeftUp.js +1 -8
  1327. package/lib/module/icons/CurveLineLeftUp.js.map +1 -1
  1328. package/lib/module/icons/DOC.js +1 -9
  1329. package/lib/module/icons/DOC.js.map +1 -1
  1330. package/lib/module/icons/DOCX.js +1 -9
  1331. package/lib/module/icons/DOCX.js.map +1 -1
  1332. package/lib/module/icons/Delete.js +1 -8
  1333. package/lib/module/icons/Delete.js.map +1 -1
  1334. package/lib/module/icons/Down.js +1 -8
  1335. package/lib/module/icons/Down.js.map +1 -1
  1336. package/lib/module/icons/DownloadArrow.js +1 -8
  1337. package/lib/module/icons/DownloadArrow.js.map +1 -1
  1338. package/lib/module/icons/DownloadCloud.js +1 -8
  1339. package/lib/module/icons/DownloadCloud.js.map +1 -1
  1340. package/lib/module/icons/Edit.js +1 -8
  1341. package/lib/module/icons/Edit.js.map +1 -1
  1342. package/lib/module/icons/Error.js +1 -8
  1343. package/lib/module/icons/Error.js.map +1 -1
  1344. package/lib/module/icons/Eye.js +1 -8
  1345. package/lib/module/icons/Eye.js.map +1 -1
  1346. package/lib/module/icons/Flag.js +1 -8
  1347. package/lib/module/icons/Flag.js.map +1 -1
  1348. package/lib/module/icons/Folder.js +1 -8
  1349. package/lib/module/icons/Folder.js.map +1 -1
  1350. package/lib/module/icons/GenericFile.js +1 -9
  1351. package/lib/module/icons/GenericFile.js.map +1 -1
  1352. package/lib/module/icons/GiphyIcon.js +1 -8
  1353. package/lib/module/icons/GiphyIcon.js.map +1 -1
  1354. package/lib/module/icons/Grid.js +1 -8
  1355. package/lib/module/icons/Grid.js.map +1 -1
  1356. package/lib/module/icons/Group.js +1 -8
  1357. package/lib/module/icons/Group.js.map +1 -1
  1358. package/lib/module/icons/HTML.js +1 -8
  1359. package/lib/module/icons/HTML.js.map +1 -1
  1360. package/lib/module/icons/Imgur.js +1 -9
  1361. package/lib/module/icons/Imgur.js.map +1 -1
  1362. package/lib/module/icons/LOLReaction.js +1 -8
  1363. package/lib/module/icons/LOLReaction.js.map +1 -1
  1364. package/lib/module/icons/Lightning.js +1 -8
  1365. package/lib/module/icons/Lightning.js.map +1 -1
  1366. package/lib/module/icons/Link.js +1 -8
  1367. package/lib/module/icons/Link.js.map +1 -1
  1368. package/lib/module/icons/Loading.js +12 -20
  1369. package/lib/module/icons/Loading.js.map +1 -1
  1370. package/lib/module/icons/Logo.js +1 -8
  1371. package/lib/module/icons/Logo.js.map +1 -1
  1372. package/lib/module/icons/LoveReaction.js +1 -8
  1373. package/lib/module/icons/LoveReaction.js.map +1 -1
  1374. package/lib/module/icons/MD.js +1 -8
  1375. package/lib/module/icons/MD.js.map +1 -1
  1376. package/lib/module/icons/MailOpen.js +1 -8
  1377. package/lib/module/icons/MailOpen.js.map +1 -1
  1378. package/lib/module/icons/MenuPointHorizontal.js +1 -8
  1379. package/lib/module/icons/MenuPointHorizontal.js.map +1 -1
  1380. package/lib/module/icons/MenuPointVertical.js +1 -8
  1381. package/lib/module/icons/MenuPointVertical.js.map +1 -1
  1382. package/lib/module/icons/MessageFlag.js +1 -8
  1383. package/lib/module/icons/MessageFlag.js.map +1 -1
  1384. package/lib/module/icons/MessageIcon.js +1 -8
  1385. package/lib/module/icons/MessageIcon.js.map +1 -1
  1386. package/lib/module/icons/Mute.js +1 -8
  1387. package/lib/module/icons/Mute.js.map +1 -1
  1388. package/lib/module/icons/Notification.js +1 -8
  1389. package/lib/module/icons/Notification.js.map +1 -1
  1390. package/lib/module/icons/ODT.js +1 -8
  1391. package/lib/module/icons/ODT.js.map +1 -1
  1392. package/lib/module/icons/PDF.js +1 -8
  1393. package/lib/module/icons/PDF.js.map +1 -1
  1394. package/lib/module/icons/PPT.js +1 -9
  1395. package/lib/module/icons/PPT.js.map +1 -1
  1396. package/lib/module/icons/PPTX.js +1 -9
  1397. package/lib/module/icons/PPTX.js.map +1 -1
  1398. package/lib/module/icons/Pause.js +2 -10
  1399. package/lib/module/icons/Pause.js.map +1 -1
  1400. package/lib/module/icons/Picture.js +1 -8
  1401. package/lib/module/icons/Picture.js.map +1 -1
  1402. package/lib/module/icons/Pin.js +1 -8
  1403. package/lib/module/icons/Pin.js.map +1 -1
  1404. package/lib/module/icons/PinHeader.js +1 -8
  1405. package/lib/module/icons/PinHeader.js.map +1 -1
  1406. package/lib/module/icons/Play.js +1 -8
  1407. package/lib/module/icons/Play.js.map +1 -1
  1408. package/lib/module/icons/RAR.js +1 -8
  1409. package/lib/module/icons/RAR.js.map +1 -1
  1410. package/lib/module/icons/RTF.js +1 -8
  1411. package/lib/module/icons/RTF.js.map +1 -1
  1412. package/lib/module/icons/Recorder.js +1 -8
  1413. package/lib/module/icons/Recorder.js.map +1 -1
  1414. package/lib/module/icons/Refresh.js +1 -8
  1415. package/lib/module/icons/Refresh.js.map +1 -1
  1416. package/lib/module/icons/SEVEN_Z.js +1 -8
  1417. package/lib/module/icons/SEVEN_Z.js.map +1 -1
  1418. package/lib/module/icons/Search.js +1 -8
  1419. package/lib/module/icons/Search.js.map +1 -1
  1420. package/lib/module/icons/SendRight.js +1 -8
  1421. package/lib/module/icons/SendRight.js.map +1 -1
  1422. package/lib/module/icons/SendUp.js +1 -8
  1423. package/lib/module/icons/SendUp.js.map +1 -1
  1424. package/lib/module/icons/Share.js +1 -9
  1425. package/lib/module/icons/Share.js.map +1 -1
  1426. package/lib/module/icons/ShareRightArrow.js +1 -8
  1427. package/lib/module/icons/ShareRightArrow.js.map +1 -1
  1428. package/lib/module/icons/Smile.js +1 -8
  1429. package/lib/module/icons/Smile.js.map +1 -1
  1430. package/lib/module/icons/Sound.js +1 -8
  1431. package/lib/module/icons/Sound.js.map +1 -1
  1432. package/lib/module/icons/TAR.js +1 -8
  1433. package/lib/module/icons/TAR.js.map +1 -1
  1434. package/lib/module/icons/TXT.js +1 -8
  1435. package/lib/module/icons/TXT.js.map +1 -1
  1436. package/lib/module/icons/ThreadReply.js +1 -8
  1437. package/lib/module/icons/ThreadReply.js.map +1 -1
  1438. package/lib/module/icons/ThumbsDownReaction.js +1 -8
  1439. package/lib/module/icons/ThumbsDownReaction.js.map +1 -1
  1440. package/lib/module/icons/ThumbsUpReaction.js +1 -8
  1441. package/lib/module/icons/ThumbsUpReaction.js.map +1 -1
  1442. package/lib/module/icons/Time.js +1 -8
  1443. package/lib/module/icons/Time.js.map +1 -1
  1444. package/lib/module/icons/Unknown.js +1 -8
  1445. package/lib/module/icons/Unknown.js.map +1 -1
  1446. package/lib/module/icons/Unpin.js +1 -8
  1447. package/lib/module/icons/Unpin.js.map +1 -1
  1448. package/lib/module/icons/User.js +1 -8
  1449. package/lib/module/icons/User.js.map +1 -1
  1450. package/lib/module/icons/UserAdd.js +1 -8
  1451. package/lib/module/icons/UserAdd.js.map +1 -1
  1452. package/lib/module/icons/UserAdmin.js +3 -12
  1453. package/lib/module/icons/UserAdmin.js.map +1 -1
  1454. package/lib/module/icons/UserDelete.js +1 -8
  1455. package/lib/module/icons/UserDelete.js.map +1 -1
  1456. package/lib/module/icons/UserMinus.js +1 -8
  1457. package/lib/module/icons/UserMinus.js.map +1 -1
  1458. package/lib/module/icons/Video.js +1 -8
  1459. package/lib/module/icons/Video.js.map +1 -1
  1460. package/lib/module/icons/Warning.js +1 -8
  1461. package/lib/module/icons/Warning.js.map +1 -1
  1462. package/lib/module/icons/WutReaction.js +1 -8
  1463. package/lib/module/icons/WutReaction.js.map +1 -1
  1464. package/lib/module/icons/XLS.js +1 -9
  1465. package/lib/module/icons/XLS.js.map +1 -1
  1466. package/lib/module/icons/XLSX.js +1 -9
  1467. package/lib/module/icons/XLSX.js.map +1 -1
  1468. package/lib/module/icons/ZIP.js +1 -8
  1469. package/lib/module/icons/ZIP.js.map +1 -1
  1470. package/lib/module/icons/index.js +0 -168
  1471. package/lib/module/icons/index.js.map +1 -1
  1472. package/lib/module/icons/utils/base.js +11 -25
  1473. package/lib/module/icons/utils/base.js.map +1 -1
  1474. package/lib/module/index.js +0 -35
  1475. package/lib/module/index.js.map +1 -1
  1476. package/lib/module/init.js +0 -3
  1477. package/lib/module/init.js.map +1 -1
  1478. package/lib/module/mock-builders/DB/consts.js.map +1 -1
  1479. package/lib/module/mock-builders/DB/mock.js +0 -11
  1480. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  1481. package/lib/module/mock-builders/api/channelMocks.js +0 -2
  1482. package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
  1483. package/lib/module/mock-builders/api/deleteMessage.js +0 -4
  1484. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
  1485. package/lib/module/mock-builders/api/deleteReaction.js +0 -4
  1486. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
  1487. package/lib/module/mock-builders/api/error.js +0 -12
  1488. package/lib/module/mock-builders/api/error.js.map +1 -1
  1489. package/lib/module/mock-builders/api/getOrCreateChannel.js +0 -3
  1490. package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
  1491. package/lib/module/mock-builders/api/queryChannels.js +0 -3
  1492. package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
  1493. package/lib/module/mock-builders/api/queryMembers.js +0 -3
  1494. package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
  1495. package/lib/module/mock-builders/api/sendMessage.js +0 -4
  1496. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  1497. package/lib/module/mock-builders/api/sendReaction.js +0 -4
  1498. package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
  1499. package/lib/module/mock-builders/api/threadReplies.js +0 -3
  1500. package/lib/module/mock-builders/api/threadReplies.js.map +1 -1
  1501. package/lib/module/mock-builders/api/useMockedApis.js +1 -3
  1502. package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
  1503. package/lib/module/mock-builders/api/utils.js +0 -2
  1504. package/lib/module/mock-builders/api/utils.js.map +1 -1
  1505. package/lib/module/mock-builders/event/channelDeleted.js +0 -2
  1506. package/lib/module/mock-builders/event/channelDeleted.js.map +1 -1
  1507. package/lib/module/mock-builders/event/channelHidden.js +0 -2
  1508. package/lib/module/mock-builders/event/channelHidden.js.map +1 -1
  1509. package/lib/module/mock-builders/event/channelTruncated.js +0 -2
  1510. package/lib/module/mock-builders/event/channelTruncated.js.map +1 -1
  1511. package/lib/module/mock-builders/event/channelUpdated.js +0 -2
  1512. package/lib/module/mock-builders/event/channelUpdated.js.map +1 -1
  1513. package/lib/module/mock-builders/event/connectionChanged.js +0 -2
  1514. package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
  1515. package/lib/module/mock-builders/event/connectionRecovered.js +0 -2
  1516. package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
  1517. package/lib/module/mock-builders/event/memberAdded.js +0 -2
  1518. package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
  1519. package/lib/module/mock-builders/event/memberRemoved.js +0 -2
  1520. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
  1521. package/lib/module/mock-builders/event/memberUpdated.js +0 -2
  1522. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
  1523. package/lib/module/mock-builders/event/messageDeleted.js +0 -2
  1524. package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
  1525. package/lib/module/mock-builders/event/messageNew.js +0 -2
  1526. package/lib/module/mock-builders/event/messageNew.js.map +1 -1
  1527. package/lib/module/mock-builders/event/messageRead.js +0 -2
  1528. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  1529. package/lib/module/mock-builders/event/messageUpdated.js +0 -2
  1530. package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
  1531. package/lib/module/mock-builders/event/notificationAddedToChannel.js +0 -2
  1532. package/lib/module/mock-builders/event/notificationAddedToChannel.js.map +1 -1
  1533. package/lib/module/mock-builders/event/notificationMessageNew.js +0 -2
  1534. package/lib/module/mock-builders/event/notificationMessageNew.js.map +1 -1
  1535. package/lib/module/mock-builders/event/notificationMutesUpdated.js +0 -4
  1536. package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  1537. package/lib/module/mock-builders/event/notificationRemovedFromChannel.js +0 -2
  1538. package/lib/module/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
  1539. package/lib/module/mock-builders/event/reactionDeleted.js +0 -2
  1540. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -1
  1541. package/lib/module/mock-builders/event/reactionNew.js +0 -2
  1542. package/lib/module/mock-builders/event/reactionNew.js.map +1 -1
  1543. package/lib/module/mock-builders/event/reactionUpdated.js +0 -2
  1544. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -1
  1545. package/lib/module/mock-builders/event/typing.js +0 -2
  1546. package/lib/module/mock-builders/event/typing.js.map +1 -1
  1547. package/lib/module/mock-builders/event/userPresence.js +0 -2
  1548. package/lib/module/mock-builders/event/userPresence.js.map +1 -1
  1549. package/lib/module/mock-builders/event/userUpdated.js +0 -2
  1550. package/lib/module/mock-builders/event/userUpdated.js.map +1 -1
  1551. package/lib/module/mock-builders/generator/attachment.js +0 -24
  1552. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  1553. package/lib/module/mock-builders/generator/channel.js +13 -28
  1554. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  1555. package/lib/module/mock-builders/generator/member.js +0 -5
  1556. package/lib/module/mock-builders/generator/member.js.map +1 -1
  1557. package/lib/module/mock-builders/generator/message.js +0 -8
  1558. package/lib/module/mock-builders/generator/message.js.map +1 -1
  1559. package/lib/module/mock-builders/generator/reaction.js +0 -5
  1560. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  1561. package/lib/module/mock-builders/generator/user.js +0 -10
  1562. package/lib/module/mock-builders/generator/user.js.map +1 -1
  1563. package/lib/module/mock-builders/mock.js +23 -47
  1564. package/lib/module/mock-builders/mock.js.map +1 -1
  1565. package/lib/module/mock-builders/native/react-native-mock.js.map +1 -1
  1566. package/lib/module/native.js +0 -23
  1567. package/lib/module/native.js.map +1 -1
  1568. package/lib/module/store/QuickSqliteClient.js +2 -49
  1569. package/lib/module/store/QuickSqliteClient.js.map +1 -1
  1570. package/lib/module/store/QuickSqliteClient_v4.js +12 -41
  1571. package/lib/module/store/QuickSqliteClient_v4.js.map +1 -1
  1572. package/lib/module/store/apis/addPendingTask.js +3 -12
  1573. package/lib/module/store/apis/addPendingTask.js.map +1 -1
  1574. package/lib/module/store/apis/deleteChannel.js +2 -8
  1575. package/lib/module/store/apis/deleteChannel.js.map +1 -1
  1576. package/lib/module/store/apis/deleteMember.js +3 -9
  1577. package/lib/module/store/apis/deleteMember.js.map +1 -1
  1578. package/lib/module/store/apis/deleteMessage.js +2 -8
  1579. package/lib/module/store/apis/deleteMessage.js.map +1 -1
  1580. package/lib/module/store/apis/deleteMessagesForChannel.js +2 -8
  1581. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
  1582. package/lib/module/store/apis/deletePendingTask.js +0 -6
  1583. package/lib/module/store/apis/deletePendingTask.js.map +1 -1
  1584. package/lib/module/store/apis/deleteReaction.js +4 -10
  1585. package/lib/module/store/apis/deleteReaction.js.map +1 -1
  1586. package/lib/module/store/apis/deleteReactions.js +2 -8
  1587. package/lib/module/store/apis/deleteReactions.js.map +1 -1
  1588. package/lib/module/store/apis/getAllChannelIds.js +0 -3
  1589. package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
  1590. package/lib/module/store/apis/getAppSettings.js +0 -7
  1591. package/lib/module/store/apis/getAppSettings.js.map +1 -1
  1592. package/lib/module/store/apis/getChannelMessages.js +1 -8
  1593. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  1594. package/lib/module/store/apis/getChannels.js +1 -10
  1595. package/lib/module/store/apis/getChannels.js.map +1 -1
  1596. package/lib/module/store/apis/getChannelsForFilterSort.js +2 -10
  1597. package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -1
  1598. package/lib/module/store/apis/getLastSyncedAt.js +0 -7
  1599. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  1600. package/lib/module/store/apis/getMembers.js +0 -5
  1601. package/lib/module/store/apis/getMembers.js.map +1 -1
  1602. package/lib/module/store/apis/getPendingTasks.js +0 -7
  1603. package/lib/module/store/apis/getPendingTasks.js.map +1 -1
  1604. package/lib/module/store/apis/getReads.js +0 -5
  1605. package/lib/module/store/apis/getReads.js.map +1 -1
  1606. package/lib/module/store/apis/index.js +0 -46
  1607. package/lib/module/store/apis/index.js.map +1 -1
  1608. package/lib/module/store/apis/insertReaction.js +2 -9
  1609. package/lib/module/store/apis/insertReaction.js.map +1 -1
  1610. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +1 -9
  1611. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  1612. package/lib/module/store/apis/queries/selectChannels.js +1 -8
  1613. package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
  1614. package/lib/module/store/apis/queries/selectMembersForChannels.js +0 -6
  1615. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
  1616. package/lib/module/store/apis/queries/selectMessagesForChannels.js +0 -6
  1617. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  1618. package/lib/module/store/apis/queries/selectReactionsForMessages.js +0 -6
  1619. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  1620. package/lib/module/store/apis/queries/selectReadsForChannels.js +0 -6
  1621. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
  1622. package/lib/module/store/apis/updateMessage.js +2 -22
  1623. package/lib/module/store/apis/updateMessage.js.map +1 -1
  1624. package/lib/module/store/apis/updateReaction.js +4 -18
  1625. package/lib/module/store/apis/updateReaction.js.map +1 -1
  1626. package/lib/module/store/apis/upsertAppSettings.js +3 -8
  1627. package/lib/module/store/apis/upsertAppSettings.js.map +1 -1
  1628. package/lib/module/store/apis/upsertChannelData.js +2 -9
  1629. package/lib/module/store/apis/upsertChannelData.js.map +1 -1
  1630. package/lib/module/store/apis/upsertChannels.js +8 -26
  1631. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  1632. package/lib/module/store/apis/upsertCidsForQuery.js +4 -11
  1633. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
  1634. package/lib/module/store/apis/upsertLastSyncedAt.js +1 -6
  1635. package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -1
  1636. package/lib/module/store/apis/upsertMembers.js +3 -12
  1637. package/lib/module/store/apis/upsertMembers.js.map +1 -1
  1638. package/lib/module/store/apis/upsertMessages.js +2 -16
  1639. package/lib/module/store/apis/upsertMessages.js.map +1 -1
  1640. package/lib/module/store/apis/upsertReads.js +3 -12
  1641. package/lib/module/store/apis/upsertReads.js.map +1 -1
  1642. package/lib/module/store/apis/utils/convertFilterSortToQuery.js +1 -3
  1643. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  1644. package/lib/module/store/constants.js.map +1 -1
  1645. package/lib/module/store/mappers/mapChannelDataToStorable.js +23 -29
  1646. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -1
  1647. package/lib/module/store/mappers/mapDateTimeToStorable.js +0 -2
  1648. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
  1649. package/lib/module/store/mappers/mapMemberToStorable.js +11 -14
  1650. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -1
  1651. package/lib/module/store/mappers/mapMessageToStorable.js +12 -18
  1652. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
  1653. package/lib/module/store/mappers/mapReactionToStorable.js +6 -12
  1654. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -1
  1655. package/lib/module/store/mappers/mapReadToStorable.js +3 -6
  1656. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -1
  1657. package/lib/module/store/mappers/mapStorableToChannel.js +23 -27
  1658. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -1
  1659. package/lib/module/store/mappers/mapStorableToMember.js +11 -14
  1660. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -1
  1661. package/lib/module/store/mappers/mapStorableToMessage.js +8 -17
  1662. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -1
  1663. package/lib/module/store/mappers/mapStorableToReaction.js +6 -11
  1664. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -1
  1665. package/lib/module/store/mappers/mapStorableToRead.js +2 -5
  1666. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -1
  1667. package/lib/module/store/mappers/mapStorableToTask.js +4 -6
  1668. package/lib/module/store/mappers/mapStorableToTask.js.map +1 -1
  1669. package/lib/module/store/mappers/mapStorableToUser.js +7 -11
  1670. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -1
  1671. package/lib/module/store/mappers/mapTaskToStorable.js +0 -4
  1672. package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -1
  1673. package/lib/module/store/mappers/mapUserToStorable.js +7 -12
  1674. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -1
  1675. package/lib/module/store/schema.js.map +1 -1
  1676. package/lib/module/store/sqlite-utils/appendOrderByClause.js +0 -5
  1677. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  1678. package/lib/module/store/sqlite-utils/appendWhereCluase.js +0 -8
  1679. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  1680. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +2 -10
  1681. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  1682. package/lib/module/store/sqlite-utils/createDeleteQuery.js +0 -3
  1683. package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -1
  1684. package/lib/module/store/sqlite-utils/createSelectQuery.js +5 -14
  1685. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -1
  1686. package/lib/module/store/sqlite-utils/createUpdateQuery.js +3 -11
  1687. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -1
  1688. package/lib/module/store/sqlite-utils/createUpsertQuery.js +0 -5
  1689. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  1690. package/lib/module/store/sqlite-utils/printRow.js +0 -5
  1691. package/lib/module/store/sqlite-utils/printRow.js.map +1 -1
  1692. package/lib/module/store/types.js.map +1 -1
  1693. package/lib/module/test-utils/BetterSqlite.js +0 -11
  1694. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  1695. package/lib/module/types/types.js.map +1 -1
  1696. package/lib/module/utils/DBSyncManager.js +217 -321
  1697. package/lib/module/utils/DBSyncManager.js.map +1 -1
  1698. package/lib/module/utils/Streami18n.js +74 -181
  1699. package/lib/module/utils/Streami18n.js.map +1 -1
  1700. package/lib/module/utils/addReactionToLocalState.js +4 -21
  1701. package/lib/module/utils/addReactionToLocalState.js.map +1 -1
  1702. package/lib/module/utils/date.js +0 -2
  1703. package/lib/module/utils/date.js.map +1 -1
  1704. package/lib/module/utils/getResizedImageUrl.js +4 -10
  1705. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  1706. package/lib/module/utils/getUrlOfImageAttachment.js +0 -1
  1707. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
  1708. package/lib/module/utils/patchMessageTextCommand.js +0 -6
  1709. package/lib/module/utils/patchMessageTextCommand.js.map +1 -1
  1710. package/lib/module/utils/removeReactionFromLocalState.js +3 -9
  1711. package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
  1712. package/lib/module/utils/removeReservedFields.js +0 -4
  1713. package/lib/module/utils/removeReservedFields.js.map +1 -1
  1714. package/lib/module/utils/utils.js +86 -179
  1715. package/lib/module/utils/utils.js.map +1 -1
  1716. package/lib/module/version.json +1 -1
  1717. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -0
  1718. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +1 -0
  1719. package/lib/typescript/components/Attachment/AudioAttachment.d.ts +1 -0
  1720. package/lib/typescript/components/Attachment/Card.d.ts +1 -0
  1721. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -0
  1722. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +1 -0
  1723. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -0
  1724. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -0
  1725. package/lib/typescript/components/Attachment/ImageLoadingFailedIndicator.d.ts +1 -0
  1726. package/lib/typescript/components/Attachment/ImageLoadingIndicator.d.ts +1 -0
  1727. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +1 -0
  1728. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +1 -0
  1729. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +1 -0
  1730. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +1 -0
  1731. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +1 -0
  1732. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +1 -0
  1733. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -0
  1734. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +1 -0
  1735. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +1 -0
  1736. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +1 -0
  1737. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +1 -0
  1738. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +1 -0
  1739. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +1 -0
  1740. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +1 -0
  1741. package/lib/typescript/components/Message/Message.d.ts +1 -0
  1742. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +1 -0
  1743. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +1 -0
  1744. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +1 -0
  1745. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +1 -0
  1746. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -0
  1747. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -0
  1748. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -0
  1749. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +1 -0
  1750. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +1 -0
  1751. package/lib/typescript/components/MessageInput/AttachButton.d.ts +1 -0
  1752. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +1 -0
  1753. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +1 -0
  1754. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +1 -0
  1755. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +1 -0
  1756. package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -0
  1757. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -0
  1758. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +1 -0
  1759. package/lib/typescript/components/MessageInput/SendButton.d.ts +1 -0
  1760. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  1761. package/lib/typescript/components/MessageInput/components/InputEditingStateHeader.d.ts +1 -0
  1762. package/lib/typescript/components/MessageInput/components/InputGiphySearch.d.ts +1 -0
  1763. package/lib/typescript/components/MessageInput/components/InputReplyStateHeader.d.ts +1 -0
  1764. package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -0
  1765. package/lib/typescript/components/MessageList/NetworkDownIndicator.d.ts +1 -0
  1766. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +1 -0
  1767. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +1 -0
  1768. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +1 -0
  1769. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +1 -0
  1770. package/lib/typescript/components/Reply/Reply.d.ts +1 -0
  1771. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +1 -0
  1772. package/package.json +6 -2
  1773. package/src/components/Message/MessageSimple/utils/renderText.tsx +3 -1
  1774. package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +6 -0
  1775. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +12 -0
  1776. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +9 -0
  1777. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["Channel.tsx"],"names":["styles","StyleSheet","create","selectChannel","fontWeight","padding","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","scrollToFirstUnreadThreshold","defaultThrottleInterval","defaultDebounceInterval","throttleOptions","leading","trailing","debounceOptions","ChannelWithContext","props","additionalKeyboardAvoidingViewProps","additionalTextInputProps","additionalTouchableProps","allowThreadMessagesInChannel","AttachButton","AttachButtonDefault","Attachment","AttachmentDefault","AttachmentActions","AttachmentActionsDefault","AudioAttachment","AudioAttachmentDefault","AutoCompleteSuggestionHeader","AutoCompleteSuggestionHeaderDefault","AutoCompleteSuggestionItem","AutoCompleteSuggestionItemDefault","AutoCompleteSuggestionList","AutoCompleteSuggestionListDefault","autoCompleteSuggestionsLimit","autoCompleteTriggerSettings","Card","CardDefault","CardCover","CardFooter","CardHeader","channel","children","client","CommandsButton","CommandsButtonDefault","compressImageQuality","CooldownTimer","CooldownTimerDefault","DateHeader","DateHeaderDefault","deletedMessagesVisibilityType","disableIfFrozenChannel","disableKeyboardCompatibleView","disableTypingIndicator","dismissKeyboardOnMessageTouch","doDocUploadRequest","doImageUploadRequest","doMarkReadRequest","doSendMessageRequest","doUpdateMessageRequest","EmptyStateIndicator","EmptyStateIndicatorDefault","enableMessageGroupingByUser","enableOfflineSupport","enforceUniqueReaction","FileAttachment","FileAttachmentDefault","FileAttachmentGroup","FileAttachmentGroupDefault","FileAttachmentIcon","FileIconDefault","FileUploadPreview","FileUploadPreviewDefault","FlatList","FlatListDefault","forceAlignMessages","formatDate","Gallery","GalleryDefault","getMessagesGroupStyles","Giphy","GiphyDefault","giphyEnabled","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","hasCommands","hasFilePicker","pickDocument","hasImagePicker","hideDateSeparators","hideStickyDateHeader","ImageUploadPreview","ImageUploadPreviewDefault","initialScrollToFirstUnreadMessage","initialValue","InlineDateSeparator","InlineDateSeparatorDefault","InlineUnreadIndicator","InlineUnreadIndicatorDefault","Input","InputButtons","InputButtonsDefault","InputEditingStateHeader","InputEditingStateHeaderDefault","InputGiphySearch","InputGiphyCommandInputDefault","InputReplyStateHeader","InputReplyStateHeaderDefault","isAttachmentEqual","keyboardBehavior","KeyboardCompatibleView","KeyboardCompatibleViewDefault","keyboardVerticalOffset","legacyImageViewerSwipeBehaviour","LoadingErrorIndicator","LoadingErrorIndicatorDefault","LoadingIndicator","LoadingIndicatorDefault","loadingMoreProp","loadingMore","loadingMoreRecentProp","loadingMoreRecent","ImageLoadingFailedIndicator","ImageLoadingFailedIndicatorDefault","ImageLoadingIndicator","ImageLoadingIndicatorDefault","markdownRules","maxMessageLengthProp","maxMessageLength","maxNumberOfFiles","maxTimeBetweenGroupedMessages","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","members","Message","MessageDefault","messageActions","MessageAvatar","MessageAvatarDefault","MessageContent","MessageContentDefault","messageContentOrder","MessageDeleted","MessageDeletedDefault","MessageFooter","MessageFooterDefault","MessageHeader","messageId","MessageList","MessageListDefault","MessagePinnedHeader","MessagePinnedHeaderDefault","MessageReplies","MessageRepliesDefault","MessageRepliesAvatars","MessageRepliesAvatarsDefault","messages","MessageSimple","MessageSimpleDefault","MessageStatus","MessageStatusDefault","MessageSystem","MessageSystemDefault","MessageText","MoreOptionsButton","MoreOptionsButtonDefault","myMessageTheme","newMessageStateUpdateThrottleInterval","NetworkDownIndicator","NetworkDownIndicatorDefault","numberOfLines","onChangeText","onLongPressMessage","overrideOwnCapabilities","onPressInMessage","onPressMessage","OverlayReactionList","OverlayReactionListDefault","ReactionList","ReactionListDefault","read","Reply","ReplyDefault","ScrollToBottomButton","ScrollToBottomButtonDefault","selectReaction","SendButton","SendButtonDefault","SendMessageDisallowedIndicator","SendMessageDisallowedIndicatorDefault","sendImageAsync","setInputRef","setMembers","setMessages","setRead","setThreadMessages","setTyping","setWatcherCount","setWatchers","shouldSyncChannel","ShowThreadMessageInChannelButton","ShowThreadMessageInChannelButtonDefault","stateUpdateThrottleInterval","StickyHeader","supportedReactions","t","threadProps","thread","threadList","threadMessages","typing","TypingIndicator","TypingIndicatorDefault","TypingIndicatorContainer","TypingIndicatorContainerDefault","UploadProgressIndicator","UploadProgressIndicatorDefault","UrlPreview","VideoThumbnail","VideoThumbnailDefault","watcherCount","watchers","theme","black","colors","deleted","setDeleted","editing","setEditing","error","setError","hasMore","setHasMore","lastRead","setLastRead","state","length","loading","setLoading","setLoadingMore","setLoadingMoreRecent","quotedMessage","setQuotedMessage","setThread","threadHasMore","setThreadHasMore","threadLoadingMore","setThreadLoadingMore","syncingChannel","setSyncingChannel","hasNoMoreRecentMessagesToLoad","setHasNoMoreRecentMessagesToLoad","setTargetedMessage","targetedMessage","channelId","id","initChannel","offlineMode","initialized","loadChannel","loadChannelAroundMessage","countUnread","loadChannelAtFirstUnreadMessage","copyChannelState","cancel","copyReadState","copyTypingState","loadMoreFinished","loadMoreThreadFinished","threadPropsExists","threads","handleAppBackground","sendEvent","parent_id","undefined","isAdmin","user","role","membership","isModerator","isOwner","markRead","disconnected","clientChannelConfig","read_events","current","copyMessagesState","watcher_count","connectionChangedHandler","resyncChannel","handleEvent","event","updatedThreadMessages","message","updatedThread","formatMessage","channelSubscriptions","clientSubscriptions","subscribe","push","DBSyncManager","onSyncStatusChange","on","cid","forEach","s","unsubscribe","channelQueryCallRef","queryCall","onAfterQueryCall","Date","Error","unreadCount","lastReadDate","query","created_at_around","limit","loadMessageIntoState","setIsUpToDate","loadChannelAtMessage","after","before","queryAtMessage","isUpToDate","watch","reloadThread","parentID","getReplies","queryResponse","updatedHasMore","getMessagesById","threadMessage","formattedMessage","console","warn","oldListTopMessage","oldListTopMessageId","oldListBottomMessage","newListTopMessage","newListBottomMessage","clearMessages","addMessagesSorted","parseMessage","created_at","toString","pinned_at","updated_at","failedMessages","filter","status","MessageStatusTypes","FAILED","map","failedThreadMessages","oldListTopMessageCreatedAt","oldListBottomMessageCreatedAt","newListTopMessageCreatedAt","newListBottomMessageCreatedAt","finalMessages","index","findIndex","slice","reloadChannel","queryBeforeMessage","queryAfterMessage","id_lt","id_gte","getChannelConfigSafely","getConfig","_","updateMessage","updatedMessage","extraState","addMessageSorted","replaceMessage","oldMessage","newMessage","removeMessage","createMessagePreview","attachments","mentioned_users","text","extraFields","channel_mutes","devices","mutes","messageUser","preview","__html","html","userID","userId","reactions","SENDING","quoted_message_id","find","quoted_message","uploadPendingAttachments","i","attachment","file","originalFile","uri","image_url","filename","replace","contentType","sendImage","uploadResponse","dbApi","asset_url","sendFile","name","response","thumb_url","sendMessageRequest","retrying","deleted_at","latest_reactions","own_reactions","reaction_counts","mentionedUserIds","messageData","messageResponse","sendMessage","RECEIVED","log","filterErrorMessages","messagePreview","commands","messageInput","upsertMessages","retrySendMessage","statusPendingMessage","newMessages","loadMore","oldestMessage","oldestID","loadMoreRecent","recentMessage","loadMoreRecentFinished","editMessage","setEditingState","setQuotedMessageState","clearEditingState","clearQuotedMessageState","deleteMessage","sendReaction","payload","enforce_unique","reactionType","queueTask","task","channelType","dropPendingTasks","toISOString","data","deleteReaction","openThread","newThreadMessages","closeThread","newThreadHasMore","loadMoreThread","oldestMessageID","ownCapabilitiesContext","overrideCapabilities","channelContext","disabled","frozen","some","command","isChannelActive","inputMessageInputContext","max_message_length","messageListContext","messagesContext","suggestionsContext","threadContext","typingContext","color","height","Channel"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useCallback, useEffect, useRef, useState } from 'react';\nimport { KeyboardAvoidingViewProps, StyleSheet, Text, View } from 'react-native';\n\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nimport { lookup } from 'mime-types';\nimport {\n Channel as ChannelClass,\n ChannelState,\n Channel as ChannelType,\n EventHandler,\n logChatPromiseExecution,\n MessageResponse,\n Reaction,\n SendMessageAPIResponse,\n StreamChat,\n Event as StreamEvent,\n Message as StreamMessage,\n} from 'stream-chat';\n\nimport { useCreateChannelContext } from './hooks/useCreateChannelContext';\n\nimport { useCreateInputMessageInputContext } from './hooks/useCreateInputMessageInputContext';\n\nimport { useCreateMessagesContext } from './hooks/useCreateMessagesContext';\n\nimport { useCreateOwnCapabilitiesContext } from './hooks/useCreateOwnCapabilitiesContext';\nimport { useCreatePaginatedMessageListContext } from './hooks/useCreatePaginatedMessageListContext';\n\nimport { useCreateThreadContext } from './hooks/useCreateThreadContext';\n\nimport { useCreateTypingContext } from './hooks/useCreateTypingContext';\n\nimport { useTargetedMessage } from './hooks/useTargetedMessage';\n\nimport { ChannelContextValue, ChannelProvider } from '../../contexts/channelContext/ChannelContext';\nimport { useChannelState } from '../../contexts/channelsStateContext/useChannelState';\nimport type { UseChannelStateValue } from '../../contexts/channelsStateContext/useChannelState';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n InputMessageInputContextValue,\n MessageInputProvider,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n MessagesProvider,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OwnCapabilitiesContextValue,\n OwnCapabilitiesProvider,\n} from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport {\n PaginatedMessageListContextValue,\n PaginatedMessageListProvider,\n} from '../../contexts/paginatedMessageListContext/PaginatedMessageListContext';\nimport {\n SuggestionsContextValue,\n SuggestionsProvider,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, ThreadProvider } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport { TypingProvider } from '../../contexts/typingContext/TypingContext';\nimport { useAppStateListener } from '../../hooks/useAppStateListener';\n\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\nimport { FlatList as FlatListDefault, pickDocument } from '../../native';\nimport * as dbApi from '../../store/apis';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { addReactionToLocalState } from '../../utils/addReactionToLocalState';\nimport { DBSyncManager } from '../../utils/DBSyncManager';\nimport { patchMessageTextCommand } from '../../utils/patchMessageTextCommand';\nimport { removeReactionFromLocalState } from '../../utils/removeReactionFromLocalState';\nimport { generateRandomId, isLocalUrl, MessageStatusTypes, ReactionData } from '../../utils/utils';\nimport { Attachment as AttachmentDefault } from '../Attachment/Attachment';\nimport { AttachmentActions as AttachmentActionsDefault } from '../Attachment/AttachmentActions';\nimport { AudioAttachment as AudioAttachmentDefault } from '../Attachment/AudioAttachment';\nimport { Card as CardDefault } from '../Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../Attachment/FileAttachment';\nimport { FileAttachmentGroup as FileAttachmentGroupDefault } from '../Attachment/FileAttachmentGroup';\nimport { FileIcon as FileIconDefault } from '../Attachment/FileIcon';\nimport { Gallery as GalleryDefault } from '../Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../Attachment/Giphy';\nimport { ImageLoadingFailedIndicator as ImageLoadingFailedIndicatorDefault } from '../Attachment/ImageLoadingFailedIndicator';\nimport { ImageLoadingIndicator as ImageLoadingIndicatorDefault } from '../Attachment/ImageLoadingIndicator';\nimport { VideoThumbnail as VideoThumbnailDefault } from '../Attachment/VideoThumbnail';\nimport { AutoCompleteSuggestionHeader as AutoCompleteSuggestionHeaderDefault } from '../AutoCompleteInput/AutoCompleteSuggestionHeader';\nimport { AutoCompleteSuggestionItem as AutoCompleteSuggestionItemDefault } from '../AutoCompleteInput/AutoCompleteSuggestionItem';\nimport { AutoCompleteSuggestionList as AutoCompleteSuggestionListDefault } from '../AutoCompleteInput/AutoCompleteSuggestionList';\nimport { EmptyStateIndicator as EmptyStateIndicatorDefault } from '../Indicators/EmptyStateIndicator';\nimport {\n LoadingErrorIndicator as LoadingErrorIndicatorDefault,\n LoadingErrorProps,\n} from '../Indicators/LoadingErrorIndicator';\nimport { LoadingIndicator as LoadingIndicatorDefault } from '../Indicators/LoadingIndicator';\nimport { KeyboardCompatibleView as KeyboardCompatibleViewDefault } from '../KeyboardCompatibleView/KeyboardCompatibleView';\nimport { Message as MessageDefault } from '../Message/Message';\nimport { MessageAvatar as MessageAvatarDefault } from '../Message/MessageSimple/MessageAvatar';\nimport { MessageContent as MessageContentDefault } from '../Message/MessageSimple/MessageContent';\nimport { MessageDeleted as MessageDeletedDefault } from '../Message/MessageSimple/MessageDeleted';\nimport { MessageFooter as MessageFooterDefault } from '../Message/MessageSimple/MessageFooter';\nimport { MessagePinnedHeader as MessagePinnedHeaderDefault } from '../Message/MessageSimple/MessagePinnedHeader';\nimport { MessageReplies as MessageRepliesDefault } from '../Message/MessageSimple/MessageReplies';\nimport { MessageRepliesAvatars as MessageRepliesAvatarsDefault } from '../Message/MessageSimple/MessageRepliesAvatars';\nimport { MessageSimple as MessageSimpleDefault } from '../Message/MessageSimple/MessageSimple';\nimport { MessageStatus as MessageStatusDefault } from '../Message/MessageSimple/MessageStatus';\nimport { ReactionList as ReactionListDefault } from '../Message/MessageSimple/ReactionList';\nimport { AttachButton as AttachButtonDefault } from '../MessageInput/AttachButton';\nimport { CommandsButton as CommandsButtonDefault } from '../MessageInput/CommandsButton';\nimport { InputEditingStateHeader as InputEditingStateHeaderDefault } from '../MessageInput/components/InputEditingStateHeader';\nimport { InputGiphySearch as InputGiphyCommandInputDefault } from '../MessageInput/components/InputGiphySearch';\nimport { InputReplyStateHeader as InputReplyStateHeaderDefault } from '../MessageInput/components/InputReplyStateHeader';\nimport { CooldownTimer as CooldownTimerDefault } from '../MessageInput/CooldownTimer';\nimport { FileUploadPreview as FileUploadPreviewDefault } from '../MessageInput/FileUploadPreview';\nimport { ImageUploadPreview as ImageUploadPreviewDefault } from '../MessageInput/ImageUploadPreview';\nimport { InputButtons as InputButtonsDefault } from '../MessageInput/InputButtons';\nimport { MoreOptionsButton as MoreOptionsButtonDefault } from '../MessageInput/MoreOptionsButton';\nimport { SendButton as SendButtonDefault } from '../MessageInput/SendButton';\nimport { SendMessageDisallowedIndicator as SendMessageDisallowedIndicatorDefault } from '../MessageInput/SendMessageDisallowedIndicator';\nimport { ShowThreadMessageInChannelButton as ShowThreadMessageInChannelButtonDefault } from '../MessageInput/ShowThreadMessageInChannelButton';\nimport { UploadProgressIndicator as UploadProgressIndicatorDefault } from '../MessageInput/UploadProgressIndicator';\nimport { DateHeader as DateHeaderDefault } from '../MessageList/DateHeader';\nimport type { MessageType } from '../MessageList/hooks/useMessageList';\nimport { InlineDateSeparator as InlineDateSeparatorDefault } from '../MessageList/InlineDateSeparator';\nimport { InlineUnreadIndicator as InlineUnreadIndicatorDefault } from '../MessageList/InlineUnreadIndicator';\nimport { MessageList as MessageListDefault } from '../MessageList/MessageList';\nimport { MessageSystem as MessageSystemDefault } from '../MessageList/MessageSystem';\nimport { NetworkDownIndicator as NetworkDownIndicatorDefault } from '../MessageList/NetworkDownIndicator';\nimport { ScrollToBottomButton as ScrollToBottomButtonDefault } from '../MessageList/ScrollToBottomButton';\nimport { TypingIndicator as TypingIndicatorDefault } from '../MessageList/TypingIndicator';\nimport { TypingIndicatorContainer as TypingIndicatorContainerDefault } from '../MessageList/TypingIndicatorContainer';\nimport { OverlayReactionList as OverlayReactionListDefault } from '../MessageOverlay/OverlayReactionList';\nimport { Reply as ReplyDefault } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n selectChannel: { fontWeight: 'bold', padding: 16 },\n});\n\nexport const reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\n/**\n * If count of unread messages is less than 4, then no need to scroll to first unread message,\n * since first unread message will be in visible frame anyways.\n */\nconst scrollToFirstUnreadThreshold = 4;\n\nconst defaultThrottleInterval = 500;\nconst defaultDebounceInterval = 500;\nconst throttleOptions = {\n leading: true,\n trailing: true,\n};\nconst debounceOptions = {\n leading: true,\n trailing: true,\n};\n\nexport type ChannelPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'channel'> &\n Partial<\n Pick<\n ChannelContextValue<StreamChatGenerics>,\n | 'EmptyStateIndicator'\n | 'enableMessageGroupingByUser'\n | 'enforceUniqueReaction'\n | 'giphyEnabled'\n | 'hideStickyDateHeader'\n | 'hideDateSeparators'\n | 'LoadingIndicator'\n | 'maxTimeBetweenGroupedMessages'\n | 'NetworkDownIndicator'\n | 'StickyHeader'\n >\n > &\n Pick<ChatContextValue<StreamChatGenerics>, 'client' | 'enableOfflineSupport'> &\n Partial<\n Omit<\n InputMessageInputContextValue<StreamChatGenerics>,\n 'quotedMessage' | 'editing' | 'clearEditingState' | 'clearQuotedMessageState' | 'sendMessage'\n >\n > &\n Partial<\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem' | 'AutoCompleteSuggestionList'\n >\n > &\n Pick<TranslationContextValue, 't'> &\n Partial<\n Pick<\n PaginatedMessageListContextValue<StreamChatGenerics>,\n 'messages' | 'loadingMore' | 'loadingMoreRecent'\n >\n > &\n UseChannelStateValue<StreamChatGenerics> &\n Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'AttachmentActions'\n | 'AudioAttachment'\n | 'Card'\n | 'CardCover'\n | 'CardFooter'\n | 'CardHeader'\n | 'DateHeader'\n | 'deletedMessagesVisibilityType'\n | 'disableTypingIndicator'\n | 'dismissKeyboardOnMessageTouch'\n | 'FileAttachment'\n | 'FileAttachmentIcon'\n | 'FileAttachmentGroup'\n | 'FlatList'\n | 'forceAlignMessages'\n | 'formatDate'\n | 'Gallery'\n | 'getMessagesGroupStyles'\n | 'Giphy'\n | 'giphyVersion'\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleReaction'\n | 'handleQuotedReply'\n | 'handleRetry'\n | 'handleThreadReply'\n | 'InlineDateSeparator'\n | 'InlineUnreadIndicator'\n | 'isAttachmentEqual'\n | 'legacyImageViewerSwipeBehaviour'\n | 'ImageLoadingFailedIndicator'\n | 'ImageLoadingIndicator'\n | 'markdownRules'\n | 'Message'\n | 'messageActions'\n | 'MessageAvatar'\n | 'MessageContent'\n | 'messageContentOrder'\n | 'MessageDeleted'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageList'\n | 'MessagePinnedHeader'\n | 'MessageReplies'\n | 'MessageRepliesAvatars'\n | 'MessageSimple'\n | 'MessageStatus'\n | 'MessageSystem'\n | 'MessageText'\n | 'myMessageTheme'\n | 'onLongPressMessage'\n | 'onPressInMessage'\n | 'onPressMessage'\n | 'OverlayReactionList'\n | 'ReactionList'\n | 'Reply'\n | 'ScrollToBottomButton'\n | 'selectReaction'\n | 'supportedReactions'\n | 'TypingIndicator'\n | 'TypingIndicatorContainer'\n | 'UrlPreview'\n | 'VideoThumbnail'\n >\n > &\n Partial<\n Pick<ThreadContextValue<StreamChatGenerics>, 'allowThreadMessagesInChannel' | 'thread'>\n > & {\n shouldSyncChannel: boolean;\n /**\n * Additional props passed to keyboard avoiding view\n */\n additionalKeyboardAvoidingViewProps?: Partial<KeyboardAvoidingViewProps>;\n /**\n * Disables the channel UI if the channel is frozen\n */\n disableIfFrozenChannel?: boolean;\n /**\n * When true, disables the KeyboardCompatibleView wrapper\n *\n * Channel internally uses the [KeyboardCompatibleView](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx)\n * component to adjust the height of Channel when the keyboard is opened or dismissed. This prop provides the ability to disable this functionality in case you\n * want to use [KeyboardAvoidingView](https://facebook.github.io/react-native/docs/keyboardavoidingview) or handle dismissal yourself.\n * KeyboardAvoidingView works well when your component occupies 100% of screen height, otherwise it may raise some issues.\n */\n disableKeyboardCompatibleView?: boolean;\n /**\n * Overrides the Stream default mark channel read request (Advanced usage only)\n * @param channel Channel object\n */\n doMarkReadRequest?: (channel: ChannelType<StreamChatGenerics>) => void;\n /**\n * Overrides the Stream default send message request (Advanced usage only)\n * @param channelId\n * @param messageData Message object\n */\n doSendMessageRequest?: (\n channelId: string,\n messageData: StreamMessage<StreamChatGenerics>,\n ) => Promise<SendMessageAPIResponse<StreamChatGenerics>>;\n /**\n * Overrides the Stream default update message request (Advanced usage only)\n * @param channelId\n * @param updatedMessage UpdatedMessage object\n */\n doUpdateMessageRequest?: (\n channelId: string,\n updatedMessage: Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0],\n ) => ReturnType<StreamChat<StreamChatGenerics>['updateMessage']>;\n /**\n * When true, messageList will be scrolled at first unread message, when opened.\n */\n initialScrollToFirstUnreadMessage?: boolean;\n keyboardBehavior?: KeyboardAvoidingViewProps['behavior'];\n /**\n * Custom wrapper component that handles height adjustment of Channel component when keyboard is opened or dismissed\n * Default component (accepts the same props): [KeyboardCompatibleView](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx)\n *\n * **Example:**\n *\n * ```\n * <Channel\n * channel={channel}\n * KeyboardCompatibleView={(props) => {\n * return (\n * <KeyboardCompatibleView>\n * {props.children}\n * </KeyboardCompatibleView>\n * )\n * }}\n * />\n * ```\n */\n KeyboardCompatibleView?: React.ComponentType<KeyboardAvoidingViewProps>;\n keyboardVerticalOffset?: number;\n /**\n * Custom loading error indicator to override the Stream default\n */\n LoadingErrorIndicator?: React.ComponentType<LoadingErrorProps>;\n maxMessageLength?: number;\n /**\n * Load the channel at a specified message instead of the most recent message.\n */\n messageId?: string;\n newMessageStateUpdateThrottleInterval?: number;\n overrideOwnCapabilities?: Partial<OwnCapabilitiesContextValue>;\n stateUpdateThrottleInterval?: number;\n /**\n * Tells if channel is rendering a thread list\n */\n threadList?: boolean;\n };\n\nconst ChannelWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChannelPropsWithContext<StreamChatGenerics>>,\n) => {\n const {\n additionalKeyboardAvoidingViewProps,\n additionalTextInputProps,\n additionalTouchableProps,\n allowThreadMessagesInChannel = true,\n AttachButton = AttachButtonDefault,\n Attachment = AttachmentDefault,\n AttachmentActions = AttachmentActionsDefault,\n AudioAttachment = AudioAttachmentDefault,\n AutoCompleteSuggestionHeader = AutoCompleteSuggestionHeaderDefault,\n AutoCompleteSuggestionItem = AutoCompleteSuggestionItemDefault,\n AutoCompleteSuggestionList = AutoCompleteSuggestionListDefault,\n autoCompleteSuggestionsLimit,\n autoCompleteTriggerSettings,\n Card = CardDefault,\n CardCover,\n CardFooter,\n CardHeader,\n channel,\n children,\n client,\n CommandsButton = CommandsButtonDefault,\n compressImageQuality,\n CooldownTimer = CooldownTimerDefault,\n DateHeader = DateHeaderDefault,\n deletedMessagesVisibilityType = 'always',\n disableIfFrozenChannel = true,\n disableKeyboardCompatibleView = false,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch = true,\n doDocUploadRequest,\n doImageUploadRequest,\n doMarkReadRequest,\n doSendMessageRequest,\n doUpdateMessageRequest,\n EmptyStateIndicator = EmptyStateIndicatorDefault,\n enableMessageGroupingByUser = true,\n enableOfflineSupport,\n enforceUniqueReaction = false,\n FileAttachment = FileAttachmentDefault,\n FileAttachmentGroup = FileAttachmentGroupDefault,\n FileAttachmentIcon = FileIconDefault,\n FileUploadPreview = FileUploadPreviewDefault,\n FlatList = FlatListDefault,\n forceAlignMessages,\n formatDate,\n Gallery = GalleryDefault,\n getMessagesGroupStyles,\n Giphy = GiphyDefault,\n giphyEnabled,\n giphyVersion = 'fixed_height',\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n hasCommands = true,\n // If pickDocument isn't available, default to hiding the file picker\n hasFilePicker = pickDocument !== null,\n hasImagePicker = true,\n hideDateSeparators = false,\n hideStickyDateHeader = false,\n ImageUploadPreview = ImageUploadPreviewDefault,\n initialScrollToFirstUnreadMessage = false,\n initialValue,\n InlineDateSeparator = InlineDateSeparatorDefault,\n InlineUnreadIndicator = InlineUnreadIndicatorDefault,\n Input,\n InputButtons = InputButtonsDefault,\n InputEditingStateHeader = InputEditingStateHeaderDefault,\n InputGiphySearch = InputGiphyCommandInputDefault,\n InputReplyStateHeader = InputReplyStateHeaderDefault,\n isAttachmentEqual,\n keyboardBehavior,\n KeyboardCompatibleView = KeyboardCompatibleViewDefault,\n keyboardVerticalOffset,\n legacyImageViewerSwipeBehaviour = false,\n LoadingErrorIndicator = LoadingErrorIndicatorDefault,\n LoadingIndicator = LoadingIndicatorDefault,\n loadingMore: loadingMoreProp,\n loadingMoreRecent: loadingMoreRecentProp,\n ImageLoadingFailedIndicator = ImageLoadingFailedIndicatorDefault,\n ImageLoadingIndicator = ImageLoadingIndicatorDefault,\n markdownRules,\n maxMessageLength: maxMessageLengthProp,\n maxNumberOfFiles = 10,\n maxTimeBetweenGroupedMessages,\n mentionAllAppUsersEnabled = false,\n mentionAllAppUsersQuery,\n members,\n Message = MessageDefault,\n messageActions,\n MessageAvatar = MessageAvatarDefault,\n MessageContent = MessageContentDefault,\n messageContentOrder = ['quoted_reply', 'gallery', 'files', 'text', 'attachments'],\n MessageDeleted = MessageDeletedDefault,\n MessageFooter = MessageFooterDefault,\n MessageHeader,\n messageId,\n MessageList = MessageListDefault,\n MessagePinnedHeader = MessagePinnedHeaderDefault,\n MessageReplies = MessageRepliesDefault,\n MessageRepliesAvatars = MessageRepliesAvatarsDefault,\n messages,\n MessageSimple = MessageSimpleDefault,\n MessageStatus = MessageStatusDefault,\n MessageSystem = MessageSystemDefault,\n MessageText,\n MoreOptionsButton = MoreOptionsButtonDefault,\n myMessageTheme,\n newMessageStateUpdateThrottleInterval = defaultThrottleInterval,\n NetworkDownIndicator = NetworkDownIndicatorDefault,\n numberOfLines = 5,\n onChangeText,\n onLongPressMessage,\n overrideOwnCapabilities,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList = OverlayReactionListDefault,\n ReactionList = ReactionListDefault,\n read,\n Reply = ReplyDefault,\n ScrollToBottomButton = ScrollToBottomButtonDefault,\n selectReaction,\n SendButton = SendButtonDefault,\n SendMessageDisallowedIndicator = SendMessageDisallowedIndicatorDefault,\n sendImageAsync = false,\n setInputRef,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n shouldSyncChannel,\n ShowThreadMessageInChannelButton = ShowThreadMessageInChannelButtonDefault,\n stateUpdateThrottleInterval = defaultThrottleInterval,\n StickyHeader,\n supportedReactions = reactionData,\n t,\n thread: threadProps,\n threadList,\n threadMessages,\n typing,\n TypingIndicator = TypingIndicatorDefault,\n TypingIndicatorContainer = TypingIndicatorContainerDefault,\n UploadProgressIndicator = UploadProgressIndicatorDefault,\n UrlPreview = CardDefault,\n VideoThumbnail = VideoThumbnailDefault,\n watcherCount,\n watchers,\n } = props;\n\n const {\n theme: {\n channel: { selectChannel },\n colors: { black },\n },\n } = useTheme();\n const [deleted, setDeleted] = useState(false);\n const [editing, setEditing] = useState<boolean | MessageType<StreamChatGenerics>>(false);\n const [error, setError] = useState<Error | boolean>(false);\n const [hasMore, setHasMore] = useState(true);\n const [lastRead, setLastRead] = useState<ChannelContextValue<StreamChatGenerics>['lastRead']>();\n const [loading, setLoading] = useState(!channel?.state.messages.length);\n const [loadingMore, setLoadingMore] = useState(false);\n\n const [loadingMoreRecent, setLoadingMoreRecent] = useState(false);\n const [quotedMessage, setQuotedMessage] =\n useState<boolean | MessageType<StreamChatGenerics>>(false);\n const [thread, setThread] = useState<ThreadContextValue<StreamChatGenerics>['thread']>(\n threadProps || null,\n );\n const [threadHasMore, setThreadHasMore] = useState(true);\n const [threadLoadingMore, setThreadLoadingMore] = useState(false);\n\n const [syncingChannel, setSyncingChannel] = useState(false);\n\n /**\n * Flag to track if we know for sure that there are no more recent messages to load.\n * This is necessary to avoid unnecessary api calls to load recent messages on pagination.\n */\n const [hasNoMoreRecentMessagesToLoad, setHasNoMoreRecentMessagesToLoad] = useState(true);\n\n const { setTargetedMessage, targetedMessage } = useTargetedMessage();\n\n const channelId = channel?.id || '';\n useEffect(() => {\n const initChannel = () => {\n if (!channel || !shouldSyncChannel || channel.offlineMode) return;\n /**\n * Loading channel at first unread message requires channel to be initialized in the first place,\n * since we use read state on channel to decide what offset to load channel at.\n * Also there is no use case from UX perspective, why one would need loading uninitialized channel at particular message.\n * If the channel is not initiated, then we need to do channel.watch, which is more expensive for backend than channel.query.\n */\n if (!channel.initialized) {\n loadChannel();\n return;\n }\n\n if (messageId) {\n loadChannelAroundMessage({ messageId });\n return;\n }\n\n if (\n initialScrollToFirstUnreadMessage &&\n channel.countUnread() > scrollToFirstUnreadThreshold\n ) {\n loadChannelAtFirstUnreadMessage();\n } else {\n loadChannel();\n }\n };\n\n initChannel();\n\n return () => {\n copyChannelState.cancel();\n copyReadState.cancel();\n copyTypingState.cancel();\n loadMoreFinished.cancel();\n loadMoreThreadFinished.cancel();\n };\n }, [channelId, messageId]);\n\n const threadPropsExists = !!threadProps;\n useEffect(() => {\n if (threadProps && shouldSyncChannel) {\n setThread(threadProps);\n if (channel && threadProps?.id) {\n setThreadMessages(channel.state.threads?.[threadProps.id] || []);\n }\n } else {\n setThread(null);\n }\n }, [threadPropsExists]);\n\n const handleAppBackground = useCallback(() => {\n if (channel) {\n channel.sendEvent({\n parent_id: thread?.id,\n type: 'typing.stop',\n } as StreamEvent<StreamChatGenerics>);\n }\n }, [thread?.id, channelId]);\n\n useAppStateListener(undefined, handleAppBackground);\n\n /**\n * CHANNEL CONSTANTS\n */\n const isAdmin = client?.user?.role === 'admin' || channel?.state.membership.role === 'admin';\n\n const isModerator =\n channel?.state.membership.role === 'channel_moderator' ||\n channel?.state.membership.role === 'moderator';\n\n const isOwner = channel?.state.membership.role === 'owner';\n\n /**\n * CHANNEL METHODS\n */\n const markRead: ChannelContextValue<StreamChatGenerics>['markRead'] = useRef(\n throttle(\n () => {\n if (!channel || channel?.disconnected || !clientChannelConfig?.read_events) {\n return;\n }\n\n if (doMarkReadRequest) {\n doMarkReadRequest(channel);\n } else {\n logChatPromiseExecution(channel.markRead(), 'mark read');\n }\n },\n defaultThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyMessagesState = useRef(\n throttle(\n () => {\n if (channel) {\n setMessages([...channel.state.messages]);\n }\n },\n newMessageStateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyTypingState = useRef(\n throttle(\n () => {\n if (channel) {\n setTyping({ ...channel.state.typing });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyReadState = useRef(\n throttle(\n () => {\n if (channel) {\n setRead({ ...channel.state.read });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyChannelState = useRef(\n throttle(\n () => {\n setLoading(false);\n if (channel) {\n setMembers({ ...channel.state.members });\n setMessages([...channel.state.messages]);\n setRead({ ...channel.state.read });\n setTyping({ ...channel.state.typing });\n setWatcherCount(channel.state.watcher_count);\n setWatchers({ ...channel.state.watchers });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const connectionChangedHandler = () => {\n if (shouldSyncChannel) {\n resyncChannel();\n }\n };\n\n const handleEvent: EventHandler<StreamChatGenerics> = (event) => {\n if (shouldSyncChannel) {\n if (thread) {\n const updatedThreadMessages =\n (thread.id && channel && channel.state.threads[thread.id]) || threadMessages;\n setThreadMessages(updatedThreadMessages);\n }\n\n if (channel && thread && event.message?.id === thread.id) {\n const updatedThread = channel.state.formatMessage(event.message);\n setThread(updatedThread);\n }\n\n if (event.type === 'typing.start' || event.type === 'typing.stop') {\n copyTypingState();\n } else if (event.type === 'message.read') {\n copyReadState();\n } else if (event.type === 'message.new') {\n copyMessagesState();\n } else if (channel) {\n copyChannelState();\n }\n }\n };\n\n useEffect(() => {\n const channelSubscriptions: Array<ReturnType<ChannelType['on']>> = [];\n const clientSubscriptions: Array<ReturnType<StreamChat['on']>> = [];\n\n const subscribe = () => {\n if (!channel) return;\n\n /**\n * The more complex sync logic around internet connectivity (NetInfo) is part of Chat.tsx\n * listen to client.connection.recovered and all channel events\n */\n clientSubscriptions.push(DBSyncManager.onSyncStatusChange(connectionChangedHandler));\n clientSubscriptions.push(\n client.on('channel.deleted', (event) => {\n if (event.cid === channel.cid) {\n setDeleted(true);\n }\n }),\n );\n channelSubscriptions.push(channel.on(handleEvent));\n };\n\n subscribe();\n\n return () => {\n clientSubscriptions.forEach((s) => s.unsubscribe());\n channelSubscriptions.forEach((s) => s.unsubscribe());\n };\n }, [channelId, connectionChangedHandler, handleEvent]);\n\n const channelQueryCallRef = useRef(\n async (\n queryCall: () => Promise<void>,\n onAfterQueryCall: (() => void) | undefined = undefined,\n ) => {\n setError(false);\n try {\n await queryCall();\n setLastRead(new Date());\n setHasMore(true);\n copyChannelState();\n onAfterQueryCall?.();\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoading(false);\n setLastRead(new Date());\n }\n },\n );\n\n /**\n * Loads channel at first unread message.\n */\n const loadChannelAtFirstUnreadMessage = () => {\n if (!channel) return;\n const unreadCount = channel.countUnread();\n if (unreadCount <= scrollToFirstUnreadThreshold) return;\n // temporarily clear existing messages so that messageList component gets a list change and does not scroll to any unread message first before loading completes\n setMessages([]);\n // query for messages around the last read date\n return channelQueryCallRef.current(async () => {\n setLoading(true);\n const lastReadDate = channel.lastRead() || new Date(0);\n await channel.query({\n messages: {\n created_at_around: lastReadDate,\n limit: 25,\n },\n });\n setLoading(false);\n });\n };\n\n /**\n * Loads channel around a specific message\n *\n * @param messageId If undefined, channel will be loaded at most recent message.\n */\n const loadChannelAroundMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAroundMessage'] =\n ({ messageId }) =>\n channelQueryCallRef.current(\n async () => {\n setHasNoMoreRecentMessagesToLoad(false); // we are jumping to a message, hence we do not know for sure anymore if there are no more recent messages\n setLoading(true);\n if (messageId) {\n await channel.state.loadMessageIntoState(messageId);\n } else {\n await channel.state.loadMessageIntoState('latest');\n channel.state.setIsUpToDate(true);\n }\n setLoading(false);\n },\n () => {\n if (messageId) {\n setTargetedMessage(messageId);\n }\n },\n );\n\n /**\n * @deprecated use loadChannelAroundMessage instead\n *\n * Loads channel at specific message\n *\n * @param messageId If undefined, channel will be loaded at most recent message.\n * @param before Number of message to query before messageId\n * @param after Number of message to query after messageId\n */\n const loadChannelAtMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAtMessage'] = ({\n after = 2,\n before = 30,\n messageId,\n }) =>\n channelQueryCallRef.current(async () => {\n await queryAtMessage({ after, before, messageId });\n\n if (messageId) {\n setTargetedMessage(messageId);\n }\n });\n\n const loadChannel = () =>\n channelQueryCallRef.current(async () => {\n if (!channel?.initialized || !channel.state.isUpToDate) {\n await channel?.watch();\n setHasNoMoreRecentMessagesToLoad(true);\n channel?.state.setIsUpToDate(true);\n } else {\n await channel.state.loadMessageIntoState('latest');\n }\n return;\n });\n\n const reloadThread = async () => {\n if (!channel || !thread?.id) return;\n setThreadLoadingMore(true);\n try {\n const parentID = thread.id;\n\n const limit = 50;\n channel.state.threads[parentID] = [];\n const queryResponse = await channel.getReplies(parentID, {\n limit,\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n const updatedThreadMessages = channel.state.threads[parentID] || [];\n loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);\n const { messages } = await channel.getMessagesById([parentID]);\n const [threadMessage] = messages;\n if (threadMessage) {\n const formattedMessage = channel.state.formatMessage(threadMessage);\n setThread(formattedMessage);\n }\n } catch (err) {\n console.warn('Thread loading request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setThreadLoadingMore(false);\n throw err;\n }\n };\n\n const resyncChannel = async () => {\n if (!channel || syncingChannel) return;\n setSyncingChannel(true);\n\n setError(false);\n try {\n /**\n * Allow a buffer of 30 new messages, so that MessageList won't move its scroll position,\n * giving smooth user experience.\n */\n const state = await channel.watch({\n messages: {\n limit: messages.length + 30,\n },\n });\n\n const oldListTopMessage = messages[0];\n const oldListTopMessageId = messages[0]?.id;\n const oldListBottomMessage = messages[messages.length - 1];\n\n const newListTopMessage = state.messages[0];\n const newListBottomMessage = state.messages[state.messages.length - 1];\n\n if (\n !oldListTopMessage || // previous list was empty\n !oldListBottomMessage || // previous list was empty\n !newListTopMessage || // new list is truncated\n !newListBottomMessage // new list is truncated\n ) {\n /** Channel was truncated */\n channel.state.clearMessages();\n channel.state.setIsUpToDate(true);\n channel.state.addMessagesSorted(state.messages);\n copyChannelState();\n return;\n }\n\n const parseMessage = (message: typeof oldListTopMessage) =>\n ({\n ...message,\n created_at: message.created_at.toString(),\n pinned_at: message.pinned_at?.toString(),\n updated_at: message.updated_at?.toString(),\n } as unknown as MessageResponse<StreamChatGenerics>);\n\n const failedMessages = messages\n .filter((message) => message.status === MessageStatusTypes.FAILED)\n .map(parseMessage);\n\n const failedThreadMessages = thread\n ? threadMessages\n .filter((message) => message.status === MessageStatusTypes.FAILED)\n .map(parseMessage)\n : [];\n\n const oldListTopMessageCreatedAt = oldListTopMessage.created_at;\n const oldListBottomMessageCreatedAt = oldListBottomMessage.created_at;\n const newListTopMessageCreatedAt = newListTopMessage.created_at\n ? new Date(newListTopMessage.created_at)\n : new Date();\n const newListBottomMessageCreatedAt = newListBottomMessage?.created_at\n ? new Date(newListBottomMessage.created_at)\n : new Date();\n\n let finalMessages = [];\n\n if (\n oldListTopMessage &&\n oldListTopMessageCreatedAt &&\n oldListBottomMessageCreatedAt &&\n newListTopMessageCreatedAt < oldListTopMessageCreatedAt &&\n newListBottomMessageCreatedAt >= oldListBottomMessageCreatedAt\n ) {\n const index = state.messages.findIndex((message) => message.id === oldListTopMessageId);\n finalMessages = state.messages.slice(index);\n } else {\n finalMessages = state.messages;\n }\n\n setHasNoMoreRecentMessagesToLoad(true);\n channel.state.setIsUpToDate(true);\n\n channel.state.clearMessages();\n channel.state.addMessagesSorted(finalMessages);\n\n setHasMore(true);\n copyChannelState();\n\n if (failedMessages.length) {\n channel.state.addMessagesSorted(failedMessages);\n copyChannelState();\n }\n\n await reloadThread();\n\n if (thread && failedThreadMessages.length) {\n channel.state.addMessagesSorted(failedThreadMessages);\n setThreadMessages([...channel.state.threads[thread.id]]);\n }\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoading(false);\n }\n\n setSyncingChannel(false);\n };\n\n const reloadChannel = () =>\n channelQueryCallRef.current(async () => {\n setLoading(true);\n await channel.state.loadMessageIntoState('latest');\n setLoading(false);\n setHasNoMoreRecentMessagesToLoad(true);\n channel?.state.setIsUpToDate(true);\n });\n\n /**\n * @deprecated\n * Makes a query to load messages at particular message id.\n *\n * @param messageId Targeted message id\n * @param before Number of messages to load before messageId\n * @param after Number of messages to load after messageId\n */\n const queryAtMessage = async ({\n after = 10,\n before = 10,\n messageId,\n }: Parameters<ChannelContextValue<StreamChatGenerics>['loadChannelAtMessage']>[0]) => {\n if (!channel) return;\n channel.state.setIsUpToDate(false);\n channel.state.clearMessages();\n setMessages([...channel.state.messages]);\n if (!messageId) {\n await channel.query({\n messages: {\n limit: before,\n },\n watch: true,\n });\n\n channel.state.setIsUpToDate(true);\n return;\n }\n\n await queryBeforeMessage(messageId, before);\n await queryAfterMessage(messageId, after);\n };\n\n /**\n * @deprecated\n * Makes a query to load messages before particular message id.\n *\n * @param messageId Targeted message id\n * @param limit Number of messages to load\n */\n const queryBeforeMessage = async (messageId: string, limit = 5) => {\n if (!channel) return;\n\n await channel.query({\n messages: {\n id_lt: messageId,\n limit,\n },\n watch: true,\n });\n\n channel.state.setIsUpToDate(false);\n };\n\n /**\n * @deprecated\n * Makes a query to load messages later than particular message id.\n *\n * @param messageId Targeted message id\n * @param limit Number of messages to load.\n */\n const queryAfterMessage = async (messageId: string, limit = 5) => {\n if (!channel) return;\n const state = await channel.query({\n messages: {\n id_gte: messageId,\n limit,\n },\n watch: true,\n });\n\n if (state.messages.length < limit) {\n channel.state.setIsUpToDate(true);\n } else {\n channel.state.setIsUpToDate(false);\n }\n };\n\n // In case the channel is disconnected which may happen when channel is deleted,\n // underlying js client throws an error. Following function ensures that Channel component\n // won't result in error in such a case.\n const getChannelConfigSafely = () => {\n try {\n return channel?.getConfig();\n } catch (_) {\n return null;\n }\n };\n\n /**\n * Channel configs for use in disabling local functionality.\n * Nullish coalescing is used to give first priority to props to override\n * the server settings. Then priority to server settings to override defaults.\n */\n const clientChannelConfig = getChannelConfigSafely();\n\n /**\n * MESSAGE METHODS\n */\n\n const updateMessage: MessagesContextValue<StreamChatGenerics>['updateMessage'] = (\n updatedMessage,\n extraState = {},\n ) => {\n if (channel) {\n channel.state.addMessageSorted(updatedMessage, true);\n if (thread && updatedMessage.parent_id) {\n extraState.threadMessages = channel.state.threads[updatedMessage.parent_id] || [];\n setThreadMessages(extraState.threadMessages);\n }\n\n setMessages([...channel.state.messages]);\n }\n };\n\n const replaceMessage = (\n oldMessage: MessageResponse<StreamChatGenerics>,\n newMessage: MessageResponse<StreamChatGenerics>,\n ) => {\n if (channel) {\n channel.state.removeMessage(oldMessage);\n channel.state.addMessageSorted(newMessage, true);\n if (thread && newMessage.parent_id) {\n const threadMessages = channel.state.threads[newMessage.parent_id] || [];\n setThreadMessages(threadMessages);\n }\n setMessages(channel.state.messages);\n }\n };\n\n const createMessagePreview = ({\n attachments,\n mentioned_users,\n parent_id,\n text,\n ...extraFields\n }: Partial<StreamMessage<StreamChatGenerics>>) => {\n // Exclude following properties from message.user within message preview,\n // since they could be long arrays and have no meaning as sender of message.\n // Storing such large value within user's table may cause sqlite queries to crash.\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { channel_mutes, devices, mutes, ...messageUser } = client.user;\n\n const preview = {\n __html: text,\n attachments,\n created_at: new Date(),\n html: text,\n id: `${client.userID}-${generateRandomId()}`,\n mentioned_users:\n mentioned_users?.map((userId) => ({\n id: userId,\n })) || [],\n parent_id,\n reactions: [],\n status: MessageStatusTypes.SENDING,\n text,\n type: 'regular',\n user: {\n id: client.userID,\n ...messageUser,\n },\n ...extraFields,\n } as unknown as MessageResponse<StreamChatGenerics>;\n\n /**\n * This is added to the message for local rendering prior to the message\n * being returned from the backend, it is removed when the message is sent\n * as quoted_message is a reserved field.\n */\n if (preview.quoted_message_id) {\n const quotedMessage = messages.find((message) => message.id === preview.quoted_message_id);\n\n preview.quoted_message =\n quotedMessage as MessageResponse<StreamChatGenerics>['quoted_message'];\n }\n return preview;\n };\n\n const uploadPendingAttachments = async (message: MessageResponse<StreamChatGenerics>) => {\n const updatedMessage = { ...message };\n if (updatedMessage.attachments?.length) {\n for (let i = 0; i < updatedMessage.attachments?.length; i++) {\n const attachment = updatedMessage.attachments[i];\n const file = attachment.originalFile;\n // check if image_url is not a remote url\n if (\n attachment.type === 'image' &&\n file?.uri &&\n attachment.image_url &&\n isLocalUrl(attachment.image_url)\n ) {\n const filename = file.uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n\n const uploadResponse = doImageUploadRequest\n ? await doImageUploadRequest(file, channel)\n : await channel.sendImage(file?.uri, filename, contentType);\n\n attachment.image_url = uploadResponse.file;\n delete attachment.originalFile;\n\n dbApi.updateMessage({\n message: { ...updatedMessage, cid: channel.cid },\n });\n }\n\n if (\n (attachment.type === 'file' ||\n attachment.type === 'audio' ||\n attachment.type === 'video') &&\n attachment.asset_url &&\n isLocalUrl(attachment.asset_url) &&\n file?.uri\n ) {\n const response = doDocUploadRequest\n ? await doDocUploadRequest(file, channel)\n : await channel.sendFile(file.uri, file.name, file.type);\n attachment.asset_url = response.file;\n if (response.thumb_url) {\n attachment.thumb_url = response.thumb_url;\n }\n delete attachment.originalFile;\n dbApi.updateMessage({\n message: { ...updatedMessage, cid: channel.cid },\n });\n }\n }\n }\n\n return updatedMessage;\n };\n\n const sendMessageRequest = async (\n message: MessageResponse<StreamChatGenerics>,\n retrying?: boolean,\n ) => {\n try {\n const updatedMessage = await uploadPendingAttachments(message);\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n __html,\n attachments,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n created_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n deleted_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n html,\n id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n latest_reactions,\n mentioned_users,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n own_reactions,\n parent_id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n quoted_message,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n reaction_counts,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n reactions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n status,\n text,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updated_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n user,\n ...extraFields\n } = updatedMessage;\n if (!channel.id) return;\n\n const mentionedUserIds = mentioned_users?.map((user) => user.id) || [];\n\n const messageData = {\n attachments,\n id,\n mentioned_users: mentionedUserIds,\n parent_id,\n text: patchMessageTextCommand(text ?? '', mentionedUserIds),\n ...extraFields,\n } as StreamMessage<StreamChatGenerics>;\n\n let messageResponse = {} as SendMessageAPIResponse<StreamChatGenerics>;\n if (doSendMessageRequest) {\n messageResponse = await doSendMessageRequest(channel?.cid || '', messageData);\n } else if (channel) {\n messageResponse = await channel.sendMessage(messageData);\n }\n\n if (messageResponse.message) {\n messageResponse.message.status = MessageStatusTypes.RECEIVED;\n\n if (enableOfflineSupport) {\n dbApi.updateMessage({\n message: { ...messageResponse.message, cid: channel.cid },\n });\n }\n if (retrying) {\n replaceMessage(message, messageResponse.message);\n } else {\n updateMessage(messageResponse.message);\n }\n }\n } catch (err) {\n console.log(err);\n message.status = MessageStatusTypes.FAILED;\n updateMessage({ ...message, cid: channel.cid });\n\n if (enableOfflineSupport) {\n dbApi.updateMessage({\n message: { ...message, cid: channel.cid },\n });\n }\n }\n };\n\n const sendMessage: InputMessageInputContextValue<StreamChatGenerics>['sendMessage'] = async (\n message,\n ) => {\n if (channel?.state?.filterErrorMessages) {\n channel.state.filterErrorMessages();\n }\n\n const messagePreview = createMessagePreview({\n ...message,\n attachments: message.attachments || [],\n });\n\n if (!channel?.state.isUpToDate) {\n await reloadChannel();\n }\n\n updateMessage(messagePreview, {\n commands: [],\n messageInput: '',\n });\n\n if (enableOfflineSupport) {\n // While sending a message, we add the message to local db with failed status, so that\n // if app gets closed before message gets sent and next time user opens the app\n // then user can see that message in failed state and can retry.\n // If succesfull, it will be updated with received status.\n dbApi.upsertMessages({\n messages: [{ ...messagePreview, cid: channel.cid, status: MessageStatusTypes.FAILED }],\n });\n }\n\n await sendMessageRequest(messagePreview);\n };\n\n const retrySendMessage: MessagesContextValue<StreamChatGenerics>['retrySendMessage'] = async (\n message,\n ) => {\n const statusPendingMessage = {\n ...message,\n status: MessageStatusTypes.SENDING,\n };\n\n updateMessage(statusPendingMessage);\n\n await sendMessageRequest(statusPendingMessage, true);\n };\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreFinished = useRef(\n debounce(\n (updatedHasMore: boolean, newMessages: ChannelState<StreamChatGenerics>['messages']) => {\n setLoadingMore(false);\n setError(false);\n setHasMore(updatedHasMore);\n setMessages(newMessages);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const loadMore: PaginatedMessageListContextValue<StreamChatGenerics>['loadMore'] = async (\n limit = 20,\n ) => {\n if (loadingMore || hasMore === false) {\n return;\n }\n setLoadingMore(true);\n\n if (!messages.length) {\n return setLoadingMore(false);\n }\n\n const oldestMessage = messages && messages[0];\n\n if (oldestMessage && oldestMessage.status !== MessageStatusTypes.RECEIVED) {\n return setLoadingMore(false);\n }\n\n const oldestID = oldestMessage && oldestMessage.id;\n\n try {\n if (channel) {\n const queryResponse = await channel.query({\n messages: { id_lt: oldestID, limit },\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n loadMoreFinished(updatedHasMore, channel.state.messages);\n }\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoadingMore(false);\n throw err;\n }\n };\n\n const loadMoreRecent: PaginatedMessageListContextValue<StreamChatGenerics>['loadMoreRecent'] =\n async (limit = 5) => {\n if (hasNoMoreRecentMessagesToLoad) {\n return;\n }\n\n setLoadingMoreRecent(true);\n\n const recentMessage = messages[messages.length - 1];\n\n if (recentMessage?.status !== MessageStatusTypes.RECEIVED) {\n setLoadingMoreRecent(false);\n return;\n }\n\n try {\n if (channel) {\n const state = await channel.query({\n messages: {\n id_gte: recentMessage.id,\n limit,\n },\n watch: true,\n });\n setHasNoMoreRecentMessagesToLoad(state.messages.length < limit);\n loadMoreRecentFinished(channel.state.messages);\n }\n } catch (err) {\n console.warn('Message pagination request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoadingMoreRecent(false);\n throw err;\n }\n };\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreRecentFinished = useRef(\n debounce(\n (newMessages: ChannelState<StreamChatGenerics>['messages']) => {\n setLoadingMoreRecent(false);\n setMessages(newMessages);\n setError(false);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const editMessage: InputMessageInputContextValue<StreamChatGenerics>['editMessage'] = (\n updatedMessage,\n ) =>\n doUpdateMessageRequest\n ? doUpdateMessageRequest(channel?.cid || '', updatedMessage)\n : client.updateMessage(updatedMessage);\n\n const setEditingState: MessagesContextValue<StreamChatGenerics>['setEditingState'] = (\n message,\n ) => {\n setEditing(message);\n };\n\n const setQuotedMessageState: MessagesContextValue<StreamChatGenerics>['setQuotedMessageState'] = (\n message,\n ) => {\n setQuotedMessage(message);\n };\n\n const clearEditingState: InputMessageInputContextValue<StreamChatGenerics>['clearEditingState'] =\n () => setEditing(false);\n\n const clearQuotedMessageState: InputMessageInputContextValue<StreamChatGenerics>['clearQuotedMessageState'] =\n () => setQuotedMessage(false);\n\n const removeMessage: MessagesContextValue<StreamChatGenerics>['removeMessage'] = (message) => {\n if (channel) {\n channel.state.removeMessage(message);\n setMessages(channel.state.messages);\n if (thread) {\n setThreadMessages(channel.state.threads[thread.id] || []);\n }\n }\n\n if (enableOfflineSupport) {\n dbApi.deleteMessage({\n id: message.id,\n });\n }\n };\n\n const sendReaction = async (type: string, messageId: string) => {\n if (!channel?.id || !client.user) {\n throw new Error('Channel has not been initialized');\n }\n\n const payload: Parameters<ChannelClass<StreamChatGenerics>['sendReaction']> = [\n messageId,\n {\n type,\n } as Reaction<StreamChatGenerics>,\n { enforce_unique: enforceUniqueReaction },\n ];\n\n if (!enableOfflineSupport) {\n await channel.sendReaction(...payload);\n return;\n }\n\n addReactionToLocalState<StreamChatGenerics>({\n channel,\n enforceUniqueReaction,\n messageId,\n reactionType: type,\n user: client.user,\n });\n\n setMessages(channel.state.messages);\n\n await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId,\n payload,\n type: 'send-reaction',\n },\n });\n };\n const deleteMessage: MessagesContextValue<StreamChatGenerics>['deleteMessage'] = async (\n message,\n ) => {\n if (!channel.id) {\n throw new Error('Channel has not been initialized yet');\n }\n\n if (!enableOfflineSupport) {\n await client.deleteMessage(message.id);\n return;\n }\n\n if (message.status === MessageStatusTypes.FAILED) {\n DBSyncManager.dropPendingTasks({ messageId: message.id });\n removeMessage(message);\n } else {\n updateMessage({\n ...message,\n cid: channel.cid,\n deleted_at: new Date().toISOString(),\n type: 'deleted',\n });\n\n const data = await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId: message.id,\n payload: [message.id],\n type: 'delete-message',\n },\n });\n\n if (data?.message) {\n updateMessage({ ...data.message });\n }\n }\n };\n\n const deleteReaction: MessagesContextValue<StreamChatGenerics>['deleteReaction'] = async (\n type: string,\n messageId: string,\n ) => {\n if (!channel?.id || !client.user) {\n throw new Error('Channel has not been initialized');\n }\n\n const payload: Parameters<ChannelClass['deleteReaction']> = [messageId, type];\n\n if (!enableOfflineSupport) {\n await channel.deleteReaction(...payload);\n return;\n }\n\n removeReactionFromLocalState({\n channel,\n messageId,\n reactionType: type,\n user: client.user,\n });\n\n setMessages(channel.state.messages);\n\n await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId,\n payload,\n type: 'delete-reaction',\n },\n });\n };\n\n /**\n * THREAD METHODS\n */\n const openThread: ThreadContextValue<StreamChatGenerics>['openThread'] = (message) => {\n const newThreadMessages = message?.id ? channel?.state?.threads[message.id] || [] : [];\n setThread(message);\n setThreadMessages(newThreadMessages);\n };\n\n const closeThread: ThreadContextValue<StreamChatGenerics>['closeThread'] = useCallback(() => {\n setThread(null);\n setThreadMessages([]);\n }, [setThread, setThreadMessages]);\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreThreadFinished = useRef(\n debounce(\n (\n newThreadHasMore: boolean,\n updatedThreadMessages: ChannelState<StreamChatGenerics>['threads'][string],\n ) => {\n setThreadHasMore(newThreadHasMore);\n setThreadLoadingMore(false);\n setThreadMessages(updatedThreadMessages);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const loadMoreThread: ThreadContextValue<StreamChatGenerics>['loadMoreThread'] = async () => {\n if (threadLoadingMore || !thread?.id) {\n return;\n }\n setThreadLoadingMore(true);\n\n try {\n if (channel) {\n const parentID = thread.id;\n\n /**\n * In the channel is re-initializing, then threads may get wiped out during the process\n * (check `addMessagesSorted` method on channel.state). In those cases, we still want to\n * preserve the messages on active thread, so lets simply copy messages from UI state to\n * `channel.state`.\n */\n channel.state.threads[parentID] = threadMessages;\n const oldestMessageID = threadMessages?.[0]?.id;\n\n const limit = 50;\n const queryResponse = await channel.getReplies(parentID, {\n id_lt: oldestMessageID,\n limit,\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n const updatedThreadMessages = channel.state.threads[parentID] || [];\n loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);\n }\n } catch (err) {\n console.warn('Message pagination request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setThreadLoadingMore(false);\n throw err;\n }\n };\n\n const ownCapabilitiesContext = useCreateOwnCapabilitiesContext({\n channel,\n overrideCapabilities: overrideOwnCapabilities,\n });\n\n const channelContext = useCreateChannelContext({\n channel,\n disabled: !!channel?.data?.frozen && disableIfFrozenChannel,\n EmptyStateIndicator,\n enableMessageGroupingByUser,\n enforceUniqueReaction,\n error,\n giphyEnabled:\n giphyEnabled ??\n !!(clientChannelConfig?.commands || [])?.some((command) => command.name === 'giphy'),\n hideDateSeparators,\n hideStickyDateHeader,\n isAdmin,\n isChannelActive: shouldSyncChannel,\n isModerator,\n isOwner,\n lastRead,\n loadChannelAroundMessage,\n loadChannelAtMessage,\n loading,\n LoadingIndicator,\n markRead,\n maxTimeBetweenGroupedMessages,\n members,\n NetworkDownIndicator,\n read,\n reloadChannel,\n scrollToFirstUnreadThreshold,\n setLastRead,\n setTargetedMessage,\n StickyHeader,\n targetedMessage,\n threadList,\n watcherCount,\n watchers,\n });\n\n const inputMessageInputContext = useCreateInputMessageInputContext<StreamChatGenerics>({\n additionalTextInputProps,\n AttachButton,\n autoCompleteSuggestionsLimit,\n autoCompleteTriggerSettings,\n channelId,\n clearEditingState,\n clearQuotedMessageState,\n CommandsButton,\n compressImageQuality,\n CooldownTimer,\n doDocUploadRequest,\n doImageUploadRequest,\n editing,\n editMessage,\n FileUploadPreview,\n hasCommands,\n hasFilePicker,\n hasImagePicker,\n ImageUploadPreview,\n initialValue,\n Input,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n maxMessageLength: maxMessageLengthProp ?? clientChannelConfig?.max_message_length ?? undefined,\n maxNumberOfFiles,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n MoreOptionsButton,\n numberOfLines,\n onChangeText,\n quotedMessage,\n SendButton,\n sendImageAsync,\n sendMessage,\n SendMessageDisallowedIndicator,\n setInputRef,\n setQuotedMessageState,\n ShowThreadMessageInChannelButton,\n UploadProgressIndicator,\n });\n\n const messageListContext = useCreatePaginatedMessageListContext({\n channelId,\n hasMore,\n hasNoMoreRecentMessagesToLoad,\n loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : loadingMore,\n loadingMoreRecent:\n loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : loadingMoreRecent,\n loadMore,\n loadMoreRecent,\n messages,\n setLoadingMore,\n setLoadingMoreRecent,\n });\n\n const messagesContext = useCreateMessagesContext({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n AudioAttachment,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n deleteMessage,\n deleteReaction,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n getMessagesGroupStyles,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n initialScrollToFirstUnreadMessage: !messageId && initialScrollToFirstUnreadMessage, // when messageId is set, we scroll to the messageId instead of first unread\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n });\n\n const suggestionsContext = {\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n };\n\n const threadContext = useCreateThreadContext({\n allowThreadMessagesInChannel,\n closeThread,\n loadMoreThread,\n openThread,\n reloadThread,\n setThreadLoadingMore,\n thread,\n threadHasMore,\n threadLoadingMore,\n threadMessages,\n });\n\n const typingContext = useCreateTypingContext({\n typing,\n });\n\n // TODO: replace the null view with appropriate message. Currently this is waiting a design decision.\n if (deleted) return null;\n\n if (!channel || (error && messages.length === 0)) {\n return <LoadingErrorIndicator error={error} listType='message' retry={reloadChannel} />;\n }\n\n if (!channel?.cid || !channel.watch) {\n return (\n <Text style={[styles.selectChannel, { color: black }, selectChannel]} testID='no-channel'>\n {t('Please select a channel first')}\n </Text>\n );\n }\n\n return (\n <KeyboardCompatibleView\n behavior={keyboardBehavior}\n enabled={!disableKeyboardCompatibleView}\n keyboardVerticalOffset={keyboardVerticalOffset}\n {...additionalKeyboardAvoidingViewProps}\n >\n <ChannelProvider<StreamChatGenerics> value={channelContext}>\n <OwnCapabilitiesProvider value={ownCapabilitiesContext}>\n <TypingProvider<StreamChatGenerics> value={typingContext}>\n <PaginatedMessageListProvider<StreamChatGenerics> value={messageListContext}>\n <MessagesProvider<StreamChatGenerics> value={messagesContext}>\n <ThreadProvider<StreamChatGenerics> value={threadContext}>\n <SuggestionsProvider<StreamChatGenerics> value={suggestionsContext}>\n <MessageInputProvider<StreamChatGenerics> value={inputMessageInputContext}>\n <View style={{ height: '100%' }}>{children}</View>\n </MessageInputProvider>\n </SuggestionsProvider>\n </ThreadProvider>\n </MessagesProvider>\n </PaginatedMessageListProvider>\n </TypingProvider>\n </OwnCapabilitiesProvider>\n </ChannelProvider>\n </KeyboardCompatibleView>\n );\n};\n\nexport type ChannelProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPropsWithContext<StreamChatGenerics>, 'channel'>;\n\n/**\n *\n * The wrapper component for a chat channel. Channel needs to be placed inside a Chat component\n * to receive the StreamChat client instance. MessageList, Thread, and MessageInput must be\n * children of the Channel component to receive the ChannelContext.\n *\n * @example ./Channel.md\n */\nexport const Channel = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChannelProps<StreamChatGenerics>>,\n) => {\n const { client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n const shouldSyncChannel = props.thread?.id ? !!props.threadList : true;\n\n const {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n } = useChannelState<StreamChatGenerics>(\n props.channel,\n props.threadList ? props.thread?.id : undefined,\n );\n\n return (\n <ChannelWithContext<StreamChatGenerics>\n {...{\n client,\n enableOfflineSupport,\n t,\n }}\n {...props}\n shouldSyncChannel={shouldSyncChannel}\n {...{\n members,\n messages: props.messages || messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n }}\n />\n );\n};\n"]}
1
+ {"version":3,"names":["styles","StyleSheet","create","selectChannel","fontWeight","padding","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","scrollToFirstUnreadThreshold","defaultThrottleInterval","defaultDebounceInterval","throttleOptions","leading","trailing","debounceOptions","ChannelWithContext","props","additionalKeyboardAvoidingViewProps","additionalTextInputProps","additionalTouchableProps","allowThreadMessagesInChannel","AttachButton","AttachButtonDefault","Attachment","AttachmentDefault","AttachmentActions","AttachmentActionsDefault","AudioAttachment","AudioAttachmentDefault","AutoCompleteSuggestionHeader","AutoCompleteSuggestionHeaderDefault","AutoCompleteSuggestionItem","AutoCompleteSuggestionItemDefault","AutoCompleteSuggestionList","AutoCompleteSuggestionListDefault","autoCompleteSuggestionsLimit","autoCompleteTriggerSettings","Card","CardDefault","CardCover","CardFooter","CardHeader","channel","children","client","CommandsButton","CommandsButtonDefault","compressImageQuality","CooldownTimer","CooldownTimerDefault","DateHeader","DateHeaderDefault","deletedMessagesVisibilityType","disableIfFrozenChannel","disableKeyboardCompatibleView","disableTypingIndicator","dismissKeyboardOnMessageTouch","doDocUploadRequest","doImageUploadRequest","doMarkReadRequest","doSendMessageRequest","doUpdateMessageRequest","EmptyStateIndicator","EmptyStateIndicatorDefault","enableMessageGroupingByUser","enableOfflineSupport","enforceUniqueReaction","FileAttachment","FileAttachmentDefault","FileAttachmentGroup","FileAttachmentGroupDefault","FileAttachmentIcon","FileIconDefault","FileUploadPreview","FileUploadPreviewDefault","FlatList","FlatListDefault","forceAlignMessages","formatDate","Gallery","GalleryDefault","getMessagesGroupStyles","Giphy","GiphyDefault","giphyEnabled","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","hasCommands","hasFilePicker","pickDocument","hasImagePicker","hideDateSeparators","hideStickyDateHeader","ImageUploadPreview","ImageUploadPreviewDefault","initialScrollToFirstUnreadMessage","initialValue","InlineDateSeparator","InlineDateSeparatorDefault","InlineUnreadIndicator","InlineUnreadIndicatorDefault","Input","InputButtons","InputButtonsDefault","InputEditingStateHeader","InputEditingStateHeaderDefault","InputGiphySearch","InputGiphyCommandInputDefault","InputReplyStateHeader","InputReplyStateHeaderDefault","isAttachmentEqual","keyboardBehavior","KeyboardCompatibleView","KeyboardCompatibleViewDefault","keyboardVerticalOffset","legacyImageViewerSwipeBehaviour","LoadingErrorIndicator","LoadingErrorIndicatorDefault","LoadingIndicator","LoadingIndicatorDefault","loadingMoreProp","loadingMore","loadingMoreRecentProp","loadingMoreRecent","ImageLoadingFailedIndicator","ImageLoadingFailedIndicatorDefault","ImageLoadingIndicator","ImageLoadingIndicatorDefault","markdownRules","maxMessageLengthProp","maxMessageLength","maxNumberOfFiles","maxTimeBetweenGroupedMessages","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","members","Message","MessageDefault","messageActions","MessageAvatar","MessageAvatarDefault","MessageContent","MessageContentDefault","messageContentOrder","MessageDeleted","MessageDeletedDefault","MessageFooter","MessageFooterDefault","MessageHeader","messageId","MessageList","MessageListDefault","MessagePinnedHeader","MessagePinnedHeaderDefault","MessageReplies","MessageRepliesDefault","MessageRepliesAvatars","MessageRepliesAvatarsDefault","messages","MessageSimple","MessageSimpleDefault","MessageStatus","MessageStatusDefault","MessageSystem","MessageSystemDefault","MessageText","MoreOptionsButton","MoreOptionsButtonDefault","myMessageTheme","newMessageStateUpdateThrottleInterval","NetworkDownIndicator","NetworkDownIndicatorDefault","numberOfLines","onChangeText","onLongPressMessage","overrideOwnCapabilities","onPressInMessage","onPressMessage","OverlayReactionList","OverlayReactionListDefault","ReactionList","ReactionListDefault","read","Reply","ReplyDefault","ScrollToBottomButton","ScrollToBottomButtonDefault","selectReaction","SendButton","SendButtonDefault","SendMessageDisallowedIndicator","SendMessageDisallowedIndicatorDefault","sendImageAsync","setInputRef","setMembers","setMessages","setRead","setThreadMessages","setTyping","setWatcherCount","setWatchers","shouldSyncChannel","ShowThreadMessageInChannelButton","ShowThreadMessageInChannelButtonDefault","stateUpdateThrottleInterval","StickyHeader","supportedReactions","t","threadProps","thread","threadList","threadMessages","typing","TypingIndicator","TypingIndicatorDefault","TypingIndicatorContainer","TypingIndicatorContainerDefault","UploadProgressIndicator","UploadProgressIndicatorDefault","UrlPreview","VideoThumbnail","VideoThumbnailDefault","watcherCount","watchers","useTheme","theme","black","colors","useState","deleted","setDeleted","editing","setEditing","error","setError","hasMore","setHasMore","lastRead","setLastRead","state","length","loading","setLoading","setLoadingMore","setLoadingMoreRecent","quotedMessage","setQuotedMessage","setThread","threadHasMore","setThreadHasMore","threadLoadingMore","setThreadLoadingMore","syncingChannel","setSyncingChannel","hasNoMoreRecentMessagesToLoad","setHasNoMoreRecentMessagesToLoad","useTargetedMessage","setTargetedMessage","targetedMessage","channelId","id","useEffect","initChannel","offlineMode","initialized","loadChannel","loadChannelAroundMessage","countUnread","loadChannelAtFirstUnreadMessage","copyChannelState","cancel","copyReadState","copyTypingState","loadMoreFinished","loadMoreThreadFinished","threadPropsExists","threads","handleAppBackground","useCallback","sendEvent","parent_id","useAppStateListener","undefined","isAdmin","user","role","membership","isModerator","isOwner","markRead","useRef","throttle","disconnected","clientChannelConfig","read_events","logChatPromiseExecution","current","copyMessagesState","watcher_count","connectionChangedHandler","resyncChannel","handleEvent","event","updatedThreadMessages","message","updatedThread","formatMessage","channelSubscriptions","clientSubscriptions","subscribe","push","DBSyncManager","onSyncStatusChange","on","cid","forEach","s","unsubscribe","channelQueryCallRef","queryCall","onAfterQueryCall","Date","Error","unreadCount","lastReadDate","query","created_at_around","limit","loadMessageIntoState","setIsUpToDate","loadChannelAtMessage","after","before","queryAtMessage","isUpToDate","watch","reloadThread","parentID","getReplies","queryResponse","updatedHasMore","getMessagesById","threadMessage","formattedMessage","console","warn","oldListTopMessage","oldListTopMessageId","oldListBottomMessage","newListTopMessage","newListBottomMessage","clearMessages","addMessagesSorted","parseMessage","created_at","toString","pinned_at","updated_at","failedMessages","filter","status","MessageStatusTypes","FAILED","map","failedThreadMessages","oldListTopMessageCreatedAt","oldListBottomMessageCreatedAt","newListTopMessageCreatedAt","newListBottomMessageCreatedAt","finalMessages","index","findIndex","slice","reloadChannel","queryBeforeMessage","queryAfterMessage","id_lt","id_gte","getChannelConfigSafely","getConfig","_","updateMessage","updatedMessage","extraState","addMessageSorted","replaceMessage","oldMessage","newMessage","removeMessage","createMessagePreview","attachments","mentioned_users","text","extraFields","channel_mutes","devices","mutes","messageUser","preview","__html","html","userID","generateRandomId","userId","reactions","SENDING","quoted_message_id","find","quoted_message","uploadPendingAttachments","i","attachment","file","originalFile","uri","image_url","isLocalUrl","filename","replace","contentType","lookup","sendImage","uploadResponse","dbApi","asset_url","sendFile","name","response","thumb_url","sendMessageRequest","retrying","deleted_at","latest_reactions","own_reactions","reaction_counts","mentionedUserIds","messageData","patchMessageTextCommand","messageResponse","sendMessage","RECEIVED","log","filterErrorMessages","messagePreview","commands","messageInput","upsertMessages","retrySendMessage","statusPendingMessage","debounce","newMessages","loadMore","oldestMessage","oldestID","loadMoreRecent","recentMessage","loadMoreRecentFinished","editMessage","setEditingState","setQuotedMessageState","clearEditingState","clearQuotedMessageState","deleteMessage","sendReaction","payload","enforce_unique","addReactionToLocalState","reactionType","queueTask","task","channelType","dropPendingTasks","toISOString","data","deleteReaction","removeReactionFromLocalState","openThread","newThreadMessages","closeThread","newThreadHasMore","loadMoreThread","oldestMessageID","ownCapabilitiesContext","useCreateOwnCapabilitiesContext","overrideCapabilities","channelContext","useCreateChannelContext","disabled","frozen","some","command","isChannelActive","inputMessageInputContext","useCreateInputMessageInputContext","max_message_length","messageListContext","useCreatePaginatedMessageListContext","messagesContext","useCreateMessagesContext","suggestionsContext","threadContext","useCreateThreadContext","typingContext","useCreateTypingContext","color","height","Channel","useChatContext","useTranslationContext","useChannelState"],"sources":["Channel.tsx"],"sourcesContent":["import React, { PropsWithChildren, useCallback, useEffect, useRef, useState } from 'react';\nimport { KeyboardAvoidingViewProps, StyleSheet, Text, View } from 'react-native';\n\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nimport { lookup } from 'mime-types';\nimport {\n Channel as ChannelClass,\n ChannelState,\n Channel as ChannelType,\n EventHandler,\n logChatPromiseExecution,\n MessageResponse,\n Reaction,\n SendMessageAPIResponse,\n StreamChat,\n Event as StreamEvent,\n Message as StreamMessage,\n} from 'stream-chat';\n\nimport { useCreateChannelContext } from './hooks/useCreateChannelContext';\n\nimport { useCreateInputMessageInputContext } from './hooks/useCreateInputMessageInputContext';\n\nimport { useCreateMessagesContext } from './hooks/useCreateMessagesContext';\n\nimport { useCreateOwnCapabilitiesContext } from './hooks/useCreateOwnCapabilitiesContext';\nimport { useCreatePaginatedMessageListContext } from './hooks/useCreatePaginatedMessageListContext';\n\nimport { useCreateThreadContext } from './hooks/useCreateThreadContext';\n\nimport { useCreateTypingContext } from './hooks/useCreateTypingContext';\n\nimport { useTargetedMessage } from './hooks/useTargetedMessage';\n\nimport { ChannelContextValue, ChannelProvider } from '../../contexts/channelContext/ChannelContext';\nimport { useChannelState } from '../../contexts/channelsStateContext/useChannelState';\nimport type { UseChannelStateValue } from '../../contexts/channelsStateContext/useChannelState';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n InputMessageInputContextValue,\n MessageInputProvider,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n MessagesProvider,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OwnCapabilitiesContextValue,\n OwnCapabilitiesProvider,\n} from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport {\n PaginatedMessageListContextValue,\n PaginatedMessageListProvider,\n} from '../../contexts/paginatedMessageListContext/PaginatedMessageListContext';\nimport {\n SuggestionsContextValue,\n SuggestionsProvider,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, ThreadProvider } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport { TypingProvider } from '../../contexts/typingContext/TypingContext';\nimport { useAppStateListener } from '../../hooks/useAppStateListener';\n\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\nimport { FlatList as FlatListDefault, pickDocument } from '../../native';\nimport * as dbApi from '../../store/apis';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { addReactionToLocalState } from '../../utils/addReactionToLocalState';\nimport { DBSyncManager } from '../../utils/DBSyncManager';\nimport { patchMessageTextCommand } from '../../utils/patchMessageTextCommand';\nimport { removeReactionFromLocalState } from '../../utils/removeReactionFromLocalState';\nimport { generateRandomId, isLocalUrl, MessageStatusTypes, ReactionData } from '../../utils/utils';\nimport { Attachment as AttachmentDefault } from '../Attachment/Attachment';\nimport { AttachmentActions as AttachmentActionsDefault } from '../Attachment/AttachmentActions';\nimport { AudioAttachment as AudioAttachmentDefault } from '../Attachment/AudioAttachment';\nimport { Card as CardDefault } from '../Attachment/Card';\nimport { FileAttachment as FileAttachmentDefault } from '../Attachment/FileAttachment';\nimport { FileAttachmentGroup as FileAttachmentGroupDefault } from '../Attachment/FileAttachmentGroup';\nimport { FileIcon as FileIconDefault } from '../Attachment/FileIcon';\nimport { Gallery as GalleryDefault } from '../Attachment/Gallery';\nimport { Giphy as GiphyDefault } from '../Attachment/Giphy';\nimport { ImageLoadingFailedIndicator as ImageLoadingFailedIndicatorDefault } from '../Attachment/ImageLoadingFailedIndicator';\nimport { ImageLoadingIndicator as ImageLoadingIndicatorDefault } from '../Attachment/ImageLoadingIndicator';\nimport { VideoThumbnail as VideoThumbnailDefault } from '../Attachment/VideoThumbnail';\nimport { AutoCompleteSuggestionHeader as AutoCompleteSuggestionHeaderDefault } from '../AutoCompleteInput/AutoCompleteSuggestionHeader';\nimport { AutoCompleteSuggestionItem as AutoCompleteSuggestionItemDefault } from '../AutoCompleteInput/AutoCompleteSuggestionItem';\nimport { AutoCompleteSuggestionList as AutoCompleteSuggestionListDefault } from '../AutoCompleteInput/AutoCompleteSuggestionList';\nimport { EmptyStateIndicator as EmptyStateIndicatorDefault } from '../Indicators/EmptyStateIndicator';\nimport {\n LoadingErrorIndicator as LoadingErrorIndicatorDefault,\n LoadingErrorProps,\n} from '../Indicators/LoadingErrorIndicator';\nimport { LoadingIndicator as LoadingIndicatorDefault } from '../Indicators/LoadingIndicator';\nimport { KeyboardCompatibleView as KeyboardCompatibleViewDefault } from '../KeyboardCompatibleView/KeyboardCompatibleView';\nimport { Message as MessageDefault } from '../Message/Message';\nimport { MessageAvatar as MessageAvatarDefault } from '../Message/MessageSimple/MessageAvatar';\nimport { MessageContent as MessageContentDefault } from '../Message/MessageSimple/MessageContent';\nimport { MessageDeleted as MessageDeletedDefault } from '../Message/MessageSimple/MessageDeleted';\nimport { MessageFooter as MessageFooterDefault } from '../Message/MessageSimple/MessageFooter';\nimport { MessagePinnedHeader as MessagePinnedHeaderDefault } from '../Message/MessageSimple/MessagePinnedHeader';\nimport { MessageReplies as MessageRepliesDefault } from '../Message/MessageSimple/MessageReplies';\nimport { MessageRepliesAvatars as MessageRepliesAvatarsDefault } from '../Message/MessageSimple/MessageRepliesAvatars';\nimport { MessageSimple as MessageSimpleDefault } from '../Message/MessageSimple/MessageSimple';\nimport { MessageStatus as MessageStatusDefault } from '../Message/MessageSimple/MessageStatus';\nimport { ReactionList as ReactionListDefault } from '../Message/MessageSimple/ReactionList';\nimport { AttachButton as AttachButtonDefault } from '../MessageInput/AttachButton';\nimport { CommandsButton as CommandsButtonDefault } from '../MessageInput/CommandsButton';\nimport { InputEditingStateHeader as InputEditingStateHeaderDefault } from '../MessageInput/components/InputEditingStateHeader';\nimport { InputGiphySearch as InputGiphyCommandInputDefault } from '../MessageInput/components/InputGiphySearch';\nimport { InputReplyStateHeader as InputReplyStateHeaderDefault } from '../MessageInput/components/InputReplyStateHeader';\nimport { CooldownTimer as CooldownTimerDefault } from '../MessageInput/CooldownTimer';\nimport { FileUploadPreview as FileUploadPreviewDefault } from '../MessageInput/FileUploadPreview';\nimport { ImageUploadPreview as ImageUploadPreviewDefault } from '../MessageInput/ImageUploadPreview';\nimport { InputButtons as InputButtonsDefault } from '../MessageInput/InputButtons';\nimport { MoreOptionsButton as MoreOptionsButtonDefault } from '../MessageInput/MoreOptionsButton';\nimport { SendButton as SendButtonDefault } from '../MessageInput/SendButton';\nimport { SendMessageDisallowedIndicator as SendMessageDisallowedIndicatorDefault } from '../MessageInput/SendMessageDisallowedIndicator';\nimport { ShowThreadMessageInChannelButton as ShowThreadMessageInChannelButtonDefault } from '../MessageInput/ShowThreadMessageInChannelButton';\nimport { UploadProgressIndicator as UploadProgressIndicatorDefault } from '../MessageInput/UploadProgressIndicator';\nimport { DateHeader as DateHeaderDefault } from '../MessageList/DateHeader';\nimport type { MessageType } from '../MessageList/hooks/useMessageList';\nimport { InlineDateSeparator as InlineDateSeparatorDefault } from '../MessageList/InlineDateSeparator';\nimport { InlineUnreadIndicator as InlineUnreadIndicatorDefault } from '../MessageList/InlineUnreadIndicator';\nimport { MessageList as MessageListDefault } from '../MessageList/MessageList';\nimport { MessageSystem as MessageSystemDefault } from '../MessageList/MessageSystem';\nimport { NetworkDownIndicator as NetworkDownIndicatorDefault } from '../MessageList/NetworkDownIndicator';\nimport { ScrollToBottomButton as ScrollToBottomButtonDefault } from '../MessageList/ScrollToBottomButton';\nimport { TypingIndicator as TypingIndicatorDefault } from '../MessageList/TypingIndicator';\nimport { TypingIndicatorContainer as TypingIndicatorContainerDefault } from '../MessageList/TypingIndicatorContainer';\nimport { OverlayReactionList as OverlayReactionListDefault } from '../MessageOverlay/OverlayReactionList';\nimport { Reply as ReplyDefault } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n selectChannel: { fontWeight: 'bold', padding: 16 },\n});\n\nexport const reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\n/**\n * If count of unread messages is less than 4, then no need to scroll to first unread message,\n * since first unread message will be in visible frame anyways.\n */\nconst scrollToFirstUnreadThreshold = 4;\n\nconst defaultThrottleInterval = 500;\nconst defaultDebounceInterval = 500;\nconst throttleOptions = {\n leading: true,\n trailing: true,\n};\nconst debounceOptions = {\n leading: true,\n trailing: true,\n};\n\nexport type ChannelPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'channel'> &\n Partial<\n Pick<\n ChannelContextValue<StreamChatGenerics>,\n | 'EmptyStateIndicator'\n | 'enableMessageGroupingByUser'\n | 'enforceUniqueReaction'\n | 'giphyEnabled'\n | 'hideStickyDateHeader'\n | 'hideDateSeparators'\n | 'LoadingIndicator'\n | 'maxTimeBetweenGroupedMessages'\n | 'NetworkDownIndicator'\n | 'StickyHeader'\n >\n > &\n Pick<ChatContextValue<StreamChatGenerics>, 'client' | 'enableOfflineSupport'> &\n Partial<\n Omit<\n InputMessageInputContextValue<StreamChatGenerics>,\n 'quotedMessage' | 'editing' | 'clearEditingState' | 'clearQuotedMessageState' | 'sendMessage'\n >\n > &\n Partial<\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem' | 'AutoCompleteSuggestionList'\n >\n > &\n Pick<TranslationContextValue, 't'> &\n Partial<\n Pick<\n PaginatedMessageListContextValue<StreamChatGenerics>,\n 'messages' | 'loadingMore' | 'loadingMoreRecent'\n >\n > &\n UseChannelStateValue<StreamChatGenerics> &\n Partial<\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'AttachmentActions'\n | 'AudioAttachment'\n | 'Card'\n | 'CardCover'\n | 'CardFooter'\n | 'CardHeader'\n | 'DateHeader'\n | 'deletedMessagesVisibilityType'\n | 'disableTypingIndicator'\n | 'dismissKeyboardOnMessageTouch'\n | 'FileAttachment'\n | 'FileAttachmentIcon'\n | 'FileAttachmentGroup'\n | 'FlatList'\n | 'forceAlignMessages'\n | 'formatDate'\n | 'Gallery'\n | 'getMessagesGroupStyles'\n | 'Giphy'\n | 'giphyVersion'\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleReaction'\n | 'handleQuotedReply'\n | 'handleRetry'\n | 'handleThreadReply'\n | 'InlineDateSeparator'\n | 'InlineUnreadIndicator'\n | 'isAttachmentEqual'\n | 'legacyImageViewerSwipeBehaviour'\n | 'ImageLoadingFailedIndicator'\n | 'ImageLoadingIndicator'\n | 'markdownRules'\n | 'Message'\n | 'messageActions'\n | 'MessageAvatar'\n | 'MessageContent'\n | 'messageContentOrder'\n | 'MessageDeleted'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageList'\n | 'MessagePinnedHeader'\n | 'MessageReplies'\n | 'MessageRepliesAvatars'\n | 'MessageSimple'\n | 'MessageStatus'\n | 'MessageSystem'\n | 'MessageText'\n | 'myMessageTheme'\n | 'onLongPressMessage'\n | 'onPressInMessage'\n | 'onPressMessage'\n | 'OverlayReactionList'\n | 'ReactionList'\n | 'Reply'\n | 'ScrollToBottomButton'\n | 'selectReaction'\n | 'supportedReactions'\n | 'TypingIndicator'\n | 'TypingIndicatorContainer'\n | 'UrlPreview'\n | 'VideoThumbnail'\n >\n > &\n Partial<\n Pick<ThreadContextValue<StreamChatGenerics>, 'allowThreadMessagesInChannel' | 'thread'>\n > & {\n shouldSyncChannel: boolean;\n /**\n * Additional props passed to keyboard avoiding view\n */\n additionalKeyboardAvoidingViewProps?: Partial<KeyboardAvoidingViewProps>;\n /**\n * Disables the channel UI if the channel is frozen\n */\n disableIfFrozenChannel?: boolean;\n /**\n * When true, disables the KeyboardCompatibleView wrapper\n *\n * Channel internally uses the [KeyboardCompatibleView](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx)\n * component to adjust the height of Channel when the keyboard is opened or dismissed. This prop provides the ability to disable this functionality in case you\n * want to use [KeyboardAvoidingView](https://facebook.github.io/react-native/docs/keyboardavoidingview) or handle dismissal yourself.\n * KeyboardAvoidingView works well when your component occupies 100% of screen height, otherwise it may raise some issues.\n */\n disableKeyboardCompatibleView?: boolean;\n /**\n * Overrides the Stream default mark channel read request (Advanced usage only)\n * @param channel Channel object\n */\n doMarkReadRequest?: (channel: ChannelType<StreamChatGenerics>) => void;\n /**\n * Overrides the Stream default send message request (Advanced usage only)\n * @param channelId\n * @param messageData Message object\n */\n doSendMessageRequest?: (\n channelId: string,\n messageData: StreamMessage<StreamChatGenerics>,\n ) => Promise<SendMessageAPIResponse<StreamChatGenerics>>;\n /**\n * Overrides the Stream default update message request (Advanced usage only)\n * @param channelId\n * @param updatedMessage UpdatedMessage object\n */\n doUpdateMessageRequest?: (\n channelId: string,\n updatedMessage: Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0],\n ) => ReturnType<StreamChat<StreamChatGenerics>['updateMessage']>;\n /**\n * When true, messageList will be scrolled at first unread message, when opened.\n */\n initialScrollToFirstUnreadMessage?: boolean;\n keyboardBehavior?: KeyboardAvoidingViewProps['behavior'];\n /**\n * Custom wrapper component that handles height adjustment of Channel component when keyboard is opened or dismissed\n * Default component (accepts the same props): [KeyboardCompatibleView](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx)\n *\n * **Example:**\n *\n * ```\n * <Channel\n * channel={channel}\n * KeyboardCompatibleView={(props) => {\n * return (\n * <KeyboardCompatibleView>\n * {props.children}\n * </KeyboardCompatibleView>\n * )\n * }}\n * />\n * ```\n */\n KeyboardCompatibleView?: React.ComponentType<KeyboardAvoidingViewProps>;\n keyboardVerticalOffset?: number;\n /**\n * Custom loading error indicator to override the Stream default\n */\n LoadingErrorIndicator?: React.ComponentType<LoadingErrorProps>;\n maxMessageLength?: number;\n /**\n * Load the channel at a specified message instead of the most recent message.\n */\n messageId?: string;\n newMessageStateUpdateThrottleInterval?: number;\n overrideOwnCapabilities?: Partial<OwnCapabilitiesContextValue>;\n stateUpdateThrottleInterval?: number;\n /**\n * Tells if channel is rendering a thread list\n */\n threadList?: boolean;\n };\n\nconst ChannelWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChannelPropsWithContext<StreamChatGenerics>>,\n) => {\n const {\n additionalKeyboardAvoidingViewProps,\n additionalTextInputProps,\n additionalTouchableProps,\n allowThreadMessagesInChannel = true,\n AttachButton = AttachButtonDefault,\n Attachment = AttachmentDefault,\n AttachmentActions = AttachmentActionsDefault,\n AudioAttachment = AudioAttachmentDefault,\n AutoCompleteSuggestionHeader = AutoCompleteSuggestionHeaderDefault,\n AutoCompleteSuggestionItem = AutoCompleteSuggestionItemDefault,\n AutoCompleteSuggestionList = AutoCompleteSuggestionListDefault,\n autoCompleteSuggestionsLimit,\n autoCompleteTriggerSettings,\n Card = CardDefault,\n CardCover,\n CardFooter,\n CardHeader,\n channel,\n children,\n client,\n CommandsButton = CommandsButtonDefault,\n compressImageQuality,\n CooldownTimer = CooldownTimerDefault,\n DateHeader = DateHeaderDefault,\n deletedMessagesVisibilityType = 'always',\n disableIfFrozenChannel = true,\n disableKeyboardCompatibleView = false,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch = true,\n doDocUploadRequest,\n doImageUploadRequest,\n doMarkReadRequest,\n doSendMessageRequest,\n doUpdateMessageRequest,\n EmptyStateIndicator = EmptyStateIndicatorDefault,\n enableMessageGroupingByUser = true,\n enableOfflineSupport,\n enforceUniqueReaction = false,\n FileAttachment = FileAttachmentDefault,\n FileAttachmentGroup = FileAttachmentGroupDefault,\n FileAttachmentIcon = FileIconDefault,\n FileUploadPreview = FileUploadPreviewDefault,\n FlatList = FlatListDefault,\n forceAlignMessages,\n formatDate,\n Gallery = GalleryDefault,\n getMessagesGroupStyles,\n Giphy = GiphyDefault,\n giphyEnabled,\n giphyVersion = 'fixed_height',\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n hasCommands = true,\n // If pickDocument isn't available, default to hiding the file picker\n hasFilePicker = pickDocument !== null,\n hasImagePicker = true,\n hideDateSeparators = false,\n hideStickyDateHeader = false,\n ImageUploadPreview = ImageUploadPreviewDefault,\n initialScrollToFirstUnreadMessage = false,\n initialValue,\n InlineDateSeparator = InlineDateSeparatorDefault,\n InlineUnreadIndicator = InlineUnreadIndicatorDefault,\n Input,\n InputButtons = InputButtonsDefault,\n InputEditingStateHeader = InputEditingStateHeaderDefault,\n InputGiphySearch = InputGiphyCommandInputDefault,\n InputReplyStateHeader = InputReplyStateHeaderDefault,\n isAttachmentEqual,\n keyboardBehavior,\n KeyboardCompatibleView = KeyboardCompatibleViewDefault,\n keyboardVerticalOffset,\n legacyImageViewerSwipeBehaviour = false,\n LoadingErrorIndicator = LoadingErrorIndicatorDefault,\n LoadingIndicator = LoadingIndicatorDefault,\n loadingMore: loadingMoreProp,\n loadingMoreRecent: loadingMoreRecentProp,\n ImageLoadingFailedIndicator = ImageLoadingFailedIndicatorDefault,\n ImageLoadingIndicator = ImageLoadingIndicatorDefault,\n markdownRules,\n maxMessageLength: maxMessageLengthProp,\n maxNumberOfFiles = 10,\n maxTimeBetweenGroupedMessages,\n mentionAllAppUsersEnabled = false,\n mentionAllAppUsersQuery,\n members,\n Message = MessageDefault,\n messageActions,\n MessageAvatar = MessageAvatarDefault,\n MessageContent = MessageContentDefault,\n messageContentOrder = ['quoted_reply', 'gallery', 'files', 'text', 'attachments'],\n MessageDeleted = MessageDeletedDefault,\n MessageFooter = MessageFooterDefault,\n MessageHeader,\n messageId,\n MessageList = MessageListDefault,\n MessagePinnedHeader = MessagePinnedHeaderDefault,\n MessageReplies = MessageRepliesDefault,\n MessageRepliesAvatars = MessageRepliesAvatarsDefault,\n messages,\n MessageSimple = MessageSimpleDefault,\n MessageStatus = MessageStatusDefault,\n MessageSystem = MessageSystemDefault,\n MessageText,\n MoreOptionsButton = MoreOptionsButtonDefault,\n myMessageTheme,\n newMessageStateUpdateThrottleInterval = defaultThrottleInterval,\n NetworkDownIndicator = NetworkDownIndicatorDefault,\n numberOfLines = 5,\n onChangeText,\n onLongPressMessage,\n overrideOwnCapabilities,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList = OverlayReactionListDefault,\n ReactionList = ReactionListDefault,\n read,\n Reply = ReplyDefault,\n ScrollToBottomButton = ScrollToBottomButtonDefault,\n selectReaction,\n SendButton = SendButtonDefault,\n SendMessageDisallowedIndicator = SendMessageDisallowedIndicatorDefault,\n sendImageAsync = false,\n setInputRef,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n shouldSyncChannel,\n ShowThreadMessageInChannelButton = ShowThreadMessageInChannelButtonDefault,\n stateUpdateThrottleInterval = defaultThrottleInterval,\n StickyHeader,\n supportedReactions = reactionData,\n t,\n thread: threadProps,\n threadList,\n threadMessages,\n typing,\n TypingIndicator = TypingIndicatorDefault,\n TypingIndicatorContainer = TypingIndicatorContainerDefault,\n UploadProgressIndicator = UploadProgressIndicatorDefault,\n UrlPreview = CardDefault,\n VideoThumbnail = VideoThumbnailDefault,\n watcherCount,\n watchers,\n } = props;\n\n const {\n theme: {\n channel: { selectChannel },\n colors: { black },\n },\n } = useTheme();\n const [deleted, setDeleted] = useState(false);\n const [editing, setEditing] = useState<boolean | MessageType<StreamChatGenerics>>(false);\n const [error, setError] = useState<Error | boolean>(false);\n const [hasMore, setHasMore] = useState(true);\n const [lastRead, setLastRead] = useState<ChannelContextValue<StreamChatGenerics>['lastRead']>();\n const [loading, setLoading] = useState(!channel?.state.messages.length);\n const [loadingMore, setLoadingMore] = useState(false);\n\n const [loadingMoreRecent, setLoadingMoreRecent] = useState(false);\n const [quotedMessage, setQuotedMessage] =\n useState<boolean | MessageType<StreamChatGenerics>>(false);\n const [thread, setThread] = useState<ThreadContextValue<StreamChatGenerics>['thread']>(\n threadProps || null,\n );\n const [threadHasMore, setThreadHasMore] = useState(true);\n const [threadLoadingMore, setThreadLoadingMore] = useState(false);\n\n const [syncingChannel, setSyncingChannel] = useState(false);\n\n /**\n * Flag to track if we know for sure that there are no more recent messages to load.\n * This is necessary to avoid unnecessary api calls to load recent messages on pagination.\n */\n const [hasNoMoreRecentMessagesToLoad, setHasNoMoreRecentMessagesToLoad] = useState(true);\n\n const { setTargetedMessage, targetedMessage } = useTargetedMessage();\n\n const channelId = channel?.id || '';\n useEffect(() => {\n const initChannel = () => {\n if (!channel || !shouldSyncChannel || channel.offlineMode) return;\n /**\n * Loading channel at first unread message requires channel to be initialized in the first place,\n * since we use read state on channel to decide what offset to load channel at.\n * Also there is no use case from UX perspective, why one would need loading uninitialized channel at particular message.\n * If the channel is not initiated, then we need to do channel.watch, which is more expensive for backend than channel.query.\n */\n if (!channel.initialized) {\n loadChannel();\n return;\n }\n\n if (messageId) {\n loadChannelAroundMessage({ messageId });\n return;\n }\n\n if (\n initialScrollToFirstUnreadMessage &&\n channel.countUnread() > scrollToFirstUnreadThreshold\n ) {\n loadChannelAtFirstUnreadMessage();\n } else {\n loadChannel();\n }\n };\n\n initChannel();\n\n return () => {\n copyChannelState.cancel();\n copyReadState.cancel();\n copyTypingState.cancel();\n loadMoreFinished.cancel();\n loadMoreThreadFinished.cancel();\n };\n }, [channelId, messageId]);\n\n const threadPropsExists = !!threadProps;\n useEffect(() => {\n if (threadProps && shouldSyncChannel) {\n setThread(threadProps);\n if (channel && threadProps?.id) {\n setThreadMessages(channel.state.threads?.[threadProps.id] || []);\n }\n } else {\n setThread(null);\n }\n }, [threadPropsExists]);\n\n const handleAppBackground = useCallback(() => {\n if (channel) {\n channel.sendEvent({\n parent_id: thread?.id,\n type: 'typing.stop',\n } as StreamEvent<StreamChatGenerics>);\n }\n }, [thread?.id, channelId]);\n\n useAppStateListener(undefined, handleAppBackground);\n\n /**\n * CHANNEL CONSTANTS\n */\n const isAdmin = client?.user?.role === 'admin' || channel?.state.membership.role === 'admin';\n\n const isModerator =\n channel?.state.membership.role === 'channel_moderator' ||\n channel?.state.membership.role === 'moderator';\n\n const isOwner = channel?.state.membership.role === 'owner';\n\n /**\n * CHANNEL METHODS\n */\n const markRead: ChannelContextValue<StreamChatGenerics>['markRead'] = useRef(\n throttle(\n () => {\n if (!channel || channel?.disconnected || !clientChannelConfig?.read_events) {\n return;\n }\n\n if (doMarkReadRequest) {\n doMarkReadRequest(channel);\n } else {\n logChatPromiseExecution(channel.markRead(), 'mark read');\n }\n },\n defaultThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyMessagesState = useRef(\n throttle(\n () => {\n if (channel) {\n setMessages([...channel.state.messages]);\n }\n },\n newMessageStateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyTypingState = useRef(\n throttle(\n () => {\n if (channel) {\n setTyping({ ...channel.state.typing });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyReadState = useRef(\n throttle(\n () => {\n if (channel) {\n setRead({ ...channel.state.read });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const copyChannelState = useRef(\n throttle(\n () => {\n setLoading(false);\n if (channel) {\n setMembers({ ...channel.state.members });\n setMessages([...channel.state.messages]);\n setRead({ ...channel.state.read });\n setTyping({ ...channel.state.typing });\n setWatcherCount(channel.state.watcher_count);\n setWatchers({ ...channel.state.watchers });\n }\n },\n stateUpdateThrottleInterval,\n throttleOptions,\n ),\n ).current;\n\n const connectionChangedHandler = () => {\n if (shouldSyncChannel) {\n resyncChannel();\n }\n };\n\n const handleEvent: EventHandler<StreamChatGenerics> = (event) => {\n if (shouldSyncChannel) {\n if (thread) {\n const updatedThreadMessages =\n (thread.id && channel && channel.state.threads[thread.id]) || threadMessages;\n setThreadMessages(updatedThreadMessages);\n }\n\n if (channel && thread && event.message?.id === thread.id) {\n const updatedThread = channel.state.formatMessage(event.message);\n setThread(updatedThread);\n }\n\n if (event.type === 'typing.start' || event.type === 'typing.stop') {\n copyTypingState();\n } else if (event.type === 'message.read') {\n copyReadState();\n } else if (event.type === 'message.new') {\n copyMessagesState();\n } else if (channel) {\n copyChannelState();\n }\n }\n };\n\n useEffect(() => {\n const channelSubscriptions: Array<ReturnType<ChannelType['on']>> = [];\n const clientSubscriptions: Array<ReturnType<StreamChat['on']>> = [];\n\n const subscribe = () => {\n if (!channel) return;\n\n /**\n * The more complex sync logic around internet connectivity (NetInfo) is part of Chat.tsx\n * listen to client.connection.recovered and all channel events\n */\n clientSubscriptions.push(DBSyncManager.onSyncStatusChange(connectionChangedHandler));\n clientSubscriptions.push(\n client.on('channel.deleted', (event) => {\n if (event.cid === channel.cid) {\n setDeleted(true);\n }\n }),\n );\n channelSubscriptions.push(channel.on(handleEvent));\n };\n\n subscribe();\n\n return () => {\n clientSubscriptions.forEach((s) => s.unsubscribe());\n channelSubscriptions.forEach((s) => s.unsubscribe());\n };\n }, [channelId, connectionChangedHandler, handleEvent]);\n\n const channelQueryCallRef = useRef(\n async (\n queryCall: () => Promise<void>,\n onAfterQueryCall: (() => void) | undefined = undefined,\n ) => {\n setError(false);\n try {\n await queryCall();\n setLastRead(new Date());\n setHasMore(true);\n copyChannelState();\n onAfterQueryCall?.();\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoading(false);\n setLastRead(new Date());\n }\n },\n );\n\n /**\n * Loads channel at first unread message.\n */\n const loadChannelAtFirstUnreadMessage = () => {\n if (!channel) return;\n const unreadCount = channel.countUnread();\n if (unreadCount <= scrollToFirstUnreadThreshold) return;\n // temporarily clear existing messages so that messageList component gets a list change and does not scroll to any unread message first before loading completes\n setMessages([]);\n // query for messages around the last read date\n return channelQueryCallRef.current(async () => {\n setLoading(true);\n const lastReadDate = channel.lastRead() || new Date(0);\n await channel.query({\n messages: {\n created_at_around: lastReadDate,\n limit: 25,\n },\n });\n setLoading(false);\n });\n };\n\n /**\n * Loads channel around a specific message\n *\n * @param messageId If undefined, channel will be loaded at most recent message.\n */\n const loadChannelAroundMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAroundMessage'] =\n ({ messageId }) =>\n channelQueryCallRef.current(\n async () => {\n setHasNoMoreRecentMessagesToLoad(false); // we are jumping to a message, hence we do not know for sure anymore if there are no more recent messages\n setLoading(true);\n if (messageId) {\n await channel.state.loadMessageIntoState(messageId);\n } else {\n await channel.state.loadMessageIntoState('latest');\n channel.state.setIsUpToDate(true);\n }\n setLoading(false);\n },\n () => {\n if (messageId) {\n setTargetedMessage(messageId);\n }\n },\n );\n\n /**\n * @deprecated use loadChannelAroundMessage instead\n *\n * Loads channel at specific message\n *\n * @param messageId If undefined, channel will be loaded at most recent message.\n * @param before Number of message to query before messageId\n * @param after Number of message to query after messageId\n */\n const loadChannelAtMessage: ChannelContextValue<StreamChatGenerics>['loadChannelAtMessage'] = ({\n after = 2,\n before = 30,\n messageId,\n }) =>\n channelQueryCallRef.current(async () => {\n await queryAtMessage({ after, before, messageId });\n\n if (messageId) {\n setTargetedMessage(messageId);\n }\n });\n\n const loadChannel = () =>\n channelQueryCallRef.current(async () => {\n if (!channel?.initialized || !channel.state.isUpToDate) {\n await channel?.watch();\n setHasNoMoreRecentMessagesToLoad(true);\n channel?.state.setIsUpToDate(true);\n } else {\n await channel.state.loadMessageIntoState('latest');\n }\n return;\n });\n\n const reloadThread = async () => {\n if (!channel || !thread?.id) return;\n setThreadLoadingMore(true);\n try {\n const parentID = thread.id;\n\n const limit = 50;\n channel.state.threads[parentID] = [];\n const queryResponse = await channel.getReplies(parentID, {\n limit,\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n const updatedThreadMessages = channel.state.threads[parentID] || [];\n loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);\n const { messages } = await channel.getMessagesById([parentID]);\n const [threadMessage] = messages;\n if (threadMessage) {\n const formattedMessage = channel.state.formatMessage(threadMessage);\n setThread(formattedMessage);\n }\n } catch (err) {\n console.warn('Thread loading request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setThreadLoadingMore(false);\n throw err;\n }\n };\n\n const resyncChannel = async () => {\n if (!channel || syncingChannel) return;\n setSyncingChannel(true);\n\n setError(false);\n try {\n /**\n * Allow a buffer of 30 new messages, so that MessageList won't move its scroll position,\n * giving smooth user experience.\n */\n const state = await channel.watch({\n messages: {\n limit: messages.length + 30,\n },\n });\n\n const oldListTopMessage = messages[0];\n const oldListTopMessageId = messages[0]?.id;\n const oldListBottomMessage = messages[messages.length - 1];\n\n const newListTopMessage = state.messages[0];\n const newListBottomMessage = state.messages[state.messages.length - 1];\n\n if (\n !oldListTopMessage || // previous list was empty\n !oldListBottomMessage || // previous list was empty\n !newListTopMessage || // new list is truncated\n !newListBottomMessage // new list is truncated\n ) {\n /** Channel was truncated */\n channel.state.clearMessages();\n channel.state.setIsUpToDate(true);\n channel.state.addMessagesSorted(state.messages);\n copyChannelState();\n return;\n }\n\n const parseMessage = (message: typeof oldListTopMessage) =>\n ({\n ...message,\n created_at: message.created_at.toString(),\n pinned_at: message.pinned_at?.toString(),\n updated_at: message.updated_at?.toString(),\n } as unknown as MessageResponse<StreamChatGenerics>);\n\n const failedMessages = messages\n .filter((message) => message.status === MessageStatusTypes.FAILED)\n .map(parseMessage);\n\n const failedThreadMessages = thread\n ? threadMessages\n .filter((message) => message.status === MessageStatusTypes.FAILED)\n .map(parseMessage)\n : [];\n\n const oldListTopMessageCreatedAt = oldListTopMessage.created_at;\n const oldListBottomMessageCreatedAt = oldListBottomMessage.created_at;\n const newListTopMessageCreatedAt = newListTopMessage.created_at\n ? new Date(newListTopMessage.created_at)\n : new Date();\n const newListBottomMessageCreatedAt = newListBottomMessage?.created_at\n ? new Date(newListBottomMessage.created_at)\n : new Date();\n\n let finalMessages = [];\n\n if (\n oldListTopMessage &&\n oldListTopMessageCreatedAt &&\n oldListBottomMessageCreatedAt &&\n newListTopMessageCreatedAt < oldListTopMessageCreatedAt &&\n newListBottomMessageCreatedAt >= oldListBottomMessageCreatedAt\n ) {\n const index = state.messages.findIndex((message) => message.id === oldListTopMessageId);\n finalMessages = state.messages.slice(index);\n } else {\n finalMessages = state.messages;\n }\n\n setHasNoMoreRecentMessagesToLoad(true);\n channel.state.setIsUpToDate(true);\n\n channel.state.clearMessages();\n channel.state.addMessagesSorted(finalMessages);\n\n setHasMore(true);\n copyChannelState();\n\n if (failedMessages.length) {\n channel.state.addMessagesSorted(failedMessages);\n copyChannelState();\n }\n\n await reloadThread();\n\n if (thread && failedThreadMessages.length) {\n channel.state.addMessagesSorted(failedThreadMessages);\n setThreadMessages([...channel.state.threads[thread.id]]);\n }\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoading(false);\n }\n\n setSyncingChannel(false);\n };\n\n const reloadChannel = () =>\n channelQueryCallRef.current(async () => {\n setLoading(true);\n await channel.state.loadMessageIntoState('latest');\n setLoading(false);\n setHasNoMoreRecentMessagesToLoad(true);\n channel?.state.setIsUpToDate(true);\n });\n\n /**\n * @deprecated\n * Makes a query to load messages at particular message id.\n *\n * @param messageId Targeted message id\n * @param before Number of messages to load before messageId\n * @param after Number of messages to load after messageId\n */\n const queryAtMessage = async ({\n after = 10,\n before = 10,\n messageId,\n }: Parameters<ChannelContextValue<StreamChatGenerics>['loadChannelAtMessage']>[0]) => {\n if (!channel) return;\n channel.state.setIsUpToDate(false);\n channel.state.clearMessages();\n setMessages([...channel.state.messages]);\n if (!messageId) {\n await channel.query({\n messages: {\n limit: before,\n },\n watch: true,\n });\n\n channel.state.setIsUpToDate(true);\n return;\n }\n\n await queryBeforeMessage(messageId, before);\n await queryAfterMessage(messageId, after);\n };\n\n /**\n * @deprecated\n * Makes a query to load messages before particular message id.\n *\n * @param messageId Targeted message id\n * @param limit Number of messages to load\n */\n const queryBeforeMessage = async (messageId: string, limit = 5) => {\n if (!channel) return;\n\n await channel.query({\n messages: {\n id_lt: messageId,\n limit,\n },\n watch: true,\n });\n\n channel.state.setIsUpToDate(false);\n };\n\n /**\n * @deprecated\n * Makes a query to load messages later than particular message id.\n *\n * @param messageId Targeted message id\n * @param limit Number of messages to load.\n */\n const queryAfterMessage = async (messageId: string, limit = 5) => {\n if (!channel) return;\n const state = await channel.query({\n messages: {\n id_gte: messageId,\n limit,\n },\n watch: true,\n });\n\n if (state.messages.length < limit) {\n channel.state.setIsUpToDate(true);\n } else {\n channel.state.setIsUpToDate(false);\n }\n };\n\n // In case the channel is disconnected which may happen when channel is deleted,\n // underlying js client throws an error. Following function ensures that Channel component\n // won't result in error in such a case.\n const getChannelConfigSafely = () => {\n try {\n return channel?.getConfig();\n } catch (_) {\n return null;\n }\n };\n\n /**\n * Channel configs for use in disabling local functionality.\n * Nullish coalescing is used to give first priority to props to override\n * the server settings. Then priority to server settings to override defaults.\n */\n const clientChannelConfig = getChannelConfigSafely();\n\n /**\n * MESSAGE METHODS\n */\n\n const updateMessage: MessagesContextValue<StreamChatGenerics>['updateMessage'] = (\n updatedMessage,\n extraState = {},\n ) => {\n if (channel) {\n channel.state.addMessageSorted(updatedMessage, true);\n if (thread && updatedMessage.parent_id) {\n extraState.threadMessages = channel.state.threads[updatedMessage.parent_id] || [];\n setThreadMessages(extraState.threadMessages);\n }\n\n setMessages([...channel.state.messages]);\n }\n };\n\n const replaceMessage = (\n oldMessage: MessageResponse<StreamChatGenerics>,\n newMessage: MessageResponse<StreamChatGenerics>,\n ) => {\n if (channel) {\n channel.state.removeMessage(oldMessage);\n channel.state.addMessageSorted(newMessage, true);\n if (thread && newMessage.parent_id) {\n const threadMessages = channel.state.threads[newMessage.parent_id] || [];\n setThreadMessages(threadMessages);\n }\n setMessages(channel.state.messages);\n }\n };\n\n const createMessagePreview = ({\n attachments,\n mentioned_users,\n parent_id,\n text,\n ...extraFields\n }: Partial<StreamMessage<StreamChatGenerics>>) => {\n // Exclude following properties from message.user within message preview,\n // since they could be long arrays and have no meaning as sender of message.\n // Storing such large value within user's table may cause sqlite queries to crash.\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { channel_mutes, devices, mutes, ...messageUser } = client.user;\n\n const preview = {\n __html: text,\n attachments,\n created_at: new Date(),\n html: text,\n id: `${client.userID}-${generateRandomId()}`,\n mentioned_users:\n mentioned_users?.map((userId) => ({\n id: userId,\n })) || [],\n parent_id,\n reactions: [],\n status: MessageStatusTypes.SENDING,\n text,\n type: 'regular',\n user: {\n id: client.userID,\n ...messageUser,\n },\n ...extraFields,\n } as unknown as MessageResponse<StreamChatGenerics>;\n\n /**\n * This is added to the message for local rendering prior to the message\n * being returned from the backend, it is removed when the message is sent\n * as quoted_message is a reserved field.\n */\n if (preview.quoted_message_id) {\n const quotedMessage = messages.find((message) => message.id === preview.quoted_message_id);\n\n preview.quoted_message =\n quotedMessage as MessageResponse<StreamChatGenerics>['quoted_message'];\n }\n return preview;\n };\n\n const uploadPendingAttachments = async (message: MessageResponse<StreamChatGenerics>) => {\n const updatedMessage = { ...message };\n if (updatedMessage.attachments?.length) {\n for (let i = 0; i < updatedMessage.attachments?.length; i++) {\n const attachment = updatedMessage.attachments[i];\n const file = attachment.originalFile;\n // check if image_url is not a remote url\n if (\n attachment.type === 'image' &&\n file?.uri &&\n attachment.image_url &&\n isLocalUrl(attachment.image_url)\n ) {\n const filename = file.uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n\n const uploadResponse = doImageUploadRequest\n ? await doImageUploadRequest(file, channel)\n : await channel.sendImage(file?.uri, filename, contentType);\n\n attachment.image_url = uploadResponse.file;\n delete attachment.originalFile;\n\n dbApi.updateMessage({\n message: { ...updatedMessage, cid: channel.cid },\n });\n }\n\n if (\n (attachment.type === 'file' ||\n attachment.type === 'audio' ||\n attachment.type === 'video') &&\n attachment.asset_url &&\n isLocalUrl(attachment.asset_url) &&\n file?.uri\n ) {\n const response = doDocUploadRequest\n ? await doDocUploadRequest(file, channel)\n : await channel.sendFile(file.uri, file.name, file.type);\n attachment.asset_url = response.file;\n if (response.thumb_url) {\n attachment.thumb_url = response.thumb_url;\n }\n delete attachment.originalFile;\n dbApi.updateMessage({\n message: { ...updatedMessage, cid: channel.cid },\n });\n }\n }\n }\n\n return updatedMessage;\n };\n\n const sendMessageRequest = async (\n message: MessageResponse<StreamChatGenerics>,\n retrying?: boolean,\n ) => {\n try {\n const updatedMessage = await uploadPendingAttachments(message);\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n __html,\n attachments,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n created_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n deleted_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n html,\n id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n latest_reactions,\n mentioned_users,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n own_reactions,\n parent_id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n quoted_message,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n reaction_counts,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n reactions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n status,\n text,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updated_at,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n user,\n ...extraFields\n } = updatedMessage;\n if (!channel.id) return;\n\n const mentionedUserIds = mentioned_users?.map((user) => user.id) || [];\n\n const messageData = {\n attachments,\n id,\n mentioned_users: mentionedUserIds,\n parent_id,\n text: patchMessageTextCommand(text ?? '', mentionedUserIds),\n ...extraFields,\n } as StreamMessage<StreamChatGenerics>;\n\n let messageResponse = {} as SendMessageAPIResponse<StreamChatGenerics>;\n if (doSendMessageRequest) {\n messageResponse = await doSendMessageRequest(channel?.cid || '', messageData);\n } else if (channel) {\n messageResponse = await channel.sendMessage(messageData);\n }\n\n if (messageResponse.message) {\n messageResponse.message.status = MessageStatusTypes.RECEIVED;\n\n if (enableOfflineSupport) {\n dbApi.updateMessage({\n message: { ...messageResponse.message, cid: channel.cid },\n });\n }\n if (retrying) {\n replaceMessage(message, messageResponse.message);\n } else {\n updateMessage(messageResponse.message);\n }\n }\n } catch (err) {\n console.log(err);\n message.status = MessageStatusTypes.FAILED;\n updateMessage({ ...message, cid: channel.cid });\n\n if (enableOfflineSupport) {\n dbApi.updateMessage({\n message: { ...message, cid: channel.cid },\n });\n }\n }\n };\n\n const sendMessage: InputMessageInputContextValue<StreamChatGenerics>['sendMessage'] = async (\n message,\n ) => {\n if (channel?.state?.filterErrorMessages) {\n channel.state.filterErrorMessages();\n }\n\n const messagePreview = createMessagePreview({\n ...message,\n attachments: message.attachments || [],\n });\n\n if (!channel?.state.isUpToDate) {\n await reloadChannel();\n }\n\n updateMessage(messagePreview, {\n commands: [],\n messageInput: '',\n });\n\n if (enableOfflineSupport) {\n // While sending a message, we add the message to local db with failed status, so that\n // if app gets closed before message gets sent and next time user opens the app\n // then user can see that message in failed state and can retry.\n // If succesfull, it will be updated with received status.\n dbApi.upsertMessages({\n messages: [{ ...messagePreview, cid: channel.cid, status: MessageStatusTypes.FAILED }],\n });\n }\n\n await sendMessageRequest(messagePreview);\n };\n\n const retrySendMessage: MessagesContextValue<StreamChatGenerics>['retrySendMessage'] = async (\n message,\n ) => {\n const statusPendingMessage = {\n ...message,\n status: MessageStatusTypes.SENDING,\n };\n\n updateMessage(statusPendingMessage);\n\n await sendMessageRequest(statusPendingMessage, true);\n };\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreFinished = useRef(\n debounce(\n (updatedHasMore: boolean, newMessages: ChannelState<StreamChatGenerics>['messages']) => {\n setLoadingMore(false);\n setError(false);\n setHasMore(updatedHasMore);\n setMessages(newMessages);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const loadMore: PaginatedMessageListContextValue<StreamChatGenerics>['loadMore'] = async (\n limit = 20,\n ) => {\n if (loadingMore || hasMore === false) {\n return;\n }\n setLoadingMore(true);\n\n if (!messages.length) {\n return setLoadingMore(false);\n }\n\n const oldestMessage = messages && messages[0];\n\n if (oldestMessage && oldestMessage.status !== MessageStatusTypes.RECEIVED) {\n return setLoadingMore(false);\n }\n\n const oldestID = oldestMessage && oldestMessage.id;\n\n try {\n if (channel) {\n const queryResponse = await channel.query({\n messages: { id_lt: oldestID, limit },\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n loadMoreFinished(updatedHasMore, channel.state.messages);\n }\n } catch (err) {\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoadingMore(false);\n throw err;\n }\n };\n\n const loadMoreRecent: PaginatedMessageListContextValue<StreamChatGenerics>['loadMoreRecent'] =\n async (limit = 5) => {\n if (hasNoMoreRecentMessagesToLoad) {\n return;\n }\n\n setLoadingMoreRecent(true);\n\n const recentMessage = messages[messages.length - 1];\n\n if (recentMessage?.status !== MessageStatusTypes.RECEIVED) {\n setLoadingMoreRecent(false);\n return;\n }\n\n try {\n if (channel) {\n const state = await channel.query({\n messages: {\n id_gte: recentMessage.id,\n limit,\n },\n watch: true,\n });\n setHasNoMoreRecentMessagesToLoad(state.messages.length < limit);\n loadMoreRecentFinished(channel.state.messages);\n }\n } catch (err) {\n console.warn('Message pagination request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setLoadingMoreRecent(false);\n throw err;\n }\n };\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreRecentFinished = useRef(\n debounce(\n (newMessages: ChannelState<StreamChatGenerics>['messages']) => {\n setLoadingMoreRecent(false);\n setMessages(newMessages);\n setError(false);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const editMessage: InputMessageInputContextValue<StreamChatGenerics>['editMessage'] = (\n updatedMessage,\n ) =>\n doUpdateMessageRequest\n ? doUpdateMessageRequest(channel?.cid || '', updatedMessage)\n : client.updateMessage(updatedMessage);\n\n const setEditingState: MessagesContextValue<StreamChatGenerics>['setEditingState'] = (\n message,\n ) => {\n setEditing(message);\n };\n\n const setQuotedMessageState: MessagesContextValue<StreamChatGenerics>['setQuotedMessageState'] = (\n message,\n ) => {\n setQuotedMessage(message);\n };\n\n const clearEditingState: InputMessageInputContextValue<StreamChatGenerics>['clearEditingState'] =\n () => setEditing(false);\n\n const clearQuotedMessageState: InputMessageInputContextValue<StreamChatGenerics>['clearQuotedMessageState'] =\n () => setQuotedMessage(false);\n\n const removeMessage: MessagesContextValue<StreamChatGenerics>['removeMessage'] = (message) => {\n if (channel) {\n channel.state.removeMessage(message);\n setMessages(channel.state.messages);\n if (thread) {\n setThreadMessages(channel.state.threads[thread.id] || []);\n }\n }\n\n if (enableOfflineSupport) {\n dbApi.deleteMessage({\n id: message.id,\n });\n }\n };\n\n const sendReaction = async (type: string, messageId: string) => {\n if (!channel?.id || !client.user) {\n throw new Error('Channel has not been initialized');\n }\n\n const payload: Parameters<ChannelClass<StreamChatGenerics>['sendReaction']> = [\n messageId,\n {\n type,\n } as Reaction<StreamChatGenerics>,\n { enforce_unique: enforceUniqueReaction },\n ];\n\n if (!enableOfflineSupport) {\n await channel.sendReaction(...payload);\n return;\n }\n\n addReactionToLocalState<StreamChatGenerics>({\n channel,\n enforceUniqueReaction,\n messageId,\n reactionType: type,\n user: client.user,\n });\n\n setMessages(channel.state.messages);\n\n await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId,\n payload,\n type: 'send-reaction',\n },\n });\n };\n const deleteMessage: MessagesContextValue<StreamChatGenerics>['deleteMessage'] = async (\n message,\n ) => {\n if (!channel.id) {\n throw new Error('Channel has not been initialized yet');\n }\n\n if (!enableOfflineSupport) {\n await client.deleteMessage(message.id);\n return;\n }\n\n if (message.status === MessageStatusTypes.FAILED) {\n DBSyncManager.dropPendingTasks({ messageId: message.id });\n removeMessage(message);\n } else {\n updateMessage({\n ...message,\n cid: channel.cid,\n deleted_at: new Date().toISOString(),\n type: 'deleted',\n });\n\n const data = await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId: message.id,\n payload: [message.id],\n type: 'delete-message',\n },\n });\n\n if (data?.message) {\n updateMessage({ ...data.message });\n }\n }\n };\n\n const deleteReaction: MessagesContextValue<StreamChatGenerics>['deleteReaction'] = async (\n type: string,\n messageId: string,\n ) => {\n if (!channel?.id || !client.user) {\n throw new Error('Channel has not been initialized');\n }\n\n const payload: Parameters<ChannelClass['deleteReaction']> = [messageId, type];\n\n if (!enableOfflineSupport) {\n await channel.deleteReaction(...payload);\n return;\n }\n\n removeReactionFromLocalState({\n channel,\n messageId,\n reactionType: type,\n user: client.user,\n });\n\n setMessages(channel.state.messages);\n\n await DBSyncManager.queueTask<StreamChatGenerics>({\n client,\n task: {\n channelId: channel.id,\n channelType: channel.type,\n messageId,\n payload,\n type: 'delete-reaction',\n },\n });\n };\n\n /**\n * THREAD METHODS\n */\n const openThread: ThreadContextValue<StreamChatGenerics>['openThread'] = (message) => {\n const newThreadMessages = message?.id ? channel?.state?.threads[message.id] || [] : [];\n setThread(message);\n setThreadMessages(newThreadMessages);\n };\n\n const closeThread: ThreadContextValue<StreamChatGenerics>['closeThread'] = useCallback(() => {\n setThread(null);\n setThreadMessages([]);\n }, [setThread, setThreadMessages]);\n\n // hard limit to prevent you from scrolling faster than 1 page per 2 seconds\n const loadMoreThreadFinished = useRef(\n debounce(\n (\n newThreadHasMore: boolean,\n updatedThreadMessages: ChannelState<StreamChatGenerics>['threads'][string],\n ) => {\n setThreadHasMore(newThreadHasMore);\n setThreadLoadingMore(false);\n setThreadMessages(updatedThreadMessages);\n },\n defaultDebounceInterval,\n debounceOptions,\n ),\n ).current;\n\n const loadMoreThread: ThreadContextValue<StreamChatGenerics>['loadMoreThread'] = async () => {\n if (threadLoadingMore || !thread?.id) {\n return;\n }\n setThreadLoadingMore(true);\n\n try {\n if (channel) {\n const parentID = thread.id;\n\n /**\n * In the channel is re-initializing, then threads may get wiped out during the process\n * (check `addMessagesSorted` method on channel.state). In those cases, we still want to\n * preserve the messages on active thread, so lets simply copy messages from UI state to\n * `channel.state`.\n */\n channel.state.threads[parentID] = threadMessages;\n const oldestMessageID = threadMessages?.[0]?.id;\n\n const limit = 50;\n const queryResponse = await channel.getReplies(parentID, {\n id_lt: oldestMessageID,\n limit,\n });\n\n const updatedHasMore = queryResponse.messages.length === limit;\n const updatedThreadMessages = channel.state.threads[parentID] || [];\n loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);\n }\n } catch (err) {\n console.warn('Message pagination request failed with error', err);\n if (err instanceof Error) {\n setError(err);\n } else {\n setError(true);\n }\n setThreadLoadingMore(false);\n throw err;\n }\n };\n\n const ownCapabilitiesContext = useCreateOwnCapabilitiesContext({\n channel,\n overrideCapabilities: overrideOwnCapabilities,\n });\n\n const channelContext = useCreateChannelContext({\n channel,\n disabled: !!channel?.data?.frozen && disableIfFrozenChannel,\n EmptyStateIndicator,\n enableMessageGroupingByUser,\n enforceUniqueReaction,\n error,\n giphyEnabled:\n giphyEnabled ??\n !!(clientChannelConfig?.commands || [])?.some((command) => command.name === 'giphy'),\n hideDateSeparators,\n hideStickyDateHeader,\n isAdmin,\n isChannelActive: shouldSyncChannel,\n isModerator,\n isOwner,\n lastRead,\n loadChannelAroundMessage,\n loadChannelAtMessage,\n loading,\n LoadingIndicator,\n markRead,\n maxTimeBetweenGroupedMessages,\n members,\n NetworkDownIndicator,\n read,\n reloadChannel,\n scrollToFirstUnreadThreshold,\n setLastRead,\n setTargetedMessage,\n StickyHeader,\n targetedMessage,\n threadList,\n watcherCount,\n watchers,\n });\n\n const inputMessageInputContext = useCreateInputMessageInputContext<StreamChatGenerics>({\n additionalTextInputProps,\n AttachButton,\n autoCompleteSuggestionsLimit,\n autoCompleteTriggerSettings,\n channelId,\n clearEditingState,\n clearQuotedMessageState,\n CommandsButton,\n compressImageQuality,\n CooldownTimer,\n doDocUploadRequest,\n doImageUploadRequest,\n editing,\n editMessage,\n FileUploadPreview,\n hasCommands,\n hasFilePicker,\n hasImagePicker,\n ImageUploadPreview,\n initialValue,\n Input,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n maxMessageLength: maxMessageLengthProp ?? clientChannelConfig?.max_message_length ?? undefined,\n maxNumberOfFiles,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n MoreOptionsButton,\n numberOfLines,\n onChangeText,\n quotedMessage,\n SendButton,\n sendImageAsync,\n sendMessage,\n SendMessageDisallowedIndicator,\n setInputRef,\n setQuotedMessageState,\n ShowThreadMessageInChannelButton,\n UploadProgressIndicator,\n });\n\n const messageListContext = useCreatePaginatedMessageListContext({\n channelId,\n hasMore,\n hasNoMoreRecentMessagesToLoad,\n loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : loadingMore,\n loadingMoreRecent:\n loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : loadingMoreRecent,\n loadMore,\n loadMoreRecent,\n messages,\n setLoadingMore,\n setLoadingMoreRecent,\n });\n\n const messagesContext = useCreateMessagesContext({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n AudioAttachment,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n deleteMessage,\n deleteReaction,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n getMessagesGroupStyles,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n initialScrollToFirstUnreadMessage: !messageId && initialScrollToFirstUnreadMessage, // when messageId is set, we scroll to the messageId instead of first unread\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n });\n\n const suggestionsContext = {\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n };\n\n const threadContext = useCreateThreadContext({\n allowThreadMessagesInChannel,\n closeThread,\n loadMoreThread,\n openThread,\n reloadThread,\n setThreadLoadingMore,\n thread,\n threadHasMore,\n threadLoadingMore,\n threadMessages,\n });\n\n const typingContext = useCreateTypingContext({\n typing,\n });\n\n // TODO: replace the null view with appropriate message. Currently this is waiting a design decision.\n if (deleted) return null;\n\n if (!channel || (error && messages.length === 0)) {\n return <LoadingErrorIndicator error={error} listType='message' retry={reloadChannel} />;\n }\n\n if (!channel?.cid || !channel.watch) {\n return (\n <Text style={[styles.selectChannel, { color: black }, selectChannel]} testID='no-channel'>\n {t('Please select a channel first')}\n </Text>\n );\n }\n\n return (\n <KeyboardCompatibleView\n behavior={keyboardBehavior}\n enabled={!disableKeyboardCompatibleView}\n keyboardVerticalOffset={keyboardVerticalOffset}\n {...additionalKeyboardAvoidingViewProps}\n >\n <ChannelProvider<StreamChatGenerics> value={channelContext}>\n <OwnCapabilitiesProvider value={ownCapabilitiesContext}>\n <TypingProvider<StreamChatGenerics> value={typingContext}>\n <PaginatedMessageListProvider<StreamChatGenerics> value={messageListContext}>\n <MessagesProvider<StreamChatGenerics> value={messagesContext}>\n <ThreadProvider<StreamChatGenerics> value={threadContext}>\n <SuggestionsProvider<StreamChatGenerics> value={suggestionsContext}>\n <MessageInputProvider<StreamChatGenerics> value={inputMessageInputContext}>\n <View style={{ height: '100%' }}>{children}</View>\n </MessageInputProvider>\n </SuggestionsProvider>\n </ThreadProvider>\n </MessagesProvider>\n </PaginatedMessageListProvider>\n </TypingProvider>\n </OwnCapabilitiesProvider>\n </ChannelProvider>\n </KeyboardCompatibleView>\n );\n};\n\nexport type ChannelProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPropsWithContext<StreamChatGenerics>, 'channel'>;\n\n/**\n *\n * The wrapper component for a chat channel. Channel needs to be placed inside a Chat component\n * to receive the StreamChat client instance. MessageList, Thread, and MessageInput must be\n * children of the Channel component to receive the ChannelContext.\n *\n * @example ./Channel.md\n */\nexport const Channel = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChannelProps<StreamChatGenerics>>,\n) => {\n const { client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n const shouldSyncChannel = props.thread?.id ? !!props.threadList : true;\n\n const {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n } = useChannelState<StreamChatGenerics>(\n props.channel,\n props.threadList ? props.thread?.id : undefined,\n );\n\n return (\n <ChannelWithContext<StreamChatGenerics>\n {...{\n client,\n enableOfflineSupport,\n t,\n }}\n {...props}\n shouldSyncChannel={shouldSyncChannel}\n {...{\n members,\n messages: props.messages || messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n }}\n />\n );\n};\n"],"mappings":"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"}