stream-chat-react-native-core 4.15.0-beta.3 → 5.0.0-beta.2

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 (1033) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +1 -1
  2. package/lib/commonjs/components/Attachment/AttachmentActions.js +1 -1
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachment.js +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  7. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js +19 -19
  9. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/GalleryImage.js +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +40 -40
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  14. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
  15. package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
  16. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
  17. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  18. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  20. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  22. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  24. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  27. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  28. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  29. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  30. package/lib/commonjs/components/Avatar/Avatar.js +31 -18
  31. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  32. package/lib/commonjs/components/Avatar/GroupAvatar.js +28 -21
  33. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  34. package/lib/commonjs/components/Channel/Channel.js +227 -257
  35. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  36. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
  37. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  38. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  39. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  40. package/lib/commonjs/components/ChannelList/ChannelList.js +41 -10
  41. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  42. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  43. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  44. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  45. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  46. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +20 -8
  47. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
  49. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  50. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  52. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  54. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +57 -22
  70. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  71. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +3 -3
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  81. package/lib/commonjs/components/Chat/Chat.js +45 -9
  82. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  83. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +144 -0
  84. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
  85. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js +171 -0
  86. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
  87. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +7 -3
  88. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  89. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js +3 -3
  90. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  91. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js +29 -0
  92. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -0
  93. package/lib/commonjs/components/ImageGallery/ImageGallery.js +36 -30
  94. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  100. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +3 -3
  102. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  103. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
  104. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +6 -0
  105. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  106. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  107. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  108. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  109. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  110. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  111. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  112. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  113. package/lib/commonjs/components/Message/Message.js +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
  122. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
  123. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  124. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
  125. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +2 -2
  126. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  127. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  128. package/lib/commonjs/components/Message/hooks/useMessageActions.js +1 -1
  129. package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
  130. package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
  131. package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
  132. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
  133. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +1 -1
  134. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
  135. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  136. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
  137. package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
  138. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  139. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  140. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  141. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  142. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
  143. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  144. package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
  145. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
  146. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  147. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  148. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  149. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  150. package/lib/commonjs/components/MessageList/MessageList.js +140 -112
  151. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  152. package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
  153. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  154. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  155. package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
  156. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
  157. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
  158. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
  159. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
  160. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  161. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
  162. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
  163. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  164. package/lib/commonjs/components/ProgressControl/ProgressControl.js +1 -1
  165. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  166. package/lib/commonjs/components/Reply/Reply.js +1 -1
  167. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  168. package/lib/commonjs/components/Thread/Thread.js +1 -1
  169. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
  170. package/lib/commonjs/components/index.js +26 -13
  171. package/lib/commonjs/components/index.js.map +1 -1
  172. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  173. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  174. package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
  175. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  176. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
  177. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  178. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -5
  179. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  180. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  181. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  182. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +14 -15
  183. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  184. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  185. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  186. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
  187. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +1 -1
  188. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  189. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  190. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -1
  191. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  192. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +13 -26
  193. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  194. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  195. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  196. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  197. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  198. package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
  199. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
  200. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  201. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
  202. package/lib/commonjs/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  203. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -0
  204. package/lib/commonjs/icons/ArrowRight.js +1 -1
  205. package/lib/commonjs/icons/AtMentions.js +1 -1
  206. package/lib/commonjs/icons/Attach.js +1 -1
  207. package/lib/commonjs/icons/Audio.js +1 -1
  208. package/lib/commonjs/icons/CSV.js +1 -1
  209. package/lib/commonjs/icons/Camera.js +1 -1
  210. package/lib/commonjs/icons/Check.js +1 -1
  211. package/lib/commonjs/icons/CheckAll.js +1 -1
  212. package/lib/commonjs/icons/CheckSend.js +1 -1
  213. package/lib/commonjs/icons/CircleClose.js +1 -1
  214. package/lib/commonjs/icons/CirclePlus.js +1 -1
  215. package/lib/commonjs/icons/CircleRight.js +1 -1
  216. package/lib/commonjs/icons/Close.js +1 -1
  217. package/lib/commonjs/icons/Copy.js +1 -1
  218. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  219. package/lib/commonjs/icons/DOC.js +1 -1
  220. package/lib/commonjs/icons/DOCX.js +1 -1
  221. package/lib/commonjs/icons/Delete.js +1 -1
  222. package/lib/commonjs/icons/Down.js +1 -1
  223. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  224. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  225. package/lib/commonjs/icons/Edit.js +1 -1
  226. package/lib/commonjs/icons/Error.js +1 -1
  227. package/lib/commonjs/icons/Eye.js +1 -1
  228. package/lib/commonjs/icons/Flag.js +1 -1
  229. package/lib/commonjs/icons/Folder.js +1 -1
  230. package/lib/commonjs/icons/GenericFile.js +1 -1
  231. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  232. package/lib/commonjs/icons/Grid.js +1 -1
  233. package/lib/commonjs/icons/Group.js +1 -1
  234. package/lib/commonjs/icons/HTML.js +1 -1
  235. package/lib/commonjs/icons/Imgur.js +1 -1
  236. package/lib/commonjs/icons/LOLReaction.js +1 -1
  237. package/lib/commonjs/icons/Lightning.js +1 -1
  238. package/lib/commonjs/icons/Link.js +1 -1
  239. package/lib/commonjs/icons/Loading.js +1 -1
  240. package/lib/commonjs/icons/Logo.js +1 -1
  241. package/lib/commonjs/icons/LoveReaction.js +1 -1
  242. package/lib/commonjs/icons/MD.js +1 -1
  243. package/lib/commonjs/icons/MailOpen.js +1 -1
  244. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  245. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  246. package/lib/commonjs/icons/MessageFlag.js +1 -1
  247. package/lib/commonjs/icons/MessageIcon.js +1 -1
  248. package/lib/commonjs/icons/Mute.js +1 -1
  249. package/lib/commonjs/icons/Notification.js +1 -1
  250. package/lib/commonjs/icons/ODT.js +1 -1
  251. package/lib/commonjs/icons/PDF.js +1 -1
  252. package/lib/commonjs/icons/PPT.js +1 -1
  253. package/lib/commonjs/icons/PPTX.js +1 -1
  254. package/lib/commonjs/icons/Pause.js +1 -1
  255. package/lib/commonjs/icons/Picture.js +1 -1
  256. package/lib/commonjs/icons/Pin.js +1 -1
  257. package/lib/commonjs/icons/PinHeader.js +1 -1
  258. package/lib/commonjs/icons/Play.js +1 -1
  259. package/lib/commonjs/icons/RAR.js +1 -1
  260. package/lib/commonjs/icons/RTF.js +1 -1
  261. package/lib/commonjs/icons/Recorder.js +1 -1
  262. package/lib/commonjs/icons/Refresh.js +1 -1
  263. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  264. package/lib/commonjs/icons/Search.js +1 -1
  265. package/lib/commonjs/icons/SendRight.js +1 -1
  266. package/lib/commonjs/icons/SendUp.js +1 -1
  267. package/lib/commonjs/icons/Share.js +1 -1
  268. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  269. package/lib/commonjs/icons/Smile.js +1 -1
  270. package/lib/commonjs/icons/Sound.js +1 -1
  271. package/lib/commonjs/icons/TAR.js +1 -1
  272. package/lib/commonjs/icons/TXT.js +1 -1
  273. package/lib/commonjs/icons/ThreadReply.js +1 -1
  274. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  275. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  276. package/lib/commonjs/icons/Time.js +1 -1
  277. package/lib/commonjs/icons/Unknown.js +1 -1
  278. package/lib/commonjs/icons/Unpin.js +1 -1
  279. package/lib/commonjs/icons/User.js +1 -1
  280. package/lib/commonjs/icons/UserAdd.js +1 -1
  281. package/lib/commonjs/icons/UserAdmin.js +1 -1
  282. package/lib/commonjs/icons/UserDelete.js +1 -1
  283. package/lib/commonjs/icons/UserMinus.js +1 -1
  284. package/lib/commonjs/icons/Video.js +1 -1
  285. package/lib/commonjs/icons/Warning.js +1 -1
  286. package/lib/commonjs/icons/WutReaction.js +1 -1
  287. package/lib/commonjs/icons/XLS.js +1 -1
  288. package/lib/commonjs/icons/XLSX.js +1 -1
  289. package/lib/commonjs/icons/ZIP.js +1 -1
  290. package/lib/commonjs/icons/utils/base.js +1 -1
  291. package/lib/commonjs/index.js +22 -1
  292. package/lib/commonjs/index.js.map +1 -1
  293. package/lib/commonjs/mock-builders/DB/consts.js +15 -0
  294. package/lib/commonjs/mock-builders/DB/consts.js.map +1 -0
  295. package/lib/commonjs/mock-builders/DB/mock.js +113 -0
  296. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -0
  297. package/lib/commonjs/mock-builders/event/memberAdded.js +17 -0
  298. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -0
  299. package/lib/commonjs/mock-builders/event/memberRemoved.js +17 -0
  300. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -0
  301. package/lib/commonjs/mock-builders/event/memberUpdated.js +17 -0
  302. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -0
  303. package/lib/commonjs/mock-builders/event/reactionDeleted.js +18 -0
  304. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -0
  305. package/lib/commonjs/mock-builders/event/reactionNew.js +18 -0
  306. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -0
  307. package/lib/commonjs/mock-builders/event/reactionUpdated.js +18 -0
  308. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -0
  309. package/lib/commonjs/mock-builders/generator/reaction.js +1 -1
  310. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  311. package/lib/commonjs/store/QuickSqliteClient.js +160 -0
  312. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -0
  313. package/lib/commonjs/store/apis/deleteChannel.js +26 -0
  314. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -0
  315. package/lib/commonjs/store/apis/deleteMember.js +28 -0
  316. package/lib/commonjs/store/apis/deleteMember.js.map +1 -0
  317. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +26 -0
  318. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -0
  319. package/lib/commonjs/store/apis/deleteReactions.js +28 -0
  320. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -0
  321. package/lib/commonjs/store/apis/getAllChannelIds.js +16 -0
  322. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -0
  323. package/lib/commonjs/store/apis/getChannelMessages.js +45 -0
  324. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -0
  325. package/lib/commonjs/store/apis/getChannels.js +47 -0
  326. package/lib/commonjs/store/apis/getChannels.js.map +1 -0
  327. package/lib/commonjs/store/apis/getChannelsForFilterSort.js +37 -0
  328. package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -0
  329. package/lib/commonjs/store/apis/getLastSyncedAt.js +23 -0
  330. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -0
  331. package/lib/commonjs/store/apis/getMembers.js +25 -0
  332. package/lib/commonjs/store/apis/getMembers.js.map +1 -0
  333. package/lib/commonjs/store/apis/getReads.js +25 -0
  334. package/lib/commonjs/store/apis/getReads.js.map +1 -0
  335. package/lib/commonjs/store/apis/index.js +264 -0
  336. package/lib/commonjs/store/apis/index.js.map +1 -0
  337. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  338. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  339. package/lib/commonjs/store/apis/queries/selectChannels.js +30 -0
  340. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -0
  341. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +27 -0
  342. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -0
  343. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +27 -0
  344. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  345. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +27 -0
  346. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  347. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +27 -0
  348. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -0
  349. package/lib/commonjs/store/apis/updateMessage.js +69 -0
  350. package/lib/commonjs/store/apis/updateMessage.js.map +1 -0
  351. package/lib/commonjs/store/apis/updateReaction.js +53 -0
  352. package/lib/commonjs/store/apis/updateReaction.js.map +1 -0
  353. package/lib/commonjs/store/apis/upsertChannelData.js +26 -0
  354. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -0
  355. package/lib/commonjs/store/apis/upsertChannels.js +83 -0
  356. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -0
  357. package/lib/commonjs/store/apis/upsertCidsForQuery.js +34 -0
  358. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -0
  359. package/lib/commonjs/store/apis/upsertLastSyncedAt.js +22 -0
  360. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -0
  361. package/lib/commonjs/store/apis/upsertMembers.js +39 -0
  362. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -0
  363. package/lib/commonjs/store/apis/upsertMessages.js +52 -0
  364. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -0
  365. package/lib/commonjs/store/apis/upsertReads.js +39 -0
  366. package/lib/commonjs/store/apis/upsertReads.js.map +1 -0
  367. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +13 -0
  368. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  369. package/lib/commonjs/store/constants.js +11 -0
  370. package/lib/commonjs/store/constants.js.map +1 -0
  371. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +67 -0
  372. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -0
  373. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +12 -0
  374. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -0
  375. package/lib/commonjs/store/mappers/mapMemberToStorable.js +39 -0
  376. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -0
  377. package/lib/commonjs/store/mappers/mapMessageToStorable.js +42 -0
  378. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -0
  379. package/lib/commonjs/store/mappers/mapReactionToStorable.js +34 -0
  380. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -0
  381. package/lib/commonjs/store/mappers/mapReadToStorable.js +23 -0
  382. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -0
  383. package/lib/commonjs/store/mappers/mapStorableToChannel.js +65 -0
  384. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -0
  385. package/lib/commonjs/store/mappers/mapStorableToMember.js +38 -0
  386. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -0
  387. package/lib/commonjs/store/mappers/mapStorableToMessage.js +50 -0
  388. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -0
  389. package/lib/commonjs/store/mappers/mapStorableToReaction.js +31 -0
  390. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -0
  391. package/lib/commonjs/store/mappers/mapStorableToRead.js +20 -0
  392. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -0
  393. package/lib/commonjs/store/mappers/mapStorableToUser.js +31 -0
  394. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -0
  395. package/lib/commonjs/store/mappers/mapUserToStorable.js +34 -0
  396. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -0
  397. package/lib/commonjs/store/schema.js +161 -0
  398. package/lib/commonjs/store/schema.js.map +1 -0
  399. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +37 -0
  400. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  401. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +35 -0
  402. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  403. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +14 -0
  404. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  405. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +26 -0
  406. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -0
  407. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +29 -0
  408. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  409. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +30 -0
  410. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  411. package/lib/commonjs/store/sqlite-utils/printRow.js +23 -0
  412. package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -0
  413. package/lib/commonjs/store/types.js +4 -0
  414. package/lib/commonjs/store/types.js.map +1 -0
  415. package/lib/commonjs/test-utils/BetterSqlite.js +54 -0
  416. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -0
  417. package/lib/commonjs/version.json +1 -1
  418. package/lib/module/components/Attachment/Attachment.js +1 -1
  419. package/lib/module/components/Attachment/AttachmentActions.js +1 -1
  420. package/lib/module/components/Attachment/AudioAttachment.js +1 -1
  421. package/lib/module/components/Attachment/Card.js +1 -1
  422. package/lib/module/components/Attachment/FileAttachment.js +1 -1
  423. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  424. package/lib/module/components/Attachment/FileIcon.js +1 -1
  425. package/lib/module/components/Attachment/Gallery.js +19 -19
  426. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  427. package/lib/module/components/Attachment/GalleryImage.js +1 -1
  428. package/lib/module/components/Attachment/Giphy.js +40 -40
  429. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  430. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  431. package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
  432. package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
  433. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
  434. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  435. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  436. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  437. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  438. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  439. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  440. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  441. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  442. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  443. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  444. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  445. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  446. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  447. package/lib/module/components/Avatar/Avatar.js +31 -18
  448. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  449. package/lib/module/components/Avatar/GroupAvatar.js +28 -21
  450. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  451. package/lib/module/components/Channel/Channel.js +227 -257
  452. package/lib/module/components/Channel/Channel.js.map +1 -1
  453. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
  454. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  455. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  456. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  457. package/lib/module/components/ChannelList/ChannelList.js +41 -10
  458. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  459. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  460. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  461. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  462. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  463. package/lib/module/components/ChannelList/ChannelListMessenger.js +20 -8
  464. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  465. package/lib/module/components/ChannelList/Skeleton.js +1 -1
  466. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  467. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  468. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  469. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  470. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  471. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  472. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  473. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  474. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  475. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  476. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  477. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  478. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  479. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  480. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  481. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  482. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  483. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  484. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  485. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  486. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +57 -22
  487. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  488. package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
  489. package/lib/module/components/ChannelPreview/ChannelPreview.js +3 -3
  490. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  491. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  492. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  493. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  494. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  495. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  496. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  497. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  498. package/lib/module/components/Chat/Chat.js +45 -9
  499. package/lib/module/components/Chat/Chat.js.map +1 -1
  500. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +144 -0
  501. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
  502. package/lib/module/components/Chat/hooks/useConnectionRecovered.js +171 -0
  503. package/lib/module/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
  504. package/lib/module/components/Chat/hooks/useCreateChatContext.js +7 -3
  505. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  506. package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -3
  507. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  508. package/lib/module/components/Chat/hooks/useSyncDatabase.js +29 -0
  509. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -0
  510. package/lib/module/components/ImageGallery/ImageGallery.js +36 -30
  511. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  512. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  513. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  514. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  515. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  516. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  517. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  518. package/lib/module/components/ImageGallery/components/ImageGrid.js +3 -3
  519. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  520. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
  521. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +6 -0
  522. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  523. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  524. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  525. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  526. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  527. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  528. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  529. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  530. package/lib/module/components/Message/Message.js +1 -1
  531. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
  532. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  533. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  534. package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -1
  535. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  536. package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
  537. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  538. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  539. package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
  540. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  541. package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
  542. package/lib/module/components/Message/MessageSimple/utils/renderText.js +2 -2
  543. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  544. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  545. package/lib/module/components/Message/hooks/useMessageActions.js +1 -1
  546. package/lib/module/components/MessageInput/AttachButton.js +1 -1
  547. package/lib/module/components/MessageInput/CommandsButton.js +1 -1
  548. package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
  549. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  550. package/lib/module/components/MessageInput/ImageUploadPreview.js +1 -1
  551. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  552. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  553. package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
  554. package/lib/module/components/MessageInput/SendButton.js +1 -1
  555. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  556. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  557. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  558. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  559. package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
  560. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  561. package/lib/module/components/MessageList/DateHeader.js +1 -1
  562. package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
  563. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  564. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  565. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  566. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  567. package/lib/module/components/MessageList/MessageList.js +140 -112
  568. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  569. package/lib/module/components/MessageList/MessageSystem.js +1 -1
  570. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  571. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  572. package/lib/module/components/MessageList/TypingIndicator.js +1 -1
  573. package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
  574. package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
  575. package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
  576. package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
  577. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  578. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
  579. package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
  580. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  581. package/lib/module/components/ProgressControl/ProgressControl.js +1 -1
  582. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  583. package/lib/module/components/Reply/Reply.js +1 -1
  584. package/lib/module/components/Spinner/Spinner.js +1 -1
  585. package/lib/module/components/Thread/Thread.js +1 -1
  586. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
  587. package/lib/module/components/index.js +26 -13
  588. package/lib/module/components/index.js.map +1 -1
  589. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  590. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  591. package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
  592. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  593. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
  594. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  595. package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -5
  596. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  597. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  598. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  599. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +14 -15
  600. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  601. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  602. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  603. package/lib/module/contexts/messageContext/MessageContext.js +1 -1
  604. package/lib/module/contexts/messageInputContext/MessageInputContext.js +1 -1
  605. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  606. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  607. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -1
  608. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  609. package/lib/module/contexts/overlayContext/OverlayProvider.js +13 -26
  610. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  611. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  612. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  613. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  614. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  615. package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
  616. package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
  617. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  618. package/lib/module/contexts/typingContext/TypingContext.js +1 -1
  619. package/lib/module/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  620. package/lib/module/hooks/useLoadingImage.js.map +1 -0
  621. package/lib/module/icons/ArrowRight.js +1 -1
  622. package/lib/module/icons/AtMentions.js +1 -1
  623. package/lib/module/icons/Attach.js +1 -1
  624. package/lib/module/icons/Audio.js +1 -1
  625. package/lib/module/icons/CSV.js +1 -1
  626. package/lib/module/icons/Camera.js +1 -1
  627. package/lib/module/icons/Check.js +1 -1
  628. package/lib/module/icons/CheckAll.js +1 -1
  629. package/lib/module/icons/CheckSend.js +1 -1
  630. package/lib/module/icons/CircleClose.js +1 -1
  631. package/lib/module/icons/CirclePlus.js +1 -1
  632. package/lib/module/icons/CircleRight.js +1 -1
  633. package/lib/module/icons/Close.js +1 -1
  634. package/lib/module/icons/Copy.js +1 -1
  635. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  636. package/lib/module/icons/DOC.js +1 -1
  637. package/lib/module/icons/DOCX.js +1 -1
  638. package/lib/module/icons/Delete.js +1 -1
  639. package/lib/module/icons/Down.js +1 -1
  640. package/lib/module/icons/DownloadArrow.js +1 -1
  641. package/lib/module/icons/DownloadCloud.js +1 -1
  642. package/lib/module/icons/Edit.js +1 -1
  643. package/lib/module/icons/Error.js +1 -1
  644. package/lib/module/icons/Eye.js +1 -1
  645. package/lib/module/icons/Flag.js +1 -1
  646. package/lib/module/icons/Folder.js +1 -1
  647. package/lib/module/icons/GenericFile.js +1 -1
  648. package/lib/module/icons/GiphyIcon.js +1 -1
  649. package/lib/module/icons/Grid.js +1 -1
  650. package/lib/module/icons/Group.js +1 -1
  651. package/lib/module/icons/HTML.js +1 -1
  652. package/lib/module/icons/Imgur.js +1 -1
  653. package/lib/module/icons/LOLReaction.js +1 -1
  654. package/lib/module/icons/Lightning.js +1 -1
  655. package/lib/module/icons/Link.js +1 -1
  656. package/lib/module/icons/Loading.js +1 -1
  657. package/lib/module/icons/Logo.js +1 -1
  658. package/lib/module/icons/LoveReaction.js +1 -1
  659. package/lib/module/icons/MD.js +1 -1
  660. package/lib/module/icons/MailOpen.js +1 -1
  661. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  662. package/lib/module/icons/MenuPointVertical.js +1 -1
  663. package/lib/module/icons/MessageFlag.js +1 -1
  664. package/lib/module/icons/MessageIcon.js +1 -1
  665. package/lib/module/icons/Mute.js +1 -1
  666. package/lib/module/icons/Notification.js +1 -1
  667. package/lib/module/icons/ODT.js +1 -1
  668. package/lib/module/icons/PDF.js +1 -1
  669. package/lib/module/icons/PPT.js +1 -1
  670. package/lib/module/icons/PPTX.js +1 -1
  671. package/lib/module/icons/Pause.js +1 -1
  672. package/lib/module/icons/Picture.js +1 -1
  673. package/lib/module/icons/Pin.js +1 -1
  674. package/lib/module/icons/PinHeader.js +1 -1
  675. package/lib/module/icons/Play.js +1 -1
  676. package/lib/module/icons/RAR.js +1 -1
  677. package/lib/module/icons/RTF.js +1 -1
  678. package/lib/module/icons/Recorder.js +1 -1
  679. package/lib/module/icons/Refresh.js +1 -1
  680. package/lib/module/icons/SEVEN_Z.js +1 -1
  681. package/lib/module/icons/Search.js +1 -1
  682. package/lib/module/icons/SendRight.js +1 -1
  683. package/lib/module/icons/SendUp.js +1 -1
  684. package/lib/module/icons/Share.js +1 -1
  685. package/lib/module/icons/ShareRightArrow.js +1 -1
  686. package/lib/module/icons/Smile.js +1 -1
  687. package/lib/module/icons/Sound.js +1 -1
  688. package/lib/module/icons/TAR.js +1 -1
  689. package/lib/module/icons/TXT.js +1 -1
  690. package/lib/module/icons/ThreadReply.js +1 -1
  691. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  692. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  693. package/lib/module/icons/Time.js +1 -1
  694. package/lib/module/icons/Unknown.js +1 -1
  695. package/lib/module/icons/Unpin.js +1 -1
  696. package/lib/module/icons/User.js +1 -1
  697. package/lib/module/icons/UserAdd.js +1 -1
  698. package/lib/module/icons/UserAdmin.js +1 -1
  699. package/lib/module/icons/UserDelete.js +1 -1
  700. package/lib/module/icons/UserMinus.js +1 -1
  701. package/lib/module/icons/Video.js +1 -1
  702. package/lib/module/icons/Warning.js +1 -1
  703. package/lib/module/icons/WutReaction.js +1 -1
  704. package/lib/module/icons/XLS.js +1 -1
  705. package/lib/module/icons/XLSX.js +1 -1
  706. package/lib/module/icons/ZIP.js +1 -1
  707. package/lib/module/icons/utils/base.js +1 -1
  708. package/lib/module/index.js +22 -1
  709. package/lib/module/index.js.map +1 -1
  710. package/lib/module/mock-builders/DB/consts.js +15 -0
  711. package/lib/module/mock-builders/DB/consts.js.map +1 -0
  712. package/lib/module/mock-builders/DB/mock.js +113 -0
  713. package/lib/module/mock-builders/DB/mock.js.map +1 -0
  714. package/lib/module/mock-builders/event/memberAdded.js +17 -0
  715. package/lib/module/mock-builders/event/memberAdded.js.map +1 -0
  716. package/lib/module/mock-builders/event/memberRemoved.js +17 -0
  717. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -0
  718. package/lib/module/mock-builders/event/memberUpdated.js +17 -0
  719. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -0
  720. package/lib/module/mock-builders/event/reactionDeleted.js +18 -0
  721. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -0
  722. package/lib/module/mock-builders/event/reactionNew.js +18 -0
  723. package/lib/module/mock-builders/event/reactionNew.js.map +1 -0
  724. package/lib/module/mock-builders/event/reactionUpdated.js +18 -0
  725. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -0
  726. package/lib/module/mock-builders/generator/reaction.js +1 -1
  727. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  728. package/lib/module/store/QuickSqliteClient.js +160 -0
  729. package/lib/module/store/QuickSqliteClient.js.map +1 -0
  730. package/lib/module/store/apis/deleteChannel.js +26 -0
  731. package/lib/module/store/apis/deleteChannel.js.map +1 -0
  732. package/lib/module/store/apis/deleteMember.js +28 -0
  733. package/lib/module/store/apis/deleteMember.js.map +1 -0
  734. package/lib/module/store/apis/deleteMessagesForChannel.js +26 -0
  735. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -0
  736. package/lib/module/store/apis/deleteReactions.js +28 -0
  737. package/lib/module/store/apis/deleteReactions.js.map +1 -0
  738. package/lib/module/store/apis/getAllChannelIds.js +16 -0
  739. package/lib/module/store/apis/getAllChannelIds.js.map +1 -0
  740. package/lib/module/store/apis/getChannelMessages.js +45 -0
  741. package/lib/module/store/apis/getChannelMessages.js.map +1 -0
  742. package/lib/module/store/apis/getChannels.js +47 -0
  743. package/lib/module/store/apis/getChannels.js.map +1 -0
  744. package/lib/module/store/apis/getChannelsForFilterSort.js +37 -0
  745. package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -0
  746. package/lib/module/store/apis/getLastSyncedAt.js +23 -0
  747. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -0
  748. package/lib/module/store/apis/getMembers.js +25 -0
  749. package/lib/module/store/apis/getMembers.js.map +1 -0
  750. package/lib/module/store/apis/getReads.js +25 -0
  751. package/lib/module/store/apis/getReads.js.map +1 -0
  752. package/lib/module/store/apis/index.js +264 -0
  753. package/lib/module/store/apis/index.js.map +1 -0
  754. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  755. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  756. package/lib/module/store/apis/queries/selectChannels.js +30 -0
  757. package/lib/module/store/apis/queries/selectChannels.js.map +1 -0
  758. package/lib/module/store/apis/queries/selectMembersForChannels.js +27 -0
  759. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -0
  760. package/lib/module/store/apis/queries/selectMessagesForChannels.js +27 -0
  761. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  762. package/lib/module/store/apis/queries/selectReactionsForMessages.js +27 -0
  763. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  764. package/lib/module/store/apis/queries/selectReadsForChannels.js +27 -0
  765. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -0
  766. package/lib/module/store/apis/updateMessage.js +69 -0
  767. package/lib/module/store/apis/updateMessage.js.map +1 -0
  768. package/lib/module/store/apis/updateReaction.js +53 -0
  769. package/lib/module/store/apis/updateReaction.js.map +1 -0
  770. package/lib/module/store/apis/upsertChannelData.js +26 -0
  771. package/lib/module/store/apis/upsertChannelData.js.map +1 -0
  772. package/lib/module/store/apis/upsertChannels.js +83 -0
  773. package/lib/module/store/apis/upsertChannels.js.map +1 -0
  774. package/lib/module/store/apis/upsertCidsForQuery.js +34 -0
  775. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -0
  776. package/lib/module/store/apis/upsertLastSyncedAt.js +22 -0
  777. package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -0
  778. package/lib/module/store/apis/upsertMembers.js +39 -0
  779. package/lib/module/store/apis/upsertMembers.js.map +1 -0
  780. package/lib/module/store/apis/upsertMessages.js +52 -0
  781. package/lib/module/store/apis/upsertMessages.js.map +1 -0
  782. package/lib/module/store/apis/upsertReads.js +39 -0
  783. package/lib/module/store/apis/upsertReads.js.map +1 -0
  784. package/lib/module/store/apis/utils/convertFilterSortToQuery.js +13 -0
  785. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  786. package/lib/module/store/constants.js +11 -0
  787. package/lib/module/store/constants.js.map +1 -0
  788. package/lib/module/store/mappers/mapChannelDataToStorable.js +67 -0
  789. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -0
  790. package/lib/module/store/mappers/mapDateTimeToStorable.js +12 -0
  791. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -0
  792. package/lib/module/store/mappers/mapMemberToStorable.js +39 -0
  793. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -0
  794. package/lib/module/store/mappers/mapMessageToStorable.js +42 -0
  795. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -0
  796. package/lib/module/store/mappers/mapReactionToStorable.js +34 -0
  797. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -0
  798. package/lib/module/store/mappers/mapReadToStorable.js +23 -0
  799. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -0
  800. package/lib/module/store/mappers/mapStorableToChannel.js +65 -0
  801. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -0
  802. package/lib/module/store/mappers/mapStorableToMember.js +38 -0
  803. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -0
  804. package/lib/module/store/mappers/mapStorableToMessage.js +50 -0
  805. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -0
  806. package/lib/module/store/mappers/mapStorableToReaction.js +31 -0
  807. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -0
  808. package/lib/module/store/mappers/mapStorableToRead.js +20 -0
  809. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -0
  810. package/lib/module/store/mappers/mapStorableToUser.js +31 -0
  811. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -0
  812. package/lib/module/store/mappers/mapUserToStorable.js +34 -0
  813. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -0
  814. package/lib/module/store/schema.js +161 -0
  815. package/lib/module/store/schema.js.map +1 -0
  816. package/lib/module/store/sqlite-utils/appendWhereCluase.js +37 -0
  817. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  818. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +35 -0
  819. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  820. package/lib/module/store/sqlite-utils/createDeleteQuery.js +14 -0
  821. package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  822. package/lib/module/store/sqlite-utils/createSelectQuery.js +26 -0
  823. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -0
  824. package/lib/module/store/sqlite-utils/createUpdateQuery.js +29 -0
  825. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  826. package/lib/module/store/sqlite-utils/createUpsertQuery.js +30 -0
  827. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  828. package/lib/module/store/sqlite-utils/printRow.js +23 -0
  829. package/lib/module/store/sqlite-utils/printRow.js.map +1 -0
  830. package/lib/module/store/types.js +4 -0
  831. package/lib/module/store/types.js.map +1 -0
  832. package/lib/module/test-utils/BetterSqlite.js +54 -0
  833. package/lib/module/test-utils/BetterSqlite.js.map +1 -0
  834. package/lib/module/version.json +1 -1
  835. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  836. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  837. package/lib/typescript/components/Channel/Channel.d.ts +3 -5
  838. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  839. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  840. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  841. package/lib/typescript/components/Chat/Chat.d.ts +4 -0
  842. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +2 -0
  843. package/lib/typescript/components/Chat/hooks/useConnectionRecovered.d.ts +10 -0
  844. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  845. package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts +8 -0
  846. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  847. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +2 -1
  848. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  849. package/lib/typescript/components/index.d.ts +2 -1
  850. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +17 -0
  851. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +3 -1
  852. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +9 -10
  853. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +4 -0
  854. package/lib/typescript/{components/Attachment/hooks → hooks}/useLoadingImage.d.ts +0 -0
  855. package/lib/typescript/index.d.ts +3 -0
  856. package/lib/typescript/store/QuickSqliteClient.d.ts +22 -0
  857. package/lib/typescript/store/apis/deleteChannel.d.ts +4 -0
  858. package/lib/typescript/store/apis/deleteMember.d.ts +6 -0
  859. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -0
  860. package/lib/typescript/store/apis/deleteReactions.d.ts +4 -0
  861. package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -0
  862. package/lib/typescript/store/apis/getChannelMessages.d.ts +6 -0
  863. package/lib/typescript/store/apis/getChannels.d.ts +15 -0
  864. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts +17 -0
  865. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +3 -0
  866. package/lib/typescript/store/apis/getMembers.d.ts +5 -0
  867. package/lib/typescript/store/apis/getReads.d.ts +5 -0
  868. package/lib/typescript/store/apis/index.d.ts +20 -0
  869. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +15 -0
  870. package/lib/typescript/store/apis/queries/selectChannels.d.ts +4 -0
  871. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +2 -0
  872. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +2 -0
  873. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +2 -0
  874. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +2 -0
  875. package/lib/typescript/store/apis/updateMessage.d.ts +6 -0
  876. package/lib/typescript/store/apis/updateReaction.d.ts +7 -0
  877. package/lib/typescript/store/apis/upsertChannelData.d.ts +5 -0
  878. package/lib/typescript/store/apis/upsertChannels.d.ts +9 -0
  879. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +7 -0
  880. package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +4 -0
  881. package/lib/typescript/store/apis/upsertMembers.d.ts +7 -0
  882. package/lib/typescript/store/apis/upsertMessages.d.ts +6 -0
  883. package/lib/typescript/store/apis/upsertReads.d.ts +7 -0
  884. package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts +6 -0
  885. package/lib/typescript/store/constants.d.ts +3 -0
  886. package/lib/typescript/store/mappers/mapChannelDataToStorable.d.ts +4 -0
  887. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -0
  888. package/lib/typescript/store/mappers/mapMemberToStorable.d.ts +7 -0
  889. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +3 -0
  890. package/lib/typescript/store/mappers/mapReactionToStorable.d.ts +3 -0
  891. package/lib/typescript/store/mappers/mapReadToStorable.d.ts +7 -0
  892. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +4 -0
  893. package/lib/typescript/store/mappers/mapStorableToMember.d.ts +4 -0
  894. package/lib/typescript/store/mappers/mapStorableToMessage.d.ts +8 -0
  895. package/lib/typescript/store/mappers/mapStorableToReaction.d.ts +4 -0
  896. package/lib/typescript/store/mappers/mapStorableToRead.d.ts +4 -0
  897. package/lib/typescript/store/mappers/mapStorableToUser.d.ts +4 -0
  898. package/lib/typescript/store/mappers/mapUserToStorable.d.ts +3 -0
  899. package/lib/typescript/store/schema.d.ts +110 -0
  900. package/lib/typescript/store/sqlite-utils/__tests__/createSelectQuery.test.d.ts +1 -0
  901. package/lib/typescript/store/sqlite-utils/appendWhereCluase.d.ts +3 -0
  902. package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts +2 -0
  903. package/lib/typescript/store/sqlite-utils/createDeleteQuery.d.ts +12 -0
  904. package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +13 -0
  905. package/lib/typescript/store/sqlite-utils/createUpdateQuery.d.ts +13 -0
  906. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +11 -0
  907. package/lib/typescript/store/sqlite-utils/printRow.d.ts +2 -0
  908. package/lib/typescript/store/types.d.ts +9 -0
  909. package/lib/typescript/test-utils/BetterSqlite.d.ts +8 -0
  910. package/package.json +5 -2
  911. package/src/__tests__/offline-feature.test.js +656 -0
  912. package/src/components/Attachment/Gallery.tsx +18 -17
  913. package/src/components/Attachment/Giphy.tsx +9 -10
  914. package/src/components/Avatar/Avatar.tsx +45 -31
  915. package/src/components/Avatar/GroupAvatar.tsx +46 -35
  916. package/src/components/Channel/Channel.tsx +101 -136
  917. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
  918. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +2 -0
  919. package/src/components/ChannelList/ChannelList.tsx +28 -8
  920. package/src/components/ChannelList/ChannelListMessenger.tsx +4 -0
  921. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +2 -0
  922. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +2 -2
  923. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  924. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  925. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  926. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  927. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +2 -2
  928. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -2
  929. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -2
  930. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  931. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +5 -4
  932. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +46 -10
  933. package/src/components/ChannelPreview/ChannelPreview.tsx +2 -2
  934. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +10 -9
  935. package/src/components/Chat/Chat.tsx +41 -4
  936. package/src/components/Chat/hooks/handleEventToSyncDB.ts +142 -0
  937. package/src/components/Chat/hooks/useConnectionRecovered.ts +92 -0
  938. package/src/components/Chat/hooks/useCreateChatContext.ts +9 -3
  939. package/src/components/Chat/hooks/useMutedUsers.ts +5 -3
  940. package/src/components/Chat/hooks/useSyncDatabase.ts +30 -0
  941. package/src/components/ImageGallery/ImageGallery.tsx +30 -18
  942. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +6 -6
  943. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -3
  944. package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +3 -3
  945. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +3 -3
  946. package/src/components/ImageGallery/components/ImageGrid.tsx +3 -3
  947. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +16 -0
  948. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -0
  949. package/src/components/Message/MessageSimple/utils/renderText.tsx +1 -1
  950. package/src/components/MessageList/MessageList.tsx +162 -106
  951. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +6 -0
  952. package/src/components/index.ts +2 -1
  953. package/src/contexts/channelContext/ChannelContext.tsx +15 -0
  954. package/src/contexts/channelsStateContext/useChannelState.ts +2 -2
  955. package/src/contexts/chatContext/ChatContext.tsx +3 -1
  956. package/src/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  957. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +19 -14
  958. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -5
  959. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +4 -0
  960. package/src/{components/Attachment/hooks → hooks}/useLoadingImage.tsx +9 -1
  961. package/src/index.ts +4 -0
  962. package/src/mock-builders/DB/consts.ts +2 -0
  963. package/src/mock-builders/DB/mock.ts +107 -0
  964. package/src/mock-builders/event/memberAdded.js +8 -0
  965. package/src/mock-builders/event/memberRemoved.js +8 -0
  966. package/src/mock-builders/event/memberUpdated.js +8 -0
  967. package/src/mock-builders/event/reactionDeleted.js +9 -0
  968. package/src/mock-builders/event/reactionNew.js +9 -0
  969. package/src/mock-builders/event/reactionUpdated.js +9 -0
  970. package/src/mock-builders/generator/reaction.js +1 -1
  971. package/src/store/QuickSqliteClient.ts +144 -0
  972. package/src/store/apis/deleteChannel.ts +14 -0
  973. package/src/store/apis/deleteMember.ts +25 -0
  974. package/src/store/apis/deleteMessagesForChannel.ts +19 -0
  975. package/src/store/apis/deleteReactions.ts +24 -0
  976. package/src/store/apis/getAllChannelIds.ts +7 -0
  977. package/src/store/apis/getChannelMessages.ts +50 -0
  978. package/src/store/apis/getChannels.ts +46 -0
  979. package/src/store/apis/getChannelsForFilterSort.ts +45 -0
  980. package/src/store/apis/getLastSyncedAt.ts +17 -0
  981. package/src/store/apis/getMembers.ts +26 -0
  982. package/src/store/apis/getReads.ts +26 -0
  983. package/src/store/apis/index.ts +20 -0
  984. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +38 -0
  985. package/src/store/apis/queries/selectChannels.ts +25 -0
  986. package/src/store/apis/queries/selectMembersForChannels.ts +32 -0
  987. package/src/store/apis/queries/selectMessagesForChannels.ts +40 -0
  988. package/src/store/apis/queries/selectReactionsForMessages.ts +33 -0
  989. package/src/store/apis/queries/selectReadsForChannels.ts +30 -0
  990. package/src/store/apis/updateMessage.ts +65 -0
  991. package/src/store/apis/updateReaction.ts +54 -0
  992. package/src/store/apis/upsertChannelData.ts +20 -0
  993. package/src/store/apis/upsertChannels.ts +79 -0
  994. package/src/store/apis/upsertCidsForQuery.ts +30 -0
  995. package/src/store/apis/upsertLastSyncedAt.ts +17 -0
  996. package/src/store/apis/upsertMembers.ts +41 -0
  997. package/src/store/apis/upsertMessages.ts +43 -0
  998. package/src/store/apis/upsertReads.ts +41 -0
  999. package/src/store/apis/utils/convertFilterSortToQuery.ts +14 -0
  1000. package/src/store/constants.ts +3 -0
  1001. package/src/store/mappers/mapChannelDataToStorable.ts +67 -0
  1002. package/src/store/mappers/mapDateTimeToStorable.ts +5 -0
  1003. package/src/store/mappers/mapMemberToStorable.ts +45 -0
  1004. package/src/store/mappers/mapMessageToStorable.ts +35 -0
  1005. package/src/store/mappers/mapReactionToStorable.ts +19 -0
  1006. package/src/store/mappers/mapReadToStorable.ts +25 -0
  1007. package/src/store/mappers/mapStorableToChannel.ts +69 -0
  1008. package/src/store/mappers/mapStorableToMember.ts +42 -0
  1009. package/src/store/mappers/mapStorableToMessage.ts +40 -0
  1010. package/src/store/mappers/mapStorableToReaction.ts +25 -0
  1011. package/src/store/mappers/mapStorableToRead.ts +21 -0
  1012. package/src/store/mappers/mapStorableToUser.ts +23 -0
  1013. package/src/store/mappers/mapUserToStorable.ts +18 -0
  1014. package/src/store/schema.ts +284 -0
  1015. package/src/store/sqlite-utils/__tests__/createSelectQuery.test.ts +21 -0
  1016. package/src/store/sqlite-utils/appendWhereCluase.ts +32 -0
  1017. package/src/store/sqlite-utils/createCreateTableQuery.ts +39 -0
  1018. package/src/store/sqlite-utils/createDeleteQuery.ts +23 -0
  1019. package/src/store/sqlite-utils/createSelectQuery.ts +25 -0
  1020. package/src/store/sqlite-utils/createUpdateQuery.ts +27 -0
  1021. package/src/store/sqlite-utils/createUpsertQuery.ts +48 -0
  1022. package/src/store/sqlite-utils/printRow.ts +19 -0
  1023. package/src/store/types.ts +12 -0
  1024. package/src/test-utils/BetterSqlite.js +44 -0
  1025. package/src/version.json +1 -1
  1026. package/lib/commonjs/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  1027. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
  1028. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
  1029. package/lib/module/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  1030. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
  1031. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
  1032. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +0 -8
  1033. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +0 -41
@@ -28,9 +28,9 @@ var useChannelTruncated = function useChannelTruncated(_ref) {
28
28
  });
29
29
  };
30
30
 
31
- client.on('channel.truncated', handleEvent);
31
+ var listener = client == null ? void 0 : client.on('channel.truncated', handleEvent);
32
32
  return function () {
33
- return client.off('channel.truncated', handleEvent);
33
+ return listener == null ? void 0 : listener.unsubscribe();
34
34
  };
35
35
  }, []);
36
36
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelTruncated.ts"],"names":["useChannelTruncated","onChannelTruncated","refreshList","setChannels","setForceUpdate","client","handleEvent","event","count","on","off"],"mappings":";;;;;AAAA;;AAIA;;AAeO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAOG;AAAA,MAJpCC,kBAIoC,QAJpCA,kBAIoC;AAAA,MAHpCC,WAGoC,QAHpCA,WAGoC;AAAA,MAFpCC,WAEoC,QAFpCA,WAEoC;AAAA,MADpCC,cACoC,QADpCA,cACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxD,UAAI,OAAON,kBAAP,KAA8B,UAAlC,EAA8C;AAC5CA,QAAAA,kBAAkB,CAACE,WAAD,EAAcI,KAAd,CAAlB;AACD;;AACDL,MAAAA,WAAW;AACXE,MAAAA,cAAc,CAAC,UAACI,KAAD;AAAA,eAAWA,KAAK,GAAG,CAAnB;AAAA,OAAD,CAAd;AACD,KAND;;AAQAH,IAAAA,MAAM,CAACI,EAAP,CAAU,mBAAV,EAA+BH,WAA/B;AACA,WAAO;AAAA,aAAMD,MAAM,CAACK,GAAP,CAAW,mBAAX,EAAgCJ,WAAhC,CAAN;AAAA,KAAP;AACD,GAXD,EAWG,EAXH;AAYD,CAtBM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n refreshList: () => void;\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n setForceUpdate: React.Dispatch<React.SetStateAction<number>>;\n onChannelTruncated?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelTruncated = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelTruncated,\n refreshList,\n setChannels,\n setForceUpdate,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelTruncated === 'function') {\n onChannelTruncated(setChannels, event);\n }\n refreshList();\n setForceUpdate((count) => count + 1);\n };\n\n client.on('channel.truncated', handleEvent);\n return () => client.off('channel.truncated', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useChannelTruncated.ts"],"names":["useChannelTruncated","onChannelTruncated","refreshList","setChannels","setForceUpdate","client","handleEvent","event","count","listener","on","unsubscribe"],"mappings":";;;;;AAAA;;AAIA;;AAeO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAOG;AAAA,MAJpCC,kBAIoC,QAJpCA,kBAIoC;AAAA,MAHpCC,WAGoC,QAHpCA,WAGoC;AAAA,MAFpCC,WAEoC,QAFpCA,WAEoC;AAAA,MADpCC,cACoC,QADpCA,cACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxD,UAAI,OAAON,kBAAP,KAA8B,UAAlC,EAA8C;AAC5CA,QAAAA,kBAAkB,CAACE,WAAD,EAAcI,KAAd,CAAlB;AACD;;AACDL,MAAAA,WAAW;AACXE,MAAAA,cAAc,CAAC,UAACI,KAAD;AAAA,eAAWA,KAAK,GAAG,CAAnB;AAAA,OAAD,CAAd;AACD,KAND;;AAQA,QAAMC,QAAQ,GAAGJ,MAAH,oBAAGA,MAAM,CAAEK,EAAR,CAAW,mBAAX,EAAgCJ,WAAhC,CAAjB;AACA,WAAO;AAAA,aAAMG,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAXD,EAWG,EAXH;AAYD,CAtBM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n refreshList: () => void;\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n setForceUpdate: React.Dispatch<React.SetStateAction<number>>;\n onChannelTruncated?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelTruncated = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelTruncated,\n refreshList,\n setChannels,\n setForceUpdate,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelTruncated === 'function') {\n onChannelTruncated(setChannels, event);\n }\n refreshList();\n setForceUpdate((count) => count + 1);\n };\n\n const listener = client?.on('channel.truncated', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -46,9 +46,9 @@ var useChannelUpdated = function useChannelUpdated(_ref) {
46
46
  }
47
47
  };
48
48
 
49
- client.on('channel.updated', handleEvent);
49
+ var listener = client == null ? void 0 : client.on('channel.updated', handleEvent);
50
50
  return function () {
51
- return client.off('channel.updated', handleEvent);
51
+ return listener == null ? void 0 : listener.unsubscribe();
52
52
  };
53
53
  }, []);
54
54
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelUpdated.ts"],"names":["useChannelUpdated","onChannelUpdated","setChannels","client","handleEvent","event","channels","index","findIndex","channel","cid","data","hidden","own_capabilities","on","off"],"mappings":";;;;;;;;;;;AAAA;;AAIA;;AAaO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAKK;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxD,UAAI,OAAOJ,gBAAP,KAA4B,UAAhC,EAA4C;AAC1CA,QAAAA,gBAAgB,CAACC,WAAD,EAAcG,KAAd,CAAhB;AACD,OAFD,MAEO;AACLH,QAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,cAAMC,KAAK,GAAGD,QAAQ,CAACE,SAAT,CACZ,UAACC,OAAD;AAAA;;AAAA,mBAAaA,OAAO,CAACC,GAAR,MAAiBL,KAAK,CAACK,GAAN,uBAAaL,KAAK,CAACI,OAAnB,qBAAa,eAAeC,GAA5B,CAAjB,CAAb;AAAA,WADY,CAAd;;AAGA,cAAIH,KAAK,IAAI,CAAT,IAAcF,KAAK,CAACI,OAAxB,EAAiC;AAAA;;AAC/BH,YAAAA,QAAQ,CAACC,KAAD,CAAR,CAAgBI,IAAhB,iCACKN,KAAK,CAACI,OADX;AAEEG,cAAAA,MAAM,8CAAEP,KAAK,CAACI,OAAR,qBAAE,gBAAeG,MAAjB,4DAA2BN,QAAQ,CAACC,KAAD,CAAR,CAAgBI,IAA3C,qBAA2B,qBAAsBC,MAFzD;AAGEC,cAAAA,gBAAgB,8CACdR,KAAK,CAACI,OADQ,qBACd,gBAAeI,gBADD,6DACqBP,QAAQ,CAACC,KAAD,CAAR,CAAgBI,IADrC,qBACqB,sBAAsBE;AAJ7D;AAMD;;AAED,qDAAWP,QAAX;AACD,SAdU,CAAX;AAeD;AACF,KApBD;;AAsBAH,IAAAA,MAAM,CAACW,EAAP,CAAU,iBAAV,EAA6BV,WAA7B;AACA,WAAO;AAAA,aAAMD,MAAM,CAACY,GAAP,CAAW,iBAAX,EAA8BX,WAA9B,CAAN;AAAA,KAAP;AACD,GAzBD,EAyBG,EAzBH;AA0BD,CAlCM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onChannelUpdated?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelUpdated = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelUpdated,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelUpdated === 'function') {\n onChannelUpdated(setChannels, event);\n } else {\n setChannels((channels) => {\n const index = channels.findIndex(\n (channel) => channel.cid === (event.cid || event.channel?.cid),\n );\n if (index >= 0 && event.channel) {\n channels[index].data = {\n ...event.channel,\n hidden: event.channel?.hidden ?? channels[index].data?.hidden,\n own_capabilities:\n event.channel?.own_capabilities ?? channels[index].data?.own_capabilities,\n };\n }\n\n return [...channels];\n });\n }\n };\n\n client.on('channel.updated', handleEvent);\n return () => client.off('channel.updated', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useChannelUpdated.ts"],"names":["useChannelUpdated","onChannelUpdated","setChannels","client","handleEvent","event","channels","index","findIndex","channel","cid","data","hidden","own_capabilities","listener","on","unsubscribe"],"mappings":";;;;;;;;;;;AAAA;;AAIA;;AAaO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAKK;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxD,UAAI,OAAOJ,gBAAP,KAA4B,UAAhC,EAA4C;AAC1CA,QAAAA,gBAAgB,CAACC,WAAD,EAAcG,KAAd,CAAhB;AACD,OAFD,MAEO;AACLH,QAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,cAAMC,KAAK,GAAGD,QAAQ,CAACE,SAAT,CACZ,UAACC,OAAD;AAAA;;AAAA,mBAAaA,OAAO,CAACC,GAAR,MAAiBL,KAAK,CAACK,GAAN,uBAAaL,KAAK,CAACI,OAAnB,qBAAa,eAAeC,GAA5B,CAAjB,CAAb;AAAA,WADY,CAAd;;AAGA,cAAIH,KAAK,IAAI,CAAT,IAAcF,KAAK,CAACI,OAAxB,EAAiC;AAAA;;AAC/BH,YAAAA,QAAQ,CAACC,KAAD,CAAR,CAAgBI,IAAhB,iCACKN,KAAK,CAACI,OADX;AAEEG,cAAAA,MAAM,8CAAEP,KAAK,CAACI,OAAR,qBAAE,gBAAeG,MAAjB,4DAA2BN,QAAQ,CAACC,KAAD,CAAR,CAAgBI,IAA3C,qBAA2B,qBAAsBC,MAFzD;AAGEC,cAAAA,gBAAgB,8CACdR,KAAK,CAACI,OADQ,qBACd,gBAAeI,gBADD,6DACqBP,QAAQ,CAACC,KAAD,CAAR,CAAgBI,IADrC,qBACqB,sBAAsBE;AAJ7D;AAMD;;AAED,qDAAWP,QAAX;AACD,SAdU,CAAX;AAeD;AACF,KApBD;;AAsBA,QAAMQ,QAAQ,GAAGX,MAAH,oBAAGA,MAAM,CAAEY,EAAR,CAAW,iBAAX,EAA8BX,WAA9B,CAAjB;AACA,WAAO;AAAA,aAAMU,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAzBD,EAyBG,EAzBH;AA0BD,CAlCM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onChannelUpdated?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelUpdated = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelUpdated,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelUpdated === 'function') {\n onChannelUpdated(setChannels, event);\n } else {\n setChannels((channels) => {\n const index = channels.findIndex(\n (channel) => channel.cid === (event.cid || event.channel?.cid),\n );\n if (index >= 0 && event.channel) {\n channels[index].data = {\n ...event.channel,\n hidden: event.channel?.hidden ?? channels[index].data?.hidden,\n own_capabilities:\n event.channel?.own_capabilities ?? channels[index].data?.own_capabilities,\n };\n }\n\n return [...channels];\n });\n }\n };\n\n const listener = client?.on('channel.updated', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -75,9 +75,9 @@ var useChannelVisible = function useChannelVisible(_ref) {
75
75
  };
76
76
  }();
77
77
 
78
- client.on('channel.visible', handleEvent);
78
+ var listener = client == null ? void 0 : client.on('channel.visible', handleEvent);
79
79
  return function () {
80
- return client.off('channel.visible', handleEvent);
80
+ return listener == null ? void 0 : listener.unsubscribe();
81
81
  };
82
82
  }, []);
83
83
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelVisible.ts"],"names":["useChannelVisible","onChannelVisible","setChannels","client","handleEvent","event","channel_id","channel_type","id","type","channel","channels","on","off"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAIA;;AAGA;;AAWO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAKK;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW;AAAA,kFAAG,iBAAOC,KAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBACd,OAAOJ,gBAAP,KAA4B,UADd;AAAA;AAAA;AAAA;;AAEhBA,gBAAAA,gBAAgB,CAACC,WAAD,EAAcG,KAAd,CAAhB;AAFgB;AAAA;;AAAA;AAAA,sBAIZA,KAAK,CAACC,UAAN,IAAoBD,KAAK,CAACE,YAJd;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAKQ,uBAA+B;AACnDJ,kBAAAA,MAAM,EAANA,MADmD;AAEnDK,kBAAAA,EAAE,EAAEH,KAAK,CAACC,UAFyC;AAGnDG,kBAAAA,IAAI,EAAEJ,KAAK,CAACE;AAHuC,iBAA/B,CALR;;AAAA;AAKRG,gBAAAA,OALQ;AAUdR,gBAAAA,WAAW,CAAC,UAACS,QAAD;AAAA,yBAAc,yBAAQD,OAAR,6CAAoBC,QAApB,IAA+B,KAA/B,CAAd;AAAA,iBAAD,CAAX;;AAVc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAXP,WAAW;AAAA;AAAA;AAAA,OAAjB;;AAeAD,IAAAA,MAAM,CAACS,EAAP,CAAU,iBAAV,EAA6BR,WAA7B;AACA,WAAO;AAAA,aAAMD,MAAM,CAACU,GAAP,CAAW,iBAAX,EAA8BT,WAA9B,CAAN;AAAA,KAAP;AACD,GAlBD,EAkBG,EAlBH;AAmBD,CA3BM","sourcesContent":["import { useEffect } from 'react';\n\nimport uniqBy from 'lodash/uniqBy';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getChannel } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onChannelVisible?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelVisible = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelVisible,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = async (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelVisible === 'function') {\n onChannelVisible(setChannels, event);\n } else {\n if (event.channel_id && event.channel_type) {\n const channel = await getChannel<StreamChatGenerics>({\n client,\n id: event.channel_id,\n type: event.channel_type,\n });\n setChannels((channels) => uniqBy([channel, ...channels], 'cid'));\n }\n }\n };\n\n client.on('channel.visible', handleEvent);\n return () => client.off('channel.visible', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useChannelVisible.ts"],"names":["useChannelVisible","onChannelVisible","setChannels","client","handleEvent","event","channel_id","channel_type","id","type","channel","channels","listener","on","unsubscribe"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAIA;;AAGA;;AAWO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAKK;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW;AAAA,kFAAG,iBAAOC,KAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBACd,OAAOJ,gBAAP,KAA4B,UADd;AAAA;AAAA;AAAA;;AAEhBA,gBAAAA,gBAAgB,CAACC,WAAD,EAAcG,KAAd,CAAhB;AAFgB;AAAA;;AAAA;AAAA,sBAIZA,KAAK,CAACC,UAAN,IAAoBD,KAAK,CAACE,YAJd;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAKQ,uBAA+B;AACnDJ,kBAAAA,MAAM,EAANA,MADmD;AAEnDK,kBAAAA,EAAE,EAAEH,KAAK,CAACC,UAFyC;AAGnDG,kBAAAA,IAAI,EAAEJ,KAAK,CAACE;AAHuC,iBAA/B,CALR;;AAAA;AAKRG,gBAAAA,OALQ;AAUdR,gBAAAA,WAAW,CAAC,UAACS,QAAD;AAAA,yBAAc,yBAAQD,OAAR,6CAAoBC,QAApB,IAA+B,KAA/B,CAAd;AAAA,iBAAD,CAAX;;AAVc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAXP,WAAW;AAAA;AAAA;AAAA,OAAjB;;AAeA,QAAMQ,QAAQ,GAAGT,MAAH,oBAAGA,MAAM,CAAEU,EAAR,CAAW,iBAAX,EAA8BT,WAA9B,CAAjB;AACA,WAAO;AAAA,aAAMQ,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAlBD,EAkBG,EAlBH;AAmBD,CA3BM","sourcesContent":["import { useEffect } from 'react';\n\nimport uniqBy from 'lodash/uniqBy';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getChannel } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onChannelVisible?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelVisible = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelVisible,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = async (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelVisible === 'function') {\n onChannelVisible(setChannels, event);\n } else {\n if (event.channel_id && event.channel_type) {\n const channel = await getChannel<StreamChatGenerics>({\n client,\n id: event.channel_id,\n type: event.channel_type,\n });\n setChannels((channels) => uniqBy([channel, ...channels], 'cid'));\n }\n }\n };\n\n const listener = client?.on('channel.visible', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -46,9 +46,9 @@ var useNewMessage = function useNewMessage(_ref) {
46
46
  });
47
47
  };
48
48
 
49
- client.on('message.new', handleEvent);
49
+ var listener = client == null ? void 0 : client.on('message.new', handleEvent);
50
50
  return function () {
51
- return client.off('message.new', handleEvent);
51
+ return listener == null ? void 0 : listener.unsubscribe();
52
52
  };
53
53
  }, []);
54
54
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useNewMessage.ts"],"names":["useNewMessage","lockChannelOrder","setChannels","client","handleEvent","event","channels","cid","channel_type","channel_id","targetChannelIndex","findIndex","c","channel","initialized","on","off"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAGA;;AAQO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAKS;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxDH,MAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,YAAI,CAACL,gBAAD,IAAqBI,KAAK,CAACE,GAA3B,IAAkCF,KAAK,CAACG,YAAxC,IAAwDH,KAAK,CAACI,UAAlE,EAA8E;AAC5E,cAAMC,kBAAkB,GAAGJ,QAAQ,CAACK,SAAT,CAAmB,UAACC,CAAD;AAAA,mBAAOA,CAAC,CAACL,GAAF,KAAUF,KAAK,CAACE,GAAvB;AAAA,WAAnB,CAA3B;;AAEA,cAAIG,kBAAkB,IAAI,CAA1B,EAA6B;AAC3B,mBAAO,0BAAkC;AACvCJ,cAAAA,QAAQ,EAARA,QADuC;AAEvCC,cAAAA,GAAG,EAAEF,KAAK,CAACE;AAF4B,aAAlC,CAAP;AAID;;AAKD,cAAMM,OAAO,GAAGV,MAAM,CAACU,OAAP,CAAeR,KAAK,CAACG,YAArB,EAAmCH,KAAK,CAACI,UAAzC,CAAhB;;AAEA,cAAII,OAAO,CAACC,WAAZ,EAAyB;AACvB,oBAAQD,OAAR,6CAAoBP,QAApB;AACD;AACF;;AAED,mDAAWA,QAAX;AACD,OAtBU,CAAX;AAuBD,KAxBD;;AA0BAH,IAAAA,MAAM,CAACY,EAAP,CAAU,aAAV,EAAyBX,WAAzB;AACA,WAAO;AAAA,aAAMD,MAAM,CAACa,GAAP,CAAW,aAAX,EAA0BZ,WAA1B,CAAN;AAAA,KAAP;AACD,GA7BD,EA6BG,EA7BH;AA8BD,CAtCM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { moveChannelUp } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n lockChannelOrder: boolean;\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n };\n\nexport const useNewMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n lockChannelOrder,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n setChannels((channels) => {\n if (!lockChannelOrder && event.cid && event.channel_type && event.channel_id) {\n const targetChannelIndex = channels.findIndex((c) => c.cid === event.cid);\n\n if (targetChannelIndex >= 0) {\n return moveChannelUp<StreamChatGenerics>({\n channels,\n cid: event.cid,\n });\n }\n\n // If channel doesn't exist in existing list, check in activeChannels as well.\n // It may happen that channel was hidden using channel.hide(). In that case\n // We remove it from `channels` state, but its still being watched and exists in client.activeChannels.\n const channel = client.channel(event.channel_type, event.channel_id);\n\n if (channel.initialized) {\n return [channel, ...channels];\n }\n }\n\n return [...channels];\n });\n };\n\n client.on('message.new', handleEvent);\n return () => client.off('message.new', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useNewMessage.ts"],"names":["useNewMessage","lockChannelOrder","setChannels","client","handleEvent","event","channels","cid","channel_type","channel_id","targetChannelIndex","findIndex","c","channel","initialized","listener","on","unsubscribe"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAGA;;AAQO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAKS;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxDH,MAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,YAAI,CAACL,gBAAD,IAAqBI,KAAK,CAACE,GAA3B,IAAkCF,KAAK,CAACG,YAAxC,IAAwDH,KAAK,CAACI,UAAlE,EAA8E;AAC5E,cAAMC,kBAAkB,GAAGJ,QAAQ,CAACK,SAAT,CAAmB,UAACC,CAAD;AAAA,mBAAOA,CAAC,CAACL,GAAF,KAAUF,KAAK,CAACE,GAAvB;AAAA,WAAnB,CAA3B;;AAEA,cAAIG,kBAAkB,IAAI,CAA1B,EAA6B;AAC3B,mBAAO,0BAAkC;AACvCJ,cAAAA,QAAQ,EAARA,QADuC;AAEvCC,cAAAA,GAAG,EAAEF,KAAK,CAACE;AAF4B,aAAlC,CAAP;AAID;;AAKD,cAAMM,OAAO,GAAGV,MAAM,CAACU,OAAP,CAAeR,KAAK,CAACG,YAArB,EAAmCH,KAAK,CAACI,UAAzC,CAAhB;;AAEA,cAAII,OAAO,CAACC,WAAZ,EAAyB;AACvB,oBAAQD,OAAR,6CAAoBP,QAApB;AACD;AACF;;AAED,mDAAWA,QAAX;AACD,OAtBU,CAAX;AAuBD,KAxBD;;AA0BA,QAAMS,QAAQ,GAAGZ,MAAH,oBAAGA,MAAM,CAAEa,EAAR,CAAW,aAAX,EAA0BZ,WAA1B,CAAjB;AACA,WAAO;AAAA,aAAMW,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GA7BD,EA6BG,EA7BH;AA8BD,CAtCM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { moveChannelUp } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n lockChannelOrder: boolean;\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n };\n\nexport const useNewMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n lockChannelOrder,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n setChannels((channels) => {\n if (!lockChannelOrder && event.cid && event.channel_type && event.channel_id) {\n const targetChannelIndex = channels.findIndex((c) => c.cid === event.cid);\n\n if (targetChannelIndex >= 0) {\n return moveChannelUp<StreamChatGenerics>({\n channels,\n cid: event.cid,\n });\n }\n\n // If channel doesn't exist in existing list, check in activeChannels as well.\n // It may happen that channel was hidden using channel.hide(). In that case\n // We remove it from `channels` state, but its still being watched and exists in client.activeChannels.\n const channel = client.channel(event.channel_type, event.channel_id);\n\n if (channel.initialized) {\n return [channel, ...channels];\n }\n }\n\n return [...channels];\n });\n };\n\n const listener = client?.on('message.new', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -76,9 +76,9 @@ var useNewMessageNotification = function useNewMessageNotification(_ref) {
76
76
  };
77
77
  }();
78
78
 
79
- client.on('notification.message_new', handleEvent);
79
+ var listener = client == null ? void 0 : client.on('notification.message_new', handleEvent);
80
80
  return function () {
81
- return client.off('notification.message_new', handleEvent);
81
+ return listener == null ? void 0 : listener.unsubscribe();
82
82
  };
83
83
  }, []);
84
84
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useNewMessageNotification.ts"],"names":["useNewMessageNotification","onMessageNew","setChannels","client","handleEvent","event","channel","id","type","channels","on","off"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAIA;;AAGA;;AAWO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,OAKH;AAAA,MAFpCC,YAEoC,QAFpCA,YAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW;AAAA,kFAAG,iBAAOC,KAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBACd,OAAOJ,YAAP,KAAwB,UADV;AAAA;AAAA;AAAA;;AAEhBA,gBAAAA,YAAY,CAACC,WAAD,EAAcG,KAAd,CAAZ;AAFgB;AAAA;;AAAA;AAAA,sBAIZ,kBAAAA,KAAK,CAACC,OAAN,4BAAeC,EAAf,uBAAqBF,KAAK,CAACC,OAA3B,aAAqB,gBAAeE,IAJxB;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAKQ,uBAAW;AAC/BL,kBAAAA,MAAM,EAANA,MAD+B;AAE/BI,kBAAAA,EAAE,EAAEF,KAAK,CAACC,OAAN,CAAcC,EAFa;AAG/BC,kBAAAA,IAAI,EAAEH,KAAK,CAACC,OAAN,CAAcE;AAHW,iBAAX,CALR;;AAAA;AAKRF,gBAAAA,OALQ;AAUdJ,gBAAAA,WAAW,CAAC,UAACO,QAAD;AAAA,yBAAc,yBAAQH,OAAR,6CAAoBG,QAApB,IAA+B,KAA/B,CAAd;AAAA,iBAAD,CAAX;;AAVc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAXL,WAAW;AAAA;AAAA;AAAA,OAAjB;;AAeAD,IAAAA,MAAM,CAACO,EAAP,CAAU,0BAAV,EAAsCN,WAAtC;AACA,WAAO;AAAA,aAAMD,MAAM,CAACQ,GAAP,CAAW,0BAAX,EAAuCP,WAAvC,CAAN;AAAA,KAAP;AACD,GAlBD,EAkBG,EAlBH;AAmBD,CA3BM","sourcesContent":["import { useEffect } from 'react';\n\nimport uniqBy from 'lodash/uniqBy';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getChannel } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onMessageNew?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useNewMessageNotification = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onMessageNew,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = async (event: Event<StreamChatGenerics>) => {\n if (typeof onMessageNew === 'function') {\n onMessageNew(setChannels, event);\n } else {\n if (event.channel?.id && event.channel?.type) {\n const channel = await getChannel({\n client,\n id: event.channel.id,\n type: event.channel.type,\n });\n setChannels((channels) => uniqBy([channel, ...channels], 'cid'));\n }\n }\n };\n\n client.on('notification.message_new', handleEvent);\n return () => client.off('notification.message_new', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useNewMessageNotification.ts"],"names":["useNewMessageNotification","onMessageNew","setChannels","client","handleEvent","event","channel","id","type","channels","listener","on","unsubscribe"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAIA;;AAGA;;AAWO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,OAKH;AAAA,MAFpCC,YAEoC,QAFpCA,YAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW;AAAA,kFAAG,iBAAOC,KAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBACd,OAAOJ,YAAP,KAAwB,UADV;AAAA;AAAA;AAAA;;AAEhBA,gBAAAA,YAAY,CAACC,WAAD,EAAcG,KAAd,CAAZ;AAFgB;AAAA;;AAAA;AAAA,sBAIZ,kBAAAA,KAAK,CAACC,OAAN,4BAAeC,EAAf,uBAAqBF,KAAK,CAACC,OAA3B,aAAqB,gBAAeE,IAJxB;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAKQ,uBAAW;AAC/BL,kBAAAA,MAAM,EAANA,MAD+B;AAE/BI,kBAAAA,EAAE,EAAEF,KAAK,CAACC,OAAN,CAAcC,EAFa;AAG/BC,kBAAAA,IAAI,EAAEH,KAAK,CAACC,OAAN,CAAcE;AAHW,iBAAX,CALR;;AAAA;AAKRF,gBAAAA,OALQ;AAUdJ,gBAAAA,WAAW,CAAC,UAACO,QAAD;AAAA,yBAAc,yBAAQH,OAAR,6CAAoBG,QAApB,IAA+B,KAA/B,CAAd;AAAA,iBAAD,CAAX;;AAVc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAXL,WAAW;AAAA;AAAA;AAAA,OAAjB;;AAeA,QAAMM,QAAQ,GAAGP,MAAH,oBAAGA,MAAM,CAAEQ,EAAR,CAAW,0BAAX,EAAuCP,WAAvC,CAAjB;AACA,WAAO;AAAA,aAAMM,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAlBD,EAkBG,EAlBH;AAmBD,CA3BM","sourcesContent":["import { useEffect } from 'react';\n\nimport uniqBy from 'lodash/uniqBy';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getChannel } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onMessageNew?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useNewMessageNotification = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onMessageNew,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = async (event: Event<StreamChatGenerics>) => {\n if (typeof onMessageNew === 'function') {\n onMessageNew(setChannels, event);\n } else {\n if (event.channel?.id && event.channel?.type) {\n const channel = await getChannel({\n client,\n id: event.channel.id,\n type: event.channel.type,\n });\n setChannels((channels) => uniqBy([channel, ...channels], 'cid'));\n }\n }\n };\n\n const listener = client?.on('notification.message_new', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -34,9 +34,9 @@ var useRemovedFromChannelNotification = function useRemovedFromChannelNotificati
34
34
  }
35
35
  };
36
36
 
37
- client.on('notification.removed_from_channel', handleEvent);
37
+ var listener = client == null ? void 0 : client.on('notification.removed_from_channel', handleEvent);
38
38
  return function () {
39
- return client.off('notification.removed_from_channel', handleEvent);
39
+ return listener == null ? void 0 : listener.unsubscribe();
40
40
  };
41
41
  }, []);
42
42
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useRemovedFromChannelNotification.ts"],"names":["useRemovedFromChannelNotification","onRemovedFromChannel","setChannels","client","handleEvent","event","channels","newChannels","filter","channel","cid","on","off"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAaO,IAAMA,iCAAiC,GAAG,SAApCA,iCAAoC,OAKX;AAAA,MAFpCC,oBAEoC,QAFpCA,oBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxD,UAAI,OAAOJ,oBAAP,KAAgC,UAApC,EAAgD;AAC9CA,QAAAA,oBAAoB,CAACC,WAAD,EAAcG,KAAd,CAApB;AACD,OAFD,MAEO;AACLH,QAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,cAAMC,WAAW,GAAGD,QAAQ,CAACE,MAAT,CAAgB,UAACC,OAAD;AAAA;;AAAA,mBAAaA,OAAO,CAACC,GAAR,wBAAgBL,KAAK,CAACI,OAAtB,qBAAgB,eAAeC,GAA/B,CAAb;AAAA,WAAhB,CAApB;AACA,qDAAWH,WAAX;AACD,SAHU,CAAX;AAID;AACF,KATD;;AAWAJ,IAAAA,MAAM,CAACQ,EAAP,CAAU,mCAAV,EAA+CP,WAA/C;AACA,WAAO;AAAA,aAAMD,MAAM,CAACS,GAAP,CAAW,mCAAX,EAAgDR,WAAhD,CAAN;AAAA,KAAP;AACD,GAdD,EAcG,EAdH;AAeD,CAvBM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onRemovedFromChannel?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useRemovedFromChannelNotification = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onRemovedFromChannel,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onRemovedFromChannel === 'function') {\n onRemovedFromChannel(setChannels, event);\n } else {\n setChannels((channels) => {\n const newChannels = channels.filter((channel) => channel.cid !== event.channel?.cid);\n return [...newChannels];\n });\n }\n };\n\n client.on('notification.removed_from_channel', handleEvent);\n return () => client.off('notification.removed_from_channel', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useRemovedFromChannelNotification.ts"],"names":["useRemovedFromChannelNotification","onRemovedFromChannel","setChannels","client","handleEvent","event","channels","newChannels","filter","channel","cid","listener","on","unsubscribe"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAaO,IAAMA,iCAAiC,GAAG,SAApCA,iCAAoC,OAKX;AAAA,MAFpCC,oBAEoC,QAFpCA,oBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxD,UAAI,OAAOJ,oBAAP,KAAgC,UAApC,EAAgD;AAC9CA,QAAAA,oBAAoB,CAACC,WAAD,EAAcG,KAAd,CAApB;AACD,OAFD,MAEO;AACLH,QAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,cAAMC,WAAW,GAAGD,QAAQ,CAACE,MAAT,CAAgB,UAACC,OAAD;AAAA;;AAAA,mBAAaA,OAAO,CAACC,GAAR,wBAAgBL,KAAK,CAACI,OAAtB,qBAAgB,eAAeC,GAA/B,CAAb;AAAA,WAAhB,CAApB;AACA,qDAAWH,WAAX;AACD,SAHU,CAAX;AAID;AACF,KATD;;AAWA,QAAMI,QAAQ,GAAGR,MAAH,oBAAGA,MAAM,CAAES,EAAR,CAAW,mCAAX,EAAgDR,WAAhD,CAAjB;AACA,WAAO;AAAA,aAAMO,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAdD,EAcG,EAdH;AAeD,CAvBM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onRemovedFromChannel?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useRemovedFromChannelNotification = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onRemovedFromChannel,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onRemovedFromChannel === 'function') {\n onRemovedFromChannel(setChannels, event);\n } else {\n setChannels((channels) => {\n const newChannels = channels.filter((channel) => channel.cid !== event.channel?.cid);\n return [...newChannels];\n });\n }\n };\n\n const listener = client?.on('notification.removed_from_channel', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -34,11 +34,11 @@ var useUserPresence = function useUserPresence(_ref) {
34
34
  });
35
35
  };
36
36
 
37
- client.on('user.presence.changed', handleEvent);
38
- client.on('user.updated', handleEvent);
37
+ var listeners = [client == null ? void 0 : client.on('user.presence.changed', handleEvent), client == null ? void 0 : client.on('user.updated', handleEvent)];
39
38
  return function () {
40
- client.off('user.presence.changed', handleEvent);
41
- client.off('user.updated', handleEvent);
39
+ listeners == null ? void 0 : listeners.forEach(function (l) {
40
+ return l == null ? void 0 : l.unsubscribe();
41
+ });
42
42
  };
43
43
  }, []);
44
44
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useUserPresence.ts"],"names":["useUserPresence","setChannels","client","handleEvent","event","channels","newChannels","map","channel","user","id","state","members","on","off"],"mappings":";;;;;;;;;AAAA;;AAIA;;AASO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAIO;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxDH,MAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,YAAMC,WAAW,GAAGD,QAAQ,CAACE,GAAT,CAAa,UAACC,OAAD,EAAa;AAAA;;AAC5C,cAAI,iBAACJ,KAAK,CAACK,IAAP,aAAC,YAAYC,EAAb,KAAmB,CAACF,OAAO,CAACG,KAAR,CAAcC,OAAd,CAAsBR,KAAK,CAACK,IAAN,CAAWC,EAAjC,CAAxB,EAA8D;AAC5D,mBAAOF,OAAP;AACD;;AACDA,UAAAA,OAAO,CAACG,KAAR,CAAcC,OAAd,CAAsBR,KAAK,CAACK,IAAN,CAAWC,EAAjC,EAAqCD,IAArC,GAA4CL,KAAK,CAACK,IAAlD;AACA,iBAAOD,OAAP;AACD,SANmB,CAApB;AAQA,mDAAWF,WAAX;AACD,OAVU,CAAX;AAWD,KAZD;;AAcAJ,IAAAA,MAAM,CAACW,EAAP,CAAU,uBAAV,EAAmCV,WAAnC;AACAD,IAAAA,MAAM,CAACW,EAAP,CAAU,cAAV,EAA0BV,WAA1B;AAEA,WAAO,YAAM;AACXD,MAAAA,MAAM,CAACY,GAAP,CAAW,uBAAX,EAAoCX,WAApC;AACAD,MAAAA,MAAM,CAACY,GAAP,CAAW,cAAX,EAA2BX,WAA3B;AACD,KAHD;AAID,GAtBD,EAsBG,EAtBH;AAuBD,CA9BM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n };\n\nexport const useUserPresence = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n setChannels((channels) => {\n const newChannels = channels.map((channel) => {\n if (!event.user?.id || !channel.state.members[event.user.id]) {\n return channel;\n }\n channel.state.members[event.user.id].user = event.user;\n return channel;\n });\n\n return [...newChannels];\n });\n };\n\n client.on('user.presence.changed', handleEvent);\n client.on('user.updated', handleEvent);\n\n return () => {\n client.off('user.presence.changed', handleEvent);\n client.off('user.updated', handleEvent);\n };\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useUserPresence.ts"],"names":["useUserPresence","setChannels","client","handleEvent","event","channels","newChannels","map","channel","user","id","state","members","listeners","on","forEach","l","unsubscribe"],"mappings":";;;;;;;;;AAAA;;AAIA;;AASO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAIO;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxDH,MAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,YAAMC,WAAW,GAAGD,QAAQ,CAACE,GAAT,CAAa,UAACC,OAAD,EAAa;AAAA;;AAC5C,cAAI,iBAACJ,KAAK,CAACK,IAAP,aAAC,YAAYC,EAAb,KAAmB,CAACF,OAAO,CAACG,KAAR,CAAcC,OAAd,CAAsBR,KAAK,CAACK,IAAN,CAAWC,EAAjC,CAAxB,EAA8D;AAC5D,mBAAOF,OAAP;AACD;;AACDA,UAAAA,OAAO,CAACG,KAAR,CAAcC,OAAd,CAAsBR,KAAK,CAACK,IAAN,CAAWC,EAAjC,EAAqCD,IAArC,GAA4CL,KAAK,CAACK,IAAlD;AACA,iBAAOD,OAAP;AACD,SANmB,CAApB;AAQA,mDAAWF,WAAX;AACD,OAVU,CAAX;AAWD,KAZD;;AAcA,QAAMO,SAAS,GAAG,CAChBX,MADgB,oBAChBA,MAAM,CAAEY,EAAR,CAAW,uBAAX,EAAoCX,WAApC,CADgB,EAEhBD,MAFgB,oBAEhBA,MAAM,CAAEY,EAAR,CAAW,cAAX,EAA2BX,WAA3B,CAFgB,CAAlB;AAKA,WAAO,YAAM;AACXU,MAAAA,SAAS,QAAT,YAAAA,SAAS,CAAEE,OAAX,CAAmB,UAACC,CAAD;AAAA,eAAOA,CAAP,oBAAOA,CAAC,CAAEC,WAAH,EAAP;AAAA,OAAnB;AACD,KAFD;AAGD,GAvBD,EAuBG,EAvBH;AAwBD,CA/BM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n };\n\nexport const useUserPresence = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n setChannels((channels) => {\n const newChannels = channels.map((channel) => {\n if (!event.user?.id || !channel.state.members[event.user.id]) {\n return channel;\n }\n channel.state.members[event.user.id].user = event.user;\n return channel;\n });\n\n return [...newChannels];\n });\n };\n\n const listeners = [\n client?.on('user.presence.changed', handleEvent),\n client?.on('user.updated', handleEvent),\n ];\n\n return () => {\n listeners?.forEach((l) => l?.unsubscribe());\n };\n }, []);\n};\n"]}
@@ -23,6 +23,8 @@ var _ChatContext = require("../../../contexts/chatContext/ChatContext");
23
23
 
24
24
  var _useIsMountedRef = require("../../../hooks/useIsMountedRef");
25
25
 
26
+ var _getChannelsForFilterSort = require("../../../store/apis/getChannelsForFilterSort");
27
+
26
28
  var _date = require("../../../utils/date");
27
29
 
28
30
  var _utils = require("../utils");
@@ -40,7 +42,8 @@ var MAX_NUMBER_OF_RETRIES = 3;
40
42
  var RETRY_INTERVAL_IN_MS = 5000;
41
43
 
42
44
  var usePaginatedChannels = function usePaginatedChannels(_ref) {
43
- var _ref$filters = _ref.filters,
45
+ var enableOfflineSupport = _ref.enableOfflineSupport,
46
+ _ref$filters = _ref.filters,
44
47
  filters = _ref$filters === void 0 ? {} : _ref$filters,
45
48
  _ref$options = _ref.options,
46
49
  options = _ref$options === void 0 ? DEFAULT_OPTIONS : _ref$options,
@@ -50,30 +53,37 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
50
53
  var _useChatContext = (0, _ChatContext.useChatContext)(),
51
54
  client = _useChatContext.client;
52
55
 
53
- var _useState = (0, _react.useState)([]),
56
+ var initialChannelsStateRef = (0, _react.useRef)([]);
57
+
58
+ var _useState = (0, _react.useState)(initialChannelsStateRef.current),
54
59
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
55
60
  channels = _useState2[0],
56
61
  setChannels = _useState2[1];
57
62
 
58
- var activeChannels = (0, _ActiveChannelsRefContext.useActiveChannelsRefContext)();
59
-
60
- var _useState3 = (0, _react.useState)(),
63
+ var _useState3 = (0, _react.useState)(true),
61
64
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
62
- error = _useState4[0],
63
- setError = _useState4[1];
65
+ staticChannelsActive = _useState4[0],
66
+ setStaticChannelsActive = _useState4[1];
64
67
 
65
- var _useState5 = (0, _react.useState)(true),
68
+ var activeChannels = (0, _ActiveChannelsRefContext.useActiveChannelsRefContext)();
69
+
70
+ var _useState5 = (0, _react.useState)(),
66
71
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
67
- hasNextPage = _useState6[0],
68
- setHasNextPage = _useState6[1];
72
+ error = _useState6[0],
73
+ setError = _useState6[1];
74
+
75
+ var _useState7 = (0, _react.useState)(true),
76
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
77
+ hasNextPage = _useState8[0],
78
+ setHasNextPage = _useState8[1];
69
79
 
70
80
  var lastRefresh = (0, _react.useRef)(Date.now());
71
81
  var isQueryingRef = (0, _react.useRef)(false);
72
82
 
73
- var _useState7 = (0, _react.useState)(),
74
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
75
- activeQueryType = _useState8[0],
76
- setActiveQueryType = _useState8[1];
83
+ var _useState9 = (0, _react.useState)('queryLocalDB'),
84
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
85
+ activeQueryType = _useState10[0],
86
+ setActiveQueryType = _useState10[1];
77
87
 
78
88
  var isMountedRef = (0, _useIsMountedRef.useIsMountedRef)();
79
89
  var filtersRef = (0, _react.useRef)(null);
@@ -136,7 +146,7 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
136
146
  setActiveQueryType(queryType);
137
147
  newOptions = (0, _extends2["default"])({
138
148
  limit: (_options$limit = options == null ? void 0 : options.limit) != null ? _options$limit : _utils.MAX_QUERY_CHANNELS_LIMIT,
139
- offset: queryType === 'loadChannels' ? channels.length : 0
149
+ offset: queryType === 'loadChannels' && !staticChannelsActive ? channels.length : 0
140
150
  }, options);
141
151
  _context.prev = 17;
142
152
  _context.next = 20;
@@ -155,11 +165,9 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
155
165
  return _context.abrupt("return");
156
166
 
157
167
  case 23:
158
- channelQueryResponse.forEach(function (channel) {
159
- return channel.state.setIsUpToDate(true);
160
- });
161
- newChannels = queryType === 'loadChannels' ? [].concat((0, _toConsumableArray2["default"])(channels), (0, _toConsumableArray2["default"])(channelQueryResponse)) : channelQueryResponse;
168
+ newChannels = queryType === 'loadChannels' && !staticChannelsActive ? [].concat((0, _toConsumableArray2["default"])(channels), (0, _toConsumableArray2["default"])(channelQueryResponse)) : channelQueryResponse;
162
169
  setChannels(newChannels);
170
+ setStaticChannelsActive(false);
163
171
  setHasNextPage(channelQueryResponse.length >= newOptions.limit);
164
172
  setError(undefined);
165
173
  isQueryingRef.current = false;
@@ -235,19 +243,46 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
235
243
  return JSON.stringify(sort);
236
244
  }, [sort]);
237
245
  (0, _react.useEffect)(function () {
238
- reloadList();
246
+ var loadChannels = function loadChannels() {
247
+ var _client$user;
248
+
249
+ if (!(client != null && (_client$user = client.user) != null && _client$user.id)) return;
250
+
251
+ if (enableOfflineSupport) {
252
+ try {
253
+ var channelsFromDB = (0, _getChannelsForFilterSort.getChannelsForFilterSort)({
254
+ currentUserId: client.user.id,
255
+ filters: filters,
256
+ sort: sort
257
+ });
258
+
259
+ if (channelsFromDB) {
260
+ setChannels(client.hydrateActiveChannels(channelsFromDB, {
261
+ offlineMode: true
262
+ }));
263
+ }
264
+ } catch (e) {
265
+ console.warn('Failed to get channels from database: ', e);
266
+ }
267
+ }
268
+
269
+ reloadList();
270
+ };
271
+
272
+ loadChannels();
239
273
  }, [filterStr, sortStr]);
240
274
  return {
241
275
  channels: channels,
242
276
  error: error,
243
277
  hasNextPage: hasNextPage,
244
- loadingChannels: activeQueryType === 'reload',
278
+ loadingChannels: activeQueryType === 'queryLocalDB' ? true : activeQueryType === 'reload' && channels === initialChannelsStateRef.current,
245
279
  loadingNextPage: activeQueryType === 'loadChannels',
246
280
  loadNextPage: loadNextPage,
247
281
  refreshing: activeQueryType === 'refresh',
248
282
  refreshList: refreshList,
249
283
  reloadList: reloadList,
250
- setChannels: setChannels
284
+ setChannels: setChannels,
285
+ staticChannelsActive: staticChannelsActive
251
286
  };
252
287
  };
253
288
 
@@ -1 +1 @@
1
- {"version":3,"sources":["usePaginatedChannels.ts"],"names":["waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","filters","options","sort","client","channels","setChannels","activeChannels","error","setError","hasNextPage","setHasNextPage","lastRefresh","Date","now","isQueryingRef","activeQueryType","setActiveQueryType","isMountedRef","filtersRef","sortRef","activeRequestId","queryChannels","queryType","retryCount","current","hasUpdatedData","JSON","stringify","some","Boolean","isQueryStale","currentRequestId","undefined","newOptions","limit","MAX_QUERY_CHANNELS_LIMIT","offset","length","skipInitialization","channelQueryResponse","forEach","channel","state","setIsUpToDate","newChannels","console","warn","Error","loadNextPage","refreshList","reloadList","filterStr","sortStr","loadingChannels","loadingNextPage","refreshing"],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'reload' | 'refresh' | 'loadChannels';\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n filters = {},\n options = DEFAULT_OPTIONS,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[]>([]);\n const activeChannels = useActiveChannelsRefContext();\n\n const [error, setError] = useState<Error>();\n const [hasNextPage, setHasNextPage] = useState(true);\n const lastRefresh = useRef(Date.now());\n const isQueryingRef = useRef(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>();\n const isMountedRef = useIsMountedRef();\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n queryType === 'refresh' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset: queryType === 'loadChannels' ? channels.length : 0,\n ...options,\n };\n\n try {\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: activeChannels.current,\n });\n\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n\n channelQueryResponse.forEach((channel) => channel.state.setIsUpToDate(true));\n\n const newChannels =\n queryType === 'loadChannels'\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse;\n\n setChannels(newChannels);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n setError(undefined);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const loadNextPage = hasNextPage ? queryChannels : undefined;\n\n const refreshList = () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n return queryChannels('refresh');\n };\n\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n reloadList();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels: activeQueryType === 'reload',\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n setChannels,\n };\n};\n"]}
1
+ {"version":3,"sources":["usePaginatedChannels.ts"],"names":["waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","enableOfflineSupport","filters","options","sort","client","initialChannelsStateRef","current","channels","setChannels","staticChannelsActive","setStaticChannelsActive","activeChannels","error","setError","hasNextPage","setHasNextPage","lastRefresh","Date","now","isQueryingRef","activeQueryType","setActiveQueryType","isMountedRef","filtersRef","sortRef","activeRequestId","queryChannels","queryType","retryCount","hasUpdatedData","JSON","stringify","some","Boolean","isQueryStale","currentRequestId","undefined","newOptions","limit","MAX_QUERY_CHANNELS_LIMIT","offset","length","skipInitialization","channelQueryResponse","newChannels","console","warn","Error","loadNextPage","refreshList","reloadList","filterStr","sortStr","loadChannels","user","id","channelsFromDB","currentUserId","hydrateActiveChannels","offlineMode","e","loadingChannels","loadingNextPage","refreshing"],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport { getChannelsForFilterSort } from '../../../store/apis/getChannelsForFilterSort';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n enableOfflineSupport: boolean;\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'queryLocalDB' | 'reload' | 'refresh' | 'loadChannels';\n\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n enableOfflineSupport,\n filters = {},\n options = DEFAULT_OPTIONS,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const initialChannelsStateRef = useRef([]);\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[]>(\n initialChannelsStateRef.current,\n );\n const [staticChannelsActive, setStaticChannelsActive] = useState<boolean>(true);\n const activeChannels = useActiveChannelsRefContext();\n\n const [error, setError] = useState<Error>();\n const [hasNextPage, setHasNextPage] = useState(true);\n const lastRefresh = useRef(Date.now());\n const isQueryingRef = useRef(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>('queryLocalDB');\n const isMountedRef = useIsMountedRef();\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n queryType === 'refresh' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset: queryType === 'loadChannels' && !staticChannelsActive ? channels.length : 0,\n ...options,\n };\n\n try {\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: activeChannels.current,\n });\n\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n const newChannels =\n queryType === 'loadChannels' && !staticChannelsActive\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse;\n\n setChannels(newChannels);\n setStaticChannelsActive(false);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n setError(undefined);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const loadNextPage = hasNextPage ? queryChannels : undefined;\n\n const refreshList = () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n return queryChannels('refresh');\n };\n\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n const loadChannels = () => {\n if (!client?.user?.id) return;\n if (enableOfflineSupport) {\n try {\n const channelsFromDB = getChannelsForFilterSort({\n currentUserId: client.user.id,\n filters,\n sort,\n });\n\n if (channelsFromDB) {\n setChannels(\n client.hydrateActiveChannels(channelsFromDB, {\n offlineMode: true,\n }),\n );\n }\n } catch (e) {\n console.warn('Failed to get channels from database: ', e);\n }\n }\n\n reloadList();\n };\n\n loadChannels();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels:\n activeQueryType === 'queryLocalDB'\n ? true\n : activeQueryType === 'reload' && channels === initialChannelsStateRef.current,\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n setChannels,\n staticChannelsActive,\n };\n};\n"]}
@@ -16,7 +16,7 @@ var _Avatar = require("../Avatar/Avatar");
16
16
  var _GroupAvatar = require("../Avatar/GroupAvatar");
17
17
 
18
18
  var _this = this,
19
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelAvatar.tsx";
19
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelAvatar.tsx";
20
20
 
21
21
  var ChannelAvatar = function ChannelAvatar(props) {
22
22
  var channel = props.channel;
@@ -22,7 +22,7 @@ var _ChatContext = require("../../contexts/chatContext/ChatContext");
22
22
  var _useTranslatedMessage = require("../../hooks/useTranslatedMessage");
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreview.tsx";
25
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreview.tsx";
26
26
 
27
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
28
 
@@ -106,9 +106,9 @@ var ChannelPreviewWithContext = function ChannelPreviewWithContext(props) {
106
106
  }
107
107
  };
108
108
 
109
- channel.on('message.read', handleReadEvent);
109
+ var listener = channel.on('message.read', handleReadEvent);
110
110
  return function () {
111
- return channel.off('message.read', handleReadEvent);
111
+ return listener.unsubscribe();
112
112
  };
113
113
  }, []);
114
114
  return _react["default"].createElement(Preview, {
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreview.tsx"],"names":["ChannelPreviewWithContext","props","channel","client","Preview","state","messages","length","lastMessage","setLastMessage","translatedLastMessage","forceUpdate","setForceUpdate","countUnread","unread","setUnread","latestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","newUnreadCount","handleNewMessageEvent","event","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","prevLastMessage","listeners","on","forEach","l","unsubscribe","handleReadEvent","user","userID","prev","off","ChannelPreview"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport { useTranslatedMessage } from '../../hooks/useTranslatedMessage';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Pick<ChannelsContextValue<StreamChatGenerics>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<StreamChatGenerics>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n\n const translatedLastMessage = useTranslatedMessage<StreamChatGenerics>(\n lastMessage || ({} as MessageResponse<StreamChatGenerics>),\n );\n\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, translatedLastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n\n if (newUnreadCount !== unread) {\n setUnread(newUnreadCount);\n }\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleNewMessageEvent = (event: Event<StreamChatGenerics>) => {\n const message = event.message;\n if (message && (!message.parent_id || message.show_in_channel)) {\n setLastMessage(event.message);\n setUnread(channel.countUnread());\n }\n };\n\n const handleUpdatedOrDeletedMessage = (event: Event<StreamChatGenerics>) => {\n setLastMessage((prevLastMessage) => {\n if (prevLastMessage?.id === event.message?.id) {\n return event.message;\n }\n return prevLastMessage;\n });\n };\n\n const listeners = [\n channel.on('message.new', handleNewMessageEvent),\n channel.on('message.updated', handleUpdatedOrDeletedMessage),\n channel.on('message.deleted', handleUpdatedOrDeletedMessage),\n ];\n\n return () => listeners.forEach((l) => l.unsubscribe());\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<StreamChatGenerics>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n channel.on('message.read', handleReadEvent);\n return () => channel.off('message.read', handleReadEvent);\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>;\n\nexport const ChannelPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewProps<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { Preview } = useChannelsContext<StreamChatGenerics>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreview.tsx"],"names":["ChannelPreviewWithContext","props","channel","client","Preview","state","messages","length","lastMessage","setLastMessage","translatedLastMessage","forceUpdate","setForceUpdate","countUnread","unread","setUnread","latestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","newUnreadCount","handleNewMessageEvent","event","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","prevLastMessage","listeners","on","forEach","l","unsubscribe","handleReadEvent","user","userID","prev","listener","ChannelPreview"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport { useTranslatedMessage } from '../../hooks/useTranslatedMessage';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Pick<ChannelsContextValue<StreamChatGenerics>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<StreamChatGenerics>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n\n const translatedLastMessage = useTranslatedMessage<StreamChatGenerics>(\n lastMessage || ({} as MessageResponse<StreamChatGenerics>),\n );\n\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, translatedLastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n\n if (newUnreadCount !== unread) {\n setUnread(newUnreadCount);\n }\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleNewMessageEvent = (event: Event<StreamChatGenerics>) => {\n const message = event.message;\n if (message && (!message.parent_id || message.show_in_channel)) {\n setLastMessage(event.message);\n setUnread(channel.countUnread());\n }\n };\n\n const handleUpdatedOrDeletedMessage = (event: Event<StreamChatGenerics>) => {\n setLastMessage((prevLastMessage) => {\n if (prevLastMessage?.id === event.message?.id) {\n return event.message;\n }\n return prevLastMessage;\n });\n };\n\n const listeners = [\n channel.on('message.new', handleNewMessageEvent),\n channel.on('message.updated', handleUpdatedOrDeletedMessage),\n channel.on('message.deleted', handleUpdatedOrDeletedMessage),\n ];\n\n return () => listeners.forEach((l) => l.unsubscribe());\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<StreamChatGenerics>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n const listener = channel.on('message.read', handleReadEvent);\n return () => listener.unsubscribe();\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>;\n\nexport const ChannelPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewProps<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { Preview } = useChannelsContext<StreamChatGenerics>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"]}
@@ -12,7 +12,7 @@ var _reactNative = require("react-native");
12
12
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessage.tsx";
15
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessage.tsx";
16
16
 
17
17
  var styles = _reactNative.StyleSheet.create({
18
18
  bold: {
@@ -25,6 +25,8 @@ var styles = _reactNative.StyleSheet.create({
25
25
  });
26
26
 
27
27
  var ChannelPreviewMessage = function ChannelPreviewMessage(props) {
28
+ var _latestMessagePreview;
29
+
28
30
  var latestMessagePreview = props.latestMessagePreview;
29
31
 
30
32
  var _useTheme = (0, _ThemeContext.useTheme)(),
@@ -43,8 +45,8 @@ var ChannelPreviewMessage = function ChannelPreviewMessage(props) {
43
45
  lineNumber: 39,
44
46
  columnNumber: 5
45
47
  }
46
- }, latestMessagePreview.previews.map(function (preview, index) {
47
- return preview.text ? _react["default"].createElement(_reactNative.Text, {
48
+ }, latestMessagePreview == null ? void 0 : (_latestMessagePreview = latestMessagePreview.previews) == null ? void 0 : _latestMessagePreview.map(function (preview, index) {
49
+ return preview.text && _react["default"].createElement(_reactNative.Text, {
48
50
  key: preview.text + "_" + index,
49
51
  style: [{
50
52
  color: grey
@@ -52,10 +54,10 @@ var ChannelPreviewMessage = function ChannelPreviewMessage(props) {
52
54
  __self: _this,
53
55
  __source: {
54
56
  fileName: _jsxFileName,
55
- lineNumber: 42,
56
- columnNumber: 11
57
+ lineNumber: 43,
58
+ columnNumber: 13
57
59
  }
58
- }, preview.text) : null;
60
+ }, preview.text);
59
61
  }));
60
62
  };
61
63
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreviewMessage.tsx"],"names":["styles","StyleSheet","create","bold","fontWeight","message","flexShrink","fontSize","ChannelPreviewMessage","props","latestMessagePreview","theme","channelPreview","grey","colors","color","previews","map","preview","index","text"],"mappings":";;;;;;;AAAA;;AACA;;AAIA;;;;;AAIA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE;AAAd,GADyB;AAE/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,CADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH;AAFsB,CAAlB,CAAf;;AAcO,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAGnCC,KAHmC,EAIhC;AACH,MAAQC,oBAAR,GAAiCD,KAAjC,CAAQC,oBAAR;;AAEA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBN,OAFtB,mBAEIO,cAFJ,CAEsBP,OAFtB;AAAA,MAGcQ,IAHd,mBAGIC,MAHJ,CAGcD,IAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACb,MAAM,CAACK,OAAR,EAAiB;AAAEU,MAAAA,KAAK,EAAEF;AAAT,KAAjB,EAAkCR,OAAlC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGK,oBAAoB,CAACM,QAArB,CAA8BC,GAA9B,CAAkC,UAACC,OAAD,EAAUC,KAAV;AAAA,WACjCD,OAAO,CAACE,IAAR,GACE,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKF,OAAO,CAACE,IAAb,SAAqBD,KAD1B;AAEE,MAAA,KAAK,EAAE,CAAC;AAAEJ,QAAAA,KAAK,EAAEF;AAAT,OAAD,EAAkBK,OAAO,CAACf,IAAR,GAAeH,MAAM,CAACG,IAAtB,GAA6B,EAA/C,EAAmDE,OAAnD,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAIGa,OAAO,CAACE,IAJX,CADF,GAOI,IAR6B;AAAA,GAAlC,CADH,CADF;AAcD,CA5BM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst styles = StyleSheet.create({\n bold: { fontWeight: '600' },\n message: {\n flexShrink: 1,\n fontSize: 12,\n },\n});\n\nexport type ChannelPreviewMessageProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n};\n\nexport const ChannelPreviewMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessageProps<StreamChatGenerics>,\n) => {\n const { latestMessagePreview } = props;\n\n const {\n theme: {\n channelPreview: { message },\n colors: { grey },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.message, { color: grey }, message]}>\n {latestMessagePreview.previews.map((preview, index) =>\n preview.text ? (\n <Text\n key={`${preview.text}_${index}`}\n style={[{ color: grey }, preview.bold ? styles.bold : {}, message]}\n >\n {preview.text}\n </Text>\n ) : null,\n )}\n </Text>\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreviewMessage.tsx"],"names":["styles","StyleSheet","create","bold","fontWeight","message","flexShrink","fontSize","ChannelPreviewMessage","props","latestMessagePreview","theme","channelPreview","grey","colors","color","previews","map","preview","index","text"],"mappings":";;;;;;;AAAA;;AACA;;AAIA;;;;;AAIA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE;AAAd,GADyB;AAE/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,CADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH;AAFsB,CAAlB,CAAf;;AAcO,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAGnCC,KAHmC,EAIhC;AAAA;;AACH,MAAQC,oBAAR,GAAiCD,KAAjC,CAAQC,oBAAR;;AAEA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBN,OAFtB,mBAEIO,cAFJ,CAEsBP,OAFtB;AAAA,MAGcQ,IAHd,mBAGIC,MAHJ,CAGcD,IAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACb,MAAM,CAACK,OAAR,EAAiB;AAAEU,MAAAA,KAAK,EAAEF;AAAT,KAAjB,EAAkCR,OAAlC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGK,oBADH,6CACGA,oBAAoB,CAAEM,QADzB,qBACG,sBAAgCC,GAAhC,CACC,UAACC,OAAD,EAAUC,KAAV;AAAA,WACED,OAAO,CAACE,IAAR,IACE,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKF,OAAO,CAACE,IAAb,SAAqBD,KAD1B;AAEE,MAAA,KAAK,EAAE,CAAC;AAAEJ,QAAAA,KAAK,EAAEF;AAAT,OAAD,EAAkBK,OAAO,CAACf,IAAR,GAAeH,MAAM,CAACG,IAAtB,GAA6B,EAA/C,EAAmDE,OAAnD,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAIGa,OAAO,CAACE,IAJX,CAFJ;AAAA,GADD,CADH,CADF;AAeD,CA7BM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst styles = StyleSheet.create({\n bold: { fontWeight: '600' },\n message: {\n flexShrink: 1,\n fontSize: 12,\n },\n});\n\nexport type ChannelPreviewMessageProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n latestMessagePreview: LatestMessagePreview<StreamChatGenerics>;\n};\n\nexport const ChannelPreviewMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessageProps<StreamChatGenerics>,\n) => {\n const { latestMessagePreview } = props;\n\n const {\n theme: {\n channelPreview: { message },\n colors: { grey },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.message, { color: grey }, message]}>\n {latestMessagePreview?.previews?.map(\n (preview, index) =>\n preview.text && (\n <Text\n key={`${preview.text}_${index}`}\n style={[{ color: grey }, preview.bold ? styles.bold : {}, message]}\n >\n {preview.text}\n </Text>\n ),\n )}\n </Text>\n );\n};\n"]}
@@ -34,7 +34,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
34
34
  var _utils = require("../../utils/utils");
35
35
 
36
36
  var _this = this,
37
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx";
37
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx";
38
38
 
39
39
  var styles = _reactNative.StyleSheet.create({
40
40
  container: {
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
14
14
  var _icons = require("../../icons");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  iconStyle: {