stream-chat-react-native-core 5.44.2 → 6.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1305) hide show
  1. package/README.md +1 -2
  2. package/lib/commonjs/components/Attachment/Attachment.js +1 -1
  3. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +6 -6
  5. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachment.js +5 -5
  7. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  9. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/Gallery.js +32 -23
  11. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/Giphy.js +8 -8
  13. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +7 -0
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +3 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +3 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +4 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +2 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +2 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  26. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +2 -2
  27. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  28. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +40 -136
  29. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  30. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +9 -6
  31. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
  32. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -2
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  34. package/lib/commonjs/components/Avatar/Avatar.js +4 -0
  35. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  36. package/lib/commonjs/components/Avatar/GroupAvatar.js +4 -0
  37. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  38. package/lib/commonjs/components/Channel/Channel.js +576 -1262
  39. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  40. package/lib/commonjs/components/Channel/hooks/useChannelDataState.js +174 -0
  41. package/lib/commonjs/components/Channel/hooks/useChannelDataState.js.map +1 -0
  42. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +0 -8
  43. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  44. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -2
  45. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  46. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +26 -10
  47. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  48. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +3 -3
  49. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  50. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +324 -0
  51. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +1 -0
  52. package/lib/commonjs/components/ChannelList/ChannelList.js +0 -2
  53. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  55. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/Skeleton.js +7 -3
  57. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +8 -18
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +85 -46
  61. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  62. package/lib/commonjs/components/Chat/Chat.js +31 -16
  63. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  64. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +312 -173
  65. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
  66. package/lib/commonjs/components/Chat/hooks/useAppSettings.js +31 -18
  67. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  68. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +0 -2
  69. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  70. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +16 -13
  71. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  72. package/lib/commonjs/components/ImageGallery/ImageGallery.js +57 -96
  73. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  74. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +14 -35
  75. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  76. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +17 -35
  77. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  78. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +72 -64
  79. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  80. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +38 -39
  81. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  82. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  83. package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +54 -0
  84. package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -0
  85. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +230 -225
  86. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  87. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  88. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  89. package/lib/commonjs/components/Message/Message.js +136 -192
  90. package/lib/commonjs/components/Message/Message.js.map +1 -1
  91. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  92. package/lib/commonjs/components/Message/MessageSimple/MessageBounce.js +23 -6
  93. package/lib/commonjs/components/Message/MessageSimple/MessageBounce.js.map +1 -1
  94. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +40 -145
  95. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  96. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  97. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  98. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +0 -1
  99. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  100. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +20 -34
  101. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  102. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +182 -44
  103. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  104. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  105. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  106. package/lib/commonjs/components/Message/MessageSimple/ReactionList/ReactionListBottom.js +234 -0
  107. package/lib/commonjs/components/Message/MessageSimple/ReactionList/ReactionListBottom.js.map +1 -0
  108. package/lib/commonjs/components/Message/MessageSimple/ReactionList/ReactionListTop.js +195 -0
  109. package/lib/commonjs/components/Message/MessageSimple/ReactionList/ReactionListTop.js.map +1 -0
  110. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +4 -16
  111. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  112. package/lib/commonjs/components/Message/hooks/useMessageActions.js +36 -72
  113. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  114. package/lib/commonjs/components/Message/hooks/useMessageData.js +38 -0
  115. package/lib/commonjs/components/Message/hooks/useMessageData.js.map +1 -0
  116. package/lib/commonjs/components/Message/hooks/useProcessReactions.js +3 -3
  117. package/lib/commonjs/components/Message/hooks/useProcessReactions.js.map +1 -1
  118. package/lib/commonjs/components/Message/utils/messageActions.js +4 -6
  119. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  120. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
  121. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  122. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -2
  123. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  124. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +1 -0
  125. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  126. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js +1 -2
  127. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js.map +1 -1
  128. package/lib/commonjs/components/MessageInput/components/NativeAttachmentPicker.js +8 -5
  129. package/lib/commonjs/components/MessageInput/components/NativeAttachmentPicker.js.map +1 -1
  130. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js +46 -64
  131. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js.map +1 -1
  132. package/lib/commonjs/components/MessageList/MessageList.js +67 -60
  133. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  134. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  135. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  136. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  137. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  138. package/lib/commonjs/components/MessageMenu/MessageActionList.js +35 -0
  139. package/lib/commonjs/components/MessageMenu/MessageActionList.js.map +1 -0
  140. package/lib/commonjs/components/MessageMenu/MessageActionListItem.js +60 -0
  141. package/lib/commonjs/components/MessageMenu/MessageActionListItem.js.map +1 -0
  142. package/lib/commonjs/components/MessageMenu/MessageMenu.js +70 -0
  143. package/lib/commonjs/components/MessageMenu/MessageMenu.js.map +1 -0
  144. package/lib/commonjs/components/MessageMenu/MessageReactionPicker.js +81 -0
  145. package/lib/commonjs/components/MessageMenu/MessageReactionPicker.js.map +1 -0
  146. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +169 -0
  147. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -0
  148. package/lib/commonjs/components/{MessageOverlay/OverlayReactionsAvatar.js → MessageMenu/MessageUserReactionsAvatar.js} +5 -6
  149. package/lib/commonjs/components/MessageMenu/MessageUserReactionsAvatar.js.map +1 -0
  150. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +112 -0
  151. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -0
  152. package/lib/commonjs/components/MessageMenu/ReactionButton.js +59 -0
  153. package/lib/commonjs/components/MessageMenu/ReactionButton.js.map +1 -0
  154. package/lib/commonjs/components/{MessageOverlay → MessageMenu}/hooks/useFetchReactions.js +65 -41
  155. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -0
  156. package/lib/commonjs/components/Poll/CreatePollContent.js +14 -9
  157. package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
  158. package/lib/commonjs/components/Poll/Poll.js +2 -8
  159. package/lib/commonjs/components/Poll/Poll.js.map +1 -1
  160. package/lib/commonjs/components/Poll/components/Button.js +9 -474
  161. package/lib/commonjs/components/Poll/components/Button.js.map +1 -1
  162. package/lib/commonjs/components/Poll/components/CreatePollIcon.js +2 -2
  163. package/lib/commonjs/components/Poll/components/CreatePollIcon.js.map +1 -1
  164. package/lib/commonjs/components/Poll/components/CreatePollOptions.js +9 -4
  165. package/lib/commonjs/components/Poll/components/CreatePollOptions.js.map +1 -1
  166. package/lib/commonjs/components/Poll/components/PollAnswersList.js +99 -26
  167. package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
  168. package/lib/commonjs/components/Poll/components/PollButtons.js +291 -0
  169. package/lib/commonjs/components/Poll/components/PollButtons.js.map +1 -0
  170. package/lib/commonjs/components/Poll/components/PollInputDialog.js +14 -4
  171. package/lib/commonjs/components/Poll/components/PollInputDialog.js.map +1 -1
  172. package/lib/commonjs/components/Poll/components/PollModalHeader.js +7 -1
  173. package/lib/commonjs/components/Poll/components/PollModalHeader.js.map +1 -1
  174. package/lib/commonjs/components/Poll/components/PollOption.js +88 -6
  175. package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
  176. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +2 -2
  177. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  178. package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js +62 -67
  179. package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  180. package/lib/commonjs/components/Poll/components/PollResults/PollVote.js +89 -0
  181. package/lib/commonjs/components/Poll/components/PollResults/PollVote.js.map +1 -0
  182. package/lib/commonjs/components/Poll/components/index.js +11 -0
  183. package/lib/commonjs/components/Poll/components/index.js.map +1 -1
  184. package/lib/commonjs/components/ProgressControl/ProgressControl.js +21 -28
  185. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  186. package/lib/commonjs/components/ProgressControl/WaveProgressBar.js +22 -27
  187. package/lib/commonjs/components/ProgressControl/WaveProgressBar.js.map +1 -1
  188. package/lib/commonjs/components/Reply/Reply.js +6 -2
  189. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  190. package/lib/commonjs/components/UIComponents/BottomSheetModal.js +158 -0
  191. package/lib/commonjs/components/UIComponents/BottomSheetModal.js.map +1 -0
  192. package/lib/commonjs/components/{ImageBackground.js → UIComponents/ImageBackground.js} +1 -1
  193. package/lib/commonjs/components/UIComponents/ImageBackground.js.map +1 -0
  194. package/lib/{module/components/Spinner → commonjs/components/UIComponents}/Spinner.js +1 -1
  195. package/lib/commonjs/components/UIComponents/Spinner.js.map +1 -0
  196. package/lib/commonjs/components/UIComponents/index.js +37 -0
  197. package/lib/commonjs/components/UIComponents/index.js.map +1 -0
  198. package/lib/commonjs/components/docs/data.js.map +1 -1
  199. package/lib/commonjs/components/index.js +56 -45
  200. package/lib/commonjs/components/index.js.map +1 -1
  201. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -13
  202. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  203. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -11
  204. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  205. package/lib/commonjs/contexts/channelContext/ChannelContext.js +1 -11
  206. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  207. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -11
  208. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  209. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -46
  210. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  211. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +7 -84
  212. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  213. package/lib/commonjs/contexts/chatConfigContext/ChatConfigContext.js +33 -0
  214. package/lib/commonjs/contexts/chatConfigContext/ChatConfigContext.js.map +1 -0
  215. package/lib/commonjs/contexts/chatContext/ChatContext.js +1 -11
  216. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  217. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -11
  218. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  219. package/lib/commonjs/contexts/index.js +11 -11
  220. package/lib/commonjs/contexts/index.js.map +1 -1
  221. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -11
  222. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  223. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -11
  224. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  225. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +52 -51
  226. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  227. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +1 -1
  228. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  229. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -11
  230. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  231. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -14
  232. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  233. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +18 -54
  234. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  235. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -11
  236. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  237. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -11
  238. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  239. package/lib/commonjs/contexts/themeContext/utils/theme.js +75 -49
  240. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  241. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -11
  242. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  243. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -11
  244. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  245. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -11
  246. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  247. package/lib/commonjs/hooks/useTranslatedMessage.js +1 -4
  248. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  249. package/lib/commonjs/icons/PinHeader.js +17 -6
  250. package/lib/commonjs/icons/PinHeader.js.map +1 -1
  251. package/lib/commonjs/index.js +4 -23
  252. package/lib/commonjs/index.js.map +1 -1
  253. package/lib/commonjs/mock-builders/DB/mock.js +159 -88
  254. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  255. package/lib/commonjs/native.js +38 -26
  256. package/lib/commonjs/native.js.map +1 -1
  257. package/lib/commonjs/store/SqliteClient.js +330 -0
  258. package/lib/commonjs/store/SqliteClient.js.map +1 -0
  259. package/lib/commonjs/store/apis/addPendingTask.js +56 -30
  260. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
  261. package/lib/commonjs/store/apis/deleteChannel.js +36 -17
  262. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -1
  263. package/lib/commonjs/store/apis/deleteMember.js +38 -20
  264. package/lib/commonjs/store/apis/deleteMember.js.map +1 -1
  265. package/lib/commonjs/store/apis/deleteMessage.js +36 -17
  266. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
  267. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +36 -17
  268. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
  269. package/lib/commonjs/store/apis/deletePendingTask.js +31 -12
  270. package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -1
  271. package/lib/commonjs/store/apis/deleteReaction.js +39 -22
  272. package/lib/commonjs/store/apis/deleteReaction.js.map +1 -1
  273. package/lib/commonjs/store/apis/deleteReactions.js +36 -17
  274. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
  275. package/lib/commonjs/store/apis/getAllChannelIds.js +28 -8
  276. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
  277. package/lib/commonjs/store/apis/getAppSettings.js +31 -11
  278. package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
  279. package/lib/commonjs/store/apis/getChannelMessages.js +77 -52
  280. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  281. package/lib/commonjs/store/apis/getChannels.js +58 -30
  282. package/lib/commonjs/store/apis/getChannels.js.map +1 -1
  283. package/lib/commonjs/store/apis/getChannelsForFilterSort.js +58 -26
  284. package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -1
  285. package/lib/commonjs/store/apis/getLastSyncedAt.js +31 -11
  286. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  287. package/lib/commonjs/store/apis/getMembers.js +36 -16
  288. package/lib/commonjs/store/apis/getMembers.js.map +1 -1
  289. package/lib/commonjs/store/apis/getPendingTasks.js +37 -14
  290. package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -1
  291. package/lib/commonjs/store/apis/getReactions.js +2 -2
  292. package/lib/commonjs/store/apis/getReactions.js.map +1 -1
  293. package/lib/commonjs/store/apis/getReactionsforFilterSort.js +54 -22
  294. package/lib/commonjs/store/apis/getReactionsforFilterSort.js.map +1 -1
  295. package/lib/commonjs/store/apis/getReads.js +36 -16
  296. package/lib/commonjs/store/apis/getReads.js.map +1 -1
  297. package/lib/commonjs/store/apis/insertReaction.js +41 -23
  298. package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
  299. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +36 -17
  300. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  301. package/lib/commonjs/store/apis/queries/selectChannels.js +44 -19
  302. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
  303. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +37 -17
  304. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
  305. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +37 -17
  306. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  307. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +37 -17
  308. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  309. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +37 -17
  310. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
  311. package/lib/commonjs/store/apis/updateMessage.js +71 -47
  312. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  313. package/lib/commonjs/store/apis/updatePollMessage.js +68 -59
  314. package/lib/commonjs/store/apis/updatePollMessage.js.map +1 -1
  315. package/lib/commonjs/store/apis/updateReaction.js +53 -38
  316. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  317. package/lib/commonjs/store/apis/upsertAppSettings.js +37 -20
  318. package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -1
  319. package/lib/commonjs/store/apis/upsertChannelData.js +35 -16
  320. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -1
  321. package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js +37 -13
  322. package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js.map +1 -1
  323. package/lib/commonjs/store/apis/upsertChannels.js +115 -60
  324. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  325. package/lib/commonjs/store/apis/upsertCidsForQuery.js +43 -26
  326. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
  327. package/lib/commonjs/store/apis/upsertMembers.js +51 -33
  328. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
  329. package/lib/commonjs/store/apis/upsertMessages.js +62 -44
  330. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -1
  331. package/lib/commonjs/store/apis/upsertReads.js +51 -34
  332. package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
  333. package/lib/commonjs/store/apis/upsertUserSyncStatus.js +31 -14
  334. package/lib/commonjs/store/apis/upsertUserSyncStatus.js.map +1 -1
  335. package/lib/commonjs/test-utils/BetterSqlite.js +40 -15
  336. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  337. package/lib/commonjs/utils/DBSyncManager.js +238 -152
  338. package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
  339. package/lib/commonjs/utils/getResizedImageUrl.js +5 -3
  340. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  341. package/lib/commonjs/utils/utils.js +1 -1
  342. package/lib/commonjs/utils/utils.js.map +1 -1
  343. package/lib/commonjs/version.json +1 -1
  344. package/lib/module/components/Attachment/Attachment.js +1 -1
  345. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  346. package/lib/module/components/Attachment/Card.js +6 -6
  347. package/lib/module/components/Attachment/Card.js.map +1 -1
  348. package/lib/module/components/Attachment/FileAttachment.js +5 -5
  349. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  350. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  351. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  352. package/lib/module/components/Attachment/Gallery.js +32 -23
  353. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  354. package/lib/module/components/Attachment/Giphy.js +8 -8
  355. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  356. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +7 -0
  357. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  358. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +3 -1
  359. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  360. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +3 -0
  361. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  362. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +4 -0
  363. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  364. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +2 -0
  365. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  366. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +2 -0
  367. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  368. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +2 -2
  369. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  370. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +40 -136
  371. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  372. package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +9 -6
  373. package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
  374. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -2
  375. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  376. package/lib/module/components/Avatar/Avatar.js +4 -0
  377. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  378. package/lib/module/components/Avatar/GroupAvatar.js +4 -0
  379. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  380. package/lib/module/components/Channel/Channel.js +576 -1262
  381. package/lib/module/components/Channel/Channel.js.map +1 -1
  382. package/lib/module/components/Channel/hooks/useChannelDataState.js +174 -0
  383. package/lib/module/components/Channel/hooks/useChannelDataState.js.map +1 -0
  384. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +0 -8
  385. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  386. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -2
  387. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  388. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +26 -10
  389. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  390. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +3 -3
  391. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  392. package/lib/module/components/Channel/hooks/useMessageListPagination.js +324 -0
  393. package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +1 -0
  394. package/lib/module/components/ChannelList/ChannelList.js +0 -2
  395. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  396. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  397. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  398. package/lib/module/components/ChannelList/Skeleton.js +7 -3
  399. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  400. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +8 -18
  401. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  402. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +85 -46
  403. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  404. package/lib/module/components/Chat/Chat.js +31 -16
  405. package/lib/module/components/Chat/Chat.js.map +1 -1
  406. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +312 -173
  407. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
  408. package/lib/module/components/Chat/hooks/useAppSettings.js +31 -18
  409. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  410. package/lib/module/components/Chat/hooks/useCreateChatContext.js +0 -2
  411. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  412. package/lib/module/components/Chat/hooks/useIsOnline.js +16 -13
  413. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  414. package/lib/module/components/ImageGallery/ImageGallery.js +57 -96
  415. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  416. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +14 -35
  417. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  418. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +17 -35
  419. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  420. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +72 -64
  421. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  422. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +38 -39
  423. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  424. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  425. package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +54 -0
  426. package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -0
  427. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +230 -225
  428. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  429. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  430. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  431. package/lib/module/components/Message/Message.js +136 -192
  432. package/lib/module/components/Message/Message.js.map +1 -1
  433. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  434. package/lib/module/components/Message/MessageSimple/MessageBounce.js +23 -6
  435. package/lib/module/components/Message/MessageSimple/MessageBounce.js.map +1 -1
  436. package/lib/module/components/Message/MessageSimple/MessageContent.js +40 -145
  437. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  438. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  439. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  440. package/lib/module/components/Message/MessageSimple/MessageFooter.js +0 -1
  441. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  442. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +20 -34
  443. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  444. package/lib/module/components/Message/MessageSimple/MessageSimple.js +182 -44
  445. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  446. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  447. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  448. package/lib/module/components/Message/MessageSimple/ReactionList/ReactionListBottom.js +234 -0
  449. package/lib/module/components/Message/MessageSimple/ReactionList/ReactionListBottom.js.map +1 -0
  450. package/lib/module/components/Message/MessageSimple/ReactionList/ReactionListTop.js +195 -0
  451. package/lib/module/components/Message/MessageSimple/ReactionList/ReactionListTop.js.map +1 -0
  452. package/lib/module/components/Message/hooks/useCreateMessageContext.js +4 -16
  453. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  454. package/lib/module/components/Message/hooks/useMessageActions.js +36 -72
  455. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  456. package/lib/module/components/Message/hooks/useMessageData.js +38 -0
  457. package/lib/module/components/Message/hooks/useMessageData.js.map +1 -0
  458. package/lib/module/components/Message/hooks/useProcessReactions.js +3 -3
  459. package/lib/module/components/Message/hooks/useProcessReactions.js.map +1 -1
  460. package/lib/module/components/Message/utils/messageActions.js +4 -6
  461. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  462. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  463. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  464. package/lib/module/components/MessageInput/MessageInput.js +1 -2
  465. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  466. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +1 -0
  467. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  468. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js +1 -2
  469. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.js.map +1 -1
  470. package/lib/module/components/MessageInput/components/NativeAttachmentPicker.js +8 -5
  471. package/lib/module/components/MessageInput/components/NativeAttachmentPicker.js.map +1 -1
  472. package/lib/module/components/MessageInput/hooks/useAudioController.js +46 -64
  473. package/lib/module/components/MessageInput/hooks/useAudioController.js.map +1 -1
  474. package/lib/module/components/MessageList/MessageList.js +67 -60
  475. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  476. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  477. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  478. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  479. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  480. package/lib/module/components/MessageMenu/MessageActionList.js +35 -0
  481. package/lib/module/components/MessageMenu/MessageActionList.js.map +1 -0
  482. package/lib/module/components/MessageMenu/MessageActionListItem.js +60 -0
  483. package/lib/module/components/MessageMenu/MessageActionListItem.js.map +1 -0
  484. package/lib/module/components/MessageMenu/MessageMenu.js +70 -0
  485. package/lib/module/components/MessageMenu/MessageMenu.js.map +1 -0
  486. package/lib/module/components/MessageMenu/MessageReactionPicker.js +81 -0
  487. package/lib/module/components/MessageMenu/MessageReactionPicker.js.map +1 -0
  488. package/lib/module/components/MessageMenu/MessageUserReactions.js +169 -0
  489. package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -0
  490. package/lib/module/components/{MessageOverlay/OverlayReactionsAvatar.js → MessageMenu/MessageUserReactionsAvatar.js} +5 -6
  491. package/lib/module/components/MessageMenu/MessageUserReactionsAvatar.js.map +1 -0
  492. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +112 -0
  493. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -0
  494. package/lib/module/components/MessageMenu/ReactionButton.js +59 -0
  495. package/lib/module/components/MessageMenu/ReactionButton.js.map +1 -0
  496. package/lib/module/components/{MessageOverlay → MessageMenu}/hooks/useFetchReactions.js +65 -41
  497. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -0
  498. package/lib/module/components/Poll/CreatePollContent.js +14 -9
  499. package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
  500. package/lib/module/components/Poll/Poll.js +2 -8
  501. package/lib/module/components/Poll/Poll.js.map +1 -1
  502. package/lib/module/components/Poll/components/Button.js +9 -474
  503. package/lib/module/components/Poll/components/Button.js.map +1 -1
  504. package/lib/module/components/Poll/components/CreatePollIcon.js +2 -2
  505. package/lib/module/components/Poll/components/CreatePollIcon.js.map +1 -1
  506. package/lib/module/components/Poll/components/CreatePollOptions.js +9 -4
  507. package/lib/module/components/Poll/components/CreatePollOptions.js.map +1 -1
  508. package/lib/module/components/Poll/components/PollAnswersList.js +99 -26
  509. package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
  510. package/lib/module/components/Poll/components/PollButtons.js +291 -0
  511. package/lib/module/components/Poll/components/PollButtons.js.map +1 -0
  512. package/lib/module/components/Poll/components/PollInputDialog.js +14 -4
  513. package/lib/module/components/Poll/components/PollInputDialog.js.map +1 -1
  514. package/lib/module/components/Poll/components/PollModalHeader.js +7 -1
  515. package/lib/module/components/Poll/components/PollModalHeader.js.map +1 -1
  516. package/lib/module/components/Poll/components/PollOption.js +88 -6
  517. package/lib/module/components/Poll/components/PollOption.js.map +1 -1
  518. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +2 -2
  519. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  520. package/lib/module/components/Poll/components/PollResults/PollResultItem.js +62 -67
  521. package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  522. package/lib/module/components/Poll/components/PollResults/PollVote.js +89 -0
  523. package/lib/module/components/Poll/components/PollResults/PollVote.js.map +1 -0
  524. package/lib/module/components/Poll/components/index.js +11 -0
  525. package/lib/module/components/Poll/components/index.js.map +1 -1
  526. package/lib/module/components/ProgressControl/ProgressControl.js +21 -28
  527. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  528. package/lib/module/components/ProgressControl/WaveProgressBar.js +22 -27
  529. package/lib/module/components/ProgressControl/WaveProgressBar.js.map +1 -1
  530. package/lib/module/components/Reply/Reply.js +6 -2
  531. package/lib/module/components/Reply/Reply.js.map +1 -1
  532. package/lib/module/components/UIComponents/BottomSheetModal.js +158 -0
  533. package/lib/module/components/UIComponents/BottomSheetModal.js.map +1 -0
  534. package/lib/module/components/{ImageBackground.js → UIComponents/ImageBackground.js} +1 -1
  535. package/lib/module/components/UIComponents/ImageBackground.js.map +1 -0
  536. package/lib/{commonjs/components/Spinner → module/components/UIComponents}/Spinner.js +1 -1
  537. package/lib/module/components/UIComponents/Spinner.js.map +1 -0
  538. package/lib/module/components/UIComponents/index.js +37 -0
  539. package/lib/module/components/UIComponents/index.js.map +1 -0
  540. package/lib/module/components/docs/data.js.map +1 -1
  541. package/lib/module/components/index.js +56 -45
  542. package/lib/module/components/index.js.map +1 -1
  543. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -13
  544. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  545. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -11
  546. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  547. package/lib/module/contexts/channelContext/ChannelContext.js +1 -11
  548. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  549. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -11
  550. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  551. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -46
  552. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  553. package/lib/module/contexts/channelsStateContext/useChannelState.js +7 -84
  554. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  555. package/lib/module/contexts/chatConfigContext/ChatConfigContext.js +33 -0
  556. package/lib/module/contexts/chatConfigContext/ChatConfigContext.js.map +1 -0
  557. package/lib/module/contexts/chatContext/ChatContext.js +1 -11
  558. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  559. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -11
  560. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  561. package/lib/module/contexts/index.js +11 -11
  562. package/lib/module/contexts/index.js.map +1 -1
  563. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -11
  564. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  565. package/lib/module/contexts/messageContext/MessageContext.js +1 -11
  566. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  567. package/lib/module/contexts/messageInputContext/MessageInputContext.js +52 -51
  568. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  569. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +1 -1
  570. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  571. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -11
  572. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  573. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -14
  574. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  575. package/lib/module/contexts/overlayContext/OverlayProvider.js +18 -54
  576. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  577. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -11
  578. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  579. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -11
  580. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  581. package/lib/module/contexts/themeContext/utils/theme.js +75 -49
  582. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  583. package/lib/module/contexts/threadContext/ThreadContext.js +1 -11
  584. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  585. package/lib/module/contexts/translationContext/TranslationContext.js +1 -11
  586. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  587. package/lib/module/contexts/typingContext/TypingContext.js +1 -11
  588. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  589. package/lib/module/hooks/useTranslatedMessage.js +1 -4
  590. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  591. package/lib/module/icons/PinHeader.js +17 -6
  592. package/lib/module/icons/PinHeader.js.map +1 -1
  593. package/lib/module/index.js +4 -23
  594. package/lib/module/index.js.map +1 -1
  595. package/lib/module/mock-builders/DB/mock.js +159 -88
  596. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  597. package/lib/module/native.js +38 -26
  598. package/lib/module/native.js.map +1 -1
  599. package/lib/module/store/SqliteClient.js +330 -0
  600. package/lib/module/store/SqliteClient.js.map +1 -0
  601. package/lib/module/store/apis/addPendingTask.js +56 -30
  602. package/lib/module/store/apis/addPendingTask.js.map +1 -1
  603. package/lib/module/store/apis/deleteChannel.js +36 -17
  604. package/lib/module/store/apis/deleteChannel.js.map +1 -1
  605. package/lib/module/store/apis/deleteMember.js +38 -20
  606. package/lib/module/store/apis/deleteMember.js.map +1 -1
  607. package/lib/module/store/apis/deleteMessage.js +36 -17
  608. package/lib/module/store/apis/deleteMessage.js.map +1 -1
  609. package/lib/module/store/apis/deleteMessagesForChannel.js +36 -17
  610. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
  611. package/lib/module/store/apis/deletePendingTask.js +31 -12
  612. package/lib/module/store/apis/deletePendingTask.js.map +1 -1
  613. package/lib/module/store/apis/deleteReaction.js +39 -22
  614. package/lib/module/store/apis/deleteReaction.js.map +1 -1
  615. package/lib/module/store/apis/deleteReactions.js +36 -17
  616. package/lib/module/store/apis/deleteReactions.js.map +1 -1
  617. package/lib/module/store/apis/getAllChannelIds.js +28 -8
  618. package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
  619. package/lib/module/store/apis/getAppSettings.js +31 -11
  620. package/lib/module/store/apis/getAppSettings.js.map +1 -1
  621. package/lib/module/store/apis/getChannelMessages.js +77 -52
  622. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  623. package/lib/module/store/apis/getChannels.js +58 -30
  624. package/lib/module/store/apis/getChannels.js.map +1 -1
  625. package/lib/module/store/apis/getChannelsForFilterSort.js +58 -26
  626. package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -1
  627. package/lib/module/store/apis/getLastSyncedAt.js +31 -11
  628. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  629. package/lib/module/store/apis/getMembers.js +36 -16
  630. package/lib/module/store/apis/getMembers.js.map +1 -1
  631. package/lib/module/store/apis/getPendingTasks.js +37 -14
  632. package/lib/module/store/apis/getPendingTasks.js.map +1 -1
  633. package/lib/module/store/apis/getReactions.js +2 -2
  634. package/lib/module/store/apis/getReactions.js.map +1 -1
  635. package/lib/module/store/apis/getReactionsforFilterSort.js +54 -22
  636. package/lib/module/store/apis/getReactionsforFilterSort.js.map +1 -1
  637. package/lib/module/store/apis/getReads.js +36 -16
  638. package/lib/module/store/apis/getReads.js.map +1 -1
  639. package/lib/module/store/apis/insertReaction.js +41 -23
  640. package/lib/module/store/apis/insertReaction.js.map +1 -1
  641. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +36 -17
  642. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  643. package/lib/module/store/apis/queries/selectChannels.js +44 -19
  644. package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
  645. package/lib/module/store/apis/queries/selectMembersForChannels.js +37 -17
  646. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
  647. package/lib/module/store/apis/queries/selectMessagesForChannels.js +37 -17
  648. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  649. package/lib/module/store/apis/queries/selectReactionsForMessages.js +37 -17
  650. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  651. package/lib/module/store/apis/queries/selectReadsForChannels.js +37 -17
  652. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
  653. package/lib/module/store/apis/updateMessage.js +71 -47
  654. package/lib/module/store/apis/updateMessage.js.map +1 -1
  655. package/lib/module/store/apis/updatePollMessage.js +68 -59
  656. package/lib/module/store/apis/updatePollMessage.js.map +1 -1
  657. package/lib/module/store/apis/updateReaction.js +53 -38
  658. package/lib/module/store/apis/updateReaction.js.map +1 -1
  659. package/lib/module/store/apis/upsertAppSettings.js +37 -20
  660. package/lib/module/store/apis/upsertAppSettings.js.map +1 -1
  661. package/lib/module/store/apis/upsertChannelData.js +35 -16
  662. package/lib/module/store/apis/upsertChannelData.js.map +1 -1
  663. package/lib/module/store/apis/upsertChannelDataFromChannel.js +37 -13
  664. package/lib/module/store/apis/upsertChannelDataFromChannel.js.map +1 -1
  665. package/lib/module/store/apis/upsertChannels.js +115 -60
  666. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  667. package/lib/module/store/apis/upsertCidsForQuery.js +43 -26
  668. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
  669. package/lib/module/store/apis/upsertMembers.js +51 -33
  670. package/lib/module/store/apis/upsertMembers.js.map +1 -1
  671. package/lib/module/store/apis/upsertMessages.js +62 -44
  672. package/lib/module/store/apis/upsertMessages.js.map +1 -1
  673. package/lib/module/store/apis/upsertReads.js +51 -34
  674. package/lib/module/store/apis/upsertReads.js.map +1 -1
  675. package/lib/module/store/apis/upsertUserSyncStatus.js +31 -14
  676. package/lib/module/store/apis/upsertUserSyncStatus.js.map +1 -1
  677. package/lib/module/test-utils/BetterSqlite.js +40 -15
  678. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  679. package/lib/module/utils/DBSyncManager.js +238 -152
  680. package/lib/module/utils/DBSyncManager.js.map +1 -1
  681. package/lib/module/utils/getResizedImageUrl.js +5 -3
  682. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  683. package/lib/module/utils/utils.js +1 -1
  684. package/lib/module/utils/utils.js.map +1 -1
  685. package/lib/module/version.json +1 -1
  686. package/lib/typescript/components/Attachment/Card.d.ts +2 -2
  687. package/lib/typescript/components/Attachment/Card.d.ts.map +1 -1
  688. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  689. package/lib/typescript/components/Attachment/FileAttachment.d.ts.map +1 -1
  690. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  691. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  692. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  693. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +2 -1
  694. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts.map +1 -1
  695. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +2 -1
  696. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts.map +1 -1
  697. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +2 -1
  698. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts.map +1 -1
  699. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +2 -1
  700. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts.map +1 -1
  701. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +4 -2
  702. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts.map +1 -1
  703. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +2 -1
  704. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts.map +1 -1
  705. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
  706. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.d.ts +2 -2
  707. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.d.ts.map +1 -1
  708. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts.map +1 -1
  709. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerSelectionBar.d.ts.map +1 -1
  710. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts.map +1 -1
  711. package/lib/typescript/components/Avatar/Avatar.d.ts.map +1 -1
  712. package/lib/typescript/components/Avatar/GroupAvatar.d.ts.map +1 -1
  713. package/lib/typescript/components/Channel/Channel.d.ts +5 -5
  714. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  715. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts +75 -0
  716. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts.map +1 -0
  717. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  718. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  719. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
  720. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +22 -14
  721. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  722. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  723. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts.map +1 -1
  724. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +28 -0
  725. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -0
  726. package/lib/typescript/components/ChannelList/ChannelList.d.ts +0 -12
  727. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  728. package/lib/typescript/components/ChannelList/Skeleton.d.ts.map +1 -1
  729. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +1 -2
  730. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts.map +1 -1
  731. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  732. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  733. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  734. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +1 -1
  735. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts.map +1 -1
  736. package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts.map +1 -1
  737. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  738. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  739. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts.map +1 -1
  740. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +2 -2
  741. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  742. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +5 -5
  743. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts.map +1 -1
  744. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +5 -5
  745. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts.map +1 -1
  746. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +3 -3
  747. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts.map +1 -1
  748. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +3 -3
  749. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts.map +1 -1
  750. package/lib/typescript/components/ImageGallery/components/ImageGalleryOverlay.d.ts +2 -2
  751. package/lib/typescript/components/ImageGallery/components/ImageGalleryOverlay.d.ts.map +1 -1
  752. package/lib/typescript/components/ImageGallery/hooks/useAnimatedGalleryStyle.d.ts +37 -0
  753. package/lib/typescript/components/ImageGallery/hooks/useAnimatedGalleryStyle.d.ts.map +1 -0
  754. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +4 -5
  755. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts.map +1 -1
  756. package/lib/typescript/components/Message/Message.d.ts +4 -40
  757. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  758. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts.map +1 -1
  759. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +11 -5
  760. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts.map +1 -1
  761. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +2 -6
  762. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts.map +1 -1
  763. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
  764. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts.map +1 -1
  765. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -2
  766. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts.map +1 -1
  767. package/lib/typescript/components/Message/MessageSimple/ReactionList/ReactionListBottom.d.ts +12 -0
  768. package/lib/typescript/components/Message/MessageSimple/ReactionList/ReactionListBottom.d.ts.map +1 -0
  769. package/lib/typescript/components/Message/MessageSimple/ReactionList/ReactionListTop.d.ts +20 -0
  770. package/lib/typescript/components/Message/MessageSimple/ReactionList/ReactionListTop.d.ts.map +1 -0
  771. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  772. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
  773. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +5 -6
  774. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts.map +1 -1
  775. package/lib/typescript/components/Message/hooks/useMessageData.d.ts +12 -0
  776. package/lib/typescript/components/Message/hooks/useMessageData.d.ts.map +1 -0
  777. package/lib/typescript/components/Message/hooks/useProcessReactions.d.ts +11 -3
  778. package/lib/typescript/components/Message/hooks/useProcessReactions.d.ts.map +1 -1
  779. package/lib/typescript/components/Message/utils/messageActions.d.ts +6 -14
  780. package/lib/typescript/components/Message/utils/messageActions.d.ts.map +1 -1
  781. package/lib/typescript/components/MessageInput/MessageInput.d.ts.map +1 -1
  782. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingButton.d.ts.map +1 -1
  783. package/lib/typescript/components/MessageInput/components/NativeAttachmentPicker.d.ts.map +1 -1
  784. package/lib/typescript/components/MessageInput/hooks/useAudioController.d.ts.map +1 -1
  785. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  786. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  787. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  788. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +1 -1
  789. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +1 -1
  790. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts +16 -0
  791. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts.map +1 -0
  792. package/lib/typescript/components/{MessageOverlay → MessageMenu}/MessageActionListItem.d.ts +2 -8
  793. package/lib/typescript/components/MessageMenu/MessageActionListItem.d.ts.map +1 -0
  794. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts +32 -0
  795. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts.map +1 -0
  796. package/lib/typescript/components/MessageMenu/MessageReactionPicker.d.ts +30 -0
  797. package/lib/typescript/components/MessageMenu/MessageReactionPicker.d.ts.map +1 -0
  798. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts +21 -0
  799. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -0
  800. package/lib/typescript/components/MessageMenu/MessageUserReactionsAvatar.d.ts +11 -0
  801. package/lib/typescript/components/MessageMenu/MessageUserReactionsAvatar.d.ts.map +1 -0
  802. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts +16 -0
  803. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts.map +1 -0
  804. package/lib/typescript/components/MessageMenu/ReactionButton.d.ts +25 -0
  805. package/lib/typescript/components/MessageMenu/ReactionButton.d.ts.map +1 -0
  806. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -0
  807. package/lib/typescript/components/Poll/Poll.d.ts +0 -1
  808. package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
  809. package/lib/typescript/components/Poll/components/Button.d.ts +0 -17
  810. package/lib/typescript/components/Poll/components/Button.d.ts.map +1 -1
  811. package/lib/typescript/components/Poll/components/CreatePollOptions.d.ts.map +1 -1
  812. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +2 -0
  813. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
  814. package/lib/typescript/components/Poll/components/PollButtons.d.ts +10 -0
  815. package/lib/typescript/components/Poll/components/PollButtons.d.ts.map +1 -0
  816. package/lib/typescript/components/Poll/components/PollInputDialog.d.ts.map +1 -1
  817. package/lib/typescript/components/Poll/components/PollOption.d.ts +2 -0
  818. package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
  819. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +11 -4
  820. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
  821. package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts +6 -0
  822. package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts.map +1 -0
  823. package/lib/typescript/components/Poll/components/index.d.ts +1 -0
  824. package/lib/typescript/components/Poll/components/index.d.ts.map +1 -1
  825. package/lib/typescript/components/ProgressControl/ProgressControl.d.ts.map +1 -1
  826. package/lib/typescript/components/ProgressControl/WaveProgressBar.d.ts.map +1 -1
  827. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  828. package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts +21 -0
  829. package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts.map +1 -0
  830. package/lib/typescript/components/UIComponents/ImageBackground.d.ts.map +1 -0
  831. package/lib/typescript/components/UIComponents/Spinner.d.ts.map +1 -0
  832. package/lib/typescript/components/UIComponents/index.d.ts +4 -0
  833. package/lib/typescript/components/UIComponents/index.d.ts.map +1 -0
  834. package/lib/typescript/components/index.d.ts +11 -10
  835. package/lib/typescript/components/index.d.ts.map +1 -1
  836. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +0 -11
  837. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts.map +1 -1
  838. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +1 -11
  839. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts.map +1 -1
  840. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +28 -62
  841. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  842. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +1 -11
  843. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts.map +1 -1
  844. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +1 -27
  845. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts.map +1 -1
  846. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +7 -13
  847. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts.map +1 -1
  848. package/lib/typescript/contexts/chatConfigContext/ChatConfigContext.d.ts +16 -0
  849. package/lib/typescript/contexts/chatConfigContext/ChatConfigContext.d.ts.map +1 -0
  850. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -15
  851. package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
  852. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +0 -10
  853. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
  854. package/lib/typescript/contexts/index.d.ts +1 -1
  855. package/lib/typescript/contexts/index.d.ts.map +1 -1
  856. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +0 -11
  857. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts.map +1 -1
  858. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +21 -56
  859. package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
  860. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +2 -12
  861. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  862. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  863. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +78 -38
  864. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  865. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +2 -27
  866. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts.map +1 -1
  867. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts.map +1 -1
  868. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +18 -27
  869. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts.map +1 -1
  870. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +1 -11
  871. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts.map +1 -1
  872. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +69 -44
  873. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  874. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +1 -11
  875. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts.map +1 -1
  876. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +0 -11
  877. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts.map +1 -1
  878. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +1 -11
  879. package/lib/typescript/contexts/typingContext/TypingContext.d.ts.map +1 -1
  880. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  881. package/lib/typescript/icons/PinHeader.d.ts +5 -1
  882. package/lib/typescript/icons/PinHeader.d.ts.map +1 -1
  883. package/lib/typescript/index.d.ts +2 -3
  884. package/lib/typescript/index.d.ts.map +1 -1
  885. package/lib/typescript/native.d.ts +11 -13
  886. package/lib/typescript/native.d.ts.map +1 -1
  887. package/lib/typescript/store/SqliteClient.d.ts +27 -0
  888. package/lib/typescript/store/SqliteClient.d.ts.map +1 -0
  889. package/lib/typescript/store/apis/addPendingTask.d.ts +1 -1
  890. package/lib/typescript/store/apis/addPendingTask.d.ts.map +1 -1
  891. package/lib/typescript/store/apis/deleteChannel.d.ts +1 -1
  892. package/lib/typescript/store/apis/deleteChannel.d.ts.map +1 -1
  893. package/lib/typescript/store/apis/deleteMember.d.ts +1 -1
  894. package/lib/typescript/store/apis/deleteMember.d.ts.map +1 -1
  895. package/lib/typescript/store/apis/deleteMessage.d.ts +1 -1
  896. package/lib/typescript/store/apis/deleteMessage.d.ts.map +1 -1
  897. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +1 -1
  898. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts.map +1 -1
  899. package/lib/typescript/store/apis/deletePendingTask.d.ts +1 -1
  900. package/lib/typescript/store/apis/deletePendingTask.d.ts.map +1 -1
  901. package/lib/typescript/store/apis/deleteReaction.d.ts +1 -1
  902. package/lib/typescript/store/apis/deleteReaction.d.ts.map +1 -1
  903. package/lib/typescript/store/apis/deleteReactions.d.ts +1 -1
  904. package/lib/typescript/store/apis/deleteReactions.d.ts.map +1 -1
  905. package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -1
  906. package/lib/typescript/store/apis/getAllChannelIds.d.ts.map +1 -1
  907. package/lib/typescript/store/apis/getAppSettings.d.ts +1 -1
  908. package/lib/typescript/store/apis/getAppSettings.d.ts.map +1 -1
  909. package/lib/typescript/store/apis/getChannelMessages.d.ts +1 -1
  910. package/lib/typescript/store/apis/getChannelMessages.d.ts.map +1 -1
  911. package/lib/typescript/store/apis/getChannels.d.ts +1 -1
  912. package/lib/typescript/store/apis/getChannels.d.ts.map +1 -1
  913. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts +1 -1
  914. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts.map +1 -1
  915. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +1 -1
  916. package/lib/typescript/store/apis/getLastSyncedAt.d.ts.map +1 -1
  917. package/lib/typescript/store/apis/getMembers.d.ts +1 -1
  918. package/lib/typescript/store/apis/getMembers.d.ts.map +1 -1
  919. package/lib/typescript/store/apis/getPendingTasks.d.ts +1 -1
  920. package/lib/typescript/store/apis/getPendingTasks.d.ts.map +1 -1
  921. package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts +1 -1
  922. package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts.map +1 -1
  923. package/lib/typescript/store/apis/getReads.d.ts +1 -1
  924. package/lib/typescript/store/apis/getReads.d.ts.map +1 -1
  925. package/lib/typescript/store/apis/insertReaction.d.ts +1 -1
  926. package/lib/typescript/store/apis/insertReaction.d.ts.map +1 -1
  927. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +1 -1
  928. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts.map +1 -1
  929. package/lib/typescript/store/apis/queries/selectChannels.d.ts +2 -2
  930. package/lib/typescript/store/apis/queries/selectChannels.d.ts.map +1 -1
  931. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +1 -1
  932. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts.map +1 -1
  933. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +1 -1
  934. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts.map +1 -1
  935. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +1 -1
  936. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts.map +1 -1
  937. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +1 -1
  938. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts.map +1 -1
  939. package/lib/typescript/store/apis/updateMessage.d.ts +1 -1
  940. package/lib/typescript/store/apis/updateMessage.d.ts.map +1 -1
  941. package/lib/typescript/store/apis/updatePollMessage.d.ts +1 -1
  942. package/lib/typescript/store/apis/updatePollMessage.d.ts.map +1 -1
  943. package/lib/typescript/store/apis/updateReaction.d.ts +1 -1
  944. package/lib/typescript/store/apis/updateReaction.d.ts.map +1 -1
  945. package/lib/typescript/store/apis/upsertAppSettings.d.ts +1 -1
  946. package/lib/typescript/store/apis/upsertAppSettings.d.ts.map +1 -1
  947. package/lib/typescript/store/apis/upsertChannelData.d.ts +1 -1
  948. package/lib/typescript/store/apis/upsertChannelData.d.ts.map +1 -1
  949. package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts +1 -1
  950. package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts.map +1 -1
  951. package/lib/typescript/store/apis/upsertChannels.d.ts +1 -1
  952. package/lib/typescript/store/apis/upsertChannels.d.ts.map +1 -1
  953. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +1 -1
  954. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts.map +1 -1
  955. package/lib/typescript/store/apis/upsertMembers.d.ts +1 -1
  956. package/lib/typescript/store/apis/upsertMembers.d.ts.map +1 -1
  957. package/lib/typescript/store/apis/upsertMessages.d.ts +1 -1
  958. package/lib/typescript/store/apis/upsertMessages.d.ts.map +1 -1
  959. package/lib/typescript/store/apis/upsertReads.d.ts +1 -1
  960. package/lib/typescript/store/apis/upsertReads.d.ts.map +1 -1
  961. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts +1 -1
  962. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts.map +1 -1
  963. package/lib/typescript/test-utils/BetterSqlite.d.ts +2 -2
  964. package/lib/typescript/test-utils/BetterSqlite.d.ts.map +1 -1
  965. package/lib/typescript/types/types.d.ts +8 -0
  966. package/lib/typescript/types/types.d.ts.map +1 -1
  967. package/lib/typescript/utils/DBSyncManager.d.ts +1 -1
  968. package/lib/typescript/utils/DBSyncManager.d.ts.map +1 -1
  969. package/lib/typescript/utils/getResizedImageUrl.d.ts +3 -2
  970. package/lib/typescript/utils/getResizedImageUrl.d.ts.map +1 -1
  971. package/lib/typescript/utils/utils.d.ts.map +1 -1
  972. package/package.json +14 -14
  973. package/src/__tests__/offline-support/offline-feature.js +220 -176
  974. package/src/__tests__/offline-support/optimistic-update.js +27 -23
  975. package/src/components/Attachment/Attachment.tsx +2 -2
  976. package/src/components/Attachment/Card.tsx +10 -10
  977. package/src/components/Attachment/FileAttachment.tsx +8 -16
  978. package/src/components/Attachment/FileAttachmentGroup.tsx +2 -2
  979. package/src/components/Attachment/Gallery.tsx +21 -18
  980. package/src/components/Attachment/Giphy.tsx +14 -14
  981. package/src/components/Attachment/__tests__/Attachment.test.js +4 -2
  982. package/src/components/Attachment/__tests__/Gallery.test.js +0 -2
  983. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +10 -1
  984. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +4 -1
  985. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +5 -1
  986. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +6 -1
  987. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +13 -6
  988. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +5 -1
  989. package/src/components/AttachmentPicker/AttachmentPicker.tsx +7 -2
  990. package/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx +2 -2
  991. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +17 -33
  992. package/src/components/AttachmentPicker/components/AttachmentPickerSelectionBar.tsx +18 -17
  993. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +1 -1
  994. package/src/components/Avatar/Avatar.tsx +3 -0
  995. package/src/components/Avatar/GroupAvatar.tsx +4 -0
  996. package/src/components/Channel/Channel.tsx +299 -982
  997. package/src/components/Channel/__tests__/Channel.test.js +244 -13
  998. package/src/components/Channel/__tests__/ownCapabilities.test.js +57 -57
  999. package/src/components/Channel/__tests__/useMessageListPagination.test.js +419 -0
  1000. package/src/components/Channel/hooks/useChannelDataState.ts +235 -0
  1001. package/src/components/Channel/hooks/useCreateChannelContext.ts +0 -8
  1002. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +2 -6
  1003. package/src/components/Channel/hooks/useCreateMessagesContext.ts +26 -10
  1004. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +3 -10
  1005. package/src/components/Channel/hooks/useMessageListPagination.tsx +246 -0
  1006. package/src/components/ChannelList/ChannelList.tsx +0 -17
  1007. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -1
  1008. package/src/components/ChannelList/Skeleton.tsx +9 -1
  1009. package/src/components/ChannelList/__tests__/ChannelList.test.js +5 -5
  1010. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -11
  1011. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +20 -13
  1012. package/src/components/Chat/Chat.tsx +23 -18
  1013. package/src/components/Chat/__tests__/Chat.test.js +199 -178
  1014. package/src/components/Chat/hooks/handleEventToSyncDB.ts +18 -16
  1015. package/src/components/Chat/hooks/useAppSettings.ts +3 -2
  1016. package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
  1017. package/src/components/Chat/hooks/useIsOnline.ts +13 -10
  1018. package/src/components/ImageGallery/ImageGallery.tsx +71 -121
  1019. package/src/components/ImageGallery/__tests__/AnimatedVideoGallery.test.tsx +0 -11
  1020. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +3 -4
  1021. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -5
  1022. package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +1 -1
  1023. package/src/components/ImageGallery/__tests__/ImageGalleryGridHandle.test.tsx +1 -1
  1024. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +3 -5
  1025. package/src/components/ImageGallery/__tests__/ImageGalleryOverlay.test.tsx +0 -3
  1026. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +17 -56
  1027. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +21 -56
  1028. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +73 -59
  1029. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +46 -45
  1030. package/src/components/ImageGallery/components/ImageGalleryOverlay.tsx +2 -1
  1031. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +3 -4
  1032. package/src/components/ImageGallery/hooks/useAnimatedGalleryStyle.tsx +83 -0
  1033. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +495 -470
  1034. package/src/components/Indicators/LoadingIndicator.tsx +1 -1
  1035. package/src/components/Message/Message.tsx +113 -215
  1036. package/src/components/Message/MessageSimple/MessageAvatar.tsx +1 -0
  1037. package/src/components/Message/MessageSimple/MessageBounce.tsx +2 -2
  1038. package/src/components/Message/MessageSimple/MessageContent.tsx +28 -155
  1039. package/src/components/Message/MessageSimple/MessageDeleted.tsx +1 -1
  1040. package/src/components/Message/MessageSimple/MessageFooter.tsx +1 -1
  1041. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +21 -66
  1042. package/src/components/Message/MessageSimple/MessageSimple.tsx +245 -54
  1043. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +3 -4
  1044. package/src/components/Message/MessageSimple/ReactionList/ReactionListBottom.tsx +295 -0
  1045. package/src/components/Message/MessageSimple/ReactionList/ReactionListTop.tsx +271 -0
  1046. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +1 -2
  1047. package/src/components/Message/MessageSimple/__tests__/MessageSimple.test.js +208 -0
  1048. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.tsx +3 -3
  1049. package/src/components/Message/MessageSimple/__tests__/ReactionListBottom.test.js +166 -0
  1050. package/src/components/Message/MessageSimple/__tests__/ReactionListTop.test.js +92 -0
  1051. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +23 -19
  1052. package/src/components/Message/hooks/useCreateMessageContext.ts +4 -16
  1053. package/src/components/Message/hooks/useMessageActions.tsx +48 -68
  1054. package/src/components/Message/hooks/useMessageData.ts +59 -0
  1055. package/src/components/Message/hooks/useProcessReactions.ts +17 -10
  1056. package/src/components/Message/utils/messageActions.ts +10 -20
  1057. package/src/components/MessageInput/FileUploadPreview.tsx +2 -2
  1058. package/src/components/MessageInput/MessageInput.tsx +0 -1
  1059. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewExpo.test.tsx +1 -4
  1060. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewNative.test.tsx +1 -4
  1061. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +3 -5
  1062. package/src/components/MessageInput/__tests__/MessageInput.test.js +116 -2
  1063. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx +7 -1
  1064. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator.tsx +0 -1
  1065. package/src/components/MessageInput/components/NativeAttachmentPicker.tsx +8 -1
  1066. package/src/components/MessageInput/hooks/useAudioController.tsx +4 -7
  1067. package/src/components/MessageList/MessageList.tsx +53 -83
  1068. package/src/components/MessageList/ScrollToBottomButton.tsx +1 -1
  1069. package/src/components/MessageList/__tests__/MessageList.test.js +174 -23
  1070. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  1071. package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +1 -1
  1072. package/src/components/MessageList/hooks/useMessageList.ts +2 -5
  1073. package/src/components/MessageList/utils/getReadStates.ts +3 -2
  1074. package/src/components/MessageMenu/MessageActionList.tsx +49 -0
  1075. package/src/components/MessageMenu/MessageActionListItem.tsx +86 -0
  1076. package/src/components/MessageMenu/MessageMenu.tsx +123 -0
  1077. package/src/components/MessageMenu/MessageReactionPicker.tsx +122 -0
  1078. package/src/components/MessageMenu/MessageUserReactions.tsx +207 -0
  1079. package/src/components/{MessageOverlay/OverlayReactionsAvatar.tsx → MessageMenu/MessageUserReactionsAvatar.tsx} +6 -6
  1080. package/src/components/MessageMenu/MessageUserReactionsItem.tsx +132 -0
  1081. package/src/components/MessageMenu/ReactionButton.tsx +72 -0
  1082. package/src/components/MessageMenu/__tests__/MessageActionList.test.tsx +48 -0
  1083. package/src/components/MessageMenu/__tests__/MessageActionListItem.test.tsx +48 -0
  1084. package/src/components/MessageMenu/__tests__/MessageReactionPicker.test.tsx +101 -0
  1085. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +186 -0
  1086. package/src/components/MessageMenu/__tests__/MessageUserReactionsAvatar.test.tsx +35 -0
  1087. package/src/components/MessageMenu/__tests__/MessageUserReactionsItem.test.tsx +81 -0
  1088. package/src/components/MessageMenu/__tests__/ReactionButton.test.tsx +77 -0
  1089. package/src/components/{MessageOverlay → MessageMenu}/hooks/useFetchReactions.ts +4 -2
  1090. package/src/components/Poll/CreatePollContent.tsx +4 -4
  1091. package/src/components/Poll/Poll.tsx +1 -20
  1092. package/src/components/Poll/components/Button.tsx +8 -420
  1093. package/src/components/Poll/components/CreatePollIcon.tsx +1 -1
  1094. package/src/components/Poll/components/CreatePollOptions.tsx +9 -4
  1095. package/src/components/Poll/components/PollAnswersList.tsx +66 -3
  1096. package/src/components/Poll/components/PollButtons.tsx +241 -0
  1097. package/src/components/Poll/components/PollInputDialog.tsx +9 -6
  1098. package/src/components/Poll/components/PollModalHeader.tsx +3 -3
  1099. package/src/components/Poll/components/PollOption.tsx +74 -4
  1100. package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +1 -1
  1101. package/src/components/Poll/components/PollResults/PollResultItem.tsx +68 -52
  1102. package/src/components/Poll/components/PollResults/PollVote.tsx +68 -0
  1103. package/src/components/Poll/components/index.ts +1 -0
  1104. package/src/components/ProgressControl/ProgressControl.tsx +28 -38
  1105. package/src/components/ProgressControl/WaveProgressBar.tsx +29 -37
  1106. package/src/components/Reply/Reply.tsx +5 -2
  1107. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +936 -796
  1108. package/src/components/UIComponents/BottomSheetModal.tsx +174 -0
  1109. package/src/components/UIComponents/index.ts +3 -0
  1110. package/src/components/docs/data.js +13 -27
  1111. package/src/components/index.ts +11 -10
  1112. package/src/contexts/__tests__/index.test.tsx +0 -5
  1113. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +0 -27
  1114. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +1 -29
  1115. package/src/contexts/channelContext/ChannelContext.tsx +33 -79
  1116. package/src/contexts/channelsContext/ChannelsContext.tsx +1 -28
  1117. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +2 -97
  1118. package/src/contexts/channelsStateContext/useChannelState.ts +6 -108
  1119. package/src/contexts/chatConfigContext/ChatConfigContext.tsx +33 -0
  1120. package/src/contexts/chatContext/ChatContext.tsx +1 -30
  1121. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +0 -29
  1122. package/src/contexts/index.ts +1 -1
  1123. package/src/contexts/keyboardContext/KeyboardContext.tsx +0 -30
  1124. package/src/contexts/messageContext/MessageContext.tsx +22 -75
  1125. package/src/contexts/messageInputContext/MessageInputContext.tsx +12 -39
  1126. package/src/contexts/messageInputContext/__tests__/isValidMessage.test.tsx +2 -3
  1127. package/src/contexts/messageInputContext/__tests__/uploadFile.test.tsx +1 -2
  1128. package/src/contexts/messageInputContext/__tests__/uploadImage.test.tsx +1 -2
  1129. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +1 -5
  1130. package/src/contexts/messagesContext/MessagesContext.tsx +84 -57
  1131. package/src/contexts/overlayContext/OverlayContext.tsx +2 -55
  1132. package/src/contexts/overlayContext/OverlayProvider.tsx +23 -64
  1133. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +18 -46
  1134. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +1 -30
  1135. package/src/contexts/themeContext/utils/theme.ts +141 -92
  1136. package/src/contexts/threadContext/ThreadContext.tsx +1 -28
  1137. package/src/contexts/translationContext/TranslationContext.tsx +0 -29
  1138. package/src/contexts/typingContext/TypingContext.tsx +1 -28
  1139. package/src/hooks/__tests__/useTranslatedMessage.test.tsx +3 -9
  1140. package/src/hooks/useTranslatedMessage.ts +1 -4
  1141. package/src/icons/PinHeader.tsx +13 -7
  1142. package/src/index.ts +2 -3
  1143. package/src/mock-builders/DB/mock.ts +70 -87
  1144. package/src/native.ts +18 -29
  1145. package/src/store/SqliteClient.ts +210 -0
  1146. package/src/store/apis/addPendingTask.ts +7 -7
  1147. package/src/store/apis/deleteChannel.ts +4 -4
  1148. package/src/store/apis/deleteMember.ts +4 -4
  1149. package/src/store/apis/deleteMessage.ts +4 -4
  1150. package/src/store/apis/deleteMessagesForChannel.ts +4 -4
  1151. package/src/store/apis/deletePendingTask.ts +4 -4
  1152. package/src/store/apis/deleteReaction.ts +4 -4
  1153. package/src/store/apis/deleteReactions.ts +3 -3
  1154. package/src/store/apis/getAllChannelIds.ts +4 -4
  1155. package/src/store/apis/getAppSettings.ts +5 -5
  1156. package/src/store/apis/getChannelMessages.ts +6 -6
  1157. package/src/store/apis/getChannels.ts +8 -8
  1158. package/src/store/apis/getChannelsForFilterSort.ts +6 -6
  1159. package/src/store/apis/getLastSyncedAt.ts +5 -5
  1160. package/src/store/apis/getMembers.ts +4 -4
  1161. package/src/store/apis/getPendingTasks.ts +4 -4
  1162. package/src/store/apis/getReactions.ts +2 -2
  1163. package/src/store/apis/getReactionsforFilterSort.ts +8 -6
  1164. package/src/store/apis/getReads.ts +4 -4
  1165. package/src/store/apis/insertReaction.ts +4 -4
  1166. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +5 -5
  1167. package/src/store/apis/queries/selectChannels.ts +6 -6
  1168. package/src/store/apis/queries/selectMembersForChannels.ts +6 -4
  1169. package/src/store/apis/queries/selectMessagesForChannels.ts +7 -5
  1170. package/src/store/apis/queries/selectReactionsForMessages.ts +5 -5
  1171. package/src/store/apis/queries/selectReadsForChannels.ts +7 -5
  1172. package/src/store/apis/updateMessage.ts +5 -5
  1173. package/src/store/apis/updatePollMessage.ts +5 -5
  1174. package/src/store/apis/updateReaction.ts +4 -4
  1175. package/src/store/apis/upsertAppSettings.ts +4 -4
  1176. package/src/store/apis/upsertChannelData.ts +5 -4
  1177. package/src/store/apis/upsertChannelDataFromChannel.ts +3 -3
  1178. package/src/store/apis/upsertChannels.ts +8 -8
  1179. package/src/store/apis/upsertCidsForQuery.ts +4 -4
  1180. package/src/store/apis/upsertMembers.ts +4 -4
  1181. package/src/store/apis/upsertMessages.ts +4 -4
  1182. package/src/store/apis/upsertReads.ts +4 -4
  1183. package/src/store/apis/upsertUserSyncStatus.ts +4 -4
  1184. package/src/test-utils/BetterSqlite.js +4 -12
  1185. package/src/types/types.ts +9 -0
  1186. package/src/utils/DBSyncManager.ts +49 -44
  1187. package/src/utils/__tests__/getResizedImageUrl.test.ts +1 -2
  1188. package/src/utils/getResizedImageUrl.ts +7 -5
  1189. package/src/utils/utils.ts +1 -1
  1190. package/src/version.json +1 -1
  1191. package/lib/commonjs/components/ImageBackground.js.map +0 -1
  1192. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +0 -305
  1193. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +0 -1
  1194. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +0 -112
  1195. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +0 -1
  1196. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +0 -87
  1197. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +0 -1
  1198. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +0 -461
  1199. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +0 -1
  1200. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +0 -24
  1201. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +0 -1
  1202. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +0 -305
  1203. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +0 -1
  1204. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +0 -188
  1205. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +0 -1
  1206. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +0 -1
  1207. package/lib/commonjs/components/MessageOverlay/OverlayReactionsItem.js +0 -166
  1208. package/lib/commonjs/components/MessageOverlay/OverlayReactionsItem.js.map +0 -1
  1209. package/lib/commonjs/components/MessageOverlay/hooks/useFetchReactions.js.map +0 -1
  1210. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +0 -34
  1211. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +0 -1
  1212. package/lib/commonjs/components/Spinner/Spinner.js.map +0 -1
  1213. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +0 -45
  1214. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +0 -1
  1215. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +0 -27
  1216. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +0 -1
  1217. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +0 -67
  1218. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +0 -1
  1219. package/lib/commonjs/store/QuickSqliteClient.js +0 -158
  1220. package/lib/commonjs/store/QuickSqliteClient.js.map +0 -1
  1221. package/lib/commonjs/utils/StreamChatRN.js +0 -25
  1222. package/lib/commonjs/utils/StreamChatRN.js.map +0 -1
  1223. package/lib/module/components/ImageBackground.js.map +0 -1
  1224. package/lib/module/components/Message/MessageSimple/ReactionList.js +0 -305
  1225. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +0 -1
  1226. package/lib/module/components/MessageOverlay/MessageActionList.js +0 -112
  1227. package/lib/module/components/MessageOverlay/MessageActionList.js.map +0 -1
  1228. package/lib/module/components/MessageOverlay/MessageActionListItem.js +0 -87
  1229. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +0 -1
  1230. package/lib/module/components/MessageOverlay/MessageOverlay.js +0 -461
  1231. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +0 -1
  1232. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +0 -24
  1233. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +0 -1
  1234. package/lib/module/components/MessageOverlay/OverlayReactionList.js +0 -305
  1235. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +0 -1
  1236. package/lib/module/components/MessageOverlay/OverlayReactions.js +0 -188
  1237. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +0 -1
  1238. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +0 -1
  1239. package/lib/module/components/MessageOverlay/OverlayReactionsItem.js +0 -166
  1240. package/lib/module/components/MessageOverlay/OverlayReactionsItem.js.map +0 -1
  1241. package/lib/module/components/MessageOverlay/hooks/useFetchReactions.js.map +0 -1
  1242. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +0 -34
  1243. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +0 -1
  1244. package/lib/module/components/Spinner/Spinner.js.map +0 -1
  1245. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +0 -45
  1246. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +0 -1
  1247. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +0 -27
  1248. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +0 -1
  1249. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +0 -67
  1250. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +0 -1
  1251. package/lib/module/store/QuickSqliteClient.js +0 -158
  1252. package/lib/module/store/QuickSqliteClient.js.map +0 -1
  1253. package/lib/module/utils/StreamChatRN.js +0 -25
  1254. package/lib/module/utils/StreamChatRN.js.map +0 -1
  1255. package/lib/typescript/components/ImageBackground.d.ts.map +0 -1
  1256. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +0 -32
  1257. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts.map +0 -1
  1258. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +0 -14
  1259. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts.map +0 -1
  1260. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts.map +0 -1
  1261. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +0 -15
  1262. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts.map +0 -1
  1263. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +0 -8
  1264. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts.map +0 -1
  1265. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +0 -36
  1266. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts.map +0 -1
  1267. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +0 -31
  1268. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts.map +0 -1
  1269. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +0 -11
  1270. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts.map +0 -1
  1271. package/lib/typescript/components/MessageOverlay/OverlayReactionsItem.d.ts +0 -11
  1272. package/lib/typescript/components/MessageOverlay/OverlayReactionsItem.d.ts.map +0 -1
  1273. package/lib/typescript/components/MessageOverlay/hooks/useFetchReactions.d.ts.map +0 -1
  1274. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +0 -11
  1275. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts.map +0 -1
  1276. package/lib/typescript/components/Spinner/Spinner.d.ts.map +0 -1
  1277. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +0 -80
  1278. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts.map +0 -1
  1279. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +0 -13
  1280. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts.map +0 -1
  1281. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +0 -2
  1282. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts.map +0 -1
  1283. package/lib/typescript/store/QuickSqliteClient.d.ts +0 -26
  1284. package/lib/typescript/store/QuickSqliteClient.d.ts.map +0 -1
  1285. package/lib/typescript/utils/StreamChatRN.d.ts +0 -23
  1286. package/lib/typescript/utils/StreamChatRN.d.ts.map +0 -1
  1287. package/src/components/Message/MessageSimple/ReactionList.tsx +0 -398
  1288. package/src/components/MessageOverlay/MessageActionList.tsx +0 -171
  1289. package/src/components/MessageOverlay/MessageActionListItem.tsx +0 -144
  1290. package/src/components/MessageOverlay/MessageOverlay.tsx +0 -648
  1291. package/src/components/MessageOverlay/OverlayBackdrop.tsx +0 -18
  1292. package/src/components/MessageOverlay/OverlayReactionList.tsx +0 -447
  1293. package/src/components/MessageOverlay/OverlayReactions.tsx +0 -252
  1294. package/src/components/MessageOverlay/OverlayReactionsItem.tsx +0 -188
  1295. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +0 -44
  1296. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +0 -148
  1297. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +0 -48
  1298. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +0 -22
  1299. package/src/store/QuickSqliteClient.ts +0 -187
  1300. package/src/utils/StreamChatRN.ts +0 -27
  1301. /package/lib/typescript/components/{MessageOverlay → MessageMenu}/hooks/useFetchReactions.d.ts +0 -0
  1302. /package/lib/typescript/components/{ImageBackground.d.ts → UIComponents/ImageBackground.d.ts} +0 -0
  1303. /package/lib/typescript/components/{Spinner → UIComponents}/Spinner.d.ts +0 -0
  1304. /package/src/components/{ImageBackground.tsx → UIComponents/ImageBackground.tsx} +0 -0
  1305. /package/src/components/{Spinner → UIComponents}/Spinner.tsx +0 -0
@@ -16,6 +16,7 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
16
16
  var _throttle = _interopRequireDefault(require("lodash/throttle"));
17
17
  var _mimeTypes = require("mime-types");
18
18
  var _streamChat = require("stream-chat");
19
+ var _useChannelDataState2 = require("./hooks/useChannelDataState");
19
20
  var _useCreateChannelContext = require("./hooks/useCreateChannelContext");
20
21
  var _useCreateInputMessageInputContext = require("./hooks/useCreateInputMessageInputContext");
21
22
  var _useCreateMessagesContext = require("./hooks/useCreateMessagesContext");
@@ -23,6 +24,7 @@ var _useCreateOwnCapabilitiesContext = require("./hooks/useCreateOwnCapabilities
23
24
  var _useCreatePaginatedMessageListContext = require("./hooks/useCreatePaginatedMessageListContext");
24
25
  var _useCreateThreadContext = require("./hooks/useCreateThreadContext");
25
26
  var _useCreateTypingContext = require("./hooks/useCreateTypingContext");
27
+ var _useMessageListPagination = require("./hooks/useMessageListPagination");
26
28
  var _useTargetedMessage2 = require("./hooks/useTargetedMessage");
27
29
  var _ChannelContext = require("../../contexts/channelContext/ChannelContext");
28
30
  var _useChannelState2 = require("../../contexts/channelsStateContext/useChannelState");
@@ -81,7 +83,8 @@ var _MessageRepliesAvatars = require("../Message/MessageSimple/MessageRepliesAva
81
83
  var _MessageSimple = require("../Message/MessageSimple/MessageSimple");
82
84
  var _MessageStatus = require("../Message/MessageSimple/MessageStatus");
83
85
  var _MessageTimestamp = require("../Message/MessageSimple/MessageTimestamp");
84
- var _ReactionList = require("../Message/MessageSimple/ReactionList");
86
+ var _ReactionListBottom = require("../Message/MessageSimple/ReactionList/ReactionListBottom");
87
+ var _ReactionListTop = require("../Message/MessageSimple/ReactionList/ReactionListTop");
85
88
  var _StreamingMessageView = require("../Message/MessageSimple/StreamingMessageView");
86
89
  var _AttachButton = require("../MessageInput/AttachButton");
87
90
  var _CommandsButton = require("../MessageInput/CommandsButton");
@@ -114,7 +117,13 @@ var _ScrollToBottomButton = require("../MessageList/ScrollToBottomButton");
114
117
  var _StickyHeader = require("../MessageList/StickyHeader");
115
118
  var _TypingIndicator = require("../MessageList/TypingIndicator");
116
119
  var _TypingIndicatorContainer = require("../MessageList/TypingIndicatorContainer");
117
- var _OverlayReactionList = require("../MessageOverlay/OverlayReactionList");
120
+ var _MessageActionList = require("../MessageMenu/MessageActionList");
121
+ var _MessageActionListItem = require("../MessageMenu/MessageActionListItem");
122
+ var _MessageMenu = require("../MessageMenu/MessageMenu");
123
+ var _MessageReactionPicker = require("../MessageMenu/MessageReactionPicker");
124
+ var _MessageUserReactions = require("../MessageMenu/MessageUserReactions");
125
+ var _MessageUserReactionsAvatar = require("../MessageMenu/MessageUserReactionsAvatar");
126
+ var _MessageUserReactionsItem = require("../MessageMenu/MessageUserReactionsItem");
118
127
  var _Reply = require("../Reply/Reply");
119
128
  var _jsxRuntime = require("react/jsx-runtime");
120
129
  var _excluded = ["attachments", "mentioned_users", "parent_id", "poll", "poll_id", "text"],
@@ -158,10 +167,10 @@ var debounceOptions = {
158
167
  trailing: true
159
168
  };
160
169
  var ChannelWithContext = function ChannelWithContext(props) {
161
- var _channel$getConfig, _client$user, _channel$data2, _ref30, _ref31;
170
+ var _channel$getConfig, _channel$data, _ref17, _channelState$members, _channelState$read, _ref18, _channelMessagesState3, _channelState$typing, _channelMessagesState4;
162
171
  var additionalKeyboardAvoidingViewProps = props.additionalKeyboardAvoidingViewProps,
172
+ additionalPressableProps = props.additionalPressableProps,
163
173
  additionalTextInputProps = props.additionalTextInputProps,
164
- additionalTouchableProps = props.additionalTouchableProps,
165
174
  _props$allowThreadMes = props.allowThreadMessagesInChannel,
166
175
  allowThreadMessagesInChannel = _props$allowThreadMes === void 0 ? true : _props$allowThreadMes,
167
176
  _props$asyncMessagesL = props.asyncMessagesLockDistance,
@@ -185,7 +194,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
185
194
  _props$AudioRecorder = props.AudioRecorder,
186
195
  AudioRecorder = _props$AudioRecorder === void 0 ? _AudioRecorder.AudioRecorder : _props$AudioRecorder,
187
196
  _props$audioRecording = props.audioRecordingEnabled,
188
- audioRecordingEnabled = _props$audioRecording === void 0 ? false : _props$audioRecording,
197
+ audioRecordingEnabled = _props$audioRecording === void 0 ? (0, _native.isAudioRecorderAvailable)() : _props$audioRecording,
189
198
  _props$AudioRecording = props.AudioRecordingInProgress,
190
199
  AudioRecordingInProgress = _props$AudioRecording === void 0 ? _AudioRecordingInProgress.AudioRecordingInProgress : _props$AudioRecording,
191
200
  _props$AudioRecording2 = props.AudioRecordingLockIndicator,
@@ -220,8 +229,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
220
229
  DateHeader = _props$DateHeader === void 0 ? _DateHeader.DateHeader : _props$DateHeader,
221
230
  _props$deletedMessage = props.deletedMessagesVisibilityType,
222
231
  deletedMessagesVisibilityType = _props$deletedMessage === void 0 ? 'always' : _props$deletedMessage,
223
- _props$disableIfFroze = props.disableIfFrozenChannel,
224
- disableIfFrozenChannel = _props$disableIfFroze === void 0 ? true : _props$disableIfFroze,
225
232
  _props$disableKeyboar = props.disableKeyboardCompatibleView,
226
233
  disableKeyboardCompatibleView = _props$disableKeyboar === void 0 ? false : _props$disableKeyboar,
227
234
  disableTypingIndicator = props.disableTypingIndicator,
@@ -262,7 +269,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
262
269
  giphyVersion = _props$giphyVersion === void 0 ? 'fixed_height' : _props$giphyVersion,
263
270
  handleAttachButtonPress = props.handleAttachButtonPress,
264
271
  handleBan = props.handleBan,
265
- handleBlock = props.handleBlock,
266
272
  handleCopy = props.handleCopy,
267
273
  handleDelete = props.handleDelete,
268
274
  handleEdit = props.handleEdit,
@@ -279,9 +285,9 @@ var ChannelWithContext = function ChannelWithContext(props) {
279
285
  hasCommands = _props$hasCommands === void 0 ? true : _props$hasCommands,
280
286
  hasCreatePoll = props.hasCreatePoll,
281
287
  _props$hasFilePicker = props.hasFilePicker,
282
- hasFilePicker = _props$hasFilePicker === void 0 ? _native.pickDocument !== null : _props$hasFilePicker,
288
+ hasFilePicker = _props$hasFilePicker === void 0 ? (0, _native.isDocumentPickerAvailable)() : _props$hasFilePicker,
283
289
  _props$hasImagePicker = props.hasImagePicker,
284
- hasImagePicker = _props$hasImagePicker === void 0 ? true : _props$hasImagePicker,
290
+ hasImagePicker = _props$hasImagePicker === void 0 ? (0, _native.isImagePickerAvailable)() || (0, _native.isImageMediaLibraryAvailable)() : _props$hasImagePicker,
285
291
  _props$hideDateSepara = props.hideDateSeparators,
286
292
  hideDateSeparators = _props$hideDateSepara === void 0 ? false : _props$hideDateSepara,
287
293
  _props$hideStickyDate = props.hideStickyDateHeader,
@@ -330,12 +336,15 @@ var ChannelWithContext = function ChannelWithContext(props) {
330
336
  _props$maxNumberOfFil = props.maxNumberOfFiles,
331
337
  maxNumberOfFiles = _props$maxNumberOfFil === void 0 ? 10 : _props$maxNumberOfFil,
332
338
  maxTimeBetweenGroupedMessages = props.maxTimeBetweenGroupedMessages,
333
- members = props.members,
334
339
  _props$mentionAllAppU = props.mentionAllAppUsersEnabled,
335
340
  mentionAllAppUsersEnabled = _props$mentionAllAppU === void 0 ? false : _props$mentionAllAppU,
336
341
  mentionAllAppUsersQuery = props.mentionAllAppUsersQuery,
337
342
  _props$Message = props.Message,
338
343
  Message = _props$Message === void 0 ? _Message.Message : _props$Message,
344
+ _props$MessageActionL = props.MessageActionList,
345
+ MessageActionList = _props$MessageActionL === void 0 ? _MessageActionList.MessageActionList : _props$MessageActionL,
346
+ _props$MessageActionL2 = props.MessageActionListItem,
347
+ MessageActionListItem = _props$MessageActionL2 === void 0 ? _MessageActionListItem.MessageActionListItem : _props$MessageActionL2,
339
348
  messageActions = props.messageActions,
340
349
  _props$MessageAvatar = props.MessageAvatar,
341
350
  MessageAvatar = _props$MessageAvatar === void 0 ? _MessageAvatar.MessageAvatar : _props$MessageAvatar,
@@ -357,13 +366,16 @@ var ChannelWithContext = function ChannelWithContext(props) {
357
366
  messageId = props.messageId,
358
367
  _props$MessageList = props.MessageList,
359
368
  MessageList = _props$MessageList === void 0 ? _MessageList.MessageList : _props$MessageList,
369
+ _props$MessageMenu = props.MessageMenu,
370
+ MessageMenu = _props$MessageMenu === void 0 ? _MessageMenu.MessageMenu : _props$MessageMenu,
360
371
  _props$MessagePinnedH = props.MessagePinnedHeader,
361
372
  MessagePinnedHeader = _props$MessagePinnedH === void 0 ? _MessagePinnedHeader.MessagePinnedHeader : _props$MessagePinnedH,
373
+ _props$MessageReactio = props.MessageReactionPicker,
374
+ MessageReactionPicker = _props$MessageReactio === void 0 ? _MessageReactionPicker.MessageReactionPicker : _props$MessageReactio,
362
375
  _props$MessageReplies = props.MessageReplies,
363
376
  MessageReplies = _props$MessageReplies === void 0 ? _MessageReplies.MessageReplies : _props$MessageReplies,
364
377
  _props$MessageReplies2 = props.MessageRepliesAvatars,
365
378
  MessageRepliesAvatars = _props$MessageReplies2 === void 0 ? _MessageRepliesAvatars.MessageRepliesAvatars : _props$MessageReplies2,
366
- messages = props.messages,
367
379
  _props$MessageSimple = props.MessageSimple,
368
380
  MessageSimple = _props$MessageSimple === void 0 ? _MessageSimple.MessageSimple : _props$MessageSimple,
369
381
  _props$MessageStatus = props.MessageStatus,
@@ -371,8 +383,15 @@ var ChannelWithContext = function ChannelWithContext(props) {
371
383
  _props$MessageSystem = props.MessageSystem,
372
384
  MessageSystem = _props$MessageSystem === void 0 ? _MessageSystem.MessageSystem : _props$MessageSystem,
373
385
  MessageText = props.MessageText,
386
+ messageTextNumberOfLines = props.messageTextNumberOfLines,
374
387
  _props$MessageTimesta = props.MessageTimestamp,
375
388
  MessageTimestamp = _props$MessageTimesta === void 0 ? _MessageTimestamp.MessageTimestamp : _props$MessageTimesta,
389
+ _props$MessageUserRea = props.MessageUserReactions,
390
+ MessageUserReactions = _props$MessageUserRea === void 0 ? _MessageUserReactions.MessageUserReactions : _props$MessageUserRea,
391
+ _props$MessageUserRea2 = props.MessageUserReactionsAvatar,
392
+ MessageUserReactionsAvatar = _props$MessageUserRea2 === void 0 ? _MessageUserReactionsAvatar.MessageUserReactionsAvatar : _props$MessageUserRea2,
393
+ _props$MessageUserRea3 = props.MessageUserReactionsItem,
394
+ MessageUserReactionsItem = _props$MessageUserRea3 === void 0 ? _MessageUserReactionsItem.MessageUserReactionsItem : _props$MessageUserRea3,
376
395
  _props$MoreOptionsBut = props.MoreOptionsButton,
377
396
  MoreOptionsButton = _props$MoreOptionsBut === void 0 ? _MoreOptionsButton.MoreOptionsButton : _props$MoreOptionsBut,
378
397
  myMessageTheme = props.myMessageTheme,
@@ -387,13 +406,14 @@ var ChannelWithContext = function ChannelWithContext(props) {
387
406
  onPressInMessage = props.onPressInMessage,
388
407
  onPressMessage = props.onPressMessage,
389
408
  openPollCreationDialog = props.openPollCreationDialog,
390
- _props$OverlayReactio = props.OverlayReactionList,
391
- OverlayReactionList = _props$OverlayReactio === void 0 ? _OverlayReactionList.OverlayReactionList : _props$OverlayReactio,
392
409
  overrideOwnCapabilities = props.overrideOwnCapabilities,
393
410
  PollContent = props.PollContent,
394
- _props$ReactionList = props.ReactionList,
395
- ReactionList = _props$ReactionList === void 0 ? _ReactionList.ReactionList : _props$ReactionList,
396
- read = props.read,
411
+ _props$ReactionListBo = props.ReactionListBottom,
412
+ ReactionListBottom = _props$ReactionListBo === void 0 ? _ReactionListBottom.ReactionListBottom : _props$ReactionListBo,
413
+ _props$reactionListPo = props.reactionListPosition,
414
+ reactionListPosition = _props$reactionListPo === void 0 ? 'top' : _props$reactionListPo,
415
+ _props$ReactionListTo = props.ReactionListTop,
416
+ ReactionListTop = _props$ReactionListTo === void 0 ? _ReactionListTop.ReactionListTop : _props$ReactionListTo,
397
417
  _props$Reply = props.Reply,
398
418
  Reply = _props$Reply === void 0 ? _Reply.Reply : _props$Reply,
399
419
  _props$ScrollToBottom = props.ScrollToBottomButton,
@@ -406,13 +426,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
406
426
  _props$SendMessageDis = props.SendMessageDisallowedIndicator,
407
427
  SendMessageDisallowedIndicator = _props$SendMessageDis === void 0 ? _SendMessageDisallowedIndicator.SendMessageDisallowedIndicator : _props$SendMessageDis,
408
428
  setInputRef = props.setInputRef,
409
- setMembers = props.setMembers,
410
- setMessages = props.setMessages,
411
- setRead = props.setRead,
412
429
  setThreadMessages = props.setThreadMessages,
413
- setTyping = props.setTyping,
414
- setWatcherCount = props.setWatcherCount,
415
- setWatchers = props.setWatchers,
416
430
  _props$shouldShowUnre = props.shouldShowUnreadUnderlay,
417
431
  shouldShowUnreadUnderlay = _props$shouldShowUnre === void 0 ? true : _props$shouldShowUnre,
418
432
  shouldSyncChannel = props.shouldSyncChannel,
@@ -433,7 +447,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
433
447
  threadFromProps = props.thread,
434
448
  threadList = props.threadList,
435
449
  threadMessages = props.threadMessages,
436
- typing = props.typing,
437
450
  _props$TypingIndicato = props.TypingIndicator,
438
451
  TypingIndicator = _props$TypingIndicato === void 0 ? _TypingIndicator.TypingIndicator : _props$TypingIndicato,
439
452
  _props$TypingIndicato2 = props.TypingIndicatorContainer,
@@ -443,9 +456,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
443
456
  _props$UrlPreview = props.UrlPreview,
444
457
  UrlPreview = _props$UrlPreview === void 0 ? _Card.Card : _props$UrlPreview,
445
458
  _props$VideoThumbnail = props.VideoThumbnail,
446
- VideoThumbnail = _props$VideoThumbnail === void 0 ? _VideoThumbnail.VideoThumbnail : _props$VideoThumbnail,
447
- watcherCount = props.watcherCount,
448
- watchers = props.watchers;
459
+ VideoThumbnail = _props$VideoThumbnail === void 0 ? _VideoThumbnail.VideoThumbnail : _props$VideoThumbnail;
449
460
  var threadProps = threadFromProps.thread,
450
461
  threadInstance = threadFromProps.threadInstance;
451
462
  var StopMessageStreamingButton = StopMessageStreamingButtonOverride === undefined ? _StopMessageStreamingButton.StopMessageStreamingButton : StopMessageStreamingButtonOverride;
@@ -465,59 +476,84 @@ var ChannelWithContext = function ChannelWithContext(props) {
465
476
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
466
477
  error = _useState6[0],
467
478
  setError = _useState6[1];
468
- var _useState7 = (0, _react.useState)(true),
479
+ var _useState7 = (0, _react.useState)(),
469
480
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
470
- hasMore = _useState8[0],
471
- setHasMore = _useState8[1];
472
- var _useState9 = (0, _react.useState)(),
481
+ lastRead = _useState8[0],
482
+ setLastRead = _useState8[1];
483
+ var _useState9 = (0, _react.useState)(undefined),
473
484
  _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
474
- lastRead = _useState10[0],
475
- setLastRead = _useState10[1];
476
- var _useState11 = (0, _react.useState)(false),
485
+ quotedMessage = _useState10[0],
486
+ setQuotedMessage = _useState10[1];
487
+ var _useState11 = (0, _react.useState)(threadProps || null),
477
488
  _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
478
- loading = _useState12[0],
479
- setLoading = _useState12[1];
480
- var _useState13 = (0, _react.useState)(false),
489
+ thread = _useState12[0],
490
+ setThread = _useState12[1];
491
+ var _useState13 = (0, _react.useState)(true),
481
492
  _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
482
- loadingMore = _useState14[0],
483
- setLoadingMore = _useState14[1];
493
+ threadHasMore = _useState14[0],
494
+ setThreadHasMore = _useState14[1];
484
495
  var _useState15 = (0, _react.useState)(false),
485
496
  _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
486
- loadingMoreRecent = _useState16[0],
487
- setLoadingMoreRecent = _useState16[1];
488
- var _useState17 = (0, _react.useState)(false),
489
- _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
490
- quotedMessage = _useState18[0],
491
- setQuotedMessage = _useState18[1];
492
- var _useState19 = (0, _react.useState)(threadProps || null),
493
- _useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
494
- thread = _useState20[0],
495
- setThread = _useState20[1];
496
- var _useState21 = (0, _react.useState)(true),
497
- _useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
498
- threadHasMore = _useState22[0],
499
- setThreadHasMore = _useState22[1];
500
- var _useState23 = (0, _react.useState)(false),
501
- _useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
502
- threadLoadingMore = _useState24[0],
503
- setThreadLoadingMore = _useState24[1];
497
+ threadLoadingMore = _useState16[0],
498
+ setThreadLoadingMore = _useState16[1];
504
499
  var syncingChannelRef = (0, _react.useRef)(false);
505
- var _useState25 = (0, _react.useState)(true),
506
- _useState26 = (0, _slicedToArray2["default"])(_useState25, 2),
507
- hasNoMoreRecentMessagesToLoad = _useState26[0],
508
- setHasNoMoreRecentMessagesToLoad = _useState26[1];
509
500
  var _useTargetedMessage = (0, _useTargetedMessage2.useTargetedMessage)(),
510
- prevTargetedMessage = _useTargetedMessage.prevTargetedMessage,
511
501
  setTargetedMessage = _useTargetedMessage.setTargetedMessage,
512
502
  targetedMessage = _useTargetedMessage.targetedMessage;
513
- var hasOverlappingRecentMessagesRef = (0, _react.useRef)(false);
514
503
  var uploadAbortControllerRef = (0, _react.useRef)(new Map());
515
504
  var channelId = (channel == null ? void 0 : channel.id) || '';
516
505
  var pollCreationEnabled = !channel.disconnected && !!(channel != null && channel.id) && (channel == null ? void 0 : (_channel$getConfig = channel.getConfig()) == null ? void 0 : _channel$getConfig.polls);
506
+ var _useChannelDataState = (0, _useChannelDataState2.useChannelDataState)(channel),
507
+ copyStateFromChannel = _useChannelDataState.copyStateFromChannel,
508
+ initStateFromChannel = _useChannelDataState.initStateFromChannel,
509
+ setTyping = _useChannelDataState.setTyping,
510
+ channelState = _useChannelDataState.state;
511
+ var _useMessageListPagina = (0, _useMessageListPagination.useMessageListPagination)({
512
+ channel: channel
513
+ }),
514
+ copyMessagesStateFromChannel = _useMessageListPagina.copyMessagesStateFromChannel,
515
+ loadChannelAroundMessageFn = _useMessageListPagina.loadChannelAroundMessage,
516
+ loadChannelAtFirstUnreadMessage = _useMessageListPagina.loadChannelAtFirstUnreadMessage,
517
+ loadInitialMessagesStateFromChannel = _useMessageListPagina.loadInitialMessagesStateFromChannel,
518
+ loadLatestMessages = _useMessageListPagina.loadLatestMessages,
519
+ loadMore = _useMessageListPagina.loadMore,
520
+ loadMoreRecent = _useMessageListPagina.loadMoreRecent,
521
+ channelMessagesState = _useMessageListPagina.state;
522
+ var copyChannelStateThrottlingTime = newMessageStateUpdateThrottleInterval > stateUpdateThrottleInterval ? newMessageStateUpdateThrottleInterval : stateUpdateThrottleInterval;
523
+ var copyChannelState = (0, _react.useRef)((0, _throttle["default"])(function () {
524
+ if (channel) {
525
+ copyStateFromChannel(channel);
526
+ copyMessagesStateFromChannel(channel);
527
+ }
528
+ }, copyChannelStateThrottlingTime, throttleOptions)).current;
529
+ var handleEvent = function handleEvent(event) {
530
+ if (shouldSyncChannel) {
531
+ var ignorableEvents = ['user.watching.start', 'user.watching.stop'];
532
+ if (ignorableEvents.includes(event.type)) return;
533
+ var isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
534
+ if (isTypingEvent) {
535
+ setTyping(channel);
536
+ } else {
537
+ if (thread != null && thread.id) {
538
+ var _event$message;
539
+ var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
540
+ setThreadMessages(updatedThreadMessages);
541
+ if (channel && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id && !threadInstance) {
542
+ var updatedThread = channel.state.formatMessage(event.message);
543
+ setThread(updatedThread);
544
+ }
545
+ }
546
+ }
547
+ if (channel && channel.initialized) {
548
+ copyChannelState();
549
+ }
550
+ }
551
+ };
517
552
  (0, _react.useEffect)(function () {
553
+ var listener;
518
554
  var initChannel = function () {
519
555
  var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
520
- var _channel$state$messag, _channel$state$messag2, _channel$state$latest, _channel$state$latest2;
556
+ var errored;
521
557
  return _regenerator["default"].wrap(function _callee$(_context) {
522
558
  while (1) switch (_context.prev = _context.next) {
523
559
  case 0:
@@ -527,42 +563,56 @@ var ChannelWithContext = function ChannelWithContext(props) {
527
563
  }
528
564
  return _context.abrupt("return");
529
565
  case 2:
530
- if (channel.initialized) {
531
- _context.next = 5;
566
+ errored = false;
567
+ if (!(!channel.initialized || !channel.state.isUpToDate)) {
568
+ _context.next = 14;
532
569
  break;
533
570
  }
534
- _context.next = 5;
535
- return loadChannel();
536
- case 5:
571
+ _context.prev = 4;
572
+ _context.next = 7;
573
+ return channel == null ? void 0 : channel.watch();
574
+ case 7:
575
+ _context.next = 14;
576
+ break;
577
+ case 9:
578
+ _context.prev = 9;
579
+ _context.t0 = _context["catch"](4);
580
+ console.warn('Channel watch request failed with error:', _context.t0);
581
+ setError(true);
582
+ errored = true;
583
+ case 14:
584
+ if (!errored) {
585
+ initStateFromChannel(channel);
586
+ loadInitialMessagesStateFromChannel(channel, channel.state.messagePagination.hasPrev);
587
+ }
537
588
  if (!messageId) {
538
- _context.next = 9;
589
+ _context.next = 20;
539
590
  break;
540
591
  }
541
- loadChannelAroundMessage({
542
- messageId: messageId
592
+ _context.next = 18;
593
+ return loadChannelAroundMessage({
594
+ messageId: messageId,
595
+ setTargetedMessage: setTargetedMessage
543
596
  });
544
- _context.next = 16;
597
+ case 18:
598
+ _context.next = 23;
545
599
  break;
546
- case 9:
600
+ case 20:
547
601
  if (!(initialScrollToFirstUnreadMessage && channel.countUnread() > scrollToFirstUnreadThreshold)) {
548
- _context.next = 13;
602
+ _context.next = 23;
549
603
  break;
550
604
  }
551
- loadChannelAtFirstUnreadMessage();
552
- _context.next = 16;
553
- break;
554
- case 13:
555
- if (!(((_channel$state$messag = channel.state.messages) == null ? void 0 : (_channel$state$messag2 = _channel$state$messag[channel.state.messages.length - 1]) == null ? void 0 : _channel$state$messag2.id) !== ((_channel$state$latest = channel.state.latestMessages) == null ? void 0 : (_channel$state$latest2 = _channel$state$latest[channel.state.latestMessages.length - 1]) == null ? void 0 : _channel$state$latest2.id) && !messageId)) {
556
- _context.next = 16;
557
- break;
558
- }
559
- _context.next = 16;
560
- return loadChannel();
561
- case 16:
605
+ _context.next = 23;
606
+ return loadChannelAtFirstUnreadMessage({
607
+ setTargetedMessage: setTargetedMessage
608
+ });
609
+ case 23:
610
+ listener = channel.on(handleEvent);
611
+ case 24:
562
612
  case "end":
563
613
  return _context.stop();
564
614
  }
565
- }, _callee);
615
+ }, _callee, null, [[4, 9]]);
566
616
  }));
567
617
  return function initChannel() {
568
618
  return _ref.apply(this, arguments);
@@ -570,13 +620,29 @@ var ChannelWithContext = function ChannelWithContext(props) {
570
620
  }();
571
621
  initChannel();
572
622
  return function () {
623
+ var _listener;
573
624
  copyChannelState.cancel();
574
- copyReadState.cancel();
575
- copyTypingState.cancel();
576
- loadMoreFinished.cancel();
577
625
  loadMoreThreadFinished.cancel();
626
+ (_listener = listener) == null ? void 0 : _listener.unsubscribe();
627
+ };
628
+ }, [channel.cid, messageId, shouldSyncChannel]);
629
+ (0, _react.useEffect)(function () {
630
+ var _client$on = client.on('channel.deleted', function (event) {
631
+ if (event.cid === (channel == null ? void 0 : channel.cid)) {
632
+ setDeleted(true);
633
+ }
634
+ }),
635
+ unsubscribe = _client$on.unsubscribe;
636
+ return unsubscribe;
637
+ }, [channel == null ? void 0 : channel.cid, client]);
638
+ (0, _react.useEffect)(function () {
639
+ var handleEvent = function handleEvent(event) {
640
+ if (channel.cid === event.cid) copyChannelState();
578
641
  };
579
- }, [channelId, messageId]);
642
+ var _client$on2 = client.on('notification.mark_read', handleEvent),
643
+ unsubscribe = _client$on2.unsubscribe;
644
+ return unsubscribe;
645
+ }, [channel.cid, client, copyChannelState]);
580
646
  var threadPropsExists = !!threadProps;
581
647
  (0, _react.useEffect)(function () {
582
648
  if (threadProps && shouldSyncChannel) {
@@ -600,9 +666,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
600
666
  }
601
667
  }, [thread == null ? void 0 : thread.id, channelId]);
602
668
  (0, _useAppStateListener.useAppStateListener)(undefined, handleAppBackground);
603
- var isAdmin = (client == null ? void 0 : (_client$user = client.user) == null ? void 0 : _client$user.role) === 'admin' || (channel == null ? void 0 : channel.state.membership.role) === 'admin';
604
- var isModerator = (channel == null ? void 0 : channel.state.membership.role) === 'channel_moderator' || (channel == null ? void 0 : channel.state.membership.role) === 'moderator';
605
- var isOwner = (channel == null ? void 0 : channel.state.membership.role) === 'owner';
606
669
  var markRead = (0, _react.useRef)((0, _throttle["default"])(function () {
607
670
  if (!channel || channel != null && channel.disconnected || !(clientChannelConfig != null && clientChannelConfig.read_events)) {
608
671
  return;
@@ -613,579 +676,79 @@ var ChannelWithContext = function ChannelWithContext(props) {
613
676
  (0, _streamChat.logChatPromiseExecution)(channel.markRead(), 'mark read');
614
677
  }
615
678
  }, defaultThrottleInterval, throttleOptions)).current;
616
- var copyMessagesState = (0, _react.useRef)((0, _throttle["default"])(function () {
617
- if (channel) {
618
- clearInterval(mergeSetsIntervalRef.current);
619
- setMessages(channel.state.messages);
620
- restartSetsMergeFuncRef.current();
621
- }
622
- }, newMessageStateUpdateThrottleInterval, throttleOptions)).current;
623
- var copyTypingState = (0, _react.useRef)((0, _throttle["default"])(function () {
624
- if (channel) {
625
- setTyping(Object.assign({}, channel.state.typing));
626
- }
627
- }, stateUpdateThrottleInterval, throttleOptions)).current;
628
- var copyReadState = (0, _react.useRef)((0, _throttle["default"])(function () {
629
- if (channel) {
630
- setRead(Object.assign({}, channel.state.read));
631
- }
632
- }, stateUpdateThrottleInterval, throttleOptions)).current;
633
- var copyChannelState = (0, _react.useRef)((0, _throttle["default"])(function () {
634
- setLoading(false);
635
- if (channel) {
636
- setMembers(Object.assign({}, channel.state.members));
637
- setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
638
- setRead(Object.assign({}, channel.state.read));
639
- setTyping(Object.assign({}, channel.state.typing));
640
- setWatcherCount(channel.state.watcher_count);
641
- setWatchers(Object.assign({}, channel.state.watchers));
642
- }
643
- }, stateUpdateThrottleInterval, throttleOptions)).current;
644
- (0, _react.useEffect)(function () {
645
- var channelSubscriptions = [];
646
- if (channel && shouldSyncChannel) {
647
- channelSubscriptions.push(channel.on('message.new', copyMessagesState));
648
- channelSubscriptions.push(channel.on('message.read', copyReadState));
649
- channelSubscriptions.push(channel.on('typing.start', copyTypingState));
650
- channelSubscriptions.push(channel.on('typing.stop', copyTypingState));
651
- }
652
- return function () {
653
- channelSubscriptions.forEach(function (s) {
654
- return s.unsubscribe();
655
- });
656
- };
657
- }, [channelId, shouldSyncChannel]);
658
- (0, _react.useEffect)(function () {
659
- var handleEvent = function handleEvent(event) {
660
- var ignorableEvents = ['user.watching.start', 'user.watching.stop'];
661
- if (ignorableEvents.includes(event.type)) return;
662
- if (shouldSyncChannel) {
663
- var isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
664
- if (!isTypingEvent) {
665
- var _event$message;
666
- if (thread != null && thread.id) {
667
- var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
668
- setThreadMessages(updatedThreadMessages);
669
- }
670
- if (channel && thread != null && thread.id && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id && !threadInstance) {
671
- var updatedThread = channel.state.formatMessage(event.message);
672
- setThread(updatedThread);
673
- }
674
- }
675
- if (channel && channel.initialized && event.type !== 'message.new' && event.type !== 'message.read' && event.type !== 'typing.start' && event.type !== 'typing.stop') {
676
- copyChannelState();
677
- }
678
- }
679
- };
680
- var _channel$on = channel.on(handleEvent),
681
- unsubscribe = _channel$on.unsubscribe;
682
- return unsubscribe;
683
- }, [channelId, thread == null ? void 0 : thread.id, shouldSyncChannel]);
684
- (0, _react.useEffect)(function () {
685
- var _client$on = client.on('channel.deleted', function (event) {
686
- if (event.cid === (channel == null ? void 0 : channel.cid)) {
687
- setDeleted(true);
688
- }
689
- }),
690
- unsubscribe = _client$on.unsubscribe;
691
- return unsubscribe;
692
- }, [channelId]);
693
- (0, _react.useEffect)(function () {
694
- var handleEvent = function handleEvent(event) {
695
- if (channel.cid === event.cid) copyChannelState();
696
- };
697
- var _client$on2 = client.on('notification.mark_read', handleEvent),
698
- unsubscribe = _client$on2.unsubscribe;
699
- return unsubscribe;
700
- }, []);
701
- var channelQueryCallRef = (0, _react.useRef)(function () {
702
- var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(queryCall) {
703
- var onAfterQueryCall,
704
- scrollToMessageId,
705
- currentMessages,
706
- hadCurrentLatestMessages,
707
- scrollToMessageIndex,
708
- limitAfter,
709
- currentLength,
710
- noOfMessagesAfter,
711
- endIndex,
712
- restOfMessages,
713
- latestSet,
714
- hasLatestMessages,
715
- _args2 = arguments;
679
+ var reloadThread = function () {
680
+ var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
681
+ var parentID, limit, queryResponse, updatedHasMore, updatedThreadMessages, _yield$channel$getMes, messages, _messages, threadMessage, formattedMessage;
716
682
  return _regenerator["default"].wrap(function _callee2$(_context2) {
717
683
  while (1) switch (_context2.prev = _context2.next) {
718
- case 0:
719
- onAfterQueryCall = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : undefined;
720
- scrollToMessageId = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : undefined;
721
- setError(false);
722
- _context2.prev = 3;
723
- clearInterval(mergeSetsIntervalRef.current);
724
- _context2.next = 7;
725
- return queryCall();
726
- case 7:
727
- setLastRead(new Date());
728
- setHasMore(true);
729
- currentMessages = channel.state.messages;
730
- hadCurrentLatestMessages = currentMessages.length > 0 && currentMessages === channel.state.latestMessages;
731
- if (typeof scrollToMessageId === 'function') {
732
- scrollToMessageId = scrollToMessageId();
733
- }
734
- scrollToMessageIndex = scrollToMessageId ? currentMessages.findIndex(function (_ref3) {
735
- var id = _ref3.id;
736
- return id === scrollToMessageId;
737
- }) : -1;
738
- if (channel && scrollToMessageIndex !== -1) {
739
- copyChannelState.cancel();
740
- limitAfter = 4;
741
- currentLength = currentMessages.length;
742
- noOfMessagesAfter = currentLength - scrollToMessageIndex - 1;
743
- if (noOfMessagesAfter > limitAfter) {
744
- endIndex = scrollToMessageIndex + limitAfter;
745
- channel.state.clearMessages();
746
- channel.state.messages = currentMessages.slice(0, endIndex + 1);
747
- splitLatestCurrentMessageSetRef.current();
748
- restOfMessages = currentMessages.slice(endIndex + 1);
749
- if (hadCurrentLatestMessages) {
750
- latestSet = channel.state.messageSets.find(function (set) {
751
- return set.isLatest;
752
- });
753
- if (latestSet) {
754
- latestSet.messages = restOfMessages;
755
- hasOverlappingRecentMessagesRef.current = true;
756
- }
757
- }
758
- }
759
- }
760
- hasLatestMessages = channel.state.latestMessages.length > 0;
761
- channel.state.setIsUpToDate(hasLatestMessages);
762
- setHasNoMoreRecentMessagesToLoad(hasLatestMessages);
763
- copyChannelState();
764
- if (scrollToMessageIndex !== -1) {
765
- copyChannelState.flush();
766
- }
767
- onAfterQueryCall == null ? void 0 : onAfterQueryCall();
768
- _context2.next = 27;
769
- break;
770
- case 22:
771
- _context2.prev = 22;
772
- _context2.t0 = _context2["catch"](3);
773
- if (_context2.t0 instanceof Error) {
774
- setError(_context2.t0);
775
- } else {
776
- setError(true);
777
- }
778
- setLoading(false);
779
- setLastRead(new Date());
780
- case 27:
781
- case "end":
782
- return _context2.stop();
783
- }
784
- }, _callee2, null, [[3, 22]]);
785
- }));
786
- return function (_x) {
787
- return _ref2.apply(this, arguments);
788
- };
789
- }());
790
- var loadChannelAtFirstUnreadMessage = function loadChannelAtFirstUnreadMessage() {
791
- if (!channel) return;
792
- var unreadMessageIdToScrollTo;
793
- return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
794
- var unreadCount, isLatestMessageSetShown, lastReadDate, _res$messages$find, res;
795
- return _regenerator["default"].wrap(function _callee3$(_context3) {
796
- while (1) switch (_context3.prev = _context3.next) {
797
- case 0:
798
- unreadCount = channel.countUnread();
799
- if (!(unreadCount === 0)) {
800
- _context3.next = 3;
801
- break;
802
- }
803
- return _context3.abrupt("return");
804
- case 3:
805
- isLatestMessageSetShown = !!channel.state.messageSets.find(function (set) {
806
- return set.isCurrent && set.isLatest;
807
- });
808
- if (!(isLatestMessageSetShown && unreadCount <= channel.state.messages.length)) {
809
- _context3.next = 7;
810
- break;
811
- }
812
- unreadMessageIdToScrollTo = channel.state.messages[channel.state.messages.length - unreadCount].id;
813
- return _context3.abrupt("return");
814
- case 7:
815
- lastReadDate = channel.lastRead();
816
- if (!lastReadDate) {
817
- _context3.next = 17;
818
- break;
819
- }
820
- setLoading(true);
821
- _context3.next = 12;
822
- return channel.query({
823
- messages: {
824
- created_at_around: lastReadDate,
825
- limit: 30
826
- },
827
- watch: true
828
- }, 'new');
829
- case 12:
830
- res = _context3.sent;
831
- unreadMessageIdToScrollTo = (_res$messages$find = res.messages.find(function (m) {
832
- return lastReadDate < (m.created_at ? new Date(m.created_at) : new Date());
833
- })) == null ? void 0 : _res$messages$find.id;
834
- if (unreadMessageIdToScrollTo) {
835
- channel.state.loadMessageIntoState(unreadMessageIdToScrollTo);
836
- }
837
- _context3.next = 19;
838
- break;
839
- case 17:
840
- _context3.next = 19;
841
- return loadLatestMessagesRef.current();
842
- case 19:
843
- case "end":
844
- return _context3.stop();
845
- }
846
- }, _callee3);
847
- })), function () {
848
- if (unreadMessageIdToScrollTo) {
849
- restartSetsMergeFuncRef.current();
850
- }
851
- }, function () {
852
- return unreadMessageIdToScrollTo;
853
- });
854
- };
855
- var loadChannelAroundMessage = function () {
856
- var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(_ref5) {
857
- var messageIdToLoadAround;
858
- return _regenerator["default"].wrap(function _callee5$(_context5) {
859
- while (1) switch (_context5.prev = _context5.next) {
860
- case 0:
861
- messageIdToLoadAround = _ref5.messageId;
862
- if (!thread) {
863
- _context5.next = 18;
864
- break;
865
- }
866
- if (!messageIdToLoadAround) {
867
- _context5.next = 16;
868
- break;
869
- }
870
- setThreadLoadingMore(true);
871
- _context5.prev = 4;
872
- _context5.next = 7;
873
- return channel.state.loadMessageIntoState(messageIdToLoadAround, thread.id);
874
- case 7:
875
- setThreadLoadingMore(false);
876
- setThreadMessages(channel.state.threads[thread.id]);
877
- setTargetedMessage(messageIdToLoadAround);
878
- _context5.next = 16;
879
- break;
880
- case 12:
881
- _context5.prev = 12;
882
- _context5.t0 = _context5["catch"](4);
883
- if (_context5.t0 instanceof Error) {
884
- setError(_context5.t0);
885
- } else {
886
- setError(true);
887
- }
888
- setThreadLoadingMore(false);
889
- case 16:
890
- _context5.next = 20;
891
- break;
892
- case 18:
893
- _context5.next = 20;
894
- return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
895
- var currentMessageSet, recentCurrentSetMsgId;
896
- return _regenerator["default"].wrap(function _callee4$(_context4) {
897
- while (1) switch (_context4.prev = _context4.next) {
898
- case 0:
899
- setLoading(true);
900
- if (!messageIdToLoadAround) {
901
- _context4.next = 10;
902
- break;
903
- }
904
- setMessages([]);
905
- _context4.next = 5;
906
- return channel.state.loadMessageIntoState(messageIdToLoadAround);
907
- case 5:
908
- currentMessageSet = channel.state.messageSets.find(function (set) {
909
- return set.isCurrent;
910
- });
911
- if (!(currentMessageSet && !(currentMessageSet != null && currentMessageSet.isLatest))) {
912
- _context4.next = 10;
913
- break;
914
- }
915
- recentCurrentSetMsgId = currentMessageSet.messages[currentMessageSet.messages.length - 1].id;
916
- _context4.next = 10;
917
- return channel.query({
918
- messages: {
919
- id_gte: recentCurrentSetMsgId,
920
- limit: 25
921
- }
922
- }, 'current');
923
- case 10:
924
- case "end":
925
- return _context4.stop();
926
- }
927
- }, _callee4);
928
- })), function () {
929
- if (messageIdToLoadAround) {
930
- clearInterval(mergeSetsIntervalRef.current);
931
- setTargetedMessage(messageIdToLoadAround);
932
- }
933
- }, messageIdToLoadAround);
934
- case 20:
935
- case "end":
936
- return _context5.stop();
937
- }
938
- }, _callee5, null, [[4, 12]]);
939
- }));
940
- return function loadChannelAroundMessage(_x2) {
941
- return _ref6.apply(this, arguments);
942
- };
943
- }();
944
- (0, _react.useEffect)(function () {
945
- if (!targetedMessage && prevTargetedMessage) {
946
- restartSetsMergeFuncRef.current();
947
- }
948
- }, [targetedMessage]);
949
- var loadChannelAtMessage = function loadChannelAtMessage(_ref8) {
950
- var _ref8$after = _ref8.after,
951
- after = _ref8$after === void 0 ? 2 : _ref8$after,
952
- _ref8$before = _ref8.before,
953
- before = _ref8$before === void 0 ? 30 : _ref8$before,
954
- messageId = _ref8.messageId;
955
- return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() {
956
- return _regenerator["default"].wrap(function _callee6$(_context6) {
957
- while (1) switch (_context6.prev = _context6.next) {
958
- case 0:
959
- _context6.next = 2;
960
- return queryAtMessage({
961
- after: after,
962
- before: before,
963
- messageId: messageId
964
- });
965
- case 2:
966
- if (messageId) {
967
- setTargetedMessage(messageId);
968
- }
969
- case 3:
970
- case "end":
971
- return _context6.stop();
972
- }
973
- }, _callee6);
974
- })));
975
- };
976
- var splitLatestCurrentMessageSetRef = (0, _react.useRef)(function () {
977
- var currentLatestSet = channel.state.messageSets.find(function (set) {
978
- return set.isCurrent && set.isLatest;
979
- });
980
- if (!currentLatestSet) return;
981
- currentLatestSet.isLatest = false;
982
- channel.state.messageSets.push({
983
- isCurrent: false,
984
- isLatest: true,
985
- messages: [],
986
- pagination: {
987
- hasNext: true,
988
- hasPrev: true
989
- }
990
- });
991
- });
992
- var mergeOverlappingMessageSetsRef = (0, _react.useRef)(function () {
993
- var limitToMaxRenderPerBatch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
994
- if (hasOverlappingRecentMessagesRef.current) {
995
- var limit = 5;
996
- var latestMessageSet = channel.state.messageSets.find(function (set) {
997
- return set.isLatest;
998
- });
999
- var currentMessageSet = channel.state.messageSets.find(function (set) {
1000
- return set.isCurrent;
1001
- });
1002
- if (latestMessageSet && currentMessageSet && latestMessageSet !== currentMessageSet) {
1003
- if (limitToMaxRenderPerBatch && latestMessageSet.messages.length > limit) {
1004
- currentMessageSet.messages = currentMessageSet.messages.concat(latestMessageSet.messages.slice(0, limit));
1005
- latestMessageSet.messages = latestMessageSet.messages.slice(limit);
1006
- } else {
1007
- channel.state.messageSets = channel.state.messageSets.filter(function (set) {
1008
- return !set.isLatest;
1009
- });
1010
- currentMessageSet.messages = currentMessageSet.messages.concat(latestMessageSet.messages);
1011
- currentMessageSet.isLatest = true;
1012
- hasOverlappingRecentMessagesRef.current = false;
1013
- clearInterval(mergeSetsIntervalRef.current);
1014
- }
1015
- return true;
1016
- }
1017
- }
1018
- return false;
1019
- });
1020
- var mergeSetsIntervalRef = (0, _react.useRef)();
1021
- (0, _react.useEffect)(function () {
1022
- return function () {
1023
- clearInterval(mergeSetsIntervalRef.current);
1024
- };
1025
- }, []);
1026
- var restartSetsMergeFuncRef = (0, _react.useRef)(function () {
1027
- clearInterval(mergeSetsIntervalRef.current);
1028
- if (!hasOverlappingRecentMessagesRef.current) return;
1029
- });
1030
- var loadLatestMessagesRef = (0, _react.useRef)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
1031
- var clearLatest,
1032
- latestSet,
1033
- _args7 = arguments;
1034
- return _regenerator["default"].wrap(function _callee7$(_context7) {
1035
- while (1) switch (_context7.prev = _context7.next) {
1036
- case 0:
1037
- clearLatest = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : false;
1038
- mergeOverlappingMessageSetsRef.current();
1039
- if (clearLatest) {
1040
- latestSet = channel.state.messageSets.find(function (set) {
1041
- return set.isLatest;
1042
- });
1043
- if (latestSet) latestSet.messages = [];
1044
- }
1045
- if (!(channel.state.latestMessages.length === 0)) {
1046
- _context7.next = 6;
1047
- break;
1048
- }
1049
- _context7.next = 6;
1050
- return channel.query({}, 'latest');
1051
- case 6:
1052
- _context7.next = 8;
1053
- return channel.state.loadMessageIntoState('latest');
1054
- case 8:
1055
- setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
1056
- case 9:
1057
- case "end":
1058
- return _context7.stop();
1059
- }
1060
- }, _callee7);
1061
- })));
1062
- var loadChannel = function loadChannel() {
1063
- return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
1064
- return _regenerator["default"].wrap(function _callee8$(_context8) {
1065
- while (1) switch (_context8.prev = _context8.next) {
1066
- case 0:
1067
- if (!(!(channel != null && channel.initialized) || !channel.state.isUpToDate)) {
1068
- _context8.next = 5;
1069
- break;
1070
- }
1071
- _context8.next = 3;
1072
- return channel == null ? void 0 : channel.watch();
1073
- case 3:
1074
- _context8.next = 7;
1075
- break;
1076
- case 5:
1077
- _context8.next = 7;
1078
- return channel.state.loadMessageIntoState('latest');
1079
- case 7:
1080
- case "end":
1081
- return _context8.stop();
1082
- }
1083
- }, _callee8);
1084
- })), function () {
1085
- channel == null ? void 0 : channel.state.setIsUpToDate(true);
1086
- setHasNoMoreRecentMessagesToLoad(true);
1087
- });
1088
- };
1089
- var reloadThread = function () {
1090
- var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9() {
1091
- var parentID, limit, queryResponse, updatedHasMore, updatedThreadMessages, _yield$channel$getMes, _messages, _messages2, threadMessage, formattedMessage;
1092
- return _regenerator["default"].wrap(function _callee9$(_context9) {
1093
- while (1) switch (_context9.prev = _context9.next) {
1094
684
  case 0:
1095
685
  if (!(!channel || !(thread != null && thread.id))) {
1096
- _context9.next = 2;
686
+ _context2.next = 2;
1097
687
  break;
1098
688
  }
1099
- return _context9.abrupt("return");
689
+ return _context2.abrupt("return");
1100
690
  case 2:
1101
691
  setThreadLoadingMore(true);
1102
- _context9.prev = 3;
692
+ _context2.prev = 3;
1103
693
  parentID = thread.id;
1104
694
  limit = 50;
1105
695
  channel.state.threads[parentID] = [];
1106
- _context9.next = 9;
696
+ _context2.next = 9;
1107
697
  return channel.getReplies(parentID, {
1108
698
  limit: limit
1109
699
  });
1110
700
  case 9:
1111
- queryResponse = _context9.sent;
701
+ queryResponse = _context2.sent;
1112
702
  updatedHasMore = queryResponse.messages.length === limit;
1113
703
  updatedThreadMessages = channel.state.threads[parentID] || [];
1114
704
  loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
1115
- _context9.next = 15;
705
+ _context2.next = 15;
1116
706
  return channel.getMessagesById([parentID]);
1117
707
  case 15:
1118
- _yield$channel$getMes = _context9.sent;
1119
- _messages = _yield$channel$getMes.messages;
1120
- _messages2 = (0, _slicedToArray2["default"])(_messages, 1), threadMessage = _messages2[0];
708
+ _yield$channel$getMes = _context2.sent;
709
+ messages = _yield$channel$getMes.messages;
710
+ _messages = (0, _slicedToArray2["default"])(messages, 1), threadMessage = _messages[0];
1121
711
  if (threadMessage && !threadInstance) {
1122
712
  formattedMessage = channel.state.formatMessage(threadMessage);
1123
713
  setThread(formattedMessage);
1124
714
  }
1125
- _context9.next = 27;
715
+ _context2.next = 27;
1126
716
  break;
1127
717
  case 21:
1128
- _context9.prev = 21;
1129
- _context9.t0 = _context9["catch"](3);
1130
- console.warn('Thread loading request failed with error', _context9.t0);
1131
- if (_context9.t0 instanceof Error) {
1132
- setError(_context9.t0);
718
+ _context2.prev = 21;
719
+ _context2.t0 = _context2["catch"](3);
720
+ console.warn('Thread loading request failed with error', _context2.t0);
721
+ if (_context2.t0 instanceof Error) {
722
+ setError(_context2.t0);
1133
723
  } else {
1134
724
  setError(true);
1135
725
  }
1136
726
  setThreadLoadingMore(false);
1137
- throw _context9.t0;
727
+ throw _context2.t0;
1138
728
  case 27:
1139
729
  case "end":
1140
- return _context9.stop();
730
+ return _context2.stop();
1141
731
  }
1142
- }, _callee9, null, [[3, 21]]);
732
+ }, _callee2, null, [[3, 21]]);
1143
733
  }));
1144
734
  return function reloadThread() {
1145
- return _ref12.apply(this, arguments);
735
+ return _ref2.apply(this, arguments);
1146
736
  };
1147
737
  }();
1148
738
  var resyncChannel = function () {
1149
- var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10() {
1150
- var _messages$, state, oldListTopMessage, oldListTopMessageId, oldListBottomMessage, newListTopMessage, newListBottomMessage, parseMessage, failedMessages, failedThreadMessages, oldListTopMessageCreatedAt, oldListBottomMessageCreatedAt, newListTopMessageCreatedAt, newListBottomMessageCreatedAt, finalMessages, index;
1151
- return _regenerator["default"].wrap(function _callee10$(_context10) {
1152
- while (1) switch (_context10.prev = _context10.next) {
739
+ var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
740
+ var parseMessage, _channelMessagesState, failedMessages, failedThreadMessages;
741
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
742
+ while (1) switch (_context3.prev = _context3.next) {
1153
743
  case 0:
1154
744
  if (!(!channel || syncingChannelRef.current)) {
1155
- _context10.next = 2;
745
+ _context3.next = 2;
1156
746
  break;
1157
747
  }
1158
- return _context10.abrupt("return");
748
+ return _context3.abrupt("return");
1159
749
  case 2:
1160
- hasOverlappingRecentMessagesRef.current = false;
1161
- clearInterval(mergeSetsIntervalRef.current);
1162
750
  syncingChannelRef.current = true;
1163
751
  setError(false);
1164
- _context10.prev = 6;
1165
- _context10.next = 9;
1166
- return channel.watch({
1167
- messages: {
1168
- limit: messages.length + 30
1169
- }
1170
- });
1171
- case 9:
1172
- state = _context10.sent;
1173
- oldListTopMessage = messages[0];
1174
- oldListTopMessageId = (_messages$ = messages[0]) == null ? void 0 : _messages$.id;
1175
- oldListBottomMessage = messages[messages.length - 1];
1176
- newListTopMessage = state.messages[0];
1177
- newListBottomMessage = state.messages[state.messages.length - 1];
1178
- if (!(!oldListTopMessage || !oldListBottomMessage || !newListTopMessage || !newListBottomMessage)) {
1179
- _context10.next = 22;
1180
- break;
1181
- }
1182
- channel.state.clearMessages();
1183
- channel.state.setIsUpToDate(true);
1184
- channel.state.addMessagesSorted(state.messages);
1185
- channel.state.addPinnedMessages(state.pinned_messages);
1186
- copyChannelState();
1187
- return _context10.abrupt("return");
1188
- case 22:
1189
752
  parseMessage = function parseMessage(message) {
1190
753
  var _message$pinned_at, _message$updated_at;
1191
754
  return Object.assign({}, message, {
@@ -1194,64 +757,52 @@ var ChannelWithContext = function ChannelWithContext(props) {
1194
757
  updated_at: (_message$updated_at = message.updated_at) == null ? void 0 : _message$updated_at.toString()
1195
758
  });
1196
759
  };
1197
- failedMessages = messages.filter(function (message) {
1198
- return message.status === _utils.MessageStatusTypes.FAILED;
1199
- }).map(parseMessage);
1200
- failedThreadMessages = thread ? threadMessages.filter(function (message) {
1201
- return message.status === _utils.MessageStatusTypes.FAILED;
1202
- }).map(parseMessage) : [];
1203
- oldListTopMessageCreatedAt = oldListTopMessage.created_at;
1204
- oldListBottomMessageCreatedAt = oldListBottomMessage.created_at;
1205
- newListTopMessageCreatedAt = newListTopMessage.created_at ? new Date(newListTopMessage.created_at) : new Date();
1206
- newListBottomMessageCreatedAt = newListBottomMessage != null && newListBottomMessage.created_at ? new Date(newListBottomMessage.created_at) : new Date();
1207
- finalMessages = [];
1208
- if (oldListTopMessage && oldListTopMessageCreatedAt && oldListBottomMessageCreatedAt && newListTopMessageCreatedAt < oldListTopMessageCreatedAt && newListBottomMessageCreatedAt >= oldListBottomMessageCreatedAt) {
1209
- index = state.messages.findIndex(function (message) {
1210
- return message.id === oldListTopMessageId;
1211
- });
1212
- finalMessages = state.messages.slice(index);
1213
- } else {
1214
- finalMessages = state.messages;
760
+ _context3.prev = 5;
761
+ if (thread) {
762
+ _context3.next = 12;
763
+ break;
1215
764
  }
1216
- channel.state.setIsUpToDate(true);
1217
- channel.state.clearMessages();
1218
- channel.state.addMessagesSorted(finalMessages);
1219
- channel.state.addPinnedMessages(state.pinned_messages);
1220
- setHasNoMoreRecentMessagesToLoad(true);
1221
- setHasMore(true);
1222
765
  copyChannelState();
1223
- if (failedMessages.length) {
766
+ failedMessages = (_channelMessagesState = channelMessagesState.messages) == null ? void 0 : _channelMessagesState.filter(function (message) {
767
+ return message.status === _utils.MessageStatusTypes.FAILED;
768
+ }).map(parseMessage);
769
+ if (failedMessages != null && failedMessages.length) {
1224
770
  channel.state.addMessagesSorted(failedMessages);
1225
- copyChannelState();
1226
771
  }
1227
- _context10.next = 41;
772
+ _context3.next = 16;
773
+ break;
774
+ case 12:
775
+ _context3.next = 14;
1228
776
  return reloadThread();
1229
- case 41:
1230
- if (thread && failedThreadMessages.length) {
777
+ case 14:
778
+ failedThreadMessages = thread ? threadMessages.filter(function (message) {
779
+ return message.status === _utils.MessageStatusTypes.FAILED;
780
+ }).map(parseMessage) : [];
781
+ if (failedThreadMessages.length) {
1231
782
  channel.state.addMessagesSorted(failedThreadMessages);
1232
783
  setThreadMessages((0, _toConsumableArray2["default"])(channel.state.threads[thread.id]));
1233
784
  }
1234
- _context10.next = 48;
785
+ case 16:
786
+ _context3.next = 21;
1235
787
  break;
1236
- case 44:
1237
- _context10.prev = 44;
1238
- _context10.t0 = _context10["catch"](6);
1239
- if (_context10.t0 instanceof Error) {
1240
- setError(_context10.t0);
788
+ case 18:
789
+ _context3.prev = 18;
790
+ _context3.t0 = _context3["catch"](5);
791
+ if (_context3.t0 instanceof Error) {
792
+ setError(_context3.t0);
1241
793
  } else {
1242
794
  setError(true);
1243
795
  }
1244
- setLoading(false);
1245
- case 48:
796
+ case 21:
1246
797
  syncingChannelRef.current = false;
1247
- case 49:
798
+ case 22:
1248
799
  case "end":
1249
- return _context10.stop();
800
+ return _context3.stop();
1250
801
  }
1251
- }, _callee10, null, [[6, 44]]);
802
+ }, _callee3, null, [[5, 18]]);
1252
803
  }));
1253
804
  return function resyncChannel() {
1254
- return _ref13.apply(this, arguments);
805
+ return _ref3.apply(this, arguments);
1255
806
  };
1256
807
  }();
1257
808
  var resyncChannelRef = (0, _react.useRef)(resyncChannel);
@@ -1266,7 +817,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1266
817
  if (enableOfflineSupport) {
1267
818
  connectionChangedSubscription = _DBSyncManager.DBSyncManager.onSyncStatusChange(function (statusChanged) {
1268
819
  if (statusChanged) {
1269
- connectionChangedHandler();
820
+ copyChannelState();
1270
821
  }
1271
822
  });
1272
823
  } else {
@@ -1280,204 +831,138 @@ var ChannelWithContext = function ChannelWithContext(props) {
1280
831
  connectionChangedSubscription.unsubscribe();
1281
832
  };
1282
833
  }, [enableOfflineSupport, shouldSyncChannel]);
1283
- var reloadChannel = function reloadChannel() {
1284
- return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11() {
1285
- return _regenerator["default"].wrap(function _callee11$(_context11) {
1286
- while (1) switch (_context11.prev = _context11.next) {
1287
- case 0:
1288
- setLoading(true);
1289
- _context11.next = 3;
1290
- return loadLatestMessagesRef.current(true);
1291
- case 3:
1292
- setLoading(false);
1293
- case 4:
1294
- case "end":
1295
- return _context11.stop();
1296
- }
1297
- }, _callee11);
1298
- })), function () {
1299
- channel == null ? void 0 : channel.state.setIsUpToDate(true);
1300
- setHasNoMoreRecentMessagesToLoad(true);
1301
- });
834
+ var getChannelConfigSafely = function getChannelConfigSafely() {
835
+ try {
836
+ return channel == null ? void 0 : channel.getConfig();
837
+ } catch (_) {
838
+ return null;
839
+ }
1302
840
  };
1303
- var queryAtMessage = function () {
1304
- var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(_ref15) {
1305
- var _ref15$after, after, _ref15$before, before, messageId;
1306
- return _regenerator["default"].wrap(function _callee12$(_context12) {
1307
- while (1) switch (_context12.prev = _context12.next) {
841
+ var clientChannelConfig = getChannelConfigSafely();
842
+ var reloadChannel = function () {
843
+ var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
844
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
845
+ while (1) switch (_context4.prev = _context4.next) {
1308
846
  case 0:
1309
- _ref15$after = _ref15.after, after = _ref15$after === void 0 ? 10 : _ref15$after, _ref15$before = _ref15.before, before = _ref15$before === void 0 ? 10 : _ref15$before, messageId = _ref15.messageId;
1310
- if (channel) {
1311
- _context12.next = 3;
1312
- break;
1313
- }
1314
- return _context12.abrupt("return");
847
+ _context4.prev = 0;
848
+ _context4.next = 3;
849
+ return loadLatestMessages();
1315
850
  case 3:
1316
- channel.state.setIsUpToDate(false);
1317
- hasOverlappingRecentMessagesRef.current = false;
1318
- clearInterval(mergeSetsIntervalRef.current);
1319
- channel.state.clearMessages();
1320
- setMessages([]);
1321
- if (messageId) {
1322
- _context12.next = 13;
1323
- break;
1324
- }
1325
- _context12.next = 11;
1326
- return channel.query({
1327
- messages: {
1328
- limit: before
1329
- },
1330
- watch: true
1331
- });
1332
- case 11:
1333
- channel.state.setIsUpToDate(true);
1334
- return _context12.abrupt("return");
1335
- case 13:
1336
- _context12.next = 15;
1337
- return queryBeforeMessage(messageId, before);
1338
- case 15:
1339
- _context12.next = 17;
1340
- return queryAfterMessage(messageId, after);
1341
- case 17:
851
+ _context4.next = 8;
852
+ break;
853
+ case 5:
854
+ _context4.prev = 5;
855
+ _context4.t0 = _context4["catch"](0);
856
+ console.warn('Reloading channel failed with error:', _context4.t0);
857
+ case 8:
1342
858
  case "end":
1343
- return _context12.stop();
859
+ return _context4.stop();
1344
860
  }
1345
- }, _callee12);
861
+ }, _callee4, null, [[0, 5]]);
1346
862
  }));
1347
- return function queryAtMessage(_x3) {
1348
- return _ref16.apply(this, arguments);
863
+ return function reloadChannel() {
864
+ return _ref4.apply(this, arguments);
1349
865
  };
1350
866
  }();
1351
- var queryBeforeMessage = function () {
1352
- var _ref17 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(messageId) {
1353
- var limit,
1354
- _args13 = arguments;
1355
- return _regenerator["default"].wrap(function _callee13$(_context13) {
1356
- while (1) switch (_context13.prev = _context13.next) {
867
+ var loadChannelAroundMessage = function () {
868
+ var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(_ref5) {
869
+ var messageIdToLoadAround;
870
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
871
+ while (1) switch (_context5.prev = _context5.next) {
1357
872
  case 0:
1358
- limit = _args13.length > 1 && _args13[1] !== undefined ? _args13[1] : 5;
1359
- if (channel) {
1360
- _context13.next = 3;
873
+ messageIdToLoadAround = _ref5.messageId;
874
+ if (messageIdToLoadAround) {
875
+ _context5.next = 3;
1361
876
  break;
1362
877
  }
1363
- return _context13.abrupt("return");
878
+ return _context5.abrupt("return");
1364
879
  case 3:
1365
- _context13.next = 5;
1366
- return channel.query({
1367
- messages: {
1368
- id_lt: messageId,
1369
- limit: limit
1370
- },
1371
- watch: true
1372
- });
1373
- case 5:
1374
- channel.state.setIsUpToDate(false);
1375
- case 6:
1376
- case "end":
1377
- return _context13.stop();
1378
- }
1379
- }, _callee13);
1380
- }));
1381
- return function queryBeforeMessage(_x4) {
1382
- return _ref17.apply(this, arguments);
1383
- };
1384
- }();
1385
- var queryAfterMessage = function () {
1386
- var _ref18 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14(messageId) {
1387
- var limit,
1388
- state,
1389
- currentSet,
1390
- _args14 = arguments;
1391
- return _regenerator["default"].wrap(function _callee14$(_context14) {
1392
- while (1) switch (_context14.prev = _context14.next) {
1393
- case 0:
1394
- limit = _args14.length > 1 && _args14[1] !== undefined ? _args14[1] : 5;
1395
- if (channel) {
1396
- _context14.next = 3;
880
+ _context5.prev = 3;
881
+ if (!thread) {
882
+ _context5.next = 20;
1397
883
  break;
1398
884
  }
1399
- return _context14.abrupt("return");
1400
- case 3:
1401
- _context14.next = 5;
1402
- return channel.query({
1403
- messages: {
1404
- id_gte: messageId,
1405
- limit: limit
1406
- },
1407
- watch: true
1408
- });
1409
- case 5:
1410
- state = _context14.sent;
1411
- if (state.messages.length < limit) {
1412
- currentSet = channel.state.messageSets.find(function (set) {
1413
- return set.isCurrent;
1414
- });
1415
- if (currentSet && !currentSet.isLatest) {
1416
- channel.state.messageSets = channel.state.messageSets.filter(function (set) {
1417
- return !set.isLatest;
1418
- });
1419
- currentSet.isLatest = true;
1420
- }
1421
- channel.state.setIsUpToDate(true);
1422
- setHasNoMoreRecentMessagesToLoad(true);
885
+ setThreadLoadingMore(true);
886
+ _context5.prev = 6;
887
+ _context5.next = 9;
888
+ return channel.state.loadMessageIntoState(messageIdToLoadAround, thread.id);
889
+ case 9:
890
+ setThreadLoadingMore(false);
891
+ setThreadMessages(channel.state.threads[thread.id]);
892
+ if (setTargetedMessage) {
893
+ setTargetedMessage(messageIdToLoadAround);
894
+ }
895
+ _context5.next = 18;
896
+ break;
897
+ case 14:
898
+ _context5.prev = 14;
899
+ _context5.t0 = _context5["catch"](6);
900
+ if (_context5.t0 instanceof Error) {
901
+ setError(_context5.t0);
1423
902
  } else {
1424
- splitLatestCurrentMessageSetRef.current();
1425
- channel.state.setIsUpToDate(false);
1426
- setHasNoMoreRecentMessagesToLoad(false);
903
+ setError(true);
1427
904
  }
1428
- case 7:
905
+ setThreadLoadingMore(false);
906
+ case 18:
907
+ _context5.next = 22;
908
+ break;
909
+ case 20:
910
+ _context5.next = 22;
911
+ return loadChannelAroundMessageFn({
912
+ messageId: messageIdToLoadAround,
913
+ setTargetedMessage: setTargetedMessage
914
+ });
915
+ case 22:
916
+ _context5.next = 27;
917
+ break;
918
+ case 24:
919
+ _context5.prev = 24;
920
+ _context5.t1 = _context5["catch"](3);
921
+ console.warn('Loading channel around message failed with error:', _context5.t1);
922
+ case 27:
1429
923
  case "end":
1430
- return _context14.stop();
924
+ return _context5.stop();
1431
925
  }
1432
- }, _callee14);
926
+ }, _callee5, null, [[3, 24], [6, 14]]);
1433
927
  }));
1434
- return function queryAfterMessage(_x5) {
1435
- return _ref18.apply(this, arguments);
928
+ return function loadChannelAroundMessage(_x) {
929
+ return _ref6.apply(this, arguments);
1436
930
  };
1437
931
  }();
1438
- var getChannelConfigSafely = function getChannelConfigSafely() {
1439
- try {
1440
- return channel == null ? void 0 : channel.getConfig();
1441
- } catch (_) {
1442
- return null;
1443
- }
1444
- };
1445
- var clientChannelConfig = getChannelConfigSafely();
1446
932
  var updateMessage = function updateMessage(updatedMessage) {
1447
933
  var extraState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1448
- if (channel) {
1449
- channel.state.addMessageSorted(updatedMessage, true);
1450
- if (thread && updatedMessage.parent_id) {
1451
- extraState.threadMessages = channel.state.threads[updatedMessage.parent_id] || [];
1452
- setThreadMessages(extraState.threadMessages);
1453
- }
1454
- setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
934
+ if (!channel) return;
935
+ channel.state.addMessageSorted(updatedMessage, true);
936
+ copyMessagesStateFromChannel(channel);
937
+ if (thread && updatedMessage.parent_id) {
938
+ extraState.threadMessages = channel.state.threads[updatedMessage.parent_id] || [];
939
+ setThreadMessages(extraState.threadMessages);
1455
940
  }
1456
941
  };
1457
942
  var replaceMessage = function replaceMessage(oldMessage, newMessage) {
1458
943
  if (channel) {
1459
944
  channel.state.removeMessage(oldMessage);
1460
945
  channel.state.addMessageSorted(newMessage, true);
946
+ copyMessagesStateFromChannel(channel);
1461
947
  if (thread && newMessage.parent_id) {
1462
948
  var _threadMessages = channel.state.threads[newMessage.parent_id] || [];
1463
949
  setThreadMessages(_threadMessages);
1464
950
  }
1465
- setMessages(channel.state.messages);
1466
951
  }
1467
952
  };
1468
- var createMessagePreview = function createMessagePreview(_ref19) {
1469
- var attachments = _ref19.attachments,
1470
- mentioned_users = _ref19.mentioned_users,
1471
- parent_id = _ref19.parent_id,
1472
- poll = _ref19.poll,
1473
- poll_id = _ref19.poll_id,
1474
- text = _ref19.text,
1475
- extraFields = (0, _objectWithoutProperties2["default"])(_ref19, _excluded);
1476
- var _client$user2 = client.user,
1477
- channel_mutes = _client$user2.channel_mutes,
1478
- devices = _client$user2.devices,
1479
- mutes = _client$user2.mutes,
1480
- messageUser = (0, _objectWithoutProperties2["default"])(_client$user2, _excluded2);
953
+ var createMessagePreview = function createMessagePreview(_ref7) {
954
+ var attachments = _ref7.attachments,
955
+ mentioned_users = _ref7.mentioned_users,
956
+ parent_id = _ref7.parent_id,
957
+ poll = _ref7.poll,
958
+ poll_id = _ref7.poll_id,
959
+ text = _ref7.text,
960
+ extraFields = (0, _objectWithoutProperties2["default"])(_ref7, _excluded);
961
+ var _client$user = client.user,
962
+ channel_mutes = _client$user.channel_mutes,
963
+ devices = _client$user.devices,
964
+ mutes = _client$user.mutes,
965
+ messageUser = (0, _objectWithoutProperties2["default"])(_client$user, _excluded2);
1481
966
  var preview = Object.assign({
1482
967
  __html: text,
1483
968
  attachments: attachments,
@@ -1501,7 +986,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
1501
986
  })
1502
987
  }, extraFields);
1503
988
  if (preview.quoted_message_id) {
1504
- var _quotedMessage = messages.find(function (message) {
989
+ var _channelMessagesState2;
990
+ var _quotedMessage = (_channelMessagesState2 = channelMessagesState.messages) == null ? void 0 : _channelMessagesState2.find(function (message) {
1505
991
  return message.id === preview.quoted_message_id;
1506
992
  });
1507
993
  preview.quoted_message = _quotedMessage;
@@ -1509,28 +995,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
1509
995
  return preview;
1510
996
  };
1511
997
  var uploadPendingAttachments = function () {
1512
- var _ref20 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15(message) {
998
+ var _ref8 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(message) {
1513
999
  var _updatedMessage$attac;
1514
1000
  var updatedMessage, i, _updatedMessage$attac2, attachment, image, file, _image$name, filename, controller, compressedUri, contentType, uploadResponse, _controller, response;
1515
- return _regenerator["default"].wrap(function _callee15$(_context15) {
1516
- while (1) switch (_context15.prev = _context15.next) {
1001
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
1002
+ while (1) switch (_context6.prev = _context6.next) {
1517
1003
  case 0:
1518
1004
  updatedMessage = Object.assign({}, message);
1519
1005
  if (!((_updatedMessage$attac = updatedMessage.attachments) != null && _updatedMessage$attac.length)) {
1520
- _context15.next = 48;
1006
+ _context6.next = 50;
1521
1007
  break;
1522
1008
  }
1523
1009
  i = 0;
1524
1010
  case 3:
1525
1011
  if (!(i < ((_updatedMessage$attac2 = updatedMessage.attachments) == null ? void 0 : _updatedMessage$attac2.length))) {
1526
- _context15.next = 48;
1012
+ _context6.next = 50;
1527
1013
  break;
1528
1014
  }
1529
1015
  attachment = updatedMessage.attachments[i];
1530
1016
  image = attachment.originalImage;
1531
1017
  file = attachment.originalFile;
1532
1018
  if (!(attachment.type === _types.FileTypes.Image && image != null && image.uri && attachment.image_url && (0, _utils.isLocalUrl)(attachment.image_url))) {
1533
- _context15.next = 28;
1019
+ _context6.next = 29;
1534
1020
  break;
1535
1021
  }
1536
1022
  filename = (_image$name = image.name) != null ? _image$name : (0, _utils.getFileNameFromPath)(image.uri);
@@ -1539,38 +1025,39 @@ var ChannelWithContext = function ChannelWithContext(props) {
1539
1025
  controller.abort();
1540
1026
  uploadAbortControllerRef.current["delete"](filename);
1541
1027
  }
1542
- _context15.next = 13;
1028
+ _context6.next = 13;
1543
1029
  return (0, _compressImage.compressedImageURI)(image, compressImageQuality);
1544
1030
  case 13:
1545
- compressedUri = _context15.sent;
1031
+ compressedUri = _context6.sent;
1546
1032
  contentType = (0, _mimeTypes.lookup)(filename) || 'multipart/form-data';
1547
1033
  if (!doImageUploadRequest) {
1548
- _context15.next = 21;
1034
+ _context6.next = 21;
1549
1035
  break;
1550
1036
  }
1551
- _context15.next = 18;
1037
+ _context6.next = 18;
1552
1038
  return doImageUploadRequest(image, channel);
1553
1039
  case 18:
1554
- _context15.t0 = _context15.sent;
1555
- _context15.next = 24;
1040
+ _context6.t0 = _context6.sent;
1041
+ _context6.next = 24;
1556
1042
  break;
1557
1043
  case 21:
1558
- _context15.next = 23;
1044
+ _context6.next = 23;
1559
1045
  return channel.sendImage(compressedUri, filename, contentType);
1560
1046
  case 23:
1561
- _context15.t0 = _context15.sent;
1047
+ _context6.t0 = _context6.sent;
1562
1048
  case 24:
1563
- uploadResponse = _context15.t0;
1049
+ uploadResponse = _context6.t0;
1564
1050
  attachment.image_url = uploadResponse.file;
1565
1051
  delete attachment.originalFile;
1566
- dbApi.updateMessage({
1052
+ _context6.next = 29;
1053
+ return dbApi.updateMessage({
1567
1054
  message: Object.assign({}, updatedMessage, {
1568
1055
  cid: channel.cid
1569
1056
  })
1570
1057
  });
1571
- case 28:
1058
+ case 29:
1572
1059
  if (!((attachment.type === _types.FileTypes.File || attachment.type === _types.FileTypes.Audio || attachment.type === _types.FileTypes.VoiceRecording || attachment.type === _types.FileTypes.Video) && attachment.asset_url && (0, _utils.isLocalUrl)(attachment.asset_url) && file != null && file.uri)) {
1573
- _context15.next = 45;
1060
+ _context6.next = 47;
1574
1061
  break;
1575
1062
  }
1576
1063
  _controller = uploadAbortControllerRef.current.get(file.name);
@@ -1579,66 +1066,67 @@ var ChannelWithContext = function ChannelWithContext(props) {
1579
1066
  uploadAbortControllerRef.current["delete"](file.name);
1580
1067
  }
1581
1068
  if (!doDocUploadRequest) {
1582
- _context15.next = 37;
1069
+ _context6.next = 38;
1583
1070
  break;
1584
1071
  }
1585
- _context15.next = 34;
1072
+ _context6.next = 35;
1586
1073
  return doDocUploadRequest(file, channel);
1587
- case 34:
1588
- _context15.t1 = _context15.sent;
1589
- _context15.next = 40;
1074
+ case 35:
1075
+ _context6.t1 = _context6.sent;
1076
+ _context6.next = 41;
1590
1077
  break;
1591
- case 37:
1592
- _context15.next = 39;
1078
+ case 38:
1079
+ _context6.next = 40;
1593
1080
  return channel.sendFile(file.uri, file.name, file.mimeType);
1594
- case 39:
1595
- _context15.t1 = _context15.sent;
1596
1081
  case 40:
1597
- response = _context15.t1;
1082
+ _context6.t1 = _context6.sent;
1083
+ case 41:
1084
+ response = _context6.t1;
1598
1085
  attachment.asset_url = response.file;
1599
1086
  if (response.thumb_url) {
1600
1087
  attachment.thumb_url = response.thumb_url;
1601
1088
  }
1602
1089
  delete attachment.originalFile;
1603
- dbApi.updateMessage({
1090
+ _context6.next = 47;
1091
+ return dbApi.updateMessage({
1604
1092
  message: Object.assign({}, updatedMessage, {
1605
1093
  cid: channel.cid
1606
1094
  })
1607
1095
  });
1608
- case 45:
1096
+ case 47:
1609
1097
  i++;
1610
- _context15.next = 3;
1098
+ _context6.next = 3;
1611
1099
  break;
1612
- case 48:
1613
- return _context15.abrupt("return", updatedMessage);
1614
- case 49:
1100
+ case 50:
1101
+ return _context6.abrupt("return", updatedMessage);
1102
+ case 51:
1615
1103
  case "end":
1616
- return _context15.stop();
1104
+ return _context6.stop();
1617
1105
  }
1618
- }, _callee15);
1106
+ }, _callee6);
1619
1107
  }));
1620
- return function uploadPendingAttachments(_x6) {
1621
- return _ref20.apply(this, arguments);
1108
+ return function uploadPendingAttachments(_x2) {
1109
+ return _ref8.apply(this, arguments);
1622
1110
  };
1623
1111
  }();
1624
1112
  var sendMessageRequest = function () {
1625
- var _ref21 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16(message, retrying) {
1113
+ var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(message, retrying) {
1626
1114
  var _updatedMessage, extraFields, attachments, id, mentioned_users, parent_id, text, mentionedUserIds, _messageData, messageResponse, _updatedMessage2;
1627
- return _regenerator["default"].wrap(function _callee16$(_context16) {
1628
- while (1) switch (_context16.prev = _context16.next) {
1115
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
1116
+ while (1) switch (_context7.prev = _context7.next) {
1629
1117
  case 0:
1630
- _context16.prev = 0;
1631
- _context16.next = 3;
1118
+ _context7.prev = 0;
1119
+ _context7.next = 3;
1632
1120
  return uploadPendingAttachments(message);
1633
1121
  case 3:
1634
- _updatedMessage = _context16.sent;
1122
+ _updatedMessage = _context7.sent;
1635
1123
  extraFields = (0, _omit["default"])(_updatedMessage, ['__html', 'attachments', 'created_at', 'deleted_at', 'html', 'id', 'latest_reactions', 'mentioned_users', 'own_reactions', 'parent_id', 'quoted_message', 'reaction_counts', 'reaction_groups', 'reactions', 'status', 'text', 'type', 'updated_at', 'user']);
1636
1124
  attachments = _updatedMessage.attachments, id = _updatedMessage.id, mentioned_users = _updatedMessage.mentioned_users, parent_id = _updatedMessage.parent_id, text = _updatedMessage.text;
1637
1125
  if (channel.id) {
1638
- _context16.next = 8;
1126
+ _context7.next = 8;
1639
1127
  break;
1640
1128
  }
1641
- return _context16.abrupt("return");
1129
+ return _context7.abrupt("return");
1642
1130
  case 8:
1643
1131
  mentionedUserIds = (mentioned_users == null ? void 0 : mentioned_users.map(function (user) {
1644
1132
  return user.id;
@@ -1652,49 +1140,56 @@ var ChannelWithContext = function ChannelWithContext(props) {
1652
1140
  }, extraFields);
1653
1141
  messageResponse = {};
1654
1142
  if (!doSendMessageRequest) {
1655
- _context16.next = 17;
1143
+ _context7.next = 17;
1656
1144
  break;
1657
1145
  }
1658
- _context16.next = 14;
1146
+ _context7.next = 14;
1659
1147
  return doSendMessageRequest((channel == null ? void 0 : channel.cid) || '', _messageData);
1660
1148
  case 14:
1661
- messageResponse = _context16.sent;
1662
- _context16.next = 21;
1149
+ messageResponse = _context7.sent;
1150
+ _context7.next = 21;
1663
1151
  break;
1664
1152
  case 17:
1665
1153
  if (!channel) {
1666
- _context16.next = 21;
1154
+ _context7.next = 21;
1667
1155
  break;
1668
1156
  }
1669
- _context16.next = 20;
1157
+ _context7.next = 20;
1670
1158
  return channel.sendMessage(_messageData);
1671
1159
  case 20:
1672
- messageResponse = _context16.sent;
1160
+ messageResponse = _context7.sent;
1673
1161
  case 21:
1674
- if (messageResponse.message) {
1675
- messageResponse.message.status = _utils.MessageStatusTypes.RECEIVED;
1676
- if (enableOfflineSupport) {
1677
- dbApi.updateMessage({
1678
- message: Object.assign({}, messageResponse.message, {
1679
- cid: channel.cid
1680
- })
1681
- });
1682
- }
1683
- if (retrying) {
1684
- replaceMessage(message, messageResponse.message);
1685
- } else {
1686
- updateMessage(messageResponse.message);
1687
- }
1688
- threadInstance == null ? void 0 : threadInstance.upsertReplyLocally == null ? void 0 : threadInstance.upsertReplyLocally({
1689
- message: messageResponse.message
1690
- });
1162
+ if (!messageResponse.message) {
1163
+ _context7.next = 28;
1164
+ break;
1165
+ }
1166
+ messageResponse.message.status = _utils.MessageStatusTypes.RECEIVED;
1167
+ if (!enableOfflineSupport) {
1168
+ _context7.next = 26;
1169
+ break;
1170
+ }
1171
+ _context7.next = 26;
1172
+ return dbApi.updateMessage({
1173
+ message: Object.assign({}, messageResponse.message, {
1174
+ cid: channel.cid
1175
+ })
1176
+ });
1177
+ case 26:
1178
+ if (retrying) {
1179
+ replaceMessage(message, messageResponse.message);
1180
+ } else {
1181
+ updateMessage(messageResponse.message);
1691
1182
  }
1692
- _context16.next = 32;
1183
+ threadInstance == null ? void 0 : threadInstance.upsertReplyLocally == null ? void 0 : threadInstance.upsertReplyLocally({
1184
+ message: messageResponse.message
1185
+ });
1186
+ case 28:
1187
+ _context7.next = 40;
1693
1188
  break;
1694
- case 24:
1695
- _context16.prev = 24;
1696
- _context16.t0 = _context16["catch"](0);
1697
- console.log(_context16.t0);
1189
+ case 30:
1190
+ _context7.prev = 30;
1191
+ _context7.t0 = _context7["catch"](0);
1192
+ console.log(_context7.t0);
1698
1193
  message.status = _utils.MessageStatusTypes.FAILED;
1699
1194
  _updatedMessage2 = Object.assign({}, message, {
1700
1195
  cid: channel.cid
@@ -1703,29 +1198,32 @@ var ChannelWithContext = function ChannelWithContext(props) {
1703
1198
  threadInstance == null ? void 0 : threadInstance.upsertReplyLocally == null ? void 0 : threadInstance.upsertReplyLocally({
1704
1199
  message: _updatedMessage2
1705
1200
  });
1706
- if (enableOfflineSupport) {
1707
- dbApi.updateMessage({
1708
- message: Object.assign({}, message, {
1709
- cid: channel.cid
1710
- })
1711
- });
1201
+ if (!enableOfflineSupport) {
1202
+ _context7.next = 40;
1203
+ break;
1712
1204
  }
1713
- case 32:
1205
+ _context7.next = 40;
1206
+ return dbApi.updateMessage({
1207
+ message: Object.assign({}, message, {
1208
+ cid: channel.cid
1209
+ })
1210
+ });
1211
+ case 40:
1714
1212
  case "end":
1715
- return _context16.stop();
1213
+ return _context7.stop();
1716
1214
  }
1717
- }, _callee16, null, [[0, 24]]);
1215
+ }, _callee7, null, [[0, 30]]);
1718
1216
  }));
1719
- return function sendMessageRequest(_x7, _x8) {
1720
- return _ref21.apply(this, arguments);
1217
+ return function sendMessageRequest(_x3, _x4) {
1218
+ return _ref9.apply(this, arguments);
1721
1219
  };
1722
1220
  }();
1723
1221
  var sendMessage = function () {
1724
- var _ref22 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee17(message) {
1222
+ var _ref10 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(message) {
1725
1223
  var _channel$state;
1726
1224
  var messagePreview;
1727
- return _regenerator["default"].wrap(function _callee17$(_context17) {
1728
- while (1) switch (_context17.prev = _context17.next) {
1225
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
1226
+ while (1) switch (_context8.prev = _context8.next) {
1729
1227
  case 0:
1730
1228
  if (channel != null && (_channel$state = channel.state) != null && _channel$state.filterErrorMessages) {
1731
1229
  channel.state.filterErrorMessages();
@@ -1733,7 +1231,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
1733
1231
  messagePreview = createMessagePreview(Object.assign({}, message, {
1734
1232
  attachments: message.attachments || []
1735
1233
  }));
1736
- mergeOverlappingMessageSetsRef.current();
1737
1234
  updateMessage(messagePreview, {
1738
1235
  commands: [],
1739
1236
  messageInput: ''
@@ -1741,31 +1238,35 @@ var ChannelWithContext = function ChannelWithContext(props) {
1741
1238
  threadInstance == null ? void 0 : threadInstance.upsertReplyLocally == null ? void 0 : threadInstance.upsertReplyLocally({
1742
1239
  message: messagePreview
1743
1240
  });
1744
- if (enableOfflineSupport) {
1745
- dbApi.upsertMessages({
1746
- messages: [Object.assign({}, messagePreview, {
1747
- cid: channel.cid,
1748
- status: _utils.MessageStatusTypes.FAILED
1749
- })]
1750
- });
1241
+ if (!enableOfflineSupport) {
1242
+ _context8.next = 7;
1243
+ break;
1751
1244
  }
1752
- _context17.next = 8;
1245
+ _context8.next = 7;
1246
+ return dbApi.upsertMessages({
1247
+ messages: [Object.assign({}, messagePreview, {
1248
+ cid: channel.cid,
1249
+ status: _utils.MessageStatusTypes.FAILED
1250
+ })]
1251
+ });
1252
+ case 7:
1253
+ _context8.next = 9;
1753
1254
  return sendMessageRequest(messagePreview);
1754
- case 8:
1255
+ case 9:
1755
1256
  case "end":
1756
- return _context17.stop();
1257
+ return _context8.stop();
1757
1258
  }
1758
- }, _callee17);
1259
+ }, _callee8);
1759
1260
  }));
1760
- return function sendMessage(_x9) {
1761
- return _ref22.apply(this, arguments);
1261
+ return function sendMessage(_x5) {
1262
+ return _ref10.apply(this, arguments);
1762
1263
  };
1763
1264
  }();
1764
1265
  var retrySendMessage = function () {
1765
- var _ref23 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee18(message) {
1266
+ var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(message) {
1766
1267
  var statusPendingMessage, messageWithoutReservedFields;
1767
- return _regenerator["default"].wrap(function _callee18$(_context18) {
1768
- while (1) switch (_context18.prev = _context18.next) {
1268
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
1269
+ while (1) switch (_context9.prev = _context9.next) {
1769
1270
  case 0:
1770
1271
  statusPendingMessage = Object.assign({}, message, {
1771
1272
  status: _utils.MessageStatusTypes.SENDING
@@ -1774,201 +1275,18 @@ var ChannelWithContext = function ChannelWithContext(props) {
1774
1275
  if (!(0, _utils.isBouncedMessage)(message)) {
1775
1276
  updateMessage(messageWithoutReservedFields);
1776
1277
  }
1777
- _context18.next = 5;
1278
+ _context9.next = 5;
1778
1279
  return sendMessageRequest(messageWithoutReservedFields, true);
1779
1280
  case 5:
1780
1281
  case "end":
1781
- return _context18.stop();
1282
+ return _context9.stop();
1782
1283
  }
1783
- }, _callee18);
1284
+ }, _callee9);
1784
1285
  }));
1785
- return function retrySendMessage(_x10) {
1786
- return _ref23.apply(this, arguments);
1286
+ return function retrySendMessage(_x6) {
1287
+ return _ref11.apply(this, arguments);
1787
1288
  };
1788
1289
  }();
1789
- var loadMoreFinished = (0, _react.useRef)((0, _debounce["default"])(function (updatedHasMore, newMessages) {
1790
- setLoading(false);
1791
- setLoadingMore(false);
1792
- setError(false);
1793
- setHasMore(updatedHasMore);
1794
- setMessages(newMessages);
1795
- }, defaultDebounceInterval, debounceOptions)).current;
1796
- var loadMore = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee19() {
1797
- var limit,
1798
- currentMessages,
1799
- oldestMessage,
1800
- oldestID,
1801
- queryResponse,
1802
- updatedHasMore,
1803
- _args19 = arguments;
1804
- return _regenerator["default"].wrap(function _callee19$(_context19) {
1805
- while (1) switch (_context19.prev = _context19.next) {
1806
- case 0:
1807
- limit = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : 20;
1808
- if (!(loadingMore || hasMore === false)) {
1809
- _context19.next = 3;
1810
- break;
1811
- }
1812
- return _context19.abrupt("return");
1813
- case 3:
1814
- currentMessages = channel.state.messages;
1815
- if (currentMessages.length) {
1816
- _context19.next = 6;
1817
- break;
1818
- }
1819
- return _context19.abrupt("return", setLoadingMore(false));
1820
- case 6:
1821
- oldestMessage = currentMessages && currentMessages[0];
1822
- if (!(oldestMessage && oldestMessage.status !== _utils.MessageStatusTypes.RECEIVED)) {
1823
- _context19.next = 9;
1824
- break;
1825
- }
1826
- return _context19.abrupt("return", setLoadingMore(false));
1827
- case 9:
1828
- setLoadingMore(true);
1829
- oldestID = oldestMessage && oldestMessage.id;
1830
- _context19.prev = 11;
1831
- if (!channel) {
1832
- _context19.next = 18;
1833
- break;
1834
- }
1835
- _context19.next = 15;
1836
- return channel.query({
1837
- messages: {
1838
- id_lt: oldestID,
1839
- limit: limit
1840
- }
1841
- });
1842
- case 15:
1843
- queryResponse = _context19.sent;
1844
- updatedHasMore = queryResponse.messages.length === limit;
1845
- loadMoreFinished(updatedHasMore, channel.state.messages);
1846
- case 18:
1847
- _context19.next = 25;
1848
- break;
1849
- case 20:
1850
- _context19.prev = 20;
1851
- _context19.t0 = _context19["catch"](11);
1852
- if (_context19.t0 instanceof Error) {
1853
- setError(_context19.t0);
1854
- } else {
1855
- setError(true);
1856
- }
1857
- setLoadingMore(false);
1858
- throw _context19.t0;
1859
- case 25:
1860
- case "end":
1861
- return _context19.stop();
1862
- }
1863
- }, _callee19, null, [[11, 20]]);
1864
- })), [channelId, hasMore, loadingMore]);
1865
- var loadMoreRecent = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee20() {
1866
- var limit,
1867
- latestMessageSet,
1868
- latestLengthBeforeMerge,
1869
- didMerge,
1870
- shouldSetStateUpToDate,
1871
- currentMessages,
1872
- recentMessage,
1873
- queryResponse,
1874
- gotAllRecentMessages,
1875
- currentSet,
1876
- _args20 = arguments;
1877
- return _regenerator["default"].wrap(function _callee20$(_context20) {
1878
- while (1) switch (_context20.prev = _context20.next) {
1879
- case 0:
1880
- limit = _args20.length > 0 && _args20[0] !== undefined ? _args20[0] : 5;
1881
- latestMessageSet = channel.state.messageSets.find(function (set) {
1882
- return set.isLatest;
1883
- });
1884
- latestLengthBeforeMerge = (latestMessageSet == null ? void 0 : latestMessageSet.messages.length) || 0;
1885
- didMerge = mergeOverlappingMessageSetsRef.current(true);
1886
- if (!didMerge) {
1887
- _context20.next = 13;
1888
- break;
1889
- }
1890
- if (!(latestMessageSet && latestLengthBeforeMerge > 0)) {
1891
- _context20.next = 13;
1892
- break;
1893
- }
1894
- shouldSetStateUpToDate = latestMessageSet.messages.length < limit && latestMessageSet.isCurrent;
1895
- setLoadingMoreRecent(true);
1896
- channel.state.setIsUpToDate(shouldSetStateUpToDate);
1897
- setHasNoMoreRecentMessagesToLoad(shouldSetStateUpToDate);
1898
- loadMoreRecentFinished(channel.state.messages);
1899
- restartSetsMergeFuncRef.current();
1900
- return _context20.abrupt("return");
1901
- case 13:
1902
- if (!channel.state.isUpToDate) {
1903
- _context20.next = 16;
1904
- break;
1905
- }
1906
- setLoadingMoreRecent(false);
1907
- return _context20.abrupt("return");
1908
- case 16:
1909
- currentMessages = channel.state.messages;
1910
- recentMessage = currentMessages[currentMessages.length - 1];
1911
- if (!((recentMessage == null ? void 0 : recentMessage.status) !== _utils.MessageStatusTypes.RECEIVED)) {
1912
- _context20.next = 21;
1913
- break;
1914
- }
1915
- setLoadingMoreRecent(false);
1916
- return _context20.abrupt("return");
1917
- case 21:
1918
- setLoadingMoreRecent(true);
1919
- _context20.prev = 22;
1920
- if (!channel) {
1921
- _context20.next = 33;
1922
- break;
1923
- }
1924
- _context20.next = 26;
1925
- return channel.query({
1926
- messages: {
1927
- id_gte: recentMessage.id,
1928
- limit: limit
1929
- },
1930
- watch: true
1931
- });
1932
- case 26:
1933
- queryResponse = _context20.sent;
1934
- gotAllRecentMessages = queryResponse.messages.length < limit;
1935
- currentSet = channel.state.messageSets.find(function (set) {
1936
- return set.isCurrent;
1937
- });
1938
- if (gotAllRecentMessages && currentSet && !currentSet.isLatest) {
1939
- channel.state.messageSets = channel.state.messageSets.filter(function (set) {
1940
- return !set.isLatest;
1941
- });
1942
- currentSet.isLatest = true;
1943
- }
1944
- channel.state.setIsUpToDate(gotAllRecentMessages);
1945
- setHasNoMoreRecentMessagesToLoad(gotAllRecentMessages);
1946
- loadMoreRecentFinished(channel.state.messages);
1947
- case 33:
1948
- _context20.next = 41;
1949
- break;
1950
- case 35:
1951
- _context20.prev = 35;
1952
- _context20.t0 = _context20["catch"](22);
1953
- console.warn('Message pagination request failed with error', _context20.t0);
1954
- if (_context20.t0 instanceof Error) {
1955
- setError(_context20.t0);
1956
- } else {
1957
- setError(true);
1958
- }
1959
- setLoadingMoreRecent(false);
1960
- throw _context20.t0;
1961
- case 41:
1962
- case "end":
1963
- return _context20.stop();
1964
- }
1965
- }, _callee20, null, [[22, 35]]);
1966
- })), [channelId, hasNoMoreRecentMessagesToLoad]);
1967
- var loadMoreRecentFinished = (0, _react.useRef)((0, _debounce["default"])(function (newMessages) {
1968
- setLoadingMoreRecent(false);
1969
- setMessages(newMessages);
1970
- setError(false);
1971
- }, defaultDebounceInterval, debounceOptions)).current;
1972
1290
  var editMessage = function editMessage(updatedMessage) {
1973
1291
  return doUpdateMessageRequest ? doUpdateMessageRequest((channel == null ? void 0 : channel.cid) || '', updatedMessage) : client.updateMessage(updatedMessage);
1974
1292
  };
@@ -1983,30 +1301,46 @@ var ChannelWithContext = function ChannelWithContext(props) {
1983
1301
  return setEditing(undefined);
1984
1302
  };
1985
1303
  var clearQuotedMessageState = function clearQuotedMessageState() {
1986
- return setQuotedMessage(false);
1987
- };
1988
- var removeMessage = function removeMessage(message) {
1989
- if (channel) {
1990
- channel.state.removeMessage(message);
1991
- setMessages(channel.state.messages);
1992
- if (thread) {
1993
- setThreadMessages(channel.state.threads[thread.id] || []);
1994
- }
1995
- }
1996
- if (enableOfflineSupport) {
1997
- dbApi.deleteMessage({
1998
- id: message.id
1999
- });
2000
- }
1304
+ return setQuotedMessage(undefined);
2001
1305
  };
1306
+ var removeMessage = function () {
1307
+ var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(message) {
1308
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
1309
+ while (1) switch (_context10.prev = _context10.next) {
1310
+ case 0:
1311
+ if (channel) {
1312
+ channel.state.removeMessage(message);
1313
+ copyMessagesStateFromChannel(channel);
1314
+ if (thread) {
1315
+ setThreadMessages(channel.state.threads[thread.id] || []);
1316
+ }
1317
+ }
1318
+ if (!enableOfflineSupport) {
1319
+ _context10.next = 4;
1320
+ break;
1321
+ }
1322
+ _context10.next = 4;
1323
+ return dbApi.deleteMessage({
1324
+ id: message.id
1325
+ });
1326
+ case 4:
1327
+ case "end":
1328
+ return _context10.stop();
1329
+ }
1330
+ }, _callee10);
1331
+ }));
1332
+ return function removeMessage(_x7) {
1333
+ return _ref12.apply(this, arguments);
1334
+ };
1335
+ }();
2002
1336
  var sendReaction = function () {
2003
- var _ref26 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee21(type, messageId) {
1337
+ var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(type, messageId) {
2004
1338
  var payload, sendReactionResponse;
2005
- return _regenerator["default"].wrap(function _callee21$(_context21) {
2006
- while (1) switch (_context21.prev = _context21.next) {
1339
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
1340
+ while (1) switch (_context11.prev = _context11.next) {
2007
1341
  case 0:
2008
1342
  if (!(!(channel != null && channel.id) || !client.user)) {
2009
- _context21.next = 2;
1343
+ _context11.next = 2;
2010
1344
  break;
2011
1345
  }
2012
1346
  throw new Error('Channel has not been initialized');
@@ -2017,13 +1351,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
2017
1351
  enforce_unique: enforceUniqueReaction
2018
1352
  }];
2019
1353
  if (enableOfflineSupport) {
2020
- _context21.next = 7;
1354
+ _context11.next = 7;
2021
1355
  break;
2022
1356
  }
2023
- _context21.next = 6;
1357
+ _context11.next = 6;
2024
1358
  return channel.sendReaction.apply(channel, payload);
2025
1359
  case 6:
2026
- return _context21.abrupt("return");
1360
+ return _context11.abrupt("return");
2027
1361
  case 7:
2028
1362
  (0, _addReactionToLocalState.addReactionToLocalState)({
2029
1363
  channel: channel,
@@ -2032,8 +1366,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
2032
1366
  reactionType: type,
2033
1367
  user: client.user
2034
1368
  });
2035
- setMessages(channel.state.messages);
2036
- _context21.next = 11;
1369
+ copyMessagesStateFromChannel(channel);
1370
+ _context11.next = 11;
2037
1371
  return _DBSyncManager.DBSyncManager.queueTask({
2038
1372
  client: client,
2039
1373
  task: {
@@ -2045,7 +1379,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2045
1379
  }
2046
1380
  });
2047
1381
  case 11:
2048
- sendReactionResponse = _context21.sent;
1382
+ sendReactionResponse = _context11.sent;
2049
1383
  if (sendReactionResponse != null && sendReactionResponse.message) {
2050
1384
  threadInstance == null ? void 0 : threadInstance.upsertReplyLocally == null ? void 0 : threadInstance.upsertReplyLocally({
2051
1385
  message: sendReactionResponse.message
@@ -2053,53 +1387,59 @@ var ChannelWithContext = function ChannelWithContext(props) {
2053
1387
  }
2054
1388
  case 13:
2055
1389
  case "end":
2056
- return _context21.stop();
1390
+ return _context11.stop();
2057
1391
  }
2058
- }, _callee21);
1392
+ }, _callee11);
2059
1393
  }));
2060
- return function sendReaction(_x11, _x12) {
2061
- return _ref26.apply(this, arguments);
1394
+ return function sendReaction(_x8, _x9) {
1395
+ return _ref13.apply(this, arguments);
2062
1396
  };
2063
1397
  }();
2064
1398
  var deleteMessage = function () {
2065
- var _ref27 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee22(message) {
1399
+ var _ref14 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(message) {
2066
1400
  var _updatedMessage3, _data;
2067
- return _regenerator["default"].wrap(function _callee22$(_context22) {
2068
- while (1) switch (_context22.prev = _context22.next) {
1401
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
1402
+ while (1) switch (_context12.prev = _context12.next) {
2069
1403
  case 0:
2070
1404
  if (channel.id) {
2071
- _context22.next = 2;
1405
+ _context12.next = 2;
2072
1406
  break;
2073
1407
  }
2074
1408
  throw new Error('Channel has not been initialized yet');
2075
1409
  case 2:
2076
1410
  if (enableOfflineSupport) {
2077
- _context22.next = 9;
1411
+ _context12.next = 10;
2078
1412
  break;
2079
1413
  }
2080
1414
  if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
2081
- _context22.next = 6;
1415
+ _context12.next = 7;
2082
1416
  break;
2083
1417
  }
2084
- removeMessage(message);
2085
- return _context22.abrupt("return");
1418
+ _context12.next = 6;
1419
+ return removeMessage(message);
2086
1420
  case 6:
2087
- _context22.next = 8;
1421
+ return _context12.abrupt("return");
1422
+ case 7:
1423
+ _context12.next = 9;
2088
1424
  return client.deleteMessage(message.id);
2089
- case 8:
2090
- return _context22.abrupt("return");
2091
1425
  case 9:
1426
+ return _context12.abrupt("return");
1427
+ case 10:
2092
1428
  if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
2093
- _context22.next = 14;
1429
+ _context12.next = 17;
2094
1430
  break;
2095
1431
  }
2096
- _DBSyncManager.DBSyncManager.dropPendingTasks({
1432
+ _context12.next = 13;
1433
+ return _DBSyncManager.DBSyncManager.dropPendingTasks({
2097
1434
  messageId: message.id
2098
1435
  });
2099
- removeMessage(message);
2100
- _context22.next = 21;
1436
+ case 13:
1437
+ _context12.next = 15;
1438
+ return removeMessage(message);
1439
+ case 15:
1440
+ _context12.next = 24;
2101
1441
  break;
2102
- case 14:
1442
+ case 17:
2103
1443
  _updatedMessage3 = Object.assign({}, message, {
2104
1444
  cid: channel.cid,
2105
1445
  deleted_at: new Date().toISOString(),
@@ -2109,7 +1449,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2109
1449
  threadInstance == null ? void 0 : threadInstance.upsertReplyLocally({
2110
1450
  message: _updatedMessage3
2111
1451
  });
2112
- _context22.next = 19;
1452
+ _context12.next = 22;
2113
1453
  return _DBSyncManager.DBSyncManager.queueTask({
2114
1454
  client: client,
2115
1455
  task: {
@@ -2120,42 +1460,42 @@ var ChannelWithContext = function ChannelWithContext(props) {
2120
1460
  type: 'delete-message'
2121
1461
  }
2122
1462
  });
2123
- case 19:
2124
- _data = _context22.sent;
1463
+ case 22:
1464
+ _data = _context12.sent;
2125
1465
  if (_data != null && _data.message) {
2126
1466
  updateMessage(Object.assign({}, _data.message));
2127
1467
  }
2128
- case 21:
1468
+ case 24:
2129
1469
  case "end":
2130
- return _context22.stop();
1470
+ return _context12.stop();
2131
1471
  }
2132
- }, _callee22);
1472
+ }, _callee12);
2133
1473
  }));
2134
- return function deleteMessage(_x13) {
2135
- return _ref27.apply(this, arguments);
1474
+ return function deleteMessage(_x10) {
1475
+ return _ref14.apply(this, arguments);
2136
1476
  };
2137
1477
  }();
2138
1478
  var deleteReaction = function () {
2139
- var _ref28 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee23(type, messageId) {
1479
+ var _ref15 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(type, messageId) {
2140
1480
  var payload;
2141
- return _regenerator["default"].wrap(function _callee23$(_context23) {
2142
- while (1) switch (_context23.prev = _context23.next) {
1481
+ return _regenerator["default"].wrap(function _callee13$(_context13) {
1482
+ while (1) switch (_context13.prev = _context13.next) {
2143
1483
  case 0:
2144
1484
  if (!(!(channel != null && channel.id) || !client.user)) {
2145
- _context23.next = 2;
1485
+ _context13.next = 2;
2146
1486
  break;
2147
1487
  }
2148
1488
  throw new Error('Channel has not been initialized');
2149
1489
  case 2:
2150
1490
  payload = [messageId, type];
2151
1491
  if (enableOfflineSupport) {
2152
- _context23.next = 7;
1492
+ _context13.next = 7;
2153
1493
  break;
2154
1494
  }
2155
- _context23.next = 6;
1495
+ _context13.next = 6;
2156
1496
  return channel.deleteReaction.apply(channel, payload);
2157
1497
  case 6:
2158
- return _context23.abrupt("return");
1498
+ return _context13.abrupt("return");
2159
1499
  case 7:
2160
1500
  (0, _removeReactionFromLocalState.removeReactionFromLocalState)({
2161
1501
  channel: channel,
@@ -2163,8 +1503,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
2163
1503
  reactionType: type,
2164
1504
  user: client.user
2165
1505
  });
2166
- setMessages(channel.state.messages);
2167
- _context23.next = 11;
1506
+ copyMessagesStateFromChannel(channel);
1507
+ _context13.next = 11;
2168
1508
  return _DBSyncManager.DBSyncManager.queueTask({
2169
1509
  client: client,
2170
1510
  task: {
@@ -2177,12 +1517,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
2177
1517
  });
2178
1518
  case 11:
2179
1519
  case "end":
2180
- return _context23.stop();
1520
+ return _context13.stop();
2181
1521
  }
2182
- }, _callee23);
1522
+ }, _callee13);
2183
1523
  }));
2184
- return function deleteReaction(_x14, _x15) {
2185
- return _ref28.apply(this, arguments);
1524
+ return function deleteReaction(_x11, _x12) {
1525
+ return _ref15.apply(this, arguments);
2186
1526
  };
2187
1527
  }();
2188
1528
  var openThread = (0, _react.useCallback)(function (message) {
@@ -2203,95 +1543,87 @@ var ChannelWithContext = function ChannelWithContext(props) {
2203
1543
  setThreadMessages(updatedThreadMessages);
2204
1544
  }, defaultDebounceInterval, debounceOptions)).current;
2205
1545
  var loadMoreThread = function () {
2206
- var _ref29 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee24() {
1546
+ var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14() {
2207
1547
  var _threadMessages$, parentID, oldestMessageID, limit, queryResponse, updatedHasMore, updatedThreadMessages;
2208
- return _regenerator["default"].wrap(function _callee24$(_context24) {
2209
- while (1) switch (_context24.prev = _context24.next) {
1548
+ return _regenerator["default"].wrap(function _callee14$(_context14) {
1549
+ while (1) switch (_context14.prev = _context14.next) {
2210
1550
  case 0:
2211
1551
  if (!(threadLoadingMore || !(thread != null && thread.id))) {
2212
- _context24.next = 2;
1552
+ _context14.next = 2;
2213
1553
  break;
2214
1554
  }
2215
- return _context24.abrupt("return");
1555
+ return _context14.abrupt("return");
2216
1556
  case 2:
2217
1557
  setThreadLoadingMore(true);
2218
- _context24.prev = 3;
1558
+ _context14.prev = 3;
2219
1559
  if (!channel) {
2220
- _context24.next = 15;
1560
+ _context14.next = 15;
2221
1561
  break;
2222
1562
  }
2223
1563
  parentID = thread.id;
2224
1564
  channel.state.threads[parentID] = threadMessages;
2225
1565
  oldestMessageID = threadMessages == null ? void 0 : (_threadMessages$ = threadMessages[0]) == null ? void 0 : _threadMessages$.id;
2226
1566
  limit = 50;
2227
- _context24.next = 11;
1567
+ _context14.next = 11;
2228
1568
  return channel.getReplies(parentID, {
2229
1569
  id_lt: oldestMessageID,
2230
1570
  limit: limit
2231
1571
  });
2232
1572
  case 11:
2233
- queryResponse = _context24.sent;
1573
+ queryResponse = _context14.sent;
2234
1574
  updatedHasMore = queryResponse.messages.length === limit;
2235
1575
  updatedThreadMessages = channel.state.threads[parentID] || [];
2236
1576
  loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
2237
1577
  case 15:
2238
- _context24.next = 23;
1578
+ _context14.next = 23;
2239
1579
  break;
2240
1580
  case 17:
2241
- _context24.prev = 17;
2242
- _context24.t0 = _context24["catch"](3);
2243
- console.warn('Message pagination request failed with error', _context24.t0);
2244
- if (_context24.t0 instanceof Error) {
2245
- setError(_context24.t0);
1581
+ _context14.prev = 17;
1582
+ _context14.t0 = _context14["catch"](3);
1583
+ console.warn('Message pagination request failed with error', _context14.t0);
1584
+ if (_context14.t0 instanceof Error) {
1585
+ setError(_context14.t0);
2246
1586
  } else {
2247
1587
  setError(true);
2248
1588
  }
2249
1589
  setThreadLoadingMore(false);
2250
- throw _context24.t0;
1590
+ throw _context14.t0;
2251
1591
  case 23:
2252
1592
  case "end":
2253
- return _context24.stop();
1593
+ return _context14.stop();
2254
1594
  }
2255
- }, _callee24, null, [[3, 17]]);
1595
+ }, _callee14, null, [[3, 17]]);
2256
1596
  }));
2257
1597
  return function loadMoreThread() {
2258
- return _ref29.apply(this, arguments);
1598
+ return _ref16.apply(this, arguments);
2259
1599
  };
2260
1600
  }();
2261
- var disabledValue = (0, _react.useMemo)(function () {
2262
- var _channel$data;
2263
- return !!(channel != null && (_channel$data = channel.data) != null && _channel$data.frozen) && disableIfFrozenChannel;
2264
- }, [(_channel$data2 = channel.data) == null ? void 0 : _channel$data2.frozen, disableIfFrozenChannel]);
2265
1601
  var ownCapabilitiesContext = (0, _useCreateOwnCapabilitiesContext.useCreateOwnCapabilitiesContext)({
2266
1602
  channel: channel,
2267
1603
  overrideCapabilities: overrideOwnCapabilities
2268
1604
  });
2269
1605
  var channelContext = (0, _useCreateChannelContext.useCreateChannelContext)({
2270
1606
  channel: channel,
2271
- disabled: disabledValue,
1607
+ disabled: !!(channel != null && (_channel$data = channel.data) != null && _channel$data.frozen),
2272
1608
  EmptyStateIndicator: EmptyStateIndicator,
2273
1609
  enableMessageGroupingByUser: enableMessageGroupingByUser,
2274
1610
  enforceUniqueReaction: enforceUniqueReaction,
2275
1611
  error: error,
2276
- giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref30 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref30.some(function (command) {
1612
+ giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref17 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref17.some(function (command) {
2277
1613
  return command.name === 'giphy';
2278
1614
  })),
2279
1615
  hideDateSeparators: hideDateSeparators,
2280
1616
  hideStickyDateHeader: hideStickyDateHeader,
2281
- isAdmin: isAdmin,
2282
1617
  isChannelActive: shouldSyncChannel,
2283
- isModerator: isModerator,
2284
- isOwner: isOwner,
2285
1618
  lastRead: lastRead,
2286
1619
  loadChannelAroundMessage: loadChannelAroundMessage,
2287
- loadChannelAtMessage: loadChannelAtMessage,
2288
- loading: loading,
1620
+ loading: channelMessagesState.loading,
2289
1621
  LoadingIndicator: LoadingIndicator,
2290
1622
  markRead: markRead,
2291
1623
  maxTimeBetweenGroupedMessages: maxTimeBetweenGroupedMessages,
2292
- members: members,
1624
+ members: (_channelState$members = channelState.members) != null ? _channelState$members : {},
2293
1625
  NetworkDownIndicator: NetworkDownIndicator,
2294
- read: read,
1626
+ read: (_channelState$read = channelState.read) != null ? _channelState$read : {},
2295
1627
  reloadChannel: reloadChannel,
2296
1628
  scrollToFirstUnreadThreshold: scrollToFirstUnreadThreshold,
2297
1629
  setLastRead: setLastRead,
@@ -2300,8 +1632,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
2300
1632
  targetedMessage: targetedMessage,
2301
1633
  threadList: threadList,
2302
1634
  uploadAbortControllerRef: uploadAbortControllerRef,
2303
- watcherCount: watcherCount,
2304
- watchers: watchers
1635
+ watcherCount: channelState.watcherCount,
1636
+ watchers: channelState.watchers
2305
1637
  });
2306
1638
  var sendMessageRef = (0, _react.useRef)(sendMessage);
2307
1639
  sendMessageRef.current = sendMessage;
@@ -2346,7 +1678,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2346
1678
  InputEditingStateHeader: InputEditingStateHeader,
2347
1679
  InputGiphySearch: InputGiphySearch,
2348
1680
  InputReplyStateHeader: InputReplyStateHeader,
2349
- maxMessageLength: (_ref31 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref31 : undefined,
1681
+ maxMessageLength: (_ref18 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref18 : undefined,
2350
1682
  maxNumberOfFiles: maxNumberOfFiles,
2351
1683
  mentionAllAppUsersEnabled: mentionAllAppUsersEnabled,
2352
1684
  mentionAllAppUsersQuery: mentionAllAppUsersQuery,
@@ -2370,18 +1702,16 @@ var ChannelWithContext = function ChannelWithContext(props) {
2370
1702
  });
2371
1703
  var messageListContext = (0, _useCreatePaginatedMessageListContext.useCreatePaginatedMessageListContext)({
2372
1704
  channelId: channelId,
2373
- hasMore: hasMore,
2374
- hasNoMoreRecentMessagesToLoad: hasNoMoreRecentMessagesToLoad,
2375
- loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : loadingMore,
2376
- loadingMoreRecent: loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : loadingMoreRecent,
1705
+ hasMore: channelMessagesState.hasMore,
1706
+ loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : channelMessagesState.loadingMore,
1707
+ loadingMoreRecent: loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : channelMessagesState.loadingMoreRecent,
1708
+ loadLatestMessages: loadLatestMessages,
2377
1709
  loadMore: loadMore,
2378
1710
  loadMoreRecent: loadMoreRecent,
2379
- messages: messages,
2380
- setLoadingMore: setLoadingMore,
2381
- setLoadingMoreRecent: setLoadingMoreRecent
1711
+ messages: (_channelMessagesState3 = channelMessagesState.messages) != null ? _channelMessagesState3 : []
2382
1712
  });
2383
1713
  var messagesContext = (0, _useCreateMessagesContext.useCreateMessagesContext)({
2384
- additionalTouchableProps: additionalTouchableProps,
1714
+ additionalPressableProps: additionalPressableProps,
2385
1715
  Attachment: Attachment,
2386
1716
  AttachmentActions: AttachmentActions,
2387
1717
  AudioAttachment: AudioAttachment,
@@ -2407,7 +1737,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
2407
1737
  Giphy: Giphy,
2408
1738
  giphyVersion: giphyVersion,
2409
1739
  handleBan: handleBan,
2410
- handleBlock: handleBlock,
2411
1740
  handleCopy: handleCopy,
2412
1741
  handleDelete: handleDelete,
2413
1742
  handleEdit: handleEdit,
@@ -2429,6 +1758,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
2429
1758
  legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
2430
1759
  markdownRules: markdownRules,
2431
1760
  Message: Message,
1761
+ MessageActionList: MessageActionList,
1762
+ MessageActionListItem: MessageActionListItem,
2432
1763
  messageActions: messageActions,
2433
1764
  MessageAvatar: MessageAvatar,
2434
1765
  MessageBounce: MessageBounce,
@@ -2440,21 +1771,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
2440
1771
  MessageFooter: MessageFooter,
2441
1772
  MessageHeader: MessageHeader,
2442
1773
  MessageList: MessageList,
1774
+ MessageMenu: MessageMenu,
2443
1775
  MessagePinnedHeader: MessagePinnedHeader,
1776
+ MessageReactionPicker: MessageReactionPicker,
2444
1777
  MessageReplies: MessageReplies,
2445
1778
  MessageRepliesAvatars: MessageRepliesAvatars,
2446
1779
  MessageSimple: MessageSimple,
2447
1780
  MessageStatus: MessageStatus,
2448
1781
  MessageSystem: MessageSystem,
2449
1782
  MessageText: MessageText,
1783
+ messageTextNumberOfLines: messageTextNumberOfLines,
2450
1784
  MessageTimestamp: MessageTimestamp,
1785
+ MessageUserReactions: MessageUserReactions,
1786
+ MessageUserReactionsAvatar: MessageUserReactionsAvatar,
1787
+ MessageUserReactionsItem: MessageUserReactionsItem,
2451
1788
  myMessageTheme: myMessageTheme,
2452
1789
  onLongPressMessage: onLongPressMessage,
2453
1790
  onPressInMessage: onPressInMessage,
2454
1791
  onPressMessage: onPressMessage,
2455
- OverlayReactionList: OverlayReactionList,
2456
1792
  PollContent: PollContent,
2457
- ReactionList: ReactionList,
1793
+ ReactionListBottom: ReactionListBottom,
1794
+ reactionListPosition: reactionListPosition,
1795
+ ReactionListTop: ReactionListTop,
2458
1796
  removeMessage: removeMessage,
2459
1797
  Reply: Reply,
2460
1798
  retrySendMessage: retrySendMessage,
@@ -2492,10 +1830,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
2492
1830
  threadMessages: threadMessages
2493
1831
  });
2494
1832
  var typingContext = (0, _useCreateTypingContext.useCreateTypingContext)({
2495
- typing: typing
1833
+ typing: (_channelState$typing = channelState.typing) != null ? _channelState$typing : {}
2496
1834
  });
2497
1835
  if (deleted) return null;
2498
- if (!channel || error && messages.length === 0) {
1836
+ if (!channel || error && ((_channelMessagesState4 = channelMessagesState.messages) == null ? void 0 : _channelMessagesState4.length) === 0) {
2499
1837
  return (0, _jsxRuntime.jsx)(LoadingErrorIndicator, {
2500
1838
  error: error,
2501
1839
  listType: "message",
@@ -2564,20 +1902,8 @@ var Channel = function Channel(props) {
2564
1902
  };
2565
1903
  var shouldSyncChannel = threadMessage != null && threadMessage.id ? !!props.threadList : true;
2566
1904
  var _useChannelState = (0, _useChannelState2.useChannelState)(props.channel, props.threadList ? threadMessage == null ? void 0 : threadMessage.id : undefined),
2567
- members = _useChannelState.members,
2568
- messages = _useChannelState.messages,
2569
- read = _useChannelState.read,
2570
- setMembers = _useChannelState.setMembers,
2571
- setMessages = _useChannelState.setMessages,
2572
- setRead = _useChannelState.setRead,
2573
1905
  setThreadMessages = _useChannelState.setThreadMessages,
2574
- setTyping = _useChannelState.setTyping,
2575
- setWatcherCount = _useChannelState.setWatcherCount,
2576
- setWatchers = _useChannelState.setWatchers,
2577
- threadMessages = _useChannelState.threadMessages,
2578
- typing = _useChannelState.typing,
2579
- watcherCount = _useChannelState.watcherCount,
2580
- watchers = _useChannelState.watchers;
1906
+ threadMessages = _useChannelState.threadMessages;
2581
1907
  return (0, _jsxRuntime.jsx)(ChannelWithContext, Object.assign({
2582
1908
  client: client,
2583
1909
  enableOfflineSupport: enableOfflineSupport,
@@ -2585,21 +1911,9 @@ var Channel = function Channel(props) {
2585
1911
  }, props, {
2586
1912
  shouldSyncChannel: shouldSyncChannel,
2587
1913
  isMessageAIGenerated: isMessageAIGenerated,
2588
- members: members,
2589
- messages: props.messages || messages,
2590
- read: read,
2591
- setMembers: setMembers,
2592
- setMessages: setMessages,
2593
- setRead: setRead,
2594
1914
  setThreadMessages: setThreadMessages,
2595
- setTyping: setTyping,
2596
- setWatcherCount: setWatcherCount,
2597
- setWatchers: setWatchers,
2598
1915
  thread: thread,
2599
- threadMessages: threadMessages,
2600
- typing: typing,
2601
- watcherCount: watcherCount,
2602
- watchers: watchers
1916
+ threadMessages: threadMessages
2603
1917
  }));
2604
1918
  };
2605
1919
  exports.Channel = Channel;