stream-chat-react-native-core 6.0.0-rc.9 → 6.0.0
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.
- package/README.md +1 -1
- package/lib/commonjs/components/AITypingIndicatorView/AITypingIndicatorView.js +53 -0
- package/lib/commonjs/components/AITypingIndicatorView/AITypingIndicatorView.js.map +1 -0
- package/lib/commonjs/components/AITypingIndicatorView/hooks/useAIState.js +59 -0
- package/lib/commonjs/components/AITypingIndicatorView/hooks/useAIState.js.map +1 -0
- package/lib/commonjs/components/AITypingIndicatorView/index.js +26 -0
- package/lib/commonjs/components/AITypingIndicatorView/index.js.map +1 -0
- package/lib/commonjs/components/Attachment/AudioAttachment.js +27 -22
- package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +3 -1
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +2 -2
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +37 -133
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +6 -4
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +478 -1045
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useChannelDataState.js +174 -0
- package/lib/commonjs/components/Channel/hooks/useChannelDataState.js.map +1 -0
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +3 -3
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +324 -0
- package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +1 -0
- package/lib/commonjs/components/ChannelList/Skeleton.js +7 -3
- package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +85 -45
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +17 -91
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +3 -24
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js +121 -0
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -0
- package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js +35 -0
- package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -0
- package/lib/commonjs/components/Chat/Chat.js +5 -1
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js +15 -9
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -0
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +0 -4
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +46 -46
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +3 -4
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +2 -2
- package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +7 -0
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +17 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +15 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/StreamingMessageView.js +36 -0
- package/lib/commonjs/components/Message/MessageSimple/StreamingMessageView.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +9 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +209 -23
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +2 -0
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useStreamingMessage.js +43 -0
- package/lib/commonjs/components/Message/hooks/useStreamingMessage.js.map +1 -0
- package/lib/commonjs/components/MessageInput/MessageInput.js +41 -21
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/StopMessageStreamingButton.js +39 -0
- package/lib/commonjs/components/MessageInput/StopMessageStreamingButton.js.map +1 -0
- package/lib/commonjs/components/MessageList/MessageList.js +74 -73
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +4 -2
- package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js +3 -2
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/commonjs/components/Poll/CreatePollContent.js +14 -9
- package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
- package/lib/commonjs/components/Poll/Poll.js +2 -8
- package/lib/commonjs/components/Poll/Poll.js.map +1 -1
- package/lib/commonjs/components/Poll/components/Button.js +9 -474
- package/lib/commonjs/components/Poll/components/Button.js.map +1 -1
- package/lib/commonjs/components/Poll/components/CreatePollIcon.js +2 -2
- package/lib/commonjs/components/Poll/components/CreatePollIcon.js.map +1 -1
- package/lib/commonjs/components/Poll/components/CreatePollOptions.js +9 -4
- package/lib/commonjs/components/Poll/components/CreatePollOptions.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollAnswersList.js +99 -26
- package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollButtons.js +291 -0
- package/lib/commonjs/components/Poll/components/PollButtons.js.map +1 -0
- package/lib/commonjs/components/Poll/components/PollInputDialog.js +14 -4
- package/lib/commonjs/components/Poll/components/PollInputDialog.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollModalHeader.js +7 -1
- package/lib/commonjs/components/Poll/components/PollModalHeader.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollOption.js +88 -6
- package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +2 -2
- package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js +62 -67
- package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollVote.js +89 -0
- package/lib/commonjs/components/Poll/components/PollResults/PollVote.js.map +1 -0
- package/lib/commonjs/components/Poll/components/index.js +11 -0
- package/lib/commonjs/components/Poll/components/index.js.map +1 -1
- package/lib/commonjs/components/ThreadList/ThreadList.js +0 -3
- package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
- package/lib/commonjs/components/UIComponents/BottomSheetModal.js +11 -5
- package/lib/commonjs/components/UIComponents/BottomSheetModal.js.map +1 -1
- package/lib/commonjs/components/index.js +66 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +0 -35
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +7 -84
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +4 -2
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -0
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +15 -0
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/i18n/en.json +2 -0
- package/lib/commonjs/i18n/es.json +2 -0
- package/lib/commonjs/i18n/fr.json +2 -0
- package/lib/commonjs/i18n/he.json +2 -0
- package/lib/commonjs/i18n/hi.json +2 -0
- package/lib/commonjs/i18n/it.json +2 -0
- package/lib/commonjs/i18n/ja.json +2 -0
- package/lib/commonjs/i18n/ko.json +2 -0
- package/lib/commonjs/i18n/nl.json +2 -0
- package/lib/commonjs/i18n/pt-br.json +2 -0
- package/lib/commonjs/i18n/ru.json +2 -0
- package/lib/commonjs/i18n/tr.json +2 -0
- package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js +14 -0
- package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -0
- package/lib/commonjs/mock-builders/event/notificationMarkRead.js +14 -0
- package/lib/commonjs/mock-builders/event/notificationMarkRead.js.map +1 -0
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +17 -0
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -0
- package/lib/commonjs/mock-builders/generator/channel.js +1 -0
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/store/SqliteClient.js +11 -2
- package/lib/commonjs/store/SqliteClient.js.map +1 -1
- package/lib/commonjs/utils/getTrimmedAttachmentTitle.js +8 -2
- package/lib/commonjs/utils/getTrimmedAttachmentTitle.js.map +1 -1
- package/lib/commonjs/utils/utils.js +3 -2
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/AITypingIndicatorView/AITypingIndicatorView.js +53 -0
- package/lib/module/components/AITypingIndicatorView/AITypingIndicatorView.js.map +1 -0
- package/lib/module/components/AITypingIndicatorView/hooks/useAIState.js +59 -0
- package/lib/module/components/AITypingIndicatorView/hooks/useAIState.js.map +1 -0
- package/lib/module/components/AITypingIndicatorView/index.js +26 -0
- package/lib/module/components/AITypingIndicatorView/index.js.map +1 -0
- package/lib/module/components/Attachment/AudioAttachment.js +27 -22
- package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +3 -1
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +2 -2
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +37 -133
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js +6 -4
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerSelectionBar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +478 -1045
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useChannelDataState.js +174 -0
- package/lib/module/components/Channel/hooks/useChannelDataState.js.map +1 -0
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +3 -3
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useMessageListPagination.js +324 -0
- package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +1 -0
- package/lib/module/components/ChannelList/Skeleton.js +7 -3
- package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +85 -45
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +17 -91
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +3 -24
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js +121 -0
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -0
- package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js +35 -0
- package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -0
- package/lib/module/components/Chat/Chat.js +5 -1
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js +15 -9
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -0
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +0 -4
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +46 -46
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +3 -4
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +2 -2
- package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -1
- package/lib/module/components/Message/Message.js +7 -0
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +17 -4
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +15 -6
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/StreamingMessageView.js +36 -0
- package/lib/module/components/Message/MessageSimple/StreamingMessageView.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +9 -1
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +209 -23
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +2 -0
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useStreamingMessage.js +43 -0
- package/lib/module/components/Message/hooks/useStreamingMessage.js.map +1 -0
- package/lib/module/components/MessageInput/MessageInput.js +41 -21
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/StopMessageStreamingButton.js +39 -0
- package/lib/module/components/MessageInput/StopMessageStreamingButton.js.map +1 -0
- package/lib/module/components/MessageList/MessageList.js +74 -73
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactions.js +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +4 -2
- package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js +3 -2
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/module/components/Poll/CreatePollContent.js +14 -9
- package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
- package/lib/module/components/Poll/Poll.js +2 -8
- package/lib/module/components/Poll/Poll.js.map +1 -1
- package/lib/module/components/Poll/components/Button.js +9 -474
- package/lib/module/components/Poll/components/Button.js.map +1 -1
- package/lib/module/components/Poll/components/CreatePollIcon.js +2 -2
- package/lib/module/components/Poll/components/CreatePollIcon.js.map +1 -1
- package/lib/module/components/Poll/components/CreatePollOptions.js +9 -4
- package/lib/module/components/Poll/components/CreatePollOptions.js.map +1 -1
- package/lib/module/components/Poll/components/PollAnswersList.js +99 -26
- package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
- package/lib/module/components/Poll/components/PollButtons.js +291 -0
- package/lib/module/components/Poll/components/PollButtons.js.map +1 -0
- package/lib/module/components/Poll/components/PollInputDialog.js +14 -4
- package/lib/module/components/Poll/components/PollInputDialog.js.map +1 -1
- package/lib/module/components/Poll/components/PollModalHeader.js +7 -1
- package/lib/module/components/Poll/components/PollModalHeader.js.map +1 -1
- package/lib/module/components/Poll/components/PollOption.js +88 -6
- package/lib/module/components/Poll/components/PollOption.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +2 -2
- package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollResultItem.js +62 -67
- package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollVote.js +89 -0
- package/lib/module/components/Poll/components/PollResults/PollVote.js.map +1 -0
- package/lib/module/components/Poll/components/index.js +11 -0
- package/lib/module/components/Poll/components/index.js.map +1 -1
- package/lib/module/components/ThreadList/ThreadList.js +0 -3
- package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
- package/lib/module/components/UIComponents/BottomSheetModal.js +11 -5
- package/lib/module/components/UIComponents/BottomSheetModal.js.map +1 -1
- package/lib/module/components/index.js +66 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +0 -35
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js +7 -84
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +4 -2
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -0
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +15 -0
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/i18n/en.json +2 -0
- package/lib/module/i18n/es.json +2 -0
- package/lib/module/i18n/fr.json +2 -0
- package/lib/module/i18n/he.json +2 -0
- package/lib/module/i18n/hi.json +2 -0
- package/lib/module/i18n/it.json +2 -0
- package/lib/module/i18n/ja.json +2 -0
- package/lib/module/i18n/ko.json +2 -0
- package/lib/module/i18n/nl.json +2 -0
- package/lib/module/i18n/pt-br.json +2 -0
- package/lib/module/i18n/ru.json +2 -0
- package/lib/module/i18n/tr.json +2 -0
- package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js +14 -0
- package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -0
- package/lib/module/mock-builders/event/notificationMarkRead.js +14 -0
- package/lib/module/mock-builders/event/notificationMarkRead.js.map +1 -0
- package/lib/module/mock-builders/event/notificationMarkUnread.js +17 -0
- package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -0
- package/lib/module/mock-builders/generator/channel.js +1 -0
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/store/SqliteClient.js +11 -2
- package/lib/module/store/SqliteClient.js.map +1 -1
- package/lib/module/utils/getTrimmedAttachmentTitle.js +8 -2
- package/lib/module/utils/getTrimmedAttachmentTitle.js.map +1 -1
- package/lib/module/utils/utils.js +3 -2
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/AITypingIndicatorView/AITypingIndicatorView.d.ts +11 -0
- package/lib/typescript/components/AITypingIndicatorView/AITypingIndicatorView.d.ts.map +1 -0
- package/lib/typescript/components/AITypingIndicatorView/hooks/useAIState.d.ts +18 -0
- package/lib/typescript/components/AITypingIndicatorView/hooks/useAIState.d.ts.map +1 -0
- package/lib/typescript/components/AITypingIndicatorView/index.d.ts +3 -0
- package/lib/typescript/components/AITypingIndicatorView/index.d.ts.map +1 -0
- package/lib/typescript/components/Attachment/AudioAttachment.d.ts.map +1 -1
- package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
- package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts.map +1 -1
- package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerSelectionBar.d.ts.map +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +7 -6
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts +75 -0
- package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts.map +1 -0
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +128 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +28 -0
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -0
- package/lib/typescript/components/ChannelList/Skeleton.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -2
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts +8 -0
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts.map +1 -0
- package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +8 -0
- package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -0
- package/lib/typescript/components/Chat/Chat.d.ts +7 -1
- package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
- package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts.map +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts.map +1 -1
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
- package/lib/typescript/components/Message/Message.d.ts +1 -1
- package/lib/typescript/components/Message/Message.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/StreamingMessageView.d.ts +12 -0
- package/lib/typescript/components/Message/MessageSimple/StreamingMessageView.d.ts.map +1 -0
- package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +16 -1
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useStreamingMessage.d.ts +17 -0
- package/lib/typescript/components/Message/hooks/useStreamingMessage.d.ts.map +1 -0
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
- package/lib/typescript/components/MessageInput/MessageInput.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/StopMessageStreamingButton.d.ts +10 -0
- package/lib/typescript/components/MessageInput/StopMessageStreamingButton.d.ts.map +1 -0
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +1 -1
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts +3 -2
- package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
- package/lib/typescript/components/Poll/Poll.d.ts +0 -1
- package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/Button.d.ts +0 -17
- package/lib/typescript/components/Poll/components/Button.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/CreatePollOptions.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +2 -0
- package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollButtons.d.ts +10 -0
- package/lib/typescript/components/Poll/components/PollButtons.d.ts.map +1 -0
- package/lib/typescript/components/Poll/components/PollInputDialog.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollOption.d.ts +2 -0
- package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +11 -4
- package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts +6 -0
- package/lib/typescript/components/Poll/components/PollResults/PollVote.d.ts.map +1 -0
- package/lib/typescript/components/Poll/components/index.d.ts +1 -0
- package/lib/typescript/components/Poll/components/index.d.ts.map +1 -1
- package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
- package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts.map +1 -1
- package/lib/typescript/components/index.d.ts +6 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +27 -25
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
- package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +0 -16
- package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts.map +1 -1
- package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +7 -13
- package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts.map +1 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +2 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +4 -0
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +2 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +8 -4
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +17 -16
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts.map +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +16 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
- package/lib/typescript/i18n/en.json +2 -0
- package/lib/typescript/i18n/es.json +2 -0
- package/lib/typescript/i18n/fr.json +2 -0
- package/lib/typescript/i18n/he.json +2 -0
- package/lib/typescript/i18n/hi.json +2 -0
- package/lib/typescript/i18n/it.json +2 -0
- package/lib/typescript/i18n/ja.json +2 -0
- package/lib/typescript/i18n/ko.json +2 -0
- package/lib/typescript/i18n/nl.json +2 -0
- package/lib/typescript/i18n/pt-br.json +2 -0
- package/lib/typescript/i18n/ru.json +2 -0
- package/lib/typescript/i18n/tr.json +2 -0
- package/lib/typescript/store/SqliteClient.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +3 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/getTrimmedAttachmentTitle.d.ts.map +1 -1
- package/lib/typescript/utils/i18n/Streami18n.d.ts +2 -0
- package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
- package/lib/typescript/utils/utils.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/components/AITypingIndicatorView/AITypingIndicatorView.tsx +50 -0
- package/src/components/AITypingIndicatorView/hooks/useAIState.ts +68 -0
- package/src/components/AITypingIndicatorView/index.ts +2 -0
- package/src/components/Attachment/AudioAttachment.tsx +20 -19
- package/src/components/Attachment/Gallery.tsx +1 -1
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +7 -2
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +16 -32
- package/src/components/AttachmentPicker/components/AttachmentPickerSelectionBar.tsx +3 -5
- package/src/components/Channel/Channel.tsx +262 -821
- package/src/components/Channel/__tests__/Channel.test.js +244 -13
- package/src/components/Channel/__tests__/useMessageListPagination.test.js +419 -0
- package/src/components/Channel/hooks/useChannelDataState.ts +235 -0
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +2 -0
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -0
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +3 -10
- package/src/components/Channel/hooks/useMessageListPagination.tsx +246 -0
- package/src/components/ChannelList/Skeleton.tsx +9 -1
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +37 -30
- package/src/components/ChannelPreview/ChannelPreview.tsx +28 -107
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +5 -15
- package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +2 -7
- package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +226 -10
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +1 -1
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewMuted.test.tsx +62 -0
- package/src/components/ChannelPreview/hooks/useChannelPreviewData.ts +138 -0
- package/src/components/ChannelPreview/hooks/useIsChannelMuted.ts +29 -0
- package/src/components/Chat/Chat.tsx +11 -2
- package/src/components/Chat/hooks/__tests__/useAppSettings.test.tsx +1 -0
- package/src/components/Chat/hooks/useAppSettings.ts +2 -0
- package/src/components/Chat/hooks/useCreateChatContext.ts +2 -0
- package/src/components/Chat/hooks/useIsOnline.ts +0 -5
- package/src/components/ImageGallery/ImageGallery.tsx +1 -0
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +32 -32
- package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +5 -6
- package/src/components/ImageGallery/hooks/useAnimatedGalleryStyle.tsx +2 -2
- package/src/components/Message/Message.tsx +16 -2
- package/src/components/Message/MessageSimple/MessageContent.tsx +22 -2
- package/src/components/Message/MessageSimple/MessageFooter.tsx +16 -5
- package/src/components/Message/MessageSimple/StreamingMessageView.tsx +34 -0
- package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +15 -1
- package/src/components/Message/MessageSimple/utils/renderText.tsx +207 -3
- package/src/components/Message/hooks/useCreateMessageContext.ts +2 -0
- package/src/components/Message/hooks/useStreamingMessage.ts +54 -0
- package/src/components/MessageInput/MessageInput.tsx +38 -20
- package/src/components/MessageInput/StopMessageStreamingButton.tsx +34 -0
- package/src/components/MessageInput/__tests__/MessageInput.test.js +116 -2
- package/src/components/MessageList/MessageList.tsx +53 -85
- package/src/components/MessageList/ScrollToBottomButton.tsx +1 -1
- package/src/components/MessageList/__tests__/MessageList.test.js +174 -2
- package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
- package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +1 -1
- package/src/components/MessageList/hooks/useMessageList.ts +2 -5
- package/src/components/MessageList/utils/getReadStates.ts +3 -2
- package/src/components/MessageMenu/MessageUserReactions.tsx +1 -1
- package/src/components/MessageMenu/MessageUserReactionsItem.tsx +4 -2
- package/src/components/MessageMenu/hooks/useFetchReactions.ts +6 -3
- package/src/components/Poll/CreatePollContent.tsx +4 -4
- package/src/components/Poll/Poll.tsx +1 -20
- package/src/components/Poll/components/Button.tsx +8 -420
- package/src/components/Poll/components/CreatePollIcon.tsx +1 -1
- package/src/components/Poll/components/CreatePollOptions.tsx +9 -4
- package/src/components/Poll/components/PollAnswersList.tsx +66 -3
- package/src/components/Poll/components/PollButtons.tsx +241 -0
- package/src/components/Poll/components/PollInputDialog.tsx +9 -6
- package/src/components/Poll/components/PollModalHeader.tsx +3 -3
- package/src/components/Poll/components/PollOption.tsx +74 -4
- package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +1 -1
- package/src/components/Poll/components/PollResults/PollResultItem.tsx +68 -52
- package/src/components/Poll/components/PollResults/PollVote.tsx +68 -0
- package/src/components/Poll/components/index.ts +1 -0
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +37 -4
- package/src/components/ThreadList/ThreadList.tsx +0 -2
- package/src/components/UIComponents/BottomSheetModal.tsx +7 -3
- package/src/components/index.ts +7 -0
- package/src/contexts/channelContext/ChannelContext.tsx +35 -25
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +1 -67
- package/src/contexts/channelsStateContext/useChannelState.ts +6 -108
- package/src/contexts/chatContext/ChatContext.tsx +2 -1
- package/src/contexts/messageContext/MessageContext.tsx +4 -0
- package/src/contexts/messageInputContext/MessageInputContext.tsx +5 -1
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +2 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +8 -3
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +17 -16
- package/src/contexts/themeContext/utils/theme.ts +30 -1
- package/src/i18n/en.json +2 -0
- package/src/i18n/es.json +2 -0
- package/src/i18n/fr.json +2 -0
- package/src/i18n/he.json +2 -0
- package/src/i18n/hi.json +2 -0
- package/src/i18n/it.json +2 -0
- package/src/i18n/ja.json +2 -0
- package/src/i18n/ko.json +2 -0
- package/src/i18n/nl.json +2 -0
- package/src/i18n/pt-br.json +2 -0
- package/src/i18n/ru.json +2 -0
- package/src/i18n/tr.json +2 -0
- package/src/mock-builders/event/notificationChannelMutesUpdated.js +7 -0
- package/src/mock-builders/event/notificationMarkRead.js +7 -0
- package/src/mock-builders/event/notificationMarkUnread.js +9 -0
- package/src/mock-builders/generator/channel.ts +1 -0
- package/src/store/SqliteClient.ts +5 -1
- package/src/types/types.ts +3 -0
- package/src/utils/getTrimmedAttachmentTitle.ts +10 -2
- package/src/utils/utils.ts +5 -2
- package/src/version.json +1 -1
|
@@ -16,6 +16,7 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
|
16
16
|
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
17
17
|
var _mimeTypes = require("mime-types");
|
|
18
18
|
var _streamChat = require("stream-chat");
|
|
19
|
+
var _useChannelDataState2 = require("./hooks/useChannelDataState");
|
|
19
20
|
var _useCreateChannelContext = require("./hooks/useCreateChannelContext");
|
|
20
21
|
var _useCreateInputMessageInputContext = require("./hooks/useCreateInputMessageInputContext");
|
|
21
22
|
var _useCreateMessagesContext = require("./hooks/useCreateMessagesContext");
|
|
@@ -23,6 +24,7 @@ var _useCreateOwnCapabilitiesContext = require("./hooks/useCreateOwnCapabilities
|
|
|
23
24
|
var _useCreatePaginatedMessageListContext = require("./hooks/useCreatePaginatedMessageListContext");
|
|
24
25
|
var _useCreateThreadContext = require("./hooks/useCreateThreadContext");
|
|
25
26
|
var _useCreateTypingContext = require("./hooks/useCreateTypingContext");
|
|
27
|
+
var _useMessageListPagination = require("./hooks/useMessageListPagination");
|
|
26
28
|
var _useTargetedMessage2 = require("./hooks/useTargetedMessage");
|
|
27
29
|
var _ChannelContext = require("../../contexts/channelContext/ChannelContext");
|
|
28
30
|
var _useChannelState2 = require("../../contexts/channelsStateContext/useChannelState");
|
|
@@ -83,6 +85,7 @@ var _MessageStatus = require("../Message/MessageSimple/MessageStatus");
|
|
|
83
85
|
var _MessageTimestamp = require("../Message/MessageSimple/MessageTimestamp");
|
|
84
86
|
var _ReactionListBottom = require("../Message/MessageSimple/ReactionList/ReactionListBottom");
|
|
85
87
|
var _ReactionListTop = require("../Message/MessageSimple/ReactionList/ReactionListTop");
|
|
88
|
+
var _StreamingMessageView = require("../Message/MessageSimple/StreamingMessageView");
|
|
86
89
|
var _AttachButton = require("../MessageInput/AttachButton");
|
|
87
90
|
var _CommandsButton = require("../MessageInput/CommandsButton");
|
|
88
91
|
var _AudioRecorder = require("../MessageInput/components/AudioRecorder/AudioRecorder");
|
|
@@ -102,6 +105,7 @@ var _MoreOptionsButton = require("../MessageInput/MoreOptionsButton");
|
|
|
102
105
|
var _SendButton = require("../MessageInput/SendButton");
|
|
103
106
|
var _SendMessageDisallowedIndicator = require("../MessageInput/SendMessageDisallowedIndicator");
|
|
104
107
|
var _ShowThreadMessageInChannelButton = require("../MessageInput/ShowThreadMessageInChannelButton");
|
|
108
|
+
var _StopMessageStreamingButton = require("../MessageInput/StopMessageStreamingButton");
|
|
105
109
|
var _UploadProgressIndicator = require("../MessageInput/UploadProgressIndicator");
|
|
106
110
|
var _DateHeader = require("../MessageList/DateHeader");
|
|
107
111
|
var _InlineDateSeparator = require("../MessageList/InlineDateSeparator");
|
|
@@ -163,7 +167,7 @@ var debounceOptions = {
|
|
|
163
167
|
trailing: true
|
|
164
168
|
};
|
|
165
169
|
var ChannelWithContext = function ChannelWithContext(props) {
|
|
166
|
-
var _channel$getConfig, _channel$
|
|
170
|
+
var _channel$getConfig, _channel$data, _ref17, _channelState$members, _channelState$read, _ref18, _channelMessagesState3, _channelState$typing, _channelMessagesState4;
|
|
167
171
|
var additionalKeyboardAvoidingViewProps = props.additionalKeyboardAvoidingViewProps,
|
|
168
172
|
additionalPressableProps = props.additionalPressableProps,
|
|
169
173
|
additionalTextInputProps = props.additionalTextInputProps,
|
|
@@ -225,8 +229,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
225
229
|
DateHeader = _props$DateHeader === void 0 ? _DateHeader.DateHeader : _props$DateHeader,
|
|
226
230
|
_props$deletedMessage = props.deletedMessagesVisibilityType,
|
|
227
231
|
deletedMessagesVisibilityType = _props$deletedMessage === void 0 ? 'always' : _props$deletedMessage,
|
|
228
|
-
_props$disableIfFroze = props.disableIfFrozenChannel,
|
|
229
|
-
disableIfFrozenChannel = _props$disableIfFroze === void 0 ? true : _props$disableIfFroze,
|
|
230
232
|
_props$disableKeyboar = props.disableKeyboardCompatibleView,
|
|
231
233
|
disableKeyboardCompatibleView = _props$disableKeyboar === void 0 ? false : _props$disableKeyboar,
|
|
232
234
|
disableTypingIndicator = props.disableTypingIndicator,
|
|
@@ -313,6 +315,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
313
315
|
_props$InputReplyStat = props.InputReplyStateHeader,
|
|
314
316
|
InputReplyStateHeader = _props$InputReplyStat === void 0 ? _InputReplyStateHeader.InputReplyStateHeader : _props$InputReplyStat,
|
|
315
317
|
isAttachmentEqual = props.isAttachmentEqual,
|
|
318
|
+
_props$isMessageAIGen = props.isMessageAIGenerated,
|
|
319
|
+
isMessageAIGenerated = _props$isMessageAIGen === void 0 ? function () {
|
|
320
|
+
return false;
|
|
321
|
+
} : _props$isMessageAIGen,
|
|
316
322
|
keyboardBehavior = props.keyboardBehavior,
|
|
317
323
|
_props$KeyboardCompat = props.KeyboardCompatibleView,
|
|
318
324
|
KeyboardCompatibleView = _props$KeyboardCompat === void 0 ? _KeyboardCompatibleView.KeyboardCompatibleView : _props$KeyboardCompat,
|
|
@@ -330,7 +336,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
330
336
|
_props$maxNumberOfFil = props.maxNumberOfFiles,
|
|
331
337
|
maxNumberOfFiles = _props$maxNumberOfFil === void 0 ? 10 : _props$maxNumberOfFil,
|
|
332
338
|
maxTimeBetweenGroupedMessages = props.maxTimeBetweenGroupedMessages,
|
|
333
|
-
members = props.members,
|
|
334
339
|
_props$mentionAllAppU = props.mentionAllAppUsersEnabled,
|
|
335
340
|
mentionAllAppUsersEnabled = _props$mentionAllAppU === void 0 ? false : _props$mentionAllAppU,
|
|
336
341
|
mentionAllAppUsersQuery = props.mentionAllAppUsersQuery,
|
|
@@ -348,7 +353,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
348
353
|
_props$MessageContent = props.MessageContent,
|
|
349
354
|
MessageContent = _props$MessageContent === void 0 ? _MessageContent.MessageContent : _props$MessageContent,
|
|
350
355
|
_props$messageContent = props.messageContentOrder,
|
|
351
|
-
messageContentOrder = _props$messageContent === void 0 ? ['quoted_reply', 'gallery', 'files', 'poll', 'text', 'attachments'] : _props$messageContent,
|
|
356
|
+
messageContentOrder = _props$messageContent === void 0 ? ['quoted_reply', 'gallery', 'files', 'poll', 'ai_text', 'text', 'attachments'] : _props$messageContent,
|
|
352
357
|
_props$MessageDeleted = props.MessageDeleted,
|
|
353
358
|
MessageDeleted = _props$MessageDeleted === void 0 ? _MessageDeleted.MessageDeleted : _props$MessageDeleted,
|
|
354
359
|
_props$MessageEditedT = props.MessageEditedTimestamp,
|
|
@@ -371,7 +376,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
371
376
|
MessageReplies = _props$MessageReplies === void 0 ? _MessageReplies.MessageReplies : _props$MessageReplies,
|
|
372
377
|
_props$MessageReplies2 = props.MessageRepliesAvatars,
|
|
373
378
|
MessageRepliesAvatars = _props$MessageReplies2 === void 0 ? _MessageRepliesAvatars.MessageRepliesAvatars : _props$MessageReplies2,
|
|
374
|
-
messages = props.messages,
|
|
375
379
|
_props$MessageSimple = props.MessageSimple,
|
|
376
380
|
MessageSimple = _props$MessageSimple === void 0 ? _MessageSimple.MessageSimple : _props$MessageSimple,
|
|
377
381
|
_props$MessageStatus = props.MessageStatus,
|
|
@@ -379,8 +383,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
379
383
|
_props$MessageSystem = props.MessageSystem,
|
|
380
384
|
MessageSystem = _props$MessageSystem === void 0 ? _MessageSystem.MessageSystem : _props$MessageSystem,
|
|
381
385
|
MessageText = props.MessageText,
|
|
382
|
-
|
|
383
|
-
messageTextNumberOfLines = _props$messageTextNum === void 0 ? 5 : _props$messageTextNum,
|
|
386
|
+
messageTextNumberOfLines = props.messageTextNumberOfLines,
|
|
384
387
|
_props$MessageTimesta = props.MessageTimestamp,
|
|
385
388
|
MessageTimestamp = _props$MessageTimesta === void 0 ? _MessageTimestamp.MessageTimestamp : _props$MessageTimesta,
|
|
386
389
|
_props$MessageUserRea = props.MessageUserReactions,
|
|
@@ -411,7 +414,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
411
414
|
reactionListPosition = _props$reactionListPo === void 0 ? 'top' : _props$reactionListPo,
|
|
412
415
|
_props$ReactionListTo = props.ReactionListTop,
|
|
413
416
|
ReactionListTop = _props$ReactionListTo === void 0 ? _ReactionListTop.ReactionListTop : _props$ReactionListTo,
|
|
414
|
-
read = props.read,
|
|
415
417
|
_props$Reply = props.Reply,
|
|
416
418
|
Reply = _props$Reply === void 0 ? _Reply.Reply : _props$Reply,
|
|
417
419
|
_props$ScrollToBottom = props.ScrollToBottomButton,
|
|
@@ -424,13 +426,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
424
426
|
_props$SendMessageDis = props.SendMessageDisallowedIndicator,
|
|
425
427
|
SendMessageDisallowedIndicator = _props$SendMessageDis === void 0 ? _SendMessageDisallowedIndicator.SendMessageDisallowedIndicator : _props$SendMessageDis,
|
|
426
428
|
setInputRef = props.setInputRef,
|
|
427
|
-
setMembers = props.setMembers,
|
|
428
|
-
setMessages = props.setMessages,
|
|
429
|
-
setRead = props.setRead,
|
|
430
429
|
setThreadMessages = props.setThreadMessages,
|
|
431
|
-
setTyping = props.setTyping,
|
|
432
|
-
setWatcherCount = props.setWatcherCount,
|
|
433
|
-
setWatchers = props.setWatchers,
|
|
434
430
|
_props$shouldShowUnre = props.shouldShowUnreadUnderlay,
|
|
435
431
|
shouldShowUnreadUnderlay = _props$shouldShowUnre === void 0 ? true : _props$shouldShowUnre,
|
|
436
432
|
shouldSyncChannel = props.shouldSyncChannel,
|
|
@@ -442,13 +438,15 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
442
438
|
stateUpdateThrottleInterval = _props$stateUpdateThr === void 0 ? defaultThrottleInterval : _props$stateUpdateThr,
|
|
443
439
|
_props$StickyHeader = props.StickyHeader,
|
|
444
440
|
StickyHeader = _props$StickyHeader === void 0 ? _StickyHeader.StickyHeader : _props$StickyHeader,
|
|
441
|
+
StopMessageStreamingButtonOverride = props.StopMessageStreamingButton,
|
|
442
|
+
_props$StreamingMessa = props.StreamingMessageView,
|
|
443
|
+
StreamingMessageView = _props$StreamingMessa === void 0 ? _StreamingMessageView.StreamingMessageView : _props$StreamingMessa,
|
|
445
444
|
_props$supportedReact = props.supportedReactions,
|
|
446
445
|
supportedReactions = _props$supportedReact === void 0 ? reactionData : _props$supportedReact,
|
|
447
446
|
t = props.t,
|
|
448
447
|
threadFromProps = props.thread,
|
|
449
448
|
threadList = props.threadList,
|
|
450
449
|
threadMessages = props.threadMessages,
|
|
451
|
-
typing = props.typing,
|
|
452
450
|
_props$TypingIndicato = props.TypingIndicator,
|
|
453
451
|
TypingIndicator = _props$TypingIndicato === void 0 ? _TypingIndicator.TypingIndicator : _props$TypingIndicato,
|
|
454
452
|
_props$TypingIndicato2 = props.TypingIndicatorContainer,
|
|
@@ -458,11 +456,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
458
456
|
_props$UrlPreview = props.UrlPreview,
|
|
459
457
|
UrlPreview = _props$UrlPreview === void 0 ? _Card.Card : _props$UrlPreview,
|
|
460
458
|
_props$VideoThumbnail = props.VideoThumbnail,
|
|
461
|
-
VideoThumbnail = _props$VideoThumbnail === void 0 ? _VideoThumbnail.VideoThumbnail : _props$VideoThumbnail
|
|
462
|
-
watcherCount = props.watcherCount,
|
|
463
|
-
watchers = props.watchers;
|
|
459
|
+
VideoThumbnail = _props$VideoThumbnail === void 0 ? _VideoThumbnail.VideoThumbnail : _props$VideoThumbnail;
|
|
464
460
|
var threadProps = threadFromProps.thread,
|
|
465
461
|
threadInstance = threadFromProps.threadInstance;
|
|
462
|
+
var StopMessageStreamingButton = StopMessageStreamingButtonOverride === undefined ? _StopMessageStreamingButton.StopMessageStreamingButton : StopMessageStreamingButtonOverride;
|
|
466
463
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
467
464
|
_useTheme$theme = _useTheme.theme,
|
|
468
465
|
selectChannel = _useTheme$theme.channel.selectChannel,
|
|
@@ -479,59 +476,84 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
479
476
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
480
477
|
error = _useState6[0],
|
|
481
478
|
setError = _useState6[1];
|
|
482
|
-
var _useState7 = (0, _react.useState)(
|
|
479
|
+
var _useState7 = (0, _react.useState)(),
|
|
483
480
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
var _useState9 = (0, _react.useState)(),
|
|
481
|
+
lastRead = _useState8[0],
|
|
482
|
+
setLastRead = _useState8[1];
|
|
483
|
+
var _useState9 = (0, _react.useState)(undefined),
|
|
487
484
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
var _useState11 = (0, _react.useState)(
|
|
485
|
+
quotedMessage = _useState10[0],
|
|
486
|
+
setQuotedMessage = _useState10[1];
|
|
487
|
+
var _useState11 = (0, _react.useState)(threadProps || null),
|
|
491
488
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
var _useState13 = (0, _react.useState)(
|
|
489
|
+
thread = _useState12[0],
|
|
490
|
+
setThread = _useState12[1];
|
|
491
|
+
var _useState13 = (0, _react.useState)(true),
|
|
495
492
|
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
496
|
-
|
|
497
|
-
|
|
493
|
+
threadHasMore = _useState14[0],
|
|
494
|
+
setThreadHasMore = _useState14[1];
|
|
498
495
|
var _useState15 = (0, _react.useState)(false),
|
|
499
496
|
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
var _useState17 = (0, _react.useState)(undefined),
|
|
503
|
-
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
504
|
-
quotedMessage = _useState18[0],
|
|
505
|
-
setQuotedMessage = _useState18[1];
|
|
506
|
-
var _useState19 = (0, _react.useState)(threadProps || null),
|
|
507
|
-
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
508
|
-
thread = _useState20[0],
|
|
509
|
-
setThread = _useState20[1];
|
|
510
|
-
var _useState21 = (0, _react.useState)(true),
|
|
511
|
-
_useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
|
|
512
|
-
threadHasMore = _useState22[0],
|
|
513
|
-
setThreadHasMore = _useState22[1];
|
|
514
|
-
var _useState23 = (0, _react.useState)(false),
|
|
515
|
-
_useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
|
|
516
|
-
threadLoadingMore = _useState24[0],
|
|
517
|
-
setThreadLoadingMore = _useState24[1];
|
|
497
|
+
threadLoadingMore = _useState16[0],
|
|
498
|
+
setThreadLoadingMore = _useState16[1];
|
|
518
499
|
var syncingChannelRef = (0, _react.useRef)(false);
|
|
519
|
-
var _useState25 = (0, _react.useState)(true),
|
|
520
|
-
_useState26 = (0, _slicedToArray2["default"])(_useState25, 2),
|
|
521
|
-
hasNoMoreRecentMessagesToLoad = _useState26[0],
|
|
522
|
-
setHasNoMoreRecentMessagesToLoad = _useState26[1];
|
|
523
500
|
var _useTargetedMessage = (0, _useTargetedMessage2.useTargetedMessage)(),
|
|
524
|
-
prevTargetedMessage = _useTargetedMessage.prevTargetedMessage,
|
|
525
501
|
setTargetedMessage = _useTargetedMessage.setTargetedMessage,
|
|
526
502
|
targetedMessage = _useTargetedMessage.targetedMessage;
|
|
527
|
-
var hasOverlappingRecentMessagesRef = (0, _react.useRef)(false);
|
|
528
503
|
var uploadAbortControllerRef = (0, _react.useRef)(new Map());
|
|
529
504
|
var channelId = (channel == null ? void 0 : channel.id) || '';
|
|
530
505
|
var pollCreationEnabled = !channel.disconnected && !!(channel != null && channel.id) && (channel == null ? void 0 : (_channel$getConfig = channel.getConfig()) == null ? void 0 : _channel$getConfig.polls);
|
|
506
|
+
var _useChannelDataState = (0, _useChannelDataState2.useChannelDataState)(channel),
|
|
507
|
+
copyStateFromChannel = _useChannelDataState.copyStateFromChannel,
|
|
508
|
+
initStateFromChannel = _useChannelDataState.initStateFromChannel,
|
|
509
|
+
setTyping = _useChannelDataState.setTyping,
|
|
510
|
+
channelState = _useChannelDataState.state;
|
|
511
|
+
var _useMessageListPagina = (0, _useMessageListPagination.useMessageListPagination)({
|
|
512
|
+
channel: channel
|
|
513
|
+
}),
|
|
514
|
+
copyMessagesStateFromChannel = _useMessageListPagina.copyMessagesStateFromChannel,
|
|
515
|
+
loadChannelAroundMessageFn = _useMessageListPagina.loadChannelAroundMessage,
|
|
516
|
+
loadChannelAtFirstUnreadMessage = _useMessageListPagina.loadChannelAtFirstUnreadMessage,
|
|
517
|
+
loadInitialMessagesStateFromChannel = _useMessageListPagina.loadInitialMessagesStateFromChannel,
|
|
518
|
+
loadLatestMessages = _useMessageListPagina.loadLatestMessages,
|
|
519
|
+
loadMore = _useMessageListPagina.loadMore,
|
|
520
|
+
loadMoreRecent = _useMessageListPagina.loadMoreRecent,
|
|
521
|
+
channelMessagesState = _useMessageListPagina.state;
|
|
522
|
+
var copyChannelStateThrottlingTime = newMessageStateUpdateThrottleInterval > stateUpdateThrottleInterval ? newMessageStateUpdateThrottleInterval : stateUpdateThrottleInterval;
|
|
523
|
+
var copyChannelState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
524
|
+
if (channel) {
|
|
525
|
+
copyStateFromChannel(channel);
|
|
526
|
+
copyMessagesStateFromChannel(channel);
|
|
527
|
+
}
|
|
528
|
+
}, copyChannelStateThrottlingTime, throttleOptions)).current;
|
|
529
|
+
var handleEvent = function handleEvent(event) {
|
|
530
|
+
if (shouldSyncChannel) {
|
|
531
|
+
var ignorableEvents = ['user.watching.start', 'user.watching.stop'];
|
|
532
|
+
if (ignorableEvents.includes(event.type)) return;
|
|
533
|
+
var isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
|
|
534
|
+
if (isTypingEvent) {
|
|
535
|
+
setTyping(channel);
|
|
536
|
+
} else {
|
|
537
|
+
if (thread != null && thread.id) {
|
|
538
|
+
var _event$message;
|
|
539
|
+
var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
|
|
540
|
+
setThreadMessages(updatedThreadMessages);
|
|
541
|
+
if (channel && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id && !threadInstance) {
|
|
542
|
+
var updatedThread = channel.state.formatMessage(event.message);
|
|
543
|
+
setThread(updatedThread);
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
if (channel && channel.initialized) {
|
|
548
|
+
copyChannelState();
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
};
|
|
531
552
|
(0, _react.useEffect)(function () {
|
|
553
|
+
var listener;
|
|
532
554
|
var initChannel = function () {
|
|
533
555
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
|
|
534
|
-
var
|
|
556
|
+
var errored;
|
|
535
557
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
536
558
|
while (1) switch (_context.prev = _context.next) {
|
|
537
559
|
case 0:
|
|
@@ -541,42 +563,56 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
541
563
|
}
|
|
542
564
|
return _context.abrupt("return");
|
|
543
565
|
case 2:
|
|
544
|
-
|
|
545
|
-
|
|
566
|
+
errored = false;
|
|
567
|
+
if (!(!channel.initialized || !channel.state.isUpToDate)) {
|
|
568
|
+
_context.next = 14;
|
|
546
569
|
break;
|
|
547
570
|
}
|
|
548
|
-
_context.
|
|
549
|
-
|
|
550
|
-
|
|
571
|
+
_context.prev = 4;
|
|
572
|
+
_context.next = 7;
|
|
573
|
+
return channel == null ? void 0 : channel.watch();
|
|
574
|
+
case 7:
|
|
575
|
+
_context.next = 14;
|
|
576
|
+
break;
|
|
577
|
+
case 9:
|
|
578
|
+
_context.prev = 9;
|
|
579
|
+
_context.t0 = _context["catch"](4);
|
|
580
|
+
console.warn('Channel watch request failed with error:', _context.t0);
|
|
581
|
+
setError(true);
|
|
582
|
+
errored = true;
|
|
583
|
+
case 14:
|
|
584
|
+
if (!errored) {
|
|
585
|
+
initStateFromChannel(channel);
|
|
586
|
+
loadInitialMessagesStateFromChannel(channel, channel.state.messagePagination.hasPrev);
|
|
587
|
+
}
|
|
551
588
|
if (!messageId) {
|
|
552
|
-
_context.next =
|
|
589
|
+
_context.next = 20;
|
|
553
590
|
break;
|
|
554
591
|
}
|
|
555
|
-
|
|
556
|
-
|
|
592
|
+
_context.next = 18;
|
|
593
|
+
return loadChannelAroundMessage({
|
|
594
|
+
messageId: messageId,
|
|
595
|
+
setTargetedMessage: setTargetedMessage
|
|
557
596
|
});
|
|
558
|
-
|
|
597
|
+
case 18:
|
|
598
|
+
_context.next = 23;
|
|
559
599
|
break;
|
|
560
|
-
case
|
|
600
|
+
case 20:
|
|
561
601
|
if (!(initialScrollToFirstUnreadMessage && channel.countUnread() > scrollToFirstUnreadThreshold)) {
|
|
562
|
-
_context.next =
|
|
602
|
+
_context.next = 23;
|
|
563
603
|
break;
|
|
564
604
|
}
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
}
|
|
573
|
-
_context.next = 16;
|
|
574
|
-
return loadChannel();
|
|
575
|
-
case 16:
|
|
605
|
+
_context.next = 23;
|
|
606
|
+
return loadChannelAtFirstUnreadMessage({
|
|
607
|
+
setTargetedMessage: setTargetedMessage
|
|
608
|
+
});
|
|
609
|
+
case 23:
|
|
610
|
+
listener = channel.on(handleEvent);
|
|
611
|
+
case 24:
|
|
576
612
|
case "end":
|
|
577
613
|
return _context.stop();
|
|
578
614
|
}
|
|
579
|
-
}, _callee);
|
|
615
|
+
}, _callee, null, [[4, 9]]);
|
|
580
616
|
}));
|
|
581
617
|
return function initChannel() {
|
|
582
618
|
return _ref.apply(this, arguments);
|
|
@@ -584,13 +620,29 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
584
620
|
}();
|
|
585
621
|
initChannel();
|
|
586
622
|
return function () {
|
|
623
|
+
var _listener;
|
|
587
624
|
copyChannelState.cancel();
|
|
588
|
-
copyReadState.cancel();
|
|
589
|
-
copyTypingState.cancel();
|
|
590
|
-
loadMoreFinished.cancel();
|
|
591
625
|
loadMoreThreadFinished.cancel();
|
|
626
|
+
(_listener = listener) == null ? void 0 : _listener.unsubscribe();
|
|
627
|
+
};
|
|
628
|
+
}, [channel.cid, messageId, shouldSyncChannel]);
|
|
629
|
+
(0, _react.useEffect)(function () {
|
|
630
|
+
var _client$on = client.on('channel.deleted', function (event) {
|
|
631
|
+
if (event.cid === (channel == null ? void 0 : channel.cid)) {
|
|
632
|
+
setDeleted(true);
|
|
633
|
+
}
|
|
634
|
+
}),
|
|
635
|
+
unsubscribe = _client$on.unsubscribe;
|
|
636
|
+
return unsubscribe;
|
|
637
|
+
}, [channel == null ? void 0 : channel.cid, client]);
|
|
638
|
+
(0, _react.useEffect)(function () {
|
|
639
|
+
var handleEvent = function handleEvent(event) {
|
|
640
|
+
if (channel.cid === event.cid) copyChannelState();
|
|
592
641
|
};
|
|
593
|
-
|
|
642
|
+
var _client$on2 = client.on('notification.mark_read', handleEvent),
|
|
643
|
+
unsubscribe = _client$on2.unsubscribe;
|
|
644
|
+
return unsubscribe;
|
|
645
|
+
}, [channel.cid, client, copyChannelState]);
|
|
594
646
|
var threadPropsExists = !!threadProps;
|
|
595
647
|
(0, _react.useEffect)(function () {
|
|
596
648
|
if (threadProps && shouldSyncChannel) {
|
|
@@ -624,550 +676,79 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
624
676
|
(0, _streamChat.logChatPromiseExecution)(channel.markRead(), 'mark read');
|
|
625
677
|
}
|
|
626
678
|
}, defaultThrottleInterval, throttleOptions)).current;
|
|
627
|
-
var
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
setMessages(channel.state.messages);
|
|
631
|
-
restartSetsMergeFuncRef.current();
|
|
632
|
-
}
|
|
633
|
-
}, newMessageStateUpdateThrottleInterval, throttleOptions)).current;
|
|
634
|
-
var copyTypingState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
635
|
-
if (channel) {
|
|
636
|
-
setTyping(Object.assign({}, channel.state.typing));
|
|
637
|
-
}
|
|
638
|
-
}, stateUpdateThrottleInterval, throttleOptions)).current;
|
|
639
|
-
var copyReadState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
640
|
-
if (channel) {
|
|
641
|
-
setRead(Object.assign({}, channel.state.read));
|
|
642
|
-
}
|
|
643
|
-
}, stateUpdateThrottleInterval, throttleOptions)).current;
|
|
644
|
-
var copyChannelState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
645
|
-
setLoading(false);
|
|
646
|
-
if (channel) {
|
|
647
|
-
setMembers(Object.assign({}, channel.state.members));
|
|
648
|
-
setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
|
|
649
|
-
setRead(Object.assign({}, channel.state.read));
|
|
650
|
-
setTyping(Object.assign({}, channel.state.typing));
|
|
651
|
-
setWatcherCount(channel.state.watcher_count);
|
|
652
|
-
setWatchers(Object.assign({}, channel.state.watchers));
|
|
653
|
-
}
|
|
654
|
-
}, stateUpdateThrottleInterval, throttleOptions)).current;
|
|
655
|
-
(0, _react.useEffect)(function () {
|
|
656
|
-
var channelSubscriptions = [];
|
|
657
|
-
if (channel && shouldSyncChannel) {
|
|
658
|
-
channelSubscriptions.push(channel.on('message.new', copyMessagesState));
|
|
659
|
-
channelSubscriptions.push(channel.on('message.read', copyReadState));
|
|
660
|
-
channelSubscriptions.push(channel.on('typing.start', copyTypingState));
|
|
661
|
-
channelSubscriptions.push(channel.on('typing.stop', copyTypingState));
|
|
662
|
-
}
|
|
663
|
-
return function () {
|
|
664
|
-
channelSubscriptions.forEach(function (s) {
|
|
665
|
-
return s.unsubscribe();
|
|
666
|
-
});
|
|
667
|
-
};
|
|
668
|
-
}, [channelId, shouldSyncChannel]);
|
|
669
|
-
(0, _react.useEffect)(function () {
|
|
670
|
-
var handleEvent = function handleEvent(event) {
|
|
671
|
-
var ignorableEvents = ['user.watching.start', 'user.watching.stop'];
|
|
672
|
-
if (ignorableEvents.includes(event.type)) return;
|
|
673
|
-
if (shouldSyncChannel) {
|
|
674
|
-
var isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
|
|
675
|
-
if (!isTypingEvent) {
|
|
676
|
-
var _event$message;
|
|
677
|
-
if (thread != null && thread.id) {
|
|
678
|
-
var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
|
|
679
|
-
setThreadMessages(updatedThreadMessages);
|
|
680
|
-
}
|
|
681
|
-
if (channel && thread != null && thread.id && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id && !threadInstance) {
|
|
682
|
-
var updatedThread = channel.state.formatMessage(event.message);
|
|
683
|
-
setThread(updatedThread);
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
|
-
if (channel && channel.initialized && event.type !== 'message.new' && event.type !== 'message.read' && event.type !== 'typing.start' && event.type !== 'typing.stop') {
|
|
687
|
-
copyChannelState();
|
|
688
|
-
}
|
|
689
|
-
}
|
|
690
|
-
};
|
|
691
|
-
var _channel$on = channel.on(handleEvent),
|
|
692
|
-
unsubscribe = _channel$on.unsubscribe;
|
|
693
|
-
return unsubscribe;
|
|
694
|
-
}, [channelId, thread == null ? void 0 : thread.id, shouldSyncChannel]);
|
|
695
|
-
(0, _react.useEffect)(function () {
|
|
696
|
-
var _client$on = client.on('channel.deleted', function (event) {
|
|
697
|
-
if (event.cid === (channel == null ? void 0 : channel.cid)) {
|
|
698
|
-
setDeleted(true);
|
|
699
|
-
}
|
|
700
|
-
}),
|
|
701
|
-
unsubscribe = _client$on.unsubscribe;
|
|
702
|
-
return unsubscribe;
|
|
703
|
-
}, [channelId]);
|
|
704
|
-
(0, _react.useEffect)(function () {
|
|
705
|
-
var handleEvent = function handleEvent(event) {
|
|
706
|
-
if (channel.cid === event.cid) copyChannelState();
|
|
707
|
-
};
|
|
708
|
-
var _client$on2 = client.on('notification.mark_read', handleEvent),
|
|
709
|
-
unsubscribe = _client$on2.unsubscribe;
|
|
710
|
-
return unsubscribe;
|
|
711
|
-
}, []);
|
|
712
|
-
var channelQueryCallRef = (0, _react.useRef)(function () {
|
|
713
|
-
var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(queryCall) {
|
|
714
|
-
var onAfterQueryCall,
|
|
715
|
-
scrollToMessageId,
|
|
716
|
-
currentMessages,
|
|
717
|
-
hadCurrentLatestMessages,
|
|
718
|
-
scrollToMessageIndex,
|
|
719
|
-
limitAfter,
|
|
720
|
-
currentLength,
|
|
721
|
-
noOfMessagesAfter,
|
|
722
|
-
endIndex,
|
|
723
|
-
restOfMessages,
|
|
724
|
-
latestSet,
|
|
725
|
-
hasLatestMessages,
|
|
726
|
-
_args2 = arguments;
|
|
679
|
+
var reloadThread = function () {
|
|
680
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
|
|
681
|
+
var parentID, limit, queryResponse, updatedHasMore, updatedThreadMessages, _yield$channel$getMes, messages, _messages, threadMessage, formattedMessage;
|
|
727
682
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
728
683
|
while (1) switch (_context2.prev = _context2.next) {
|
|
729
|
-
case 0:
|
|
730
|
-
onAfterQueryCall = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : undefined;
|
|
731
|
-
scrollToMessageId = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : undefined;
|
|
732
|
-
setError(false);
|
|
733
|
-
_context2.prev = 3;
|
|
734
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
735
|
-
_context2.next = 7;
|
|
736
|
-
return queryCall();
|
|
737
|
-
case 7:
|
|
738
|
-
setLastRead(new Date());
|
|
739
|
-
setHasMore(true);
|
|
740
|
-
currentMessages = channel.state.messages;
|
|
741
|
-
hadCurrentLatestMessages = currentMessages.length > 0 && currentMessages === channel.state.latestMessages;
|
|
742
|
-
if (typeof scrollToMessageId === 'function') {
|
|
743
|
-
scrollToMessageId = scrollToMessageId();
|
|
744
|
-
}
|
|
745
|
-
scrollToMessageIndex = scrollToMessageId ? currentMessages.findIndex(function (_ref3) {
|
|
746
|
-
var id = _ref3.id;
|
|
747
|
-
return id === scrollToMessageId;
|
|
748
|
-
}) : -1;
|
|
749
|
-
if (channel && scrollToMessageIndex !== -1) {
|
|
750
|
-
copyChannelState.cancel();
|
|
751
|
-
limitAfter = 4;
|
|
752
|
-
currentLength = currentMessages.length;
|
|
753
|
-
noOfMessagesAfter = currentLength - scrollToMessageIndex - 1;
|
|
754
|
-
if (noOfMessagesAfter > limitAfter) {
|
|
755
|
-
endIndex = scrollToMessageIndex + limitAfter;
|
|
756
|
-
channel.state.clearMessages();
|
|
757
|
-
channel.state.messages = currentMessages.slice(0, endIndex + 1);
|
|
758
|
-
splitLatestCurrentMessageSetRef.current();
|
|
759
|
-
restOfMessages = currentMessages.slice(endIndex + 1);
|
|
760
|
-
if (hadCurrentLatestMessages) {
|
|
761
|
-
latestSet = channel.state.messageSets.find(function (set) {
|
|
762
|
-
return set.isLatest;
|
|
763
|
-
});
|
|
764
|
-
if (latestSet) {
|
|
765
|
-
latestSet.messages = restOfMessages;
|
|
766
|
-
hasOverlappingRecentMessagesRef.current = true;
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
|
-
hasLatestMessages = channel.state.latestMessages.length > 0;
|
|
772
|
-
channel.state.setIsUpToDate(hasLatestMessages);
|
|
773
|
-
setHasNoMoreRecentMessagesToLoad(hasLatestMessages);
|
|
774
|
-
copyChannelState();
|
|
775
|
-
if (scrollToMessageIndex !== -1) {
|
|
776
|
-
copyChannelState.flush();
|
|
777
|
-
}
|
|
778
|
-
onAfterQueryCall == null ? void 0 : onAfterQueryCall();
|
|
779
|
-
_context2.next = 27;
|
|
780
|
-
break;
|
|
781
|
-
case 22:
|
|
782
|
-
_context2.prev = 22;
|
|
783
|
-
_context2.t0 = _context2["catch"](3);
|
|
784
|
-
if (_context2.t0 instanceof Error) {
|
|
785
|
-
setError(_context2.t0);
|
|
786
|
-
} else {
|
|
787
|
-
setError(true);
|
|
788
|
-
}
|
|
789
|
-
setLoading(false);
|
|
790
|
-
setLastRead(new Date());
|
|
791
|
-
case 27:
|
|
792
|
-
case "end":
|
|
793
|
-
return _context2.stop();
|
|
794
|
-
}
|
|
795
|
-
}, _callee2, null, [[3, 22]]);
|
|
796
|
-
}));
|
|
797
|
-
return function (_x) {
|
|
798
|
-
return _ref2.apply(this, arguments);
|
|
799
|
-
};
|
|
800
|
-
}());
|
|
801
|
-
var loadChannelAtFirstUnreadMessage = function loadChannelAtFirstUnreadMessage() {
|
|
802
|
-
if (!channel) return;
|
|
803
|
-
var unreadMessageIdToScrollTo;
|
|
804
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
|
|
805
|
-
var unreadCount, isLatestMessageSetShown, lastReadDate, _res$messages$find, res;
|
|
806
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
807
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
808
|
-
case 0:
|
|
809
|
-
unreadCount = channel.countUnread();
|
|
810
|
-
if (!(unreadCount === 0)) {
|
|
811
|
-
_context3.next = 3;
|
|
812
|
-
break;
|
|
813
|
-
}
|
|
814
|
-
return _context3.abrupt("return");
|
|
815
|
-
case 3:
|
|
816
|
-
isLatestMessageSetShown = !!channel.state.messageSets.find(function (set) {
|
|
817
|
-
return set.isCurrent && set.isLatest;
|
|
818
|
-
});
|
|
819
|
-
if (!(isLatestMessageSetShown && unreadCount <= channel.state.messages.length)) {
|
|
820
|
-
_context3.next = 7;
|
|
821
|
-
break;
|
|
822
|
-
}
|
|
823
|
-
unreadMessageIdToScrollTo = channel.state.messages[channel.state.messages.length - unreadCount].id;
|
|
824
|
-
return _context3.abrupt("return");
|
|
825
|
-
case 7:
|
|
826
|
-
lastReadDate = channel.lastRead();
|
|
827
|
-
if (!lastReadDate) {
|
|
828
|
-
_context3.next = 17;
|
|
829
|
-
break;
|
|
830
|
-
}
|
|
831
|
-
setLoading(true);
|
|
832
|
-
_context3.next = 12;
|
|
833
|
-
return channel.query({
|
|
834
|
-
messages: {
|
|
835
|
-
created_at_around: lastReadDate,
|
|
836
|
-
limit: 30
|
|
837
|
-
},
|
|
838
|
-
watch: true
|
|
839
|
-
}, 'new');
|
|
840
|
-
case 12:
|
|
841
|
-
res = _context3.sent;
|
|
842
|
-
unreadMessageIdToScrollTo = (_res$messages$find = res.messages.find(function (m) {
|
|
843
|
-
return lastReadDate < (m.created_at ? new Date(m.created_at) : new Date());
|
|
844
|
-
})) == null ? void 0 : _res$messages$find.id;
|
|
845
|
-
if (unreadMessageIdToScrollTo) {
|
|
846
|
-
channel.state.loadMessageIntoState(unreadMessageIdToScrollTo);
|
|
847
|
-
}
|
|
848
|
-
_context3.next = 19;
|
|
849
|
-
break;
|
|
850
|
-
case 17:
|
|
851
|
-
_context3.next = 19;
|
|
852
|
-
return loadLatestMessagesRef.current();
|
|
853
|
-
case 19:
|
|
854
|
-
case "end":
|
|
855
|
-
return _context3.stop();
|
|
856
|
-
}
|
|
857
|
-
}, _callee3);
|
|
858
|
-
})), function () {
|
|
859
|
-
if (unreadMessageIdToScrollTo) {
|
|
860
|
-
restartSetsMergeFuncRef.current();
|
|
861
|
-
}
|
|
862
|
-
}, function () {
|
|
863
|
-
return unreadMessageIdToScrollTo;
|
|
864
|
-
});
|
|
865
|
-
};
|
|
866
|
-
var loadChannelAroundMessage = function () {
|
|
867
|
-
var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(_ref5) {
|
|
868
|
-
var messageIdToLoadAround;
|
|
869
|
-
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
870
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
871
|
-
case 0:
|
|
872
|
-
messageIdToLoadAround = _ref5.messageId;
|
|
873
|
-
if (!thread) {
|
|
874
|
-
_context5.next = 18;
|
|
875
|
-
break;
|
|
876
|
-
}
|
|
877
|
-
if (!messageIdToLoadAround) {
|
|
878
|
-
_context5.next = 16;
|
|
879
|
-
break;
|
|
880
|
-
}
|
|
881
|
-
setThreadLoadingMore(true);
|
|
882
|
-
_context5.prev = 4;
|
|
883
|
-
_context5.next = 7;
|
|
884
|
-
return channel.state.loadMessageIntoState(messageIdToLoadAround, thread.id);
|
|
885
|
-
case 7:
|
|
886
|
-
setThreadLoadingMore(false);
|
|
887
|
-
setThreadMessages(channel.state.threads[thread.id]);
|
|
888
|
-
setTargetedMessage(messageIdToLoadAround);
|
|
889
|
-
_context5.next = 16;
|
|
890
|
-
break;
|
|
891
|
-
case 12:
|
|
892
|
-
_context5.prev = 12;
|
|
893
|
-
_context5.t0 = _context5["catch"](4);
|
|
894
|
-
if (_context5.t0 instanceof Error) {
|
|
895
|
-
setError(_context5.t0);
|
|
896
|
-
} else {
|
|
897
|
-
setError(true);
|
|
898
|
-
}
|
|
899
|
-
setThreadLoadingMore(false);
|
|
900
|
-
case 16:
|
|
901
|
-
_context5.next = 20;
|
|
902
|
-
break;
|
|
903
|
-
case 18:
|
|
904
|
-
_context5.next = 20;
|
|
905
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
|
|
906
|
-
var currentMessageSet, recentCurrentSetMsgId;
|
|
907
|
-
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
908
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
909
|
-
case 0:
|
|
910
|
-
setLoading(true);
|
|
911
|
-
if (!messageIdToLoadAround) {
|
|
912
|
-
_context4.next = 10;
|
|
913
|
-
break;
|
|
914
|
-
}
|
|
915
|
-
setMessages([]);
|
|
916
|
-
_context4.next = 5;
|
|
917
|
-
return channel.state.loadMessageIntoState(messageIdToLoadAround);
|
|
918
|
-
case 5:
|
|
919
|
-
currentMessageSet = channel.state.messageSets.find(function (set) {
|
|
920
|
-
return set.isCurrent;
|
|
921
|
-
});
|
|
922
|
-
if (!(currentMessageSet && !(currentMessageSet != null && currentMessageSet.isLatest))) {
|
|
923
|
-
_context4.next = 10;
|
|
924
|
-
break;
|
|
925
|
-
}
|
|
926
|
-
recentCurrentSetMsgId = currentMessageSet.messages[currentMessageSet.messages.length - 1].id;
|
|
927
|
-
_context4.next = 10;
|
|
928
|
-
return channel.query({
|
|
929
|
-
messages: {
|
|
930
|
-
id_gte: recentCurrentSetMsgId,
|
|
931
|
-
limit: 25
|
|
932
|
-
}
|
|
933
|
-
}, 'current');
|
|
934
|
-
case 10:
|
|
935
|
-
case "end":
|
|
936
|
-
return _context4.stop();
|
|
937
|
-
}
|
|
938
|
-
}, _callee4);
|
|
939
|
-
})), function () {
|
|
940
|
-
if (messageIdToLoadAround) {
|
|
941
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
942
|
-
setTargetedMessage(messageIdToLoadAround);
|
|
943
|
-
}
|
|
944
|
-
}, messageIdToLoadAround);
|
|
945
|
-
case 20:
|
|
946
|
-
case "end":
|
|
947
|
-
return _context5.stop();
|
|
948
|
-
}
|
|
949
|
-
}, _callee5, null, [[4, 12]]);
|
|
950
|
-
}));
|
|
951
|
-
return function loadChannelAroundMessage(_x2) {
|
|
952
|
-
return _ref6.apply(this, arguments);
|
|
953
|
-
};
|
|
954
|
-
}();
|
|
955
|
-
(0, _react.useEffect)(function () {
|
|
956
|
-
if (!targetedMessage && prevTargetedMessage) {
|
|
957
|
-
restartSetsMergeFuncRef.current();
|
|
958
|
-
}
|
|
959
|
-
}, [targetedMessage]);
|
|
960
|
-
var splitLatestCurrentMessageSetRef = (0, _react.useRef)(function () {
|
|
961
|
-
var currentLatestSet = channel.state.messageSets.find(function (set) {
|
|
962
|
-
return set.isCurrent && set.isLatest;
|
|
963
|
-
});
|
|
964
|
-
if (!currentLatestSet) return;
|
|
965
|
-
currentLatestSet.isLatest = false;
|
|
966
|
-
channel.state.messageSets.push({
|
|
967
|
-
isCurrent: false,
|
|
968
|
-
isLatest: true,
|
|
969
|
-
messages: [],
|
|
970
|
-
pagination: {
|
|
971
|
-
hasNext: true,
|
|
972
|
-
hasPrev: true
|
|
973
|
-
}
|
|
974
|
-
});
|
|
975
|
-
});
|
|
976
|
-
var mergeOverlappingMessageSetsRef = (0, _react.useRef)(function () {
|
|
977
|
-
var limitToMaxRenderPerBatch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
978
|
-
if (hasOverlappingRecentMessagesRef.current) {
|
|
979
|
-
var limit = 5;
|
|
980
|
-
var latestMessageSet = channel.state.messageSets.find(function (set) {
|
|
981
|
-
return set.isLatest;
|
|
982
|
-
});
|
|
983
|
-
var currentMessageSet = channel.state.messageSets.find(function (set) {
|
|
984
|
-
return set.isCurrent;
|
|
985
|
-
});
|
|
986
|
-
if (latestMessageSet && currentMessageSet && latestMessageSet !== currentMessageSet) {
|
|
987
|
-
if (limitToMaxRenderPerBatch && latestMessageSet.messages.length > limit) {
|
|
988
|
-
currentMessageSet.messages = currentMessageSet.messages.concat(latestMessageSet.messages.slice(0, limit));
|
|
989
|
-
latestMessageSet.messages = latestMessageSet.messages.slice(limit);
|
|
990
|
-
} else {
|
|
991
|
-
channel.state.messageSets = channel.state.messageSets.filter(function (set) {
|
|
992
|
-
return !set.isLatest;
|
|
993
|
-
});
|
|
994
|
-
currentMessageSet.messages = currentMessageSet.messages.concat(latestMessageSet.messages);
|
|
995
|
-
currentMessageSet.isLatest = true;
|
|
996
|
-
hasOverlappingRecentMessagesRef.current = false;
|
|
997
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
998
|
-
}
|
|
999
|
-
return true;
|
|
1000
|
-
}
|
|
1001
|
-
}
|
|
1002
|
-
return false;
|
|
1003
|
-
});
|
|
1004
|
-
var mergeSetsIntervalRef = (0, _react.useRef)();
|
|
1005
|
-
(0, _react.useEffect)(function () {
|
|
1006
|
-
return function () {
|
|
1007
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
1008
|
-
};
|
|
1009
|
-
}, []);
|
|
1010
|
-
var restartSetsMergeFuncRef = (0, _react.useRef)(function () {
|
|
1011
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
1012
|
-
if (!hasOverlappingRecentMessagesRef.current) return;
|
|
1013
|
-
});
|
|
1014
|
-
var loadLatestMessagesRef = (0, _react.useRef)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() {
|
|
1015
|
-
var clearLatest,
|
|
1016
|
-
latestSet,
|
|
1017
|
-
_args6 = arguments;
|
|
1018
|
-
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1019
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
1020
|
-
case 0:
|
|
1021
|
-
clearLatest = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : false;
|
|
1022
|
-
mergeOverlappingMessageSetsRef.current();
|
|
1023
|
-
if (clearLatest) {
|
|
1024
|
-
latestSet = channel.state.messageSets.find(function (set) {
|
|
1025
|
-
return set.isLatest;
|
|
1026
|
-
});
|
|
1027
|
-
if (latestSet) latestSet.messages = [];
|
|
1028
|
-
}
|
|
1029
|
-
if (!(channel.state.latestMessages.length === 0)) {
|
|
1030
|
-
_context6.next = 6;
|
|
1031
|
-
break;
|
|
1032
|
-
}
|
|
1033
|
-
_context6.next = 6;
|
|
1034
|
-
return channel.query({}, 'latest');
|
|
1035
|
-
case 6:
|
|
1036
|
-
_context6.next = 8;
|
|
1037
|
-
return channel.state.loadMessageIntoState('latest');
|
|
1038
|
-
case 8:
|
|
1039
|
-
case "end":
|
|
1040
|
-
return _context6.stop();
|
|
1041
|
-
}
|
|
1042
|
-
}, _callee6);
|
|
1043
|
-
})));
|
|
1044
|
-
var loadChannel = function loadChannel() {
|
|
1045
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
|
|
1046
|
-
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1047
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
1048
|
-
case 0:
|
|
1049
|
-
if (!(!(channel != null && channel.initialized) || !channel.state.isUpToDate)) {
|
|
1050
|
-
_context7.next = 5;
|
|
1051
|
-
break;
|
|
1052
|
-
}
|
|
1053
|
-
_context7.next = 3;
|
|
1054
|
-
return channel == null ? void 0 : channel.watch();
|
|
1055
|
-
case 3:
|
|
1056
|
-
_context7.next = 7;
|
|
1057
|
-
break;
|
|
1058
|
-
case 5:
|
|
1059
|
-
_context7.next = 7;
|
|
1060
|
-
return channel.state.loadMessageIntoState('latest');
|
|
1061
|
-
case 7:
|
|
1062
|
-
case "end":
|
|
1063
|
-
return _context7.stop();
|
|
1064
|
-
}
|
|
1065
|
-
}, _callee7);
|
|
1066
|
-
})), function () {
|
|
1067
|
-
channel == null ? void 0 : channel.state.setIsUpToDate(true);
|
|
1068
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1069
|
-
});
|
|
1070
|
-
};
|
|
1071
|
-
var reloadThread = function () {
|
|
1072
|
-
var _ref10 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
|
|
1073
|
-
var parentID, limit, queryResponse, updatedHasMore, updatedThreadMessages, _yield$channel$getMes, _messages, _messages2, threadMessage, formattedMessage;
|
|
1074
|
-
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
1075
|
-
while (1) switch (_context8.prev = _context8.next) {
|
|
1076
684
|
case 0:
|
|
1077
685
|
if (!(!channel || !(thread != null && thread.id))) {
|
|
1078
|
-
|
|
686
|
+
_context2.next = 2;
|
|
1079
687
|
break;
|
|
1080
688
|
}
|
|
1081
|
-
return
|
|
689
|
+
return _context2.abrupt("return");
|
|
1082
690
|
case 2:
|
|
1083
691
|
setThreadLoadingMore(true);
|
|
1084
|
-
|
|
692
|
+
_context2.prev = 3;
|
|
1085
693
|
parentID = thread.id;
|
|
1086
694
|
limit = 50;
|
|
1087
695
|
channel.state.threads[parentID] = [];
|
|
1088
|
-
|
|
696
|
+
_context2.next = 9;
|
|
1089
697
|
return channel.getReplies(parentID, {
|
|
1090
698
|
limit: limit
|
|
1091
699
|
});
|
|
1092
700
|
case 9:
|
|
1093
|
-
queryResponse =
|
|
701
|
+
queryResponse = _context2.sent;
|
|
1094
702
|
updatedHasMore = queryResponse.messages.length === limit;
|
|
1095
703
|
updatedThreadMessages = channel.state.threads[parentID] || [];
|
|
1096
704
|
loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
|
|
1097
|
-
|
|
705
|
+
_context2.next = 15;
|
|
1098
706
|
return channel.getMessagesById([parentID]);
|
|
1099
707
|
case 15:
|
|
1100
|
-
_yield$channel$getMes =
|
|
1101
|
-
|
|
1102
|
-
|
|
708
|
+
_yield$channel$getMes = _context2.sent;
|
|
709
|
+
messages = _yield$channel$getMes.messages;
|
|
710
|
+
_messages = (0, _slicedToArray2["default"])(messages, 1), threadMessage = _messages[0];
|
|
1103
711
|
if (threadMessage && !threadInstance) {
|
|
1104
712
|
formattedMessage = channel.state.formatMessage(threadMessage);
|
|
1105
713
|
setThread(formattedMessage);
|
|
1106
714
|
}
|
|
1107
|
-
|
|
715
|
+
_context2.next = 27;
|
|
1108
716
|
break;
|
|
1109
717
|
case 21:
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
console.warn('Thread loading request failed with error',
|
|
1113
|
-
if (
|
|
1114
|
-
setError(
|
|
718
|
+
_context2.prev = 21;
|
|
719
|
+
_context2.t0 = _context2["catch"](3);
|
|
720
|
+
console.warn('Thread loading request failed with error', _context2.t0);
|
|
721
|
+
if (_context2.t0 instanceof Error) {
|
|
722
|
+
setError(_context2.t0);
|
|
1115
723
|
} else {
|
|
1116
724
|
setError(true);
|
|
1117
725
|
}
|
|
1118
726
|
setThreadLoadingMore(false);
|
|
1119
|
-
throw
|
|
727
|
+
throw _context2.t0;
|
|
1120
728
|
case 27:
|
|
1121
729
|
case "end":
|
|
1122
|
-
return
|
|
730
|
+
return _context2.stop();
|
|
1123
731
|
}
|
|
1124
|
-
},
|
|
732
|
+
}, _callee2, null, [[3, 21]]);
|
|
1125
733
|
}));
|
|
1126
734
|
return function reloadThread() {
|
|
1127
|
-
return
|
|
735
|
+
return _ref2.apply(this, arguments);
|
|
1128
736
|
};
|
|
1129
737
|
}();
|
|
1130
738
|
var resyncChannel = function () {
|
|
1131
|
-
var
|
|
1132
|
-
var
|
|
1133
|
-
return _regenerator["default"].wrap(function
|
|
1134
|
-
while (1) switch (
|
|
739
|
+
var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
|
|
740
|
+
var parseMessage, _channelMessagesState, failedMessages, failedThreadMessages;
|
|
741
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
742
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1135
743
|
case 0:
|
|
1136
744
|
if (!(!channel || syncingChannelRef.current)) {
|
|
1137
|
-
|
|
745
|
+
_context3.next = 2;
|
|
1138
746
|
break;
|
|
1139
747
|
}
|
|
1140
|
-
return
|
|
748
|
+
return _context3.abrupt("return");
|
|
1141
749
|
case 2:
|
|
1142
|
-
hasOverlappingRecentMessagesRef.current = false;
|
|
1143
|
-
clearInterval(mergeSetsIntervalRef.current);
|
|
1144
750
|
syncingChannelRef.current = true;
|
|
1145
751
|
setError(false);
|
|
1146
|
-
_context9.prev = 6;
|
|
1147
|
-
_context9.next = 9;
|
|
1148
|
-
return channel.watch({
|
|
1149
|
-
messages: {
|
|
1150
|
-
limit: messages.length + 30
|
|
1151
|
-
}
|
|
1152
|
-
});
|
|
1153
|
-
case 9:
|
|
1154
|
-
state = _context9.sent;
|
|
1155
|
-
oldListTopMessage = messages[0];
|
|
1156
|
-
oldListTopMessageId = (_messages$ = messages[0]) == null ? void 0 : _messages$.id;
|
|
1157
|
-
oldListBottomMessage = messages[messages.length - 1];
|
|
1158
|
-
newListTopMessage = state.messages[0];
|
|
1159
|
-
newListBottomMessage = state.messages[state.messages.length - 1];
|
|
1160
|
-
if (!(!oldListTopMessage || !oldListBottomMessage || !newListTopMessage || !newListBottomMessage)) {
|
|
1161
|
-
_context9.next = 22;
|
|
1162
|
-
break;
|
|
1163
|
-
}
|
|
1164
|
-
channel.state.clearMessages();
|
|
1165
|
-
channel.state.setIsUpToDate(true);
|
|
1166
|
-
channel.state.addMessagesSorted(state.messages);
|
|
1167
|
-
channel.state.addPinnedMessages(state.pinned_messages);
|
|
1168
|
-
copyChannelState();
|
|
1169
|
-
return _context9.abrupt("return");
|
|
1170
|
-
case 22:
|
|
1171
752
|
parseMessage = function parseMessage(message) {
|
|
1172
753
|
var _message$pinned_at, _message$updated_at;
|
|
1173
754
|
return Object.assign({}, message, {
|
|
@@ -1176,64 +757,52 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1176
757
|
updated_at: (_message$updated_at = message.updated_at) == null ? void 0 : _message$updated_at.toString()
|
|
1177
758
|
});
|
|
1178
759
|
};
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
return message.status === _utils.MessageStatusTypes.FAILED;
|
|
1184
|
-
}).map(parseMessage) : [];
|
|
1185
|
-
oldListTopMessageCreatedAt = oldListTopMessage.created_at;
|
|
1186
|
-
oldListBottomMessageCreatedAt = oldListBottomMessage.created_at;
|
|
1187
|
-
newListTopMessageCreatedAt = newListTopMessage.created_at ? new Date(newListTopMessage.created_at) : new Date();
|
|
1188
|
-
newListBottomMessageCreatedAt = newListBottomMessage != null && newListBottomMessage.created_at ? new Date(newListBottomMessage.created_at) : new Date();
|
|
1189
|
-
finalMessages = [];
|
|
1190
|
-
if (oldListTopMessage && oldListTopMessageCreatedAt && oldListBottomMessageCreatedAt && newListTopMessageCreatedAt < oldListTopMessageCreatedAt && newListBottomMessageCreatedAt >= oldListBottomMessageCreatedAt) {
|
|
1191
|
-
index = state.messages.findIndex(function (message) {
|
|
1192
|
-
return message.id === oldListTopMessageId;
|
|
1193
|
-
});
|
|
1194
|
-
finalMessages = state.messages.slice(index);
|
|
1195
|
-
} else {
|
|
1196
|
-
finalMessages = state.messages;
|
|
760
|
+
_context3.prev = 5;
|
|
761
|
+
if (thread) {
|
|
762
|
+
_context3.next = 12;
|
|
763
|
+
break;
|
|
1197
764
|
}
|
|
1198
|
-
channel.state.setIsUpToDate(true);
|
|
1199
|
-
channel.state.clearMessages();
|
|
1200
|
-
channel.state.addMessagesSorted(finalMessages);
|
|
1201
|
-
channel.state.addPinnedMessages(state.pinned_messages);
|
|
1202
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1203
|
-
setHasMore(true);
|
|
1204
765
|
copyChannelState();
|
|
1205
|
-
|
|
766
|
+
failedMessages = (_channelMessagesState = channelMessagesState.messages) == null ? void 0 : _channelMessagesState.filter(function (message) {
|
|
767
|
+
return message.status === _utils.MessageStatusTypes.FAILED;
|
|
768
|
+
}).map(parseMessage);
|
|
769
|
+
if (failedMessages != null && failedMessages.length) {
|
|
1206
770
|
channel.state.addMessagesSorted(failedMessages);
|
|
1207
|
-
copyChannelState();
|
|
1208
771
|
}
|
|
1209
|
-
|
|
772
|
+
_context3.next = 16;
|
|
773
|
+
break;
|
|
774
|
+
case 12:
|
|
775
|
+
_context3.next = 14;
|
|
1210
776
|
return reloadThread();
|
|
1211
|
-
case
|
|
1212
|
-
|
|
777
|
+
case 14:
|
|
778
|
+
failedThreadMessages = thread ? threadMessages.filter(function (message) {
|
|
779
|
+
return message.status === _utils.MessageStatusTypes.FAILED;
|
|
780
|
+
}).map(parseMessage) : [];
|
|
781
|
+
if (failedThreadMessages.length) {
|
|
1213
782
|
channel.state.addMessagesSorted(failedThreadMessages);
|
|
1214
783
|
setThreadMessages((0, _toConsumableArray2["default"])(channel.state.threads[thread.id]));
|
|
1215
784
|
}
|
|
1216
|
-
|
|
785
|
+
case 16:
|
|
786
|
+
_context3.next = 21;
|
|
1217
787
|
break;
|
|
1218
|
-
case
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
if (
|
|
1222
|
-
setError(
|
|
788
|
+
case 18:
|
|
789
|
+
_context3.prev = 18;
|
|
790
|
+
_context3.t0 = _context3["catch"](5);
|
|
791
|
+
if (_context3.t0 instanceof Error) {
|
|
792
|
+
setError(_context3.t0);
|
|
1223
793
|
} else {
|
|
1224
794
|
setError(true);
|
|
1225
795
|
}
|
|
1226
|
-
|
|
1227
|
-
case 48:
|
|
796
|
+
case 21:
|
|
1228
797
|
syncingChannelRef.current = false;
|
|
1229
|
-
case
|
|
798
|
+
case 22:
|
|
1230
799
|
case "end":
|
|
1231
|
-
return
|
|
800
|
+
return _context3.stop();
|
|
1232
801
|
}
|
|
1233
|
-
},
|
|
802
|
+
}, _callee3, null, [[5, 18]]);
|
|
1234
803
|
}));
|
|
1235
804
|
return function resyncChannel() {
|
|
1236
|
-
return
|
|
805
|
+
return _ref3.apply(this, arguments);
|
|
1237
806
|
};
|
|
1238
807
|
}();
|
|
1239
808
|
var resyncChannelRef = (0, _react.useRef)(resyncChannel);
|
|
@@ -1248,7 +817,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1248
817
|
if (enableOfflineSupport) {
|
|
1249
818
|
connectionChangedSubscription = _DBSyncManager.DBSyncManager.onSyncStatusChange(function (statusChanged) {
|
|
1250
819
|
if (statusChanged) {
|
|
1251
|
-
|
|
820
|
+
copyChannelState();
|
|
1252
821
|
}
|
|
1253
822
|
});
|
|
1254
823
|
} else {
|
|
@@ -1262,25 +831,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1262
831
|
connectionChangedSubscription.unsubscribe();
|
|
1263
832
|
};
|
|
1264
833
|
}, [enableOfflineSupport, shouldSyncChannel]);
|
|
1265
|
-
var reloadChannel = function reloadChannel() {
|
|
1266
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10() {
|
|
1267
|
-
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
1268
|
-
while (1) switch (_context10.prev = _context10.next) {
|
|
1269
|
-
case 0:
|
|
1270
|
-
setLoading(true);
|
|
1271
|
-
_context10.next = 3;
|
|
1272
|
-
return loadLatestMessagesRef.current(true);
|
|
1273
|
-
case 3:
|
|
1274
|
-
setLoading(false);
|
|
1275
|
-
channel == null ? void 0 : channel.state.setIsUpToDate(true);
|
|
1276
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1277
|
-
case 6:
|
|
1278
|
-
case "end":
|
|
1279
|
-
return _context10.stop();
|
|
1280
|
-
}
|
|
1281
|
-
}, _callee10);
|
|
1282
|
-
})));
|
|
1283
|
-
};
|
|
1284
834
|
var getChannelConfigSafely = function getChannelConfigSafely() {
|
|
1285
835
|
try {
|
|
1286
836
|
return channel == null ? void 0 : channel.getConfig();
|
|
@@ -1289,36 +839,125 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1289
839
|
}
|
|
1290
840
|
};
|
|
1291
841
|
var clientChannelConfig = getChannelConfigSafely();
|
|
842
|
+
var reloadChannel = function () {
|
|
843
|
+
var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
|
|
844
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
845
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
846
|
+
case 0:
|
|
847
|
+
_context4.prev = 0;
|
|
848
|
+
_context4.next = 3;
|
|
849
|
+
return loadLatestMessages();
|
|
850
|
+
case 3:
|
|
851
|
+
_context4.next = 8;
|
|
852
|
+
break;
|
|
853
|
+
case 5:
|
|
854
|
+
_context4.prev = 5;
|
|
855
|
+
_context4.t0 = _context4["catch"](0);
|
|
856
|
+
console.warn('Reloading channel failed with error:', _context4.t0);
|
|
857
|
+
case 8:
|
|
858
|
+
case "end":
|
|
859
|
+
return _context4.stop();
|
|
860
|
+
}
|
|
861
|
+
}, _callee4, null, [[0, 5]]);
|
|
862
|
+
}));
|
|
863
|
+
return function reloadChannel() {
|
|
864
|
+
return _ref4.apply(this, arguments);
|
|
865
|
+
};
|
|
866
|
+
}();
|
|
867
|
+
var loadChannelAroundMessage = function () {
|
|
868
|
+
var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(_ref5) {
|
|
869
|
+
var messageIdToLoadAround;
|
|
870
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
871
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
872
|
+
case 0:
|
|
873
|
+
messageIdToLoadAround = _ref5.messageId;
|
|
874
|
+
if (messageIdToLoadAround) {
|
|
875
|
+
_context5.next = 3;
|
|
876
|
+
break;
|
|
877
|
+
}
|
|
878
|
+
return _context5.abrupt("return");
|
|
879
|
+
case 3:
|
|
880
|
+
_context5.prev = 3;
|
|
881
|
+
if (!thread) {
|
|
882
|
+
_context5.next = 20;
|
|
883
|
+
break;
|
|
884
|
+
}
|
|
885
|
+
setThreadLoadingMore(true);
|
|
886
|
+
_context5.prev = 6;
|
|
887
|
+
_context5.next = 9;
|
|
888
|
+
return channel.state.loadMessageIntoState(messageIdToLoadAround, thread.id);
|
|
889
|
+
case 9:
|
|
890
|
+
setThreadLoadingMore(false);
|
|
891
|
+
setThreadMessages(channel.state.threads[thread.id]);
|
|
892
|
+
if (setTargetedMessage) {
|
|
893
|
+
setTargetedMessage(messageIdToLoadAround);
|
|
894
|
+
}
|
|
895
|
+
_context5.next = 18;
|
|
896
|
+
break;
|
|
897
|
+
case 14:
|
|
898
|
+
_context5.prev = 14;
|
|
899
|
+
_context5.t0 = _context5["catch"](6);
|
|
900
|
+
if (_context5.t0 instanceof Error) {
|
|
901
|
+
setError(_context5.t0);
|
|
902
|
+
} else {
|
|
903
|
+
setError(true);
|
|
904
|
+
}
|
|
905
|
+
setThreadLoadingMore(false);
|
|
906
|
+
case 18:
|
|
907
|
+
_context5.next = 22;
|
|
908
|
+
break;
|
|
909
|
+
case 20:
|
|
910
|
+
_context5.next = 22;
|
|
911
|
+
return loadChannelAroundMessageFn({
|
|
912
|
+
messageId: messageIdToLoadAround,
|
|
913
|
+
setTargetedMessage: setTargetedMessage
|
|
914
|
+
});
|
|
915
|
+
case 22:
|
|
916
|
+
_context5.next = 27;
|
|
917
|
+
break;
|
|
918
|
+
case 24:
|
|
919
|
+
_context5.prev = 24;
|
|
920
|
+
_context5.t1 = _context5["catch"](3);
|
|
921
|
+
console.warn('Loading channel around message failed with error:', _context5.t1);
|
|
922
|
+
case 27:
|
|
923
|
+
case "end":
|
|
924
|
+
return _context5.stop();
|
|
925
|
+
}
|
|
926
|
+
}, _callee5, null, [[3, 24], [6, 14]]);
|
|
927
|
+
}));
|
|
928
|
+
return function loadChannelAroundMessage(_x) {
|
|
929
|
+
return _ref6.apply(this, arguments);
|
|
930
|
+
};
|
|
931
|
+
}();
|
|
1292
932
|
var updateMessage = function updateMessage(updatedMessage) {
|
|
1293
933
|
var extraState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1294
|
-
if (channel)
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
|
|
934
|
+
if (!channel) return;
|
|
935
|
+
channel.state.addMessageSorted(updatedMessage, true);
|
|
936
|
+
copyMessagesStateFromChannel(channel);
|
|
937
|
+
if (thread && updatedMessage.parent_id) {
|
|
938
|
+
extraState.threadMessages = channel.state.threads[updatedMessage.parent_id] || [];
|
|
939
|
+
setThreadMessages(extraState.threadMessages);
|
|
1301
940
|
}
|
|
1302
941
|
};
|
|
1303
942
|
var replaceMessage = function replaceMessage(oldMessage, newMessage) {
|
|
1304
943
|
if (channel) {
|
|
1305
944
|
channel.state.removeMessage(oldMessage);
|
|
1306
945
|
channel.state.addMessageSorted(newMessage, true);
|
|
946
|
+
copyMessagesStateFromChannel(channel);
|
|
1307
947
|
if (thread && newMessage.parent_id) {
|
|
1308
948
|
var _threadMessages = channel.state.threads[newMessage.parent_id] || [];
|
|
1309
949
|
setThreadMessages(_threadMessages);
|
|
1310
950
|
}
|
|
1311
|
-
setMessages(channel.state.messages);
|
|
1312
951
|
}
|
|
1313
952
|
};
|
|
1314
|
-
var createMessagePreview = function createMessagePreview(
|
|
1315
|
-
var attachments =
|
|
1316
|
-
mentioned_users =
|
|
1317
|
-
parent_id =
|
|
1318
|
-
poll =
|
|
1319
|
-
poll_id =
|
|
1320
|
-
text =
|
|
1321
|
-
extraFields = (0, _objectWithoutProperties2["default"])(
|
|
953
|
+
var createMessagePreview = function createMessagePreview(_ref7) {
|
|
954
|
+
var attachments = _ref7.attachments,
|
|
955
|
+
mentioned_users = _ref7.mentioned_users,
|
|
956
|
+
parent_id = _ref7.parent_id,
|
|
957
|
+
poll = _ref7.poll,
|
|
958
|
+
poll_id = _ref7.poll_id,
|
|
959
|
+
text = _ref7.text,
|
|
960
|
+
extraFields = (0, _objectWithoutProperties2["default"])(_ref7, _excluded);
|
|
1322
961
|
var _client$user = client.user,
|
|
1323
962
|
channel_mutes = _client$user.channel_mutes,
|
|
1324
963
|
devices = _client$user.devices,
|
|
@@ -1347,7 +986,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1347
986
|
})
|
|
1348
987
|
}, extraFields);
|
|
1349
988
|
if (preview.quoted_message_id) {
|
|
1350
|
-
var
|
|
989
|
+
var _channelMessagesState2;
|
|
990
|
+
var _quotedMessage = (_channelMessagesState2 = channelMessagesState.messages) == null ? void 0 : _channelMessagesState2.find(function (message) {
|
|
1351
991
|
return message.id === preview.quoted_message_id;
|
|
1352
992
|
});
|
|
1353
993
|
preview.quoted_message = _quotedMessage;
|
|
@@ -1355,28 +995,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1355
995
|
return preview;
|
|
1356
996
|
};
|
|
1357
997
|
var uploadPendingAttachments = function () {
|
|
1358
|
-
var
|
|
998
|
+
var _ref8 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(message) {
|
|
1359
999
|
var _updatedMessage$attac;
|
|
1360
1000
|
var updatedMessage, i, _updatedMessage$attac2, attachment, image, file, _image$name, filename, controller, compressedUri, contentType, uploadResponse, _controller, response;
|
|
1361
|
-
return _regenerator["default"].wrap(function
|
|
1362
|
-
while (1) switch (
|
|
1001
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1002
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
1363
1003
|
case 0:
|
|
1364
1004
|
updatedMessage = Object.assign({}, message);
|
|
1365
1005
|
if (!((_updatedMessage$attac = updatedMessage.attachments) != null && _updatedMessage$attac.length)) {
|
|
1366
|
-
|
|
1006
|
+
_context6.next = 50;
|
|
1367
1007
|
break;
|
|
1368
1008
|
}
|
|
1369
1009
|
i = 0;
|
|
1370
1010
|
case 3:
|
|
1371
1011
|
if (!(i < ((_updatedMessage$attac2 = updatedMessage.attachments) == null ? void 0 : _updatedMessage$attac2.length))) {
|
|
1372
|
-
|
|
1012
|
+
_context6.next = 50;
|
|
1373
1013
|
break;
|
|
1374
1014
|
}
|
|
1375
1015
|
attachment = updatedMessage.attachments[i];
|
|
1376
1016
|
image = attachment.originalImage;
|
|
1377
1017
|
file = attachment.originalFile;
|
|
1378
1018
|
if (!(attachment.type === _types.FileTypes.Image && image != null && image.uri && attachment.image_url && (0, _utils.isLocalUrl)(attachment.image_url))) {
|
|
1379
|
-
|
|
1019
|
+
_context6.next = 29;
|
|
1380
1020
|
break;
|
|
1381
1021
|
}
|
|
1382
1022
|
filename = (_image$name = image.name) != null ? _image$name : (0, _utils.getFileNameFromPath)(image.uri);
|
|
@@ -1385,31 +1025,31 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1385
1025
|
controller.abort();
|
|
1386
1026
|
uploadAbortControllerRef.current["delete"](filename);
|
|
1387
1027
|
}
|
|
1388
|
-
|
|
1028
|
+
_context6.next = 13;
|
|
1389
1029
|
return (0, _compressImage.compressedImageURI)(image, compressImageQuality);
|
|
1390
1030
|
case 13:
|
|
1391
|
-
compressedUri =
|
|
1031
|
+
compressedUri = _context6.sent;
|
|
1392
1032
|
contentType = (0, _mimeTypes.lookup)(filename) || 'multipart/form-data';
|
|
1393
1033
|
if (!doImageUploadRequest) {
|
|
1394
|
-
|
|
1034
|
+
_context6.next = 21;
|
|
1395
1035
|
break;
|
|
1396
1036
|
}
|
|
1397
|
-
|
|
1037
|
+
_context6.next = 18;
|
|
1398
1038
|
return doImageUploadRequest(image, channel);
|
|
1399
1039
|
case 18:
|
|
1400
|
-
|
|
1401
|
-
|
|
1040
|
+
_context6.t0 = _context6.sent;
|
|
1041
|
+
_context6.next = 24;
|
|
1402
1042
|
break;
|
|
1403
1043
|
case 21:
|
|
1404
|
-
|
|
1044
|
+
_context6.next = 23;
|
|
1405
1045
|
return channel.sendImage(compressedUri, filename, contentType);
|
|
1406
1046
|
case 23:
|
|
1407
|
-
|
|
1047
|
+
_context6.t0 = _context6.sent;
|
|
1408
1048
|
case 24:
|
|
1409
|
-
uploadResponse =
|
|
1049
|
+
uploadResponse = _context6.t0;
|
|
1410
1050
|
attachment.image_url = uploadResponse.file;
|
|
1411
1051
|
delete attachment.originalFile;
|
|
1412
|
-
|
|
1052
|
+
_context6.next = 29;
|
|
1413
1053
|
return dbApi.updateMessage({
|
|
1414
1054
|
message: Object.assign({}, updatedMessage, {
|
|
1415
1055
|
cid: channel.cid
|
|
@@ -1417,7 +1057,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1417
1057
|
});
|
|
1418
1058
|
case 29:
|
|
1419
1059
|
if (!((attachment.type === _types.FileTypes.File || attachment.type === _types.FileTypes.Audio || attachment.type === _types.FileTypes.VoiceRecording || attachment.type === _types.FileTypes.Video) && attachment.asset_url && (0, _utils.isLocalUrl)(attachment.asset_url) && file != null && file.uri)) {
|
|
1420
|
-
|
|
1060
|
+
_context6.next = 47;
|
|
1421
1061
|
break;
|
|
1422
1062
|
}
|
|
1423
1063
|
_controller = uploadAbortControllerRef.current.get(file.name);
|
|
@@ -1426,28 +1066,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1426
1066
|
uploadAbortControllerRef.current["delete"](file.name);
|
|
1427
1067
|
}
|
|
1428
1068
|
if (!doDocUploadRequest) {
|
|
1429
|
-
|
|
1069
|
+
_context6.next = 38;
|
|
1430
1070
|
break;
|
|
1431
1071
|
}
|
|
1432
|
-
|
|
1072
|
+
_context6.next = 35;
|
|
1433
1073
|
return doDocUploadRequest(file, channel);
|
|
1434
1074
|
case 35:
|
|
1435
|
-
|
|
1436
|
-
|
|
1075
|
+
_context6.t1 = _context6.sent;
|
|
1076
|
+
_context6.next = 41;
|
|
1437
1077
|
break;
|
|
1438
1078
|
case 38:
|
|
1439
|
-
|
|
1079
|
+
_context6.next = 40;
|
|
1440
1080
|
return channel.sendFile(file.uri, file.name, file.mimeType);
|
|
1441
1081
|
case 40:
|
|
1442
|
-
|
|
1082
|
+
_context6.t1 = _context6.sent;
|
|
1443
1083
|
case 41:
|
|
1444
|
-
response =
|
|
1084
|
+
response = _context6.t1;
|
|
1445
1085
|
attachment.asset_url = response.file;
|
|
1446
1086
|
if (response.thumb_url) {
|
|
1447
1087
|
attachment.thumb_url = response.thumb_url;
|
|
1448
1088
|
}
|
|
1449
1089
|
delete attachment.originalFile;
|
|
1450
|
-
|
|
1090
|
+
_context6.next = 47;
|
|
1451
1091
|
return dbApi.updateMessage({
|
|
1452
1092
|
message: Object.assign({}, updatedMessage, {
|
|
1453
1093
|
cid: channel.cid
|
|
@@ -1455,38 +1095,38 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1455
1095
|
});
|
|
1456
1096
|
case 47:
|
|
1457
1097
|
i++;
|
|
1458
|
-
|
|
1098
|
+
_context6.next = 3;
|
|
1459
1099
|
break;
|
|
1460
1100
|
case 50:
|
|
1461
|
-
return
|
|
1101
|
+
return _context6.abrupt("return", updatedMessage);
|
|
1462
1102
|
case 51:
|
|
1463
1103
|
case "end":
|
|
1464
|
-
return
|
|
1104
|
+
return _context6.stop();
|
|
1465
1105
|
}
|
|
1466
|
-
},
|
|
1106
|
+
}, _callee6);
|
|
1467
1107
|
}));
|
|
1468
|
-
return function uploadPendingAttachments(
|
|
1469
|
-
return
|
|
1108
|
+
return function uploadPendingAttachments(_x2) {
|
|
1109
|
+
return _ref8.apply(this, arguments);
|
|
1470
1110
|
};
|
|
1471
1111
|
}();
|
|
1472
1112
|
var sendMessageRequest = function () {
|
|
1473
|
-
var
|
|
1113
|
+
var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(message, retrying) {
|
|
1474
1114
|
var _updatedMessage, extraFields, attachments, id, mentioned_users, parent_id, text, mentionedUserIds, _messageData, messageResponse, _updatedMessage2;
|
|
1475
|
-
return _regenerator["default"].wrap(function
|
|
1476
|
-
while (1) switch (
|
|
1115
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1116
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
1477
1117
|
case 0:
|
|
1478
|
-
|
|
1479
|
-
|
|
1118
|
+
_context7.prev = 0;
|
|
1119
|
+
_context7.next = 3;
|
|
1480
1120
|
return uploadPendingAttachments(message);
|
|
1481
1121
|
case 3:
|
|
1482
|
-
_updatedMessage =
|
|
1122
|
+
_updatedMessage = _context7.sent;
|
|
1483
1123
|
extraFields = (0, _omit["default"])(_updatedMessage, ['__html', 'attachments', 'created_at', 'deleted_at', 'html', 'id', 'latest_reactions', 'mentioned_users', 'own_reactions', 'parent_id', 'quoted_message', 'reaction_counts', 'reaction_groups', 'reactions', 'status', 'text', 'type', 'updated_at', 'user']);
|
|
1484
1124
|
attachments = _updatedMessage.attachments, id = _updatedMessage.id, mentioned_users = _updatedMessage.mentioned_users, parent_id = _updatedMessage.parent_id, text = _updatedMessage.text;
|
|
1485
1125
|
if (channel.id) {
|
|
1486
|
-
|
|
1126
|
+
_context7.next = 8;
|
|
1487
1127
|
break;
|
|
1488
1128
|
}
|
|
1489
|
-
return
|
|
1129
|
+
return _context7.abrupt("return");
|
|
1490
1130
|
case 8:
|
|
1491
1131
|
mentionedUserIds = (mentioned_users == null ? void 0 : mentioned_users.map(function (user) {
|
|
1492
1132
|
return user.id;
|
|
@@ -1500,35 +1140,35 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1500
1140
|
}, extraFields);
|
|
1501
1141
|
messageResponse = {};
|
|
1502
1142
|
if (!doSendMessageRequest) {
|
|
1503
|
-
|
|
1143
|
+
_context7.next = 17;
|
|
1504
1144
|
break;
|
|
1505
1145
|
}
|
|
1506
|
-
|
|
1146
|
+
_context7.next = 14;
|
|
1507
1147
|
return doSendMessageRequest((channel == null ? void 0 : channel.cid) || '', _messageData);
|
|
1508
1148
|
case 14:
|
|
1509
|
-
messageResponse =
|
|
1510
|
-
|
|
1149
|
+
messageResponse = _context7.sent;
|
|
1150
|
+
_context7.next = 21;
|
|
1511
1151
|
break;
|
|
1512
1152
|
case 17:
|
|
1513
1153
|
if (!channel) {
|
|
1514
|
-
|
|
1154
|
+
_context7.next = 21;
|
|
1515
1155
|
break;
|
|
1516
1156
|
}
|
|
1517
|
-
|
|
1157
|
+
_context7.next = 20;
|
|
1518
1158
|
return channel.sendMessage(_messageData);
|
|
1519
1159
|
case 20:
|
|
1520
|
-
messageResponse =
|
|
1160
|
+
messageResponse = _context7.sent;
|
|
1521
1161
|
case 21:
|
|
1522
1162
|
if (!messageResponse.message) {
|
|
1523
|
-
|
|
1163
|
+
_context7.next = 28;
|
|
1524
1164
|
break;
|
|
1525
1165
|
}
|
|
1526
1166
|
messageResponse.message.status = _utils.MessageStatusTypes.RECEIVED;
|
|
1527
1167
|
if (!enableOfflineSupport) {
|
|
1528
|
-
|
|
1168
|
+
_context7.next = 26;
|
|
1529
1169
|
break;
|
|
1530
1170
|
}
|
|
1531
|
-
|
|
1171
|
+
_context7.next = 26;
|
|
1532
1172
|
return dbApi.updateMessage({
|
|
1533
1173
|
message: Object.assign({}, messageResponse.message, {
|
|
1534
1174
|
cid: channel.cid
|
|
@@ -1544,12 +1184,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1544
1184
|
message: messageResponse.message
|
|
1545
1185
|
});
|
|
1546
1186
|
case 28:
|
|
1547
|
-
|
|
1187
|
+
_context7.next = 40;
|
|
1548
1188
|
break;
|
|
1549
1189
|
case 30:
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
console.log(
|
|
1190
|
+
_context7.prev = 30;
|
|
1191
|
+
_context7.t0 = _context7["catch"](0);
|
|
1192
|
+
console.log(_context7.t0);
|
|
1553
1193
|
message.status = _utils.MessageStatusTypes.FAILED;
|
|
1554
1194
|
_updatedMessage2 = Object.assign({}, message, {
|
|
1555
1195
|
cid: channel.cid
|
|
@@ -1559,10 +1199,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1559
1199
|
message: _updatedMessage2
|
|
1560
1200
|
});
|
|
1561
1201
|
if (!enableOfflineSupport) {
|
|
1562
|
-
|
|
1202
|
+
_context7.next = 40;
|
|
1563
1203
|
break;
|
|
1564
1204
|
}
|
|
1565
|
-
|
|
1205
|
+
_context7.next = 40;
|
|
1566
1206
|
return dbApi.updateMessage({
|
|
1567
1207
|
message: Object.assign({}, message, {
|
|
1568
1208
|
cid: channel.cid
|
|
@@ -1570,20 +1210,20 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1570
1210
|
});
|
|
1571
1211
|
case 40:
|
|
1572
1212
|
case "end":
|
|
1573
|
-
return
|
|
1213
|
+
return _context7.stop();
|
|
1574
1214
|
}
|
|
1575
|
-
},
|
|
1215
|
+
}, _callee7, null, [[0, 30]]);
|
|
1576
1216
|
}));
|
|
1577
|
-
return function sendMessageRequest(
|
|
1578
|
-
return
|
|
1217
|
+
return function sendMessageRequest(_x3, _x4) {
|
|
1218
|
+
return _ref9.apply(this, arguments);
|
|
1579
1219
|
};
|
|
1580
1220
|
}();
|
|
1581
1221
|
var sendMessage = function () {
|
|
1582
|
-
var
|
|
1222
|
+
var _ref10 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(message) {
|
|
1583
1223
|
var _channel$state;
|
|
1584
1224
|
var messagePreview;
|
|
1585
|
-
return _regenerator["default"].wrap(function
|
|
1586
|
-
while (1) switch (
|
|
1225
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
1226
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
1587
1227
|
case 0:
|
|
1588
1228
|
if (channel != null && (_channel$state = channel.state) != null && _channel$state.filterErrorMessages) {
|
|
1589
1229
|
channel.state.filterErrorMessages();
|
|
@@ -1591,7 +1231,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1591
1231
|
messagePreview = createMessagePreview(Object.assign({}, message, {
|
|
1592
1232
|
attachments: message.attachments || []
|
|
1593
1233
|
}));
|
|
1594
|
-
mergeOverlappingMessageSetsRef.current();
|
|
1595
1234
|
updateMessage(messagePreview, {
|
|
1596
1235
|
commands: [],
|
|
1597
1236
|
messageInput: ''
|
|
@@ -1600,34 +1239,34 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1600
1239
|
message: messagePreview
|
|
1601
1240
|
});
|
|
1602
1241
|
if (!enableOfflineSupport) {
|
|
1603
|
-
|
|
1242
|
+
_context8.next = 7;
|
|
1604
1243
|
break;
|
|
1605
1244
|
}
|
|
1606
|
-
|
|
1245
|
+
_context8.next = 7;
|
|
1607
1246
|
return dbApi.upsertMessages({
|
|
1608
1247
|
messages: [Object.assign({}, messagePreview, {
|
|
1609
1248
|
cid: channel.cid,
|
|
1610
1249
|
status: _utils.MessageStatusTypes.FAILED
|
|
1611
1250
|
})]
|
|
1612
1251
|
});
|
|
1613
|
-
case
|
|
1614
|
-
|
|
1252
|
+
case 7:
|
|
1253
|
+
_context8.next = 9;
|
|
1615
1254
|
return sendMessageRequest(messagePreview);
|
|
1616
|
-
case
|
|
1255
|
+
case 9:
|
|
1617
1256
|
case "end":
|
|
1618
|
-
return
|
|
1257
|
+
return _context8.stop();
|
|
1619
1258
|
}
|
|
1620
|
-
},
|
|
1259
|
+
}, _callee8);
|
|
1621
1260
|
}));
|
|
1622
|
-
return function sendMessage(
|
|
1623
|
-
return
|
|
1261
|
+
return function sendMessage(_x5) {
|
|
1262
|
+
return _ref10.apply(this, arguments);
|
|
1624
1263
|
};
|
|
1625
1264
|
}();
|
|
1626
1265
|
var retrySendMessage = function () {
|
|
1627
|
-
var
|
|
1266
|
+
var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(message) {
|
|
1628
1267
|
var statusPendingMessage, messageWithoutReservedFields;
|
|
1629
|
-
return _regenerator["default"].wrap(function
|
|
1630
|
-
while (1) switch (
|
|
1268
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
1269
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
1631
1270
|
case 0:
|
|
1632
1271
|
statusPendingMessage = Object.assign({}, message, {
|
|
1633
1272
|
status: _utils.MessageStatusTypes.SENDING
|
|
@@ -1636,199 +1275,18 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1636
1275
|
if (!(0, _utils.isBouncedMessage)(message)) {
|
|
1637
1276
|
updateMessage(messageWithoutReservedFields);
|
|
1638
1277
|
}
|
|
1639
|
-
|
|
1278
|
+
_context9.next = 5;
|
|
1640
1279
|
return sendMessageRequest(messageWithoutReservedFields, true);
|
|
1641
1280
|
case 5:
|
|
1642
1281
|
case "end":
|
|
1643
|
-
return
|
|
1282
|
+
return _context9.stop();
|
|
1644
1283
|
}
|
|
1645
|
-
},
|
|
1284
|
+
}, _callee9);
|
|
1646
1285
|
}));
|
|
1647
|
-
return function retrySendMessage(
|
|
1648
|
-
return
|
|
1286
|
+
return function retrySendMessage(_x6) {
|
|
1287
|
+
return _ref11.apply(this, arguments);
|
|
1649
1288
|
};
|
|
1650
1289
|
}();
|
|
1651
|
-
var loadMoreFinished = (0, _react.useRef)((0, _debounce["default"])(function (updatedHasMore, newMessages) {
|
|
1652
|
-
setLoading(false);
|
|
1653
|
-
setLoadingMore(false);
|
|
1654
|
-
setError(false);
|
|
1655
|
-
setHasMore(updatedHasMore);
|
|
1656
|
-
setMessages(newMessages);
|
|
1657
|
-
}, defaultDebounceInterval, debounceOptions)).current;
|
|
1658
|
-
var loadMore = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15() {
|
|
1659
|
-
var limit,
|
|
1660
|
-
currentMessages,
|
|
1661
|
-
oldestMessage,
|
|
1662
|
-
oldestID,
|
|
1663
|
-
queryResponse,
|
|
1664
|
-
updatedHasMore,
|
|
1665
|
-
_args15 = arguments;
|
|
1666
|
-
return _regenerator["default"].wrap(function _callee15$(_context15) {
|
|
1667
|
-
while (1) switch (_context15.prev = _context15.next) {
|
|
1668
|
-
case 0:
|
|
1669
|
-
limit = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : 20;
|
|
1670
|
-
if (!(loadingMore || hasMore === false)) {
|
|
1671
|
-
_context15.next = 3;
|
|
1672
|
-
break;
|
|
1673
|
-
}
|
|
1674
|
-
return _context15.abrupt("return");
|
|
1675
|
-
case 3:
|
|
1676
|
-
currentMessages = channel.state.messages;
|
|
1677
|
-
if (currentMessages.length) {
|
|
1678
|
-
_context15.next = 6;
|
|
1679
|
-
break;
|
|
1680
|
-
}
|
|
1681
|
-
return _context15.abrupt("return", setLoadingMore(false));
|
|
1682
|
-
case 6:
|
|
1683
|
-
oldestMessage = currentMessages && currentMessages[0];
|
|
1684
|
-
if (!(oldestMessage && oldestMessage.status !== _utils.MessageStatusTypes.RECEIVED)) {
|
|
1685
|
-
_context15.next = 9;
|
|
1686
|
-
break;
|
|
1687
|
-
}
|
|
1688
|
-
return _context15.abrupt("return", setLoadingMore(false));
|
|
1689
|
-
case 9:
|
|
1690
|
-
setLoadingMore(true);
|
|
1691
|
-
oldestID = oldestMessage && oldestMessage.id;
|
|
1692
|
-
_context15.prev = 11;
|
|
1693
|
-
if (!channel) {
|
|
1694
|
-
_context15.next = 18;
|
|
1695
|
-
break;
|
|
1696
|
-
}
|
|
1697
|
-
_context15.next = 15;
|
|
1698
|
-
return channel.query({
|
|
1699
|
-
messages: {
|
|
1700
|
-
id_lt: oldestID,
|
|
1701
|
-
limit: limit
|
|
1702
|
-
}
|
|
1703
|
-
});
|
|
1704
|
-
case 15:
|
|
1705
|
-
queryResponse = _context15.sent;
|
|
1706
|
-
updatedHasMore = queryResponse.messages.length === limit;
|
|
1707
|
-
loadMoreFinished(updatedHasMore, channel.state.messages);
|
|
1708
|
-
case 18:
|
|
1709
|
-
_context15.next = 25;
|
|
1710
|
-
break;
|
|
1711
|
-
case 20:
|
|
1712
|
-
_context15.prev = 20;
|
|
1713
|
-
_context15.t0 = _context15["catch"](11);
|
|
1714
|
-
if (_context15.t0 instanceof Error) {
|
|
1715
|
-
setError(_context15.t0);
|
|
1716
|
-
} else {
|
|
1717
|
-
setError(true);
|
|
1718
|
-
}
|
|
1719
|
-
setLoadingMore(false);
|
|
1720
|
-
throw _context15.t0;
|
|
1721
|
-
case 25:
|
|
1722
|
-
case "end":
|
|
1723
|
-
return _context15.stop();
|
|
1724
|
-
}
|
|
1725
|
-
}, _callee15, null, [[11, 20]]);
|
|
1726
|
-
})), [channelId, hasMore, loadingMore]);
|
|
1727
|
-
var loadMoreRecent = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16() {
|
|
1728
|
-
var limit,
|
|
1729
|
-
latestMessageSet,
|
|
1730
|
-
latestLengthBeforeMerge,
|
|
1731
|
-
didMerge,
|
|
1732
|
-
currentMessages,
|
|
1733
|
-
recentMessage,
|
|
1734
|
-
queryResponse,
|
|
1735
|
-
gotAllRecentMessages,
|
|
1736
|
-
currentSet,
|
|
1737
|
-
_args16 = arguments;
|
|
1738
|
-
return _regenerator["default"].wrap(function _callee16$(_context16) {
|
|
1739
|
-
while (1) switch (_context16.prev = _context16.next) {
|
|
1740
|
-
case 0:
|
|
1741
|
-
limit = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : 5;
|
|
1742
|
-
latestMessageSet = channel.state.messageSets.find(function (set) {
|
|
1743
|
-
return set.isLatest;
|
|
1744
|
-
});
|
|
1745
|
-
latestLengthBeforeMerge = (latestMessageSet == null ? void 0 : latestMessageSet.messages.length) || 0;
|
|
1746
|
-
didMerge = mergeOverlappingMessageSetsRef.current(true);
|
|
1747
|
-
if (!didMerge) {
|
|
1748
|
-
_context16.next = 12;
|
|
1749
|
-
break;
|
|
1750
|
-
}
|
|
1751
|
-
if (!(latestMessageSet && latestLengthBeforeMerge >= limit)) {
|
|
1752
|
-
_context16.next = 12;
|
|
1753
|
-
break;
|
|
1754
|
-
}
|
|
1755
|
-
setLoadingMoreRecent(true);
|
|
1756
|
-
channel.state.setIsUpToDate(true);
|
|
1757
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
1758
|
-
loadMoreRecentFinished(channel.state.messages);
|
|
1759
|
-
restartSetsMergeFuncRef.current();
|
|
1760
|
-
return _context16.abrupt("return");
|
|
1761
|
-
case 12:
|
|
1762
|
-
if (!channel.state.isUpToDate) {
|
|
1763
|
-
_context16.next = 15;
|
|
1764
|
-
break;
|
|
1765
|
-
}
|
|
1766
|
-
setLoadingMoreRecent(false);
|
|
1767
|
-
return _context16.abrupt("return");
|
|
1768
|
-
case 15:
|
|
1769
|
-
currentMessages = channel.state.messages;
|
|
1770
|
-
recentMessage = currentMessages[currentMessages.length - 1];
|
|
1771
|
-
if (!((recentMessage == null ? void 0 : recentMessage.status) !== _utils.MessageStatusTypes.RECEIVED)) {
|
|
1772
|
-
_context16.next = 20;
|
|
1773
|
-
break;
|
|
1774
|
-
}
|
|
1775
|
-
setLoadingMoreRecent(false);
|
|
1776
|
-
return _context16.abrupt("return");
|
|
1777
|
-
case 20:
|
|
1778
|
-
setLoadingMoreRecent(true);
|
|
1779
|
-
_context16.prev = 21;
|
|
1780
|
-
if (!channel) {
|
|
1781
|
-
_context16.next = 32;
|
|
1782
|
-
break;
|
|
1783
|
-
}
|
|
1784
|
-
_context16.next = 25;
|
|
1785
|
-
return channel.query({
|
|
1786
|
-
messages: {
|
|
1787
|
-
id_gte: recentMessage.id,
|
|
1788
|
-
limit: limit
|
|
1789
|
-
},
|
|
1790
|
-
watch: true
|
|
1791
|
-
});
|
|
1792
|
-
case 25:
|
|
1793
|
-
queryResponse = _context16.sent;
|
|
1794
|
-
gotAllRecentMessages = queryResponse.messages.length < limit;
|
|
1795
|
-
currentSet = channel.state.messageSets.find(function (set) {
|
|
1796
|
-
return set.isCurrent;
|
|
1797
|
-
});
|
|
1798
|
-
if (gotAllRecentMessages && currentSet && !currentSet.isLatest) {
|
|
1799
|
-
channel.state.messageSets = channel.state.messageSets.filter(function (set) {
|
|
1800
|
-
return !set.isLatest;
|
|
1801
|
-
});
|
|
1802
|
-
currentSet.isLatest = true;
|
|
1803
|
-
}
|
|
1804
|
-
channel.state.setIsUpToDate(gotAllRecentMessages);
|
|
1805
|
-
setHasNoMoreRecentMessagesToLoad(gotAllRecentMessages);
|
|
1806
|
-
loadMoreRecentFinished(channel.state.messages);
|
|
1807
|
-
case 32:
|
|
1808
|
-
_context16.next = 40;
|
|
1809
|
-
break;
|
|
1810
|
-
case 34:
|
|
1811
|
-
_context16.prev = 34;
|
|
1812
|
-
_context16.t0 = _context16["catch"](21);
|
|
1813
|
-
console.warn('Message pagination request failed with error', _context16.t0);
|
|
1814
|
-
if (_context16.t0 instanceof Error) {
|
|
1815
|
-
setError(_context16.t0);
|
|
1816
|
-
} else {
|
|
1817
|
-
setError(true);
|
|
1818
|
-
}
|
|
1819
|
-
setLoadingMoreRecent(false);
|
|
1820
|
-
throw _context16.t0;
|
|
1821
|
-
case 40:
|
|
1822
|
-
case "end":
|
|
1823
|
-
return _context16.stop();
|
|
1824
|
-
}
|
|
1825
|
-
}, _callee16, null, [[21, 34]]);
|
|
1826
|
-
})), [channelId, hasNoMoreRecentMessagesToLoad]);
|
|
1827
|
-
var loadMoreRecentFinished = (0, _react.useRef)((0, _debounce["default"])(function (newMessages) {
|
|
1828
|
-
setLoadingMoreRecent(false);
|
|
1829
|
-
setMessages(newMessages);
|
|
1830
|
-
setError(false);
|
|
1831
|
-
}, defaultDebounceInterval, debounceOptions)).current;
|
|
1832
1290
|
var editMessage = function editMessage(updatedMessage) {
|
|
1833
1291
|
return doUpdateMessageRequest ? doUpdateMessageRequest((channel == null ? void 0 : channel.cid) || '', updatedMessage) : client.updateMessage(updatedMessage);
|
|
1834
1292
|
};
|
|
@@ -1846,43 +1304,43 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1846
1304
|
return setQuotedMessage(undefined);
|
|
1847
1305
|
};
|
|
1848
1306
|
var removeMessage = function () {
|
|
1849
|
-
var
|
|
1850
|
-
return _regenerator["default"].wrap(function
|
|
1851
|
-
while (1) switch (
|
|
1307
|
+
var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(message) {
|
|
1308
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
1309
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
1852
1310
|
case 0:
|
|
1853
1311
|
if (channel) {
|
|
1854
1312
|
channel.state.removeMessage(message);
|
|
1855
|
-
|
|
1313
|
+
copyMessagesStateFromChannel(channel);
|
|
1856
1314
|
if (thread) {
|
|
1857
1315
|
setThreadMessages(channel.state.threads[thread.id] || []);
|
|
1858
1316
|
}
|
|
1859
1317
|
}
|
|
1860
1318
|
if (!enableOfflineSupport) {
|
|
1861
|
-
|
|
1319
|
+
_context10.next = 4;
|
|
1862
1320
|
break;
|
|
1863
1321
|
}
|
|
1864
|
-
|
|
1322
|
+
_context10.next = 4;
|
|
1865
1323
|
return dbApi.deleteMessage({
|
|
1866
1324
|
id: message.id
|
|
1867
1325
|
});
|
|
1868
1326
|
case 4:
|
|
1869
1327
|
case "end":
|
|
1870
|
-
return
|
|
1328
|
+
return _context10.stop();
|
|
1871
1329
|
}
|
|
1872
|
-
},
|
|
1330
|
+
}, _callee10);
|
|
1873
1331
|
}));
|
|
1874
|
-
return function removeMessage(
|
|
1875
|
-
return
|
|
1332
|
+
return function removeMessage(_x7) {
|
|
1333
|
+
return _ref12.apply(this, arguments);
|
|
1876
1334
|
};
|
|
1877
1335
|
}();
|
|
1878
1336
|
var sendReaction = function () {
|
|
1879
|
-
var
|
|
1337
|
+
var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(type, messageId) {
|
|
1880
1338
|
var payload, sendReactionResponse;
|
|
1881
|
-
return _regenerator["default"].wrap(function
|
|
1882
|
-
while (1) switch (
|
|
1339
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
1340
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
1883
1341
|
case 0:
|
|
1884
1342
|
if (!(!(channel != null && channel.id) || !client.user)) {
|
|
1885
|
-
|
|
1343
|
+
_context11.next = 2;
|
|
1886
1344
|
break;
|
|
1887
1345
|
}
|
|
1888
1346
|
throw new Error('Channel has not been initialized');
|
|
@@ -1893,13 +1351,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1893
1351
|
enforce_unique: enforceUniqueReaction
|
|
1894
1352
|
}];
|
|
1895
1353
|
if (enableOfflineSupport) {
|
|
1896
|
-
|
|
1354
|
+
_context11.next = 7;
|
|
1897
1355
|
break;
|
|
1898
1356
|
}
|
|
1899
|
-
|
|
1357
|
+
_context11.next = 6;
|
|
1900
1358
|
return channel.sendReaction.apply(channel, payload);
|
|
1901
1359
|
case 6:
|
|
1902
|
-
return
|
|
1360
|
+
return _context11.abrupt("return");
|
|
1903
1361
|
case 7:
|
|
1904
1362
|
(0, _addReactionToLocalState.addReactionToLocalState)({
|
|
1905
1363
|
channel: channel,
|
|
@@ -1908,8 +1366,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1908
1366
|
reactionType: type,
|
|
1909
1367
|
user: client.user
|
|
1910
1368
|
});
|
|
1911
|
-
|
|
1912
|
-
|
|
1369
|
+
copyMessagesStateFromChannel(channel);
|
|
1370
|
+
_context11.next = 11;
|
|
1913
1371
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
1914
1372
|
client: client,
|
|
1915
1373
|
task: {
|
|
@@ -1921,7 +1379,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1921
1379
|
}
|
|
1922
1380
|
});
|
|
1923
1381
|
case 11:
|
|
1924
|
-
sendReactionResponse =
|
|
1382
|
+
sendReactionResponse = _context11.sent;
|
|
1925
1383
|
if (sendReactionResponse != null && sendReactionResponse.message) {
|
|
1926
1384
|
threadInstance == null ? void 0 : threadInstance.upsertReplyLocally == null ? void 0 : threadInstance.upsertReplyLocally({
|
|
1927
1385
|
message: sendReactionResponse.message
|
|
@@ -1929,57 +1387,57 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1929
1387
|
}
|
|
1930
1388
|
case 13:
|
|
1931
1389
|
case "end":
|
|
1932
|
-
return
|
|
1390
|
+
return _context11.stop();
|
|
1933
1391
|
}
|
|
1934
|
-
},
|
|
1392
|
+
}, _callee11);
|
|
1935
1393
|
}));
|
|
1936
|
-
return function sendReaction(
|
|
1937
|
-
return
|
|
1394
|
+
return function sendReaction(_x8, _x9) {
|
|
1395
|
+
return _ref13.apply(this, arguments);
|
|
1938
1396
|
};
|
|
1939
1397
|
}();
|
|
1940
1398
|
var deleteMessage = function () {
|
|
1941
|
-
var
|
|
1399
|
+
var _ref14 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(message) {
|
|
1942
1400
|
var _updatedMessage3, _data;
|
|
1943
|
-
return _regenerator["default"].wrap(function
|
|
1944
|
-
while (1) switch (
|
|
1401
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
1402
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
1945
1403
|
case 0:
|
|
1946
1404
|
if (channel.id) {
|
|
1947
|
-
|
|
1405
|
+
_context12.next = 2;
|
|
1948
1406
|
break;
|
|
1949
1407
|
}
|
|
1950
1408
|
throw new Error('Channel has not been initialized yet');
|
|
1951
1409
|
case 2:
|
|
1952
1410
|
if (enableOfflineSupport) {
|
|
1953
|
-
|
|
1411
|
+
_context12.next = 10;
|
|
1954
1412
|
break;
|
|
1955
1413
|
}
|
|
1956
1414
|
if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
|
|
1957
|
-
|
|
1415
|
+
_context12.next = 7;
|
|
1958
1416
|
break;
|
|
1959
1417
|
}
|
|
1960
|
-
|
|
1418
|
+
_context12.next = 6;
|
|
1961
1419
|
return removeMessage(message);
|
|
1962
1420
|
case 6:
|
|
1963
|
-
return
|
|
1421
|
+
return _context12.abrupt("return");
|
|
1964
1422
|
case 7:
|
|
1965
|
-
|
|
1423
|
+
_context12.next = 9;
|
|
1966
1424
|
return client.deleteMessage(message.id);
|
|
1967
1425
|
case 9:
|
|
1968
|
-
return
|
|
1426
|
+
return _context12.abrupt("return");
|
|
1969
1427
|
case 10:
|
|
1970
1428
|
if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
|
|
1971
|
-
|
|
1429
|
+
_context12.next = 17;
|
|
1972
1430
|
break;
|
|
1973
1431
|
}
|
|
1974
|
-
|
|
1432
|
+
_context12.next = 13;
|
|
1975
1433
|
return _DBSyncManager.DBSyncManager.dropPendingTasks({
|
|
1976
1434
|
messageId: message.id
|
|
1977
1435
|
});
|
|
1978
1436
|
case 13:
|
|
1979
|
-
|
|
1437
|
+
_context12.next = 15;
|
|
1980
1438
|
return removeMessage(message);
|
|
1981
1439
|
case 15:
|
|
1982
|
-
|
|
1440
|
+
_context12.next = 24;
|
|
1983
1441
|
break;
|
|
1984
1442
|
case 17:
|
|
1985
1443
|
_updatedMessage3 = Object.assign({}, message, {
|
|
@@ -1991,7 +1449,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1991
1449
|
threadInstance == null ? void 0 : threadInstance.upsertReplyLocally({
|
|
1992
1450
|
message: _updatedMessage3
|
|
1993
1451
|
});
|
|
1994
|
-
|
|
1452
|
+
_context12.next = 22;
|
|
1995
1453
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
1996
1454
|
client: client,
|
|
1997
1455
|
task: {
|
|
@@ -2003,41 +1461,41 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2003
1461
|
}
|
|
2004
1462
|
});
|
|
2005
1463
|
case 22:
|
|
2006
|
-
_data =
|
|
1464
|
+
_data = _context12.sent;
|
|
2007
1465
|
if (_data != null && _data.message) {
|
|
2008
1466
|
updateMessage(Object.assign({}, _data.message));
|
|
2009
1467
|
}
|
|
2010
1468
|
case 24:
|
|
2011
1469
|
case "end":
|
|
2012
|
-
return
|
|
1470
|
+
return _context12.stop();
|
|
2013
1471
|
}
|
|
2014
|
-
},
|
|
1472
|
+
}, _callee12);
|
|
2015
1473
|
}));
|
|
2016
|
-
return function deleteMessage(
|
|
2017
|
-
return
|
|
1474
|
+
return function deleteMessage(_x10) {
|
|
1475
|
+
return _ref14.apply(this, arguments);
|
|
2018
1476
|
};
|
|
2019
1477
|
}();
|
|
2020
1478
|
var deleteReaction = function () {
|
|
2021
|
-
var
|
|
1479
|
+
var _ref15 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(type, messageId) {
|
|
2022
1480
|
var payload;
|
|
2023
|
-
return _regenerator["default"].wrap(function
|
|
2024
|
-
while (1) switch (
|
|
1481
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
1482
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
2025
1483
|
case 0:
|
|
2026
1484
|
if (!(!(channel != null && channel.id) || !client.user)) {
|
|
2027
|
-
|
|
1485
|
+
_context13.next = 2;
|
|
2028
1486
|
break;
|
|
2029
1487
|
}
|
|
2030
1488
|
throw new Error('Channel has not been initialized');
|
|
2031
1489
|
case 2:
|
|
2032
1490
|
payload = [messageId, type];
|
|
2033
1491
|
if (enableOfflineSupport) {
|
|
2034
|
-
|
|
1492
|
+
_context13.next = 7;
|
|
2035
1493
|
break;
|
|
2036
1494
|
}
|
|
2037
|
-
|
|
1495
|
+
_context13.next = 6;
|
|
2038
1496
|
return channel.deleteReaction.apply(channel, payload);
|
|
2039
1497
|
case 6:
|
|
2040
|
-
return
|
|
1498
|
+
return _context13.abrupt("return");
|
|
2041
1499
|
case 7:
|
|
2042
1500
|
(0, _removeReactionFromLocalState.removeReactionFromLocalState)({
|
|
2043
1501
|
channel: channel,
|
|
@@ -2045,8 +1503,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2045
1503
|
reactionType: type,
|
|
2046
1504
|
user: client.user
|
|
2047
1505
|
});
|
|
2048
|
-
|
|
2049
|
-
|
|
1506
|
+
copyMessagesStateFromChannel(channel);
|
|
1507
|
+
_context13.next = 11;
|
|
2050
1508
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
2051
1509
|
client: client,
|
|
2052
1510
|
task: {
|
|
@@ -2059,12 +1517,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2059
1517
|
});
|
|
2060
1518
|
case 11:
|
|
2061
1519
|
case "end":
|
|
2062
|
-
return
|
|
1520
|
+
return _context13.stop();
|
|
2063
1521
|
}
|
|
2064
|
-
},
|
|
1522
|
+
}, _callee13);
|
|
2065
1523
|
}));
|
|
2066
|
-
return function deleteReaction(
|
|
2067
|
-
return
|
|
1524
|
+
return function deleteReaction(_x11, _x12) {
|
|
1525
|
+
return _ref15.apply(this, arguments);
|
|
2068
1526
|
};
|
|
2069
1527
|
}();
|
|
2070
1528
|
var openThread = (0, _react.useCallback)(function (message) {
|
|
@@ -2085,77 +1543,73 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2085
1543
|
setThreadMessages(updatedThreadMessages);
|
|
2086
1544
|
}, defaultDebounceInterval, debounceOptions)).current;
|
|
2087
1545
|
var loadMoreThread = function () {
|
|
2088
|
-
var
|
|
1546
|
+
var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14() {
|
|
2089
1547
|
var _threadMessages$, parentID, oldestMessageID, limit, queryResponse, updatedHasMore, updatedThreadMessages;
|
|
2090
|
-
return _regenerator["default"].wrap(function
|
|
2091
|
-
while (1) switch (
|
|
1548
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
1549
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
2092
1550
|
case 0:
|
|
2093
1551
|
if (!(threadLoadingMore || !(thread != null && thread.id))) {
|
|
2094
|
-
|
|
1552
|
+
_context14.next = 2;
|
|
2095
1553
|
break;
|
|
2096
1554
|
}
|
|
2097
|
-
return
|
|
1555
|
+
return _context14.abrupt("return");
|
|
2098
1556
|
case 2:
|
|
2099
1557
|
setThreadLoadingMore(true);
|
|
2100
|
-
|
|
1558
|
+
_context14.prev = 3;
|
|
2101
1559
|
if (!channel) {
|
|
2102
|
-
|
|
1560
|
+
_context14.next = 15;
|
|
2103
1561
|
break;
|
|
2104
1562
|
}
|
|
2105
1563
|
parentID = thread.id;
|
|
2106
1564
|
channel.state.threads[parentID] = threadMessages;
|
|
2107
1565
|
oldestMessageID = threadMessages == null ? void 0 : (_threadMessages$ = threadMessages[0]) == null ? void 0 : _threadMessages$.id;
|
|
2108
1566
|
limit = 50;
|
|
2109
|
-
|
|
1567
|
+
_context14.next = 11;
|
|
2110
1568
|
return channel.getReplies(parentID, {
|
|
2111
1569
|
id_lt: oldestMessageID,
|
|
2112
1570
|
limit: limit
|
|
2113
1571
|
});
|
|
2114
1572
|
case 11:
|
|
2115
|
-
queryResponse =
|
|
1573
|
+
queryResponse = _context14.sent;
|
|
2116
1574
|
updatedHasMore = queryResponse.messages.length === limit;
|
|
2117
1575
|
updatedThreadMessages = channel.state.threads[parentID] || [];
|
|
2118
1576
|
loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
|
|
2119
1577
|
case 15:
|
|
2120
|
-
|
|
1578
|
+
_context14.next = 23;
|
|
2121
1579
|
break;
|
|
2122
1580
|
case 17:
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
console.warn('Message pagination request failed with error',
|
|
2126
|
-
if (
|
|
2127
|
-
setError(
|
|
1581
|
+
_context14.prev = 17;
|
|
1582
|
+
_context14.t0 = _context14["catch"](3);
|
|
1583
|
+
console.warn('Message pagination request failed with error', _context14.t0);
|
|
1584
|
+
if (_context14.t0 instanceof Error) {
|
|
1585
|
+
setError(_context14.t0);
|
|
2128
1586
|
} else {
|
|
2129
1587
|
setError(true);
|
|
2130
1588
|
}
|
|
2131
1589
|
setThreadLoadingMore(false);
|
|
2132
|
-
throw
|
|
1590
|
+
throw _context14.t0;
|
|
2133
1591
|
case 23:
|
|
2134
1592
|
case "end":
|
|
2135
|
-
return
|
|
1593
|
+
return _context14.stop();
|
|
2136
1594
|
}
|
|
2137
|
-
},
|
|
1595
|
+
}, _callee14, null, [[3, 17]]);
|
|
2138
1596
|
}));
|
|
2139
1597
|
return function loadMoreThread() {
|
|
2140
|
-
return
|
|
1598
|
+
return _ref16.apply(this, arguments);
|
|
2141
1599
|
};
|
|
2142
1600
|
}();
|
|
2143
|
-
var disabledValue = (0, _react.useMemo)(function () {
|
|
2144
|
-
var _channel$data;
|
|
2145
|
-
return !!(channel != null && (_channel$data = channel.data) != null && _channel$data.frozen) && disableIfFrozenChannel;
|
|
2146
|
-
}, [(_channel$data2 = channel.data) == null ? void 0 : _channel$data2.frozen, disableIfFrozenChannel]);
|
|
2147
1601
|
var ownCapabilitiesContext = (0, _useCreateOwnCapabilitiesContext.useCreateOwnCapabilitiesContext)({
|
|
2148
1602
|
channel: channel,
|
|
2149
1603
|
overrideCapabilities: overrideOwnCapabilities
|
|
2150
1604
|
});
|
|
2151
1605
|
var channelContext = (0, _useCreateChannelContext.useCreateChannelContext)({
|
|
2152
1606
|
channel: channel,
|
|
2153
|
-
disabled:
|
|
1607
|
+
disabled: !!(channel != null && (_channel$data = channel.data) != null && _channel$data.frozen),
|
|
2154
1608
|
EmptyStateIndicator: EmptyStateIndicator,
|
|
2155
1609
|
enableMessageGroupingByUser: enableMessageGroupingByUser,
|
|
2156
1610
|
enforceUniqueReaction: enforceUniqueReaction,
|
|
2157
1611
|
error: error,
|
|
2158
|
-
giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((
|
|
1612
|
+
giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref17 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref17.some(function (command) {
|
|
2159
1613
|
return command.name === 'giphy';
|
|
2160
1614
|
})),
|
|
2161
1615
|
hideDateSeparators: hideDateSeparators,
|
|
@@ -2163,13 +1617,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2163
1617
|
isChannelActive: shouldSyncChannel,
|
|
2164
1618
|
lastRead: lastRead,
|
|
2165
1619
|
loadChannelAroundMessage: loadChannelAroundMessage,
|
|
2166
|
-
loading: loading,
|
|
1620
|
+
loading: channelMessagesState.loading,
|
|
2167
1621
|
LoadingIndicator: LoadingIndicator,
|
|
2168
1622
|
markRead: markRead,
|
|
2169
1623
|
maxTimeBetweenGroupedMessages: maxTimeBetweenGroupedMessages,
|
|
2170
|
-
members: members,
|
|
1624
|
+
members: (_channelState$members = channelState.members) != null ? _channelState$members : {},
|
|
2171
1625
|
NetworkDownIndicator: NetworkDownIndicator,
|
|
2172
|
-
read: read,
|
|
1626
|
+
read: (_channelState$read = channelState.read) != null ? _channelState$read : {},
|
|
2173
1627
|
reloadChannel: reloadChannel,
|
|
2174
1628
|
scrollToFirstUnreadThreshold: scrollToFirstUnreadThreshold,
|
|
2175
1629
|
setLastRead: setLastRead,
|
|
@@ -2178,8 +1632,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2178
1632
|
targetedMessage: targetedMessage,
|
|
2179
1633
|
threadList: threadList,
|
|
2180
1634
|
uploadAbortControllerRef: uploadAbortControllerRef,
|
|
2181
|
-
watcherCount: watcherCount,
|
|
2182
|
-
watchers: watchers
|
|
1635
|
+
watcherCount: channelState.watcherCount,
|
|
1636
|
+
watchers: channelState.watchers
|
|
2183
1637
|
});
|
|
2184
1638
|
var sendMessageRef = (0, _react.useRef)(sendMessage);
|
|
2185
1639
|
sendMessageRef.current = sendMessage;
|
|
@@ -2224,7 +1678,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2224
1678
|
InputEditingStateHeader: InputEditingStateHeader,
|
|
2225
1679
|
InputGiphySearch: InputGiphySearch,
|
|
2226
1680
|
InputReplyStateHeader: InputReplyStateHeader,
|
|
2227
|
-
maxMessageLength: (
|
|
1681
|
+
maxMessageLength: (_ref18 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref18 : undefined,
|
|
2228
1682
|
maxNumberOfFiles: maxNumberOfFiles,
|
|
2229
1683
|
mentionAllAppUsersEnabled: mentionAllAppUsersEnabled,
|
|
2230
1684
|
mentionAllAppUsersQuery: mentionAllAppUsersQuery,
|
|
@@ -2243,19 +1697,18 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2243
1697
|
setQuotedMessageState: setQuotedMessageState,
|
|
2244
1698
|
ShowThreadMessageInChannelButton: ShowThreadMessageInChannelButton,
|
|
2245
1699
|
StartAudioRecordingButton: StartAudioRecordingButton,
|
|
1700
|
+
StopMessageStreamingButton: StopMessageStreamingButton,
|
|
2246
1701
|
UploadProgressIndicator: UploadProgressIndicator
|
|
2247
1702
|
});
|
|
2248
1703
|
var messageListContext = (0, _useCreatePaginatedMessageListContext.useCreatePaginatedMessageListContext)({
|
|
2249
1704
|
channelId: channelId,
|
|
2250
|
-
hasMore: hasMore,
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
1705
|
+
hasMore: channelMessagesState.hasMore,
|
|
1706
|
+
loadingMore: loadingMoreProp !== undefined ? loadingMoreProp : channelMessagesState.loadingMore,
|
|
1707
|
+
loadingMoreRecent: loadingMoreRecentProp !== undefined ? loadingMoreRecentProp : channelMessagesState.loadingMoreRecent,
|
|
1708
|
+
loadLatestMessages: loadLatestMessages,
|
|
2254
1709
|
loadMore: loadMore,
|
|
2255
1710
|
loadMoreRecent: loadMoreRecent,
|
|
2256
|
-
messages: messages
|
|
2257
|
-
setLoadingMore: setLoadingMore,
|
|
2258
|
-
setLoadingMoreRecent: setLoadingMoreRecent
|
|
1711
|
+
messages: (_channelMessagesState3 = channelMessagesState.messages) != null ? _channelMessagesState3 : []
|
|
2259
1712
|
});
|
|
2260
1713
|
var messagesContext = (0, _useCreateMessagesContext.useCreateMessagesContext)({
|
|
2261
1714
|
additionalPressableProps: additionalPressableProps,
|
|
@@ -2301,6 +1754,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2301
1754
|
InlineDateSeparator: InlineDateSeparator,
|
|
2302
1755
|
InlineUnreadIndicator: InlineUnreadIndicator,
|
|
2303
1756
|
isAttachmentEqual: isAttachmentEqual,
|
|
1757
|
+
isMessageAIGenerated: isMessageAIGenerated,
|
|
2304
1758
|
legacyImageViewerSwipeBehaviour: legacyImageViewerSwipeBehaviour,
|
|
2305
1759
|
markdownRules: markdownRules,
|
|
2306
1760
|
Message: Message,
|
|
@@ -2348,6 +1802,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2348
1802
|
setEditingState: setEditingState,
|
|
2349
1803
|
setQuotedMessageState: setQuotedMessageState,
|
|
2350
1804
|
shouldShowUnreadUnderlay: shouldShowUnreadUnderlay,
|
|
1805
|
+
StreamingMessageView: StreamingMessageView,
|
|
2351
1806
|
supportedReactions: supportedReactions,
|
|
2352
1807
|
targetedMessage: targetedMessage,
|
|
2353
1808
|
TypingIndicator: TypingIndicator,
|
|
@@ -2375,10 +1830,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2375
1830
|
threadMessages: threadMessages
|
|
2376
1831
|
});
|
|
2377
1832
|
var typingContext = (0, _useCreateTypingContext.useCreateTypingContext)({
|
|
2378
|
-
typing: typing
|
|
1833
|
+
typing: (_channelState$typing = channelState.typing) != null ? _channelState$typing : {}
|
|
2379
1834
|
});
|
|
2380
1835
|
if (deleted) return null;
|
|
2381
|
-
if (!channel || error && messages.length === 0) {
|
|
1836
|
+
if (!channel || error && ((_channelMessagesState4 = channelMessagesState.messages) == null ? void 0 : _channelMessagesState4.length) === 0) {
|
|
2382
1837
|
return (0, _jsxRuntime.jsx)(LoadingErrorIndicator, {
|
|
2383
1838
|
error: error,
|
|
2384
1839
|
listType: "message",
|
|
@@ -2434,7 +1889,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2434
1889
|
var Channel = function Channel(props) {
|
|
2435
1890
|
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
2436
1891
|
client = _useChatContext.client,
|
|
2437
|
-
enableOfflineSupport = _useChatContext.enableOfflineSupport
|
|
1892
|
+
enableOfflineSupport = _useChatContext.enableOfflineSupport,
|
|
1893
|
+
isMessageAIGenerated = _useChatContext.isMessageAIGenerated;
|
|
2438
1894
|
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
|
|
2439
1895
|
t = _useTranslationContex.t;
|
|
2440
1896
|
var threadFromProps = props == null ? void 0 : props.thread;
|
|
@@ -2446,41 +1902,18 @@ var Channel = function Channel(props) {
|
|
|
2446
1902
|
};
|
|
2447
1903
|
var shouldSyncChannel = threadMessage != null && threadMessage.id ? !!props.threadList : true;
|
|
2448
1904
|
var _useChannelState = (0, _useChannelState2.useChannelState)(props.channel, props.threadList ? threadMessage == null ? void 0 : threadMessage.id : undefined),
|
|
2449
|
-
members = _useChannelState.members,
|
|
2450
|
-
messages = _useChannelState.messages,
|
|
2451
|
-
read = _useChannelState.read,
|
|
2452
|
-
setMembers = _useChannelState.setMembers,
|
|
2453
|
-
setMessages = _useChannelState.setMessages,
|
|
2454
|
-
setRead = _useChannelState.setRead,
|
|
2455
1905
|
setThreadMessages = _useChannelState.setThreadMessages,
|
|
2456
|
-
|
|
2457
|
-
setWatcherCount = _useChannelState.setWatcherCount,
|
|
2458
|
-
setWatchers = _useChannelState.setWatchers,
|
|
2459
|
-
threadMessages = _useChannelState.threadMessages,
|
|
2460
|
-
typing = _useChannelState.typing,
|
|
2461
|
-
watcherCount = _useChannelState.watcherCount,
|
|
2462
|
-
watchers = _useChannelState.watchers;
|
|
1906
|
+
threadMessages = _useChannelState.threadMessages;
|
|
2463
1907
|
return (0, _jsxRuntime.jsx)(ChannelWithContext, Object.assign({
|
|
2464
1908
|
client: client,
|
|
2465
1909
|
enableOfflineSupport: enableOfflineSupport,
|
|
2466
1910
|
t: t
|
|
2467
1911
|
}, props, {
|
|
2468
1912
|
shouldSyncChannel: shouldSyncChannel,
|
|
2469
|
-
|
|
2470
|
-
messages: props.messages || messages,
|
|
2471
|
-
read: read,
|
|
2472
|
-
setMembers: setMembers,
|
|
2473
|
-
setMessages: setMessages,
|
|
2474
|
-
setRead: setRead,
|
|
1913
|
+
isMessageAIGenerated: isMessageAIGenerated,
|
|
2475
1914
|
setThreadMessages: setThreadMessages,
|
|
2476
|
-
setTyping: setTyping,
|
|
2477
|
-
setWatcherCount: setWatcherCount,
|
|
2478
|
-
setWatchers: setWatchers,
|
|
2479
1915
|
thread: thread,
|
|
2480
|
-
threadMessages: threadMessages
|
|
2481
|
-
typing: typing,
|
|
2482
|
-
watcherCount: watcherCount,
|
|
2483
|
-
watchers: watchers
|
|
1916
|
+
threadMessages: threadMessages
|
|
2484
1917
|
}));
|
|
2485
1918
|
};
|
|
2486
1919
|
exports.Channel = Channel;
|