@sendbird/uikit-react 3.5.0-rc.0 → 3.5.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/App.js +312 -235
- package/App.js.map +1 -1
- package/CHANGELOG.md +544 -0
- package/Channel/components/ChannelHeader.js +46 -41
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +104 -131
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +56 -52
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +12 -7
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +240 -230
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +152 -129
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +260 -175
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +34 -30
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +139 -193
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +44 -61
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +18 -20
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +12 -19
- package/Channel/context.js.map +1 -1
- package/Channel.js +69 -44
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +29 -30
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +32 -28
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +101 -142
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +72 -82
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +36 -36
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +7 -8
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +32 -31
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-ade145a7.js → ChannelListProvider-4cf5c0f5.js} +233 -285
- package/ChannelListProvider-4cf5c0f5.js.map +1 -0
- package/{ChannelProvider-c9db10c0.js → ChannelProvider-6e8e99df.js} +659 -726
- package/ChannelProvider-6e8e99df.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +33 -46
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +47 -58
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +40 -46
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +522 -605
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +71 -72
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +29 -32
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +53 -57
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +20 -20
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +24 -24
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +102 -124
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +41 -42
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +22 -21
- package/CreateChannel.js.map +1 -1
- package/CreateChannelProvider-34603fa5.js +44 -0
- package/CreateChannelProvider-34603fa5.js.map +1 -0
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +33 -33
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +18 -17
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +12 -13
- package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/EditUserProfile/context.js +0 -2
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +18 -17
- package/EditUserProfile.js.map +1 -1
- package/LocalizationContext-04c0c9dc.js +20 -0
- package/{LocalizationContext-60894e38.js.map → LocalizationContext-04c0c9dc.js.map} +1 -1
- package/MediaQueryContext-ff9dca2b.js +87 -0
- package/MediaQueryContext-ff9dca2b.js.map +1 -0
- package/MemberList-9bf26111.js +403 -0
- package/MemberList-9bf26111.js.map +1 -0
- package/Message/context.js +31 -0
- package/Message/context.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +62 -71
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +201 -224
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +46 -58
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +8 -6
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +27 -25
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +50 -35
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +174 -191
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +72 -92
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +52 -49
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -9
- package/OpenChannel/context.js.map +1 -1
- package/OpenChannel.js +36 -30
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +61 -76
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +21 -22
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/OpenChannelList/context.js +3 -4
- package/OpenChannelList/context.js.map +1 -1
- package/OpenChannelList.js +26 -24
- package/OpenChannelList.js.map +1 -1
- package/OpenChannelListProvider-d7372692.js +429 -0
- package/OpenChannelListProvider-d7372692.js.map +1 -0
- package/OpenChannelProvider-24cd68b9.js +1885 -0
- package/OpenChannelProvider-24cd68b9.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +516 -586
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +15 -16
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +56 -69
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +19 -20
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +62 -13
- package/RemoveMessageModal-94e2bf9e.js +36 -0
- package/RemoveMessageModal-94e2bf9e.js.map +1 -0
- package/SendbirdProvider.js +749 -408
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +238 -217
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +112 -89
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +22 -23
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +108 -83
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +306 -276
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +146 -113
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +169 -138
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context/types.js +9 -14
- package/Thread/context/types.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +87 -57
- package/Thread.js.map +1 -1
- package/ThreadProvider-203b94f3.js +1695 -0
- package/ThreadProvider-203b94f3.js.map +1 -0
- package/{UserProfileContext-33a26cc4.js → UserProfileContext-c776d522.js} +1 -4
- package/{UserProfileContext-33a26cc4.js.map → UserProfileContext-c776d522.js.map} +1 -1
- package/VoiceMessageInputWrapper-77d8f487.js +170 -0
- package/VoiceMessageInputWrapper-77d8f487.js.map +1 -0
- package/VoicePlayer/context.js +7 -0
- package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
- package/VoicePlayer/useVoicePlayer.js +84 -0
- package/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/VoiceRecorder/context.js +156 -0
- package/VoiceRecorder/context.js.map +1 -0
- package/VoiceRecorder/useVoiceRecorder.js +121 -0
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/WebAudioUtils-62e6d3a7.js +123 -0
- package/WebAudioUtils-62e6d3a7.js.map +1 -0
- package/{_rollupPluginBabelHelpers-ed44209e.js → _rollupPluginBabelHelpers-fb0e05a4.js} +17 -11
- package/_rollupPluginBabelHelpers-fb0e05a4.js.map +1 -0
- package/actionTypes-1db5749d.js +8 -0
- package/actionTypes-1db5749d.js.map +1 -0
- package/cjs/App.js +312 -235
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +46 -41
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +102 -129
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +56 -52
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +12 -7
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +243 -233
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +151 -128
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +260 -175
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +34 -30
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +139 -193
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +44 -61
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +18 -20
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +12 -23
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +69 -44
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +29 -30
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +100 -141
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +72 -82
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +7 -8
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +32 -31
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-65473831.js → ChannelListProvider-e0ce316a.js} +232 -284
- package/cjs/ChannelListProvider-e0ce316a.js.map +1 -0
- package/cjs/{ChannelProvider-1e08a7a9.js → ChannelProvider-0df75472.js} +657 -724
- package/cjs/ChannelProvider-0df75472.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +71 -72
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +29 -32
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +55 -59
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +20 -20
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +102 -124
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +22 -21
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/CreateChannelProvider-c0fca0a5.js +52 -0
- package/cjs/CreateChannelProvider-c0fca0a5.js.map +1 -0
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +33 -33
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +18 -17
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/cjs/EditUserProfile/context.js +0 -2
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +18 -17
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-8780a64e.js → LocalizationContext-0e429c3d.js} +9 -11
- package/cjs/{LocalizationContext-8780a64e.js.map → LocalizationContext-0e429c3d.js.map} +1 -1
- package/cjs/MediaQueryContext-33fc3b17.js +94 -0
- package/cjs/MediaQueryContext-33fc3b17.js.map +1 -0
- package/cjs/MemberList-a45a51c4.js +409 -0
- package/cjs/MemberList-a45a51c4.js.map +1 -0
- package/cjs/Message/context.js +40 -0
- package/cjs/Message/context.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +201 -224
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +46 -58
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -9
- package/cjs/OpenChannel/context.js.map +1 -1
- package/cjs/OpenChannel.js +36 -30
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/cjs/OpenChannelList/context.js +3 -4
- package/cjs/OpenChannelList/context.js.map +1 -1
- package/cjs/OpenChannelList.js +26 -24
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/OpenChannelListProvider-fc8b53ee.js +439 -0
- package/cjs/OpenChannelListProvider-fc8b53ee.js.map +1 -0
- package/cjs/OpenChannelProvider-217a8ac2.js +1894 -0
- package/cjs/OpenChannelProvider-217a8ac2.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +57 -70
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +19 -20
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/{RemoveMessageModal-0da4f94b.js → RemoveMessageModal-5903f232.js} +19 -14
- package/cjs/RemoveMessageModal-5903f232.js.map +1 -0
- package/cjs/SendbirdProvider.js +748 -408
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +237 -216
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +22 -23
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +108 -83
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +305 -275
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +146 -113
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +170 -139
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context/types.js +13 -14
- package/cjs/Thread/context/types.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +87 -57
- package/cjs/Thread.js.map +1 -1
- package/cjs/ThreadProvider-8ee179c2.js +1704 -0
- package/cjs/ThreadProvider-8ee179c2.js.map +1 -0
- package/cjs/{UserProfileContext-0808e413.js → UserProfileContext-87580795.js} +1 -4
- package/cjs/{UserProfileContext-0808e413.js.map → UserProfileContext-87580795.js.map} +1 -1
- package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js +176 -0
- package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js.map +1 -0
- package/cjs/VoicePlayer/context.js +17 -0
- package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
- package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/cjs/VoiceRecorder/context.js +166 -0
- package/cjs/VoiceRecorder/context.js.map +1 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/cjs/WebAudioUtils-e226789c.js +126 -0
- package/cjs/WebAudioUtils-e226789c.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-bd6baf0a.js → _rollupPluginBabelHelpers-c89f311a.js} +17 -10
- package/cjs/_rollupPluginBabelHelpers-c89f311a.js.map +1 -0
- package/cjs/actionTypes-0fa2943d.js +10 -0
- package/cjs/actionTypes-0fa2943d.js.map +1 -0
- package/cjs/{color-fdbe394d.js → color-bada0fc7.js} +13 -21
- package/cjs/color-bada0fc7.js.map +1 -0
- package/cjs/{compareIds-d0c02eca.js → compareIds-ccccfe86.js} +5 -6
- package/cjs/compareIds-ccccfe86.js.map +1 -0
- package/cjs/const-a85f3364.js +20 -0
- package/cjs/const-a85f3364.js.map +1 -0
- package/cjs/{const-8785e4ad.js → const-d8cece19.js} +4 -4
- package/cjs/const-d8cece19.js.map +1 -0
- package/cjs/consts-1c3020ad.js +6 -0
- package/cjs/consts-1c3020ad.js.map +1 -0
- package/cjs/consts-1d94dc61.js +6 -0
- package/cjs/consts-1d94dc61.js.map +1 -0
- package/cjs/consts-5e0f96b3.js +41 -0
- package/cjs/consts-5e0f96b3.js.map +1 -0
- package/cjs/consts-740f60b8.js +6 -0
- package/cjs/consts-740f60b8.js.map +1 -0
- package/cjs/{context-012aecd1.js → context-8e7e8457.js} +6 -5
- package/cjs/{context-012aecd1.js.map → context-8e7e8457.js.map} +1 -1
- package/cjs/dist/index.css +1682 -1229
- package/cjs/dist/index.css.map +1 -1
- package/cjs/handlers/OpenChannelHandler.js.map +1 -1
- package/cjs/handlers/SessionHandler.js.map +1 -1
- package/cjs/{index-48d85d8f.js → index-016f7106.js} +1 -1
- package/cjs/{index-48d85d8f.js.map → index-016f7106.js.map} +1 -1
- package/cjs/{index-e8544e24.js → index-1613ae03.js} +29 -37
- package/cjs/index-1613ae03.js.map +1 -0
- package/cjs/index-2be14d85.js +57 -0
- package/cjs/index-2be14d85.js.map +1 -0
- package/cjs/index-3b30939e.js +79 -0
- package/cjs/index-3b30939e.js.map +1 -0
- package/cjs/index-5231fde8.js +585 -0
- package/cjs/index-5231fde8.js.map +1 -0
- package/cjs/index-648c06ed.js +330 -0
- package/cjs/index-648c06ed.js.map +1 -0
- package/cjs/{index-bdd889a2.js → index-6cb0d040.js} +11 -25
- package/cjs/index-6cb0d040.js.map +1 -0
- package/cjs/{index-ebb542c3.js → index-71fdaa1b.js} +55 -63
- package/cjs/index-71fdaa1b.js.map +1 -0
- package/cjs/{index-abe135e6.js → index-7d125728.js} +2 -2
- package/cjs/{index-abe135e6.js.map → index-7d125728.js.map} +1 -1
- package/cjs/{index-e191d245.js → index-7f6bbe0c.js} +42 -51
- package/cjs/index-7f6bbe0c.js.map +1 -0
- package/cjs/{index-5ea12b7a.js → index-869e9a94.js} +2 -2
- package/cjs/{index-5ea12b7a.js.map → index-869e9a94.js.map} +1 -1
- package/cjs/index-89d81dad.js +456 -0
- package/cjs/index-89d81dad.js.map +1 -0
- package/cjs/{index-c13771a7.js → index-8affdde5.js} +57 -3
- package/cjs/index-8affdde5.js.map +1 -0
- package/cjs/index-99f16473.js +202 -0
- package/cjs/index-99f16473.js.map +1 -0
- package/cjs/index-c9d348b6.js +367 -0
- package/cjs/index-c9d348b6.js.map +1 -0
- package/cjs/index-e8c0080f.js +161 -0
- package/cjs/index-e8c0080f.js.map +1 -0
- package/cjs/{index-08d232f8.js → index-f570d25c.js} +1 -1
- package/cjs/index-f570d25c.js.map +1 -0
- package/cjs/index.js +84 -63
- package/cjs/index.js.map +1 -1
- package/cjs/index.module-0585715f.js +6 -0
- package/cjs/index.module-0585715f.js.map +1 -0
- package/cjs/lame.all.js +2541 -0
- package/cjs/lame.all.js.map +1 -0
- package/cjs/resolvedReplyType-67e78c63.js +32 -0
- package/cjs/resolvedReplyType-67e78c63.js.map +1 -0
- package/cjs/sendbirdSelectors.js +307 -417
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-60660a99.js → stringSet-106da549.js} +112 -90
- package/cjs/stringSet-106da549.js.map +1 -0
- package/cjs/tokenize-2aa0f876.js +164 -0
- package/cjs/tokenize-2aa0f876.js.map +1 -0
- package/cjs/topics-b384e6b3.js +18 -0
- package/cjs/topics-b384e6b3.js.map +1 -0
- package/cjs/types-e0b77c8c.js +17 -0
- package/cjs/types-e0b77c8c.js.map +1 -0
- package/cjs/ui/Accordion.js +21 -24
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +10 -13
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +10 -13
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +57 -79
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +16 -15
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +14 -12
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +20 -35
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +38 -41
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js +11 -13
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +7 -5
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +175 -199
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +12 -14
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +299 -107
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +22 -23
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +36 -36
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +447 -623
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +20 -31
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +34 -43
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +16 -16
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +4 -3
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +10 -12
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +58 -65
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +12 -10
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +212 -548
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +392 -119
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +83 -83
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +58 -62
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +56 -51
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +42 -41
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +10 -11
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +52 -46
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +10 -10
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +67 -63
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +8 -7
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +18 -17
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +17 -13
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +140 -151
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +204 -233
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +168 -178
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +5 -6
- package/cjs/ui/PlaceHolder.js.map +1 -1
- package/cjs/ui/PlaybackTime.js +35 -0
- package/cjs/ui/PlaybackTime.js.map +1 -0
- package/cjs/ui/ProgressBar.js +40 -0
- package/cjs/ui/ProgressBar.js.map +1 -0
- package/cjs/ui/QuoteMessage.js +50 -44
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +31 -29
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +13 -21
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +30 -27
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +14 -18
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +13 -21
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +41 -48
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +25 -22
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +202 -0
- package/cjs/ui/Toggle.js.map +1 -0
- package/cjs/ui/Tooltip.js +8 -9
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +17 -20
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +21 -22
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +76 -76
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +31 -29
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +119 -0
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
- package/cjs/ui/VoiceMessgeInput.js +22 -0
- package/cjs/ui/VoiceMessgeInput.js.map +1 -0
- package/cjs/ui/Word.js +31 -39
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useDirtyGetMentions-b8ca5675.js +77 -0
- package/cjs/useDirtyGetMentions-b8ca5675.js.map +1 -0
- package/cjs/useLongPress-8037894e.js +87 -0
- package/cjs/useLongPress-8037894e.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +2 -3
- package/cjs/useSendbirdStateContext.js.map +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js +16 -21
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +12 -0
- package/cjs/utils/message/isVoiceMessage.js.map +1 -0
- package/cjs/{utils-ba58eacf.js → utils-01ff5332.js} +3 -7
- package/cjs/{utils-ba58eacf.js.map → utils-01ff5332.js.map} +1 -1
- package/cjs/utils-2edcddc8.js +35 -0
- package/cjs/utils-2edcddc8.js.map +1 -0
- package/cjs/utils-5ac3db44.js +31 -0
- package/cjs/utils-5ac3db44.js.map +1 -0
- package/cjs/{utils-708aa730.js → utils-ad7b5b82.js} +1 -1
- package/cjs/{utils-708aa730.js.map → utils-ad7b5b82.js.map} +1 -1
- package/cjs/uuid-12b01f73.js +15 -0
- package/cjs/{uuid-a9006ea2.js.map → uuid-12b01f73.js.map} +1 -1
- package/cjs/withSendbird.js +5 -6
- package/cjs/withSendbird.js.map +1 -1
- package/{color-c39702d1.js → color-347926b6.js} +5 -14
- package/{color-c39702d1.js.map → color-347926b6.js.map} +1 -1
- package/{compareIds-063e5503.js → compareIds-3a43c11b.js} +5 -6
- package/compareIds-3a43c11b.js.map +1 -0
- package/const-18dba7a4.js +13 -0
- package/const-18dba7a4.js.map +1 -0
- package/{const-1510a671.js → const-c608f749.js} +4 -4
- package/const-c608f749.js.map +1 -0
- package/consts-6bca01c7.js +4 -0
- package/consts-6bca01c7.js.map +1 -0
- package/consts-7a169a0f.js +4 -0
- package/consts-7a169a0f.js.map +1 -0
- package/consts-c1baf70a.js +27 -0
- package/consts-c1baf70a.js.map +1 -0
- package/consts-fb4d475a.js +4 -0
- package/consts-fb4d475a.js.map +1 -0
- package/context-786ef1a2.js +13 -0
- package/{context-d5dc28c9.js.map → context-786ef1a2.js.map} +1 -1
- package/dist/index.css +1682 -1229
- package/dist/index.css.map +1 -1
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js.map +1 -1
- package/{index-7c1f570b.js → index-06b854f7.js} +55 -63
- package/index-06b854f7.js.map +1 -0
- package/index-2673effb.js +360 -0
- package/index-2673effb.js.map +1 -0
- package/{index-5e776774.js → index-319984d0.js} +1 -1
- package/{index-5e776774.js.map → index-319984d0.js.map} +1 -1
- package/{index-eadca08d.js → index-4455855e.js} +2 -2
- package/{index-eadca08d.js.map → index-4455855e.js.map} +1 -1
- package/index-6663ce18.js +450 -0
- package/index-6663ce18.js.map +1 -0
- package/{index-b19486f5.js → index-6c252d25.js} +2 -2
- package/{index-b19486f5.js.map → index-6c252d25.js.map} +1 -1
- package/index-71a20863.js +320 -0
- package/index-71a20863.js.map +1 -0
- package/index-7d71b26c.js +154 -0
- package/index-7d71b26c.js.map +1 -0
- package/{index-d81c515b.js → index-9a4e0846.js} +1 -1
- package/index-9a4e0846.js.map +1 -0
- package/{index-fd15e3b0.js → index-9cd77b08.js} +29 -37
- package/index-9cd77b08.js.map +1 -0
- package/index-c149ea48.js +187 -0
- package/index-c149ea48.js.map +1 -0
- package/index-cf3939c6.js +76 -0
- package/index-cf3939c6.js.map +1 -0
- package/index-cf859f03.js +540 -0
- package/index-cf859f03.js.map +1 -0
- package/{index-95ac9232.js → index-e33f7f55.js} +11 -25
- package/index-e33f7f55.js.map +1 -0
- package/{index-b8de16d6.js → index-eabd1e7e.js} +39 -48
- package/index-eabd1e7e.js.map +1 -0
- package/index-ebb62af1.js +51 -0
- package/index-ebb62af1.js.map +1 -0
- package/{index-0fd24497.js → index-edf844f0.js} +57 -4
- package/index-edf844f0.js.map +1 -0
- package/index.d.ts +176 -124
- package/index.js +84 -63
- package/index.js.map +1 -1
- package/index.module-6b7ed635.js +4 -0
- package/index.module-6b7ed635.js.map +1 -0
- package/lame.all.js +2537 -0
- package/lame.all.js.map +1 -0
- package/package.json +62 -41
- package/resolvedReplyType-8776d777.js +29 -0
- package/resolvedReplyType-8776d777.js.map +1 -0
- package/sendbirdSelectors.js +307 -417
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-7ace5726.js → stringSet-e0ee1265.js} +112 -90
- package/stringSet-e0ee1265.js.map +1 -0
- package/tokenize-1b053c86.js +159 -0
- package/tokenize-1b053c86.js.map +1 -0
- package/topics-70f569e9.js +16 -0
- package/topics-70f569e9.js.map +1 -0
- package/types-77bbdda6.js +15 -0
- package/types-77bbdda6.js.map +1 -0
- package/ui/Accordion.js +21 -24
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +10 -13
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +10 -13
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +57 -79
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +16 -15
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +14 -12
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +20 -35
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +38 -41
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js +11 -13
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +7 -5
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +176 -200
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +12 -14
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +300 -108
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +22 -23
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +36 -36
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +448 -622
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +20 -31
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +34 -43
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +16 -16
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +4 -3
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +10 -12
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +58 -65
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +12 -10
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +215 -551
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +392 -120
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +83 -83
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +58 -62
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +55 -50
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +41 -40
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +10 -11
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +52 -46
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +10 -10
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +68 -64
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +8 -7
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +18 -17
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +17 -13
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +140 -151
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +204 -233
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +215 -222
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +168 -178
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +5 -6
- package/ui/PlaceHolder.js.map +1 -1
- package/ui/PlaybackTime.js +26 -0
- package/ui/PlaybackTime.js.map +1 -0
- package/ui/ProgressBar.js +30 -0
- package/ui/ProgressBar.js.map +1 -0
- package/ui/QuoteMessage.js +50 -44
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +31 -29
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +13 -21
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +30 -27
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +14 -18
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +13 -21
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +41 -48
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +25 -22
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +36 -45
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +191 -0
- package/ui/Toggle.js.map +1 -0
- package/ui/Tooltip.js +8 -9
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +17 -20
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +21 -22
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +76 -76
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +31 -29
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +110 -0
- package/ui/VoiceMessageItemBody.js.map +1 -0
- package/ui/VoiceMessgeInput.js +14 -0
- package/ui/VoiceMessgeInput.js.map +1 -0
- package/ui/Word.js +31 -39
- package/ui/Word.js.map +1 -1
- package/useDirtyGetMentions-f00f1f94.js +75 -0
- package/useDirtyGetMentions-f00f1f94.js.map +1 -0
- package/useLongPress-1ab49410.js +85 -0
- package/useLongPress-1ab49410.js.map +1 -0
- package/useSendbirdStateContext.js +2 -3
- package/useSendbirdStateContext.js.map +1 -1
- package/utils/message/getOutgoingMessageState.js +9 -15
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +8 -0
- package/utils/message/isVoiceMessage.js.map +1 -0
- package/{utils-30c326f7.js → utils-56cb7de5.js} +1 -1
- package/{utils-30c326f7.js.map → utils-56cb7de5.js.map} +1 -1
- package/utils-77f7e8b2.js +29 -0
- package/utils-77f7e8b2.js.map +1 -0
- package/{utils-ded73fa5.js → utils-7f3d0d8c.js} +3 -7
- package/{utils-ded73fa5.js.map → utils-7f3d0d8c.js.map} +1 -1
- package/utils-af9b1c06.js +31 -0
- package/utils-af9b1c06.js.map +1 -0
- package/uuid-92d22300.js +13 -0
- package/{uuid-968941a0.js.map → uuid-92d22300.js.map} +1 -1
- package/withSendbird.js +5 -6
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-ade145a7.js.map +0 -1
- package/ChannelProvider-c9db10c0.js.map +0 -1
- package/CreateChannelProvider-be2dfe96.js +0 -55
- package/CreateChannelProvider-be2dfe96.js.map +0 -1
- package/LocalizationContext-60894e38.js +0 -22
- package/MediaQueryContext-bcf72e28.js +0 -90
- package/MediaQueryContext-bcf72e28.js.map +0 -1
- package/MemberList-ce1fd162.js +0 -435
- package/MemberList-ce1fd162.js.map +0 -1
- package/NotificationChannel/components/NotificationChannelUI.js +0 -119
- package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
- package/NotificationChannel/components/NotificationList.js +0 -111
- package/NotificationChannel/components/NotificationList.js.map +0 -1
- package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
- package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
- package/NotificationChannel/context.js +0 -12
- package/NotificationChannel.js +0 -58
- package/NotificationChannel.js.map +0 -1
- package/NotificationChannelProvider-2cb7ca21.js +0 -535
- package/NotificationChannelProvider-2cb7ca21.js.map +0 -1
- package/OpenChannelListProvider-0bdafda1.js +0 -434
- package/OpenChannelListProvider-0bdafda1.js.map +0 -1
- package/OpenChannelProvider-a72c6fb7.js +0 -2000
- package/OpenChannelProvider-a72c6fb7.js.map +0 -1
- package/RemoveMessageModal-b025d4a7.js +0 -31
- package/RemoveMessageModal-b025d4a7.js.map +0 -1
- package/ThreadProvider-de5a7889.js +0 -1644
- package/ThreadProvider-de5a7889.js.map +0 -1
- package/_rollupPluginBabelHelpers-ed44209e.js.map +0 -1
- package/actionTypes-aa58fd27.js +0 -6
- package/actionTypes-aa58fd27.js.map +0 -1
- package/cjs/ChannelListProvider-65473831.js.map +0 -1
- package/cjs/ChannelProvider-1e08a7a9.js.map +0 -1
- package/cjs/CreateChannelProvider-cbf490c6.js +0 -62
- package/cjs/CreateChannelProvider-cbf490c6.js.map +0 -1
- package/cjs/MediaQueryContext-e455934a.js +0 -97
- package/cjs/MediaQueryContext-e455934a.js.map +0 -1
- package/cjs/MemberList-aee91fce.js +0 -441
- package/cjs/MemberList-aee91fce.js.map +0 -1
- package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
- package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
- package/cjs/NotificationChannel/components/NotificationList.js +0 -117
- package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
- package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
- package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
- package/cjs/NotificationChannel/context.js +0 -21
- package/cjs/NotificationChannel.js +0 -64
- package/cjs/NotificationChannel.js.map +0 -1
- package/cjs/NotificationChannelProvider-4cc9575f.js +0 -543
- package/cjs/NotificationChannelProvider-4cc9575f.js.map +0 -1
- package/cjs/OpenChannelListProvider-4aab4391.js +0 -443
- package/cjs/OpenChannelListProvider-4aab4391.js.map +0 -1
- package/cjs/OpenChannelProvider-a763b71c.js +0 -2009
- package/cjs/OpenChannelProvider-a763b71c.js.map +0 -1
- package/cjs/RemoveMessageModal-0da4f94b.js.map +0 -1
- package/cjs/ThreadProvider-51be09a5.js +0 -1653
- package/cjs/ThreadProvider-51be09a5.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-bd6baf0a.js.map +0 -1
- package/cjs/actionTypes-561bdde9.js +0 -10
- package/cjs/actionTypes-561bdde9.js.map +0 -1
- package/cjs/color-fdbe394d.js.map +0 -1
- package/cjs/compareIds-d0c02eca.js.map +0 -1
- package/cjs/const-8785e4ad.js.map +0 -1
- package/cjs/const-beb25e10.js +0 -20
- package/cjs/const-beb25e10.js.map +0 -1
- package/cjs/index-08d232f8.js.map +0 -1
- package/cjs/index-8a4b2f10.js +0 -59
- package/cjs/index-8a4b2f10.js.map +0 -1
- package/cjs/index-8c350889.js +0 -194
- package/cjs/index-8c350889.js.map +0 -1
- package/cjs/index-b3371ef2.js +0 -701
- package/cjs/index-b3371ef2.js.map +0 -1
- package/cjs/index-bdd889a2.js.map +0 -1
- package/cjs/index-c13771a7.js.map +0 -1
- package/cjs/index-e191d245.js.map +0 -1
- package/cjs/index-e8544e24.js.map +0 -1
- package/cjs/index-ebb542c3.js.map +0 -1
- package/cjs/index-f032bd2c.js +0 -360
- package/cjs/index-f032bd2c.js.map +0 -1
- package/cjs/stringSet-60660a99.js.map +0 -1
- package/cjs/topics-f3f74edc.js +0 -22
- package/cjs/topics-f3f74edc.js.map +0 -1
- package/cjs/tslib.es6-5a7eb30d.js +0 -110
- package/cjs/tslib.es6-5a7eb30d.js.map +0 -1
- package/cjs/useLongPress-e7140087.js +0 -118
- package/cjs/useLongPress-e7140087.js.map +0 -1
- package/cjs/utils-693dd952.js +0 -38
- package/cjs/utils-693dd952.js.map +0 -1
- package/cjs/utils-b6001dd4.js +0 -32
- package/cjs/utils-b6001dd4.js.map +0 -1
- package/cjs/uuid-a9006ea2.js +0 -19
- package/compareIds-063e5503.js.map +0 -1
- package/const-14919575.js +0 -14
- package/const-14919575.js.map +0 -1
- package/const-1510a671.js.map +0 -1
- package/context-d5dc28c9.js +0 -12
- package/index-0fd24497.js.map +0 -1
- package/index-2561104e.js +0 -179
- package/index-2561104e.js.map +0 -1
- package/index-54843058.js +0 -57
- package/index-54843058.js.map +0 -1
- package/index-58e5d82d.js +0 -662
- package/index-58e5d82d.js.map +0 -1
- package/index-7c1f570b.js.map +0 -1
- package/index-95ac9232.js.map +0 -1
- package/index-b8de16d6.js.map +0 -1
- package/index-d07faed8.js +0 -353
- package/index-d07faed8.js.map +0 -1
- package/index-d81c515b.js.map +0 -1
- package/index-fd15e3b0.js.map +0 -1
- package/stringSet-7ace5726.js.map +0 -1
- package/topics-d390daf6.js +0 -13
- package/topics-d390daf6.js.map +0 -1
- package/tslib.es6-d9fa3716.js +0 -104
- package/tslib.es6-d9fa3716.js.map +0 -1
- package/useLongPress-7d9a5f67.js +0 -116
- package/useLongPress-7d9a5f67.js.map +0 -1
- package/utils-40ce4da5.js +0 -34
- package/utils-40ce4da5.js.map +0 -1
- package/utils-d485030c.js +0 -30
- package/utils-d485030c.js.map +0 -1
- package/uuid-968941a0.js +0 -17
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var UserProfileContext = require('./UserProfileContext-
|
|
4
|
+
var UserProfileContext = require('./UserProfileContext-87580795.js');
|
|
5
5
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
require('./
|
|
10
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
11
|
-
var compareIds = require('./compareIds-
|
|
12
|
-
var _const = require('./const-beb25e10.js');
|
|
6
|
+
var _const = require('./const-a85f3364.js');
|
|
7
|
+
var index$1 = require('./index-869e9a94.js');
|
|
8
|
+
var topics = require('./topics-b384e6b3.js');
|
|
9
|
+
var index = require('./index-5231fde8.js');
|
|
10
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c89f311a.js');
|
|
11
|
+
var compareIds = require('./compareIds-ccccfe86.js');
|
|
13
12
|
var groupChannel = require('@sendbird/chat/groupChannel');
|
|
14
|
-
var uuid = require('./uuid-
|
|
13
|
+
var uuid = require('./uuid-12b01f73.js');
|
|
15
14
|
var message = require('@sendbird/chat/message');
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var ui_ImageRenderer = require('./ui/ImageRenderer.js');
|
|
19
|
-
var ui_Icon = require('./ui/Icon.js');
|
|
15
|
+
var consts = require('./consts-5e0f96b3.js');
|
|
16
|
+
var resolvedReplyType = require('./resolvedReplyType-67e78c63.js');
|
|
20
17
|
|
|
21
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
19
|
|
|
@@ -79,19 +76,37 @@ const {
|
|
|
79
76
|
FAILED,
|
|
80
77
|
PENDING
|
|
81
78
|
} = index.getSendingMessageStatus();
|
|
79
|
+
const scrollToRenderedMessage = (scrollRef, initialTimeStamp) => {
|
|
80
|
+
try {
|
|
81
|
+
var _container$querySelec;
|
|
82
|
+
const container = scrollRef.current;
|
|
83
|
+
// scroll into the message with initialTimeStamp
|
|
84
|
+
const element = (_container$querySelec = container.querySelectorAll(`[data-sb-created-at="${initialTimeStamp}"]`)) === null || _container$querySelec === void 0 ? void 0 : _container$querySelec[0];
|
|
85
|
+
if (element) {
|
|
86
|
+
// Calculate the offset of the element from the top of the container
|
|
87
|
+
const containerHeight = container.offsetHeight;
|
|
88
|
+
const elementHeight = element.offsetHeight;
|
|
89
|
+
const elementOffset = (containerHeight - elementHeight) / 2;
|
|
90
|
+
// Set the scroll position of the container to bring the element to the middle
|
|
91
|
+
container.scrollTop = element.offsetTop - elementOffset;
|
|
92
|
+
}
|
|
93
|
+
} catch (_unused) {
|
|
94
|
+
// do nothing
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/* eslint-disable default-param-last */
|
|
82
99
|
const scrollIntoLast = function () {
|
|
83
100
|
let initialTry = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
84
101
|
let scrollRef = arguments.length > 1 ? arguments[1] : undefined;
|
|
85
102
|
const MAX_TRIES = 10;
|
|
86
103
|
const currentTry = initialTry;
|
|
87
|
-
|
|
88
104
|
if (currentTry > MAX_TRIES) {
|
|
89
105
|
return;
|
|
90
106
|
}
|
|
91
|
-
|
|
92
107
|
try {
|
|
93
|
-
const scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-conversation__messages-padding');
|
|
94
|
-
|
|
108
|
+
const scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-conversation__messages-padding');
|
|
109
|
+
// eslint-disable-next-line no-multi-assign
|
|
95
110
|
scrollDOM.scrollTop = scrollDOM.scrollHeight;
|
|
96
111
|
} catch (error) {
|
|
97
112
|
setTimeout(() => {
|
|
@@ -103,7 +118,8 @@ const pubSubHandleRemover = subscriber => {
|
|
|
103
118
|
subscriber.forEach(s => {
|
|
104
119
|
try {
|
|
105
120
|
s.remove();
|
|
106
|
-
} catch (
|
|
121
|
+
} catch (_unused2) {
|
|
122
|
+
//
|
|
107
123
|
}
|
|
108
124
|
});
|
|
109
125
|
};
|
|
@@ -116,13 +132,12 @@ const pubSubHandler = _ref => {
|
|
|
116
132
|
} = _ref;
|
|
117
133
|
const subscriber = new Map();
|
|
118
134
|
if (!pubSub || !pubSub.subscribe) return subscriber;
|
|
119
|
-
subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, msg => {
|
|
135
|
+
subscriber.set(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, msg => {
|
|
120
136
|
const {
|
|
121
137
|
channel,
|
|
122
138
|
message
|
|
123
139
|
} = msg;
|
|
124
140
|
scrollIntoLast(0, scrollRef);
|
|
125
|
-
|
|
126
141
|
if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
127
142
|
dispatcher({
|
|
128
143
|
type: SEND_MESSAGEGE_SUCESS,
|
|
@@ -130,12 +145,11 @@ const pubSubHandler = _ref => {
|
|
|
130
145
|
});
|
|
131
146
|
}
|
|
132
147
|
}));
|
|
133
|
-
subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, msg => {
|
|
148
|
+
subscriber.set(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, msg => {
|
|
134
149
|
const {
|
|
135
150
|
channel,
|
|
136
151
|
message
|
|
137
152
|
} = msg;
|
|
138
|
-
|
|
139
153
|
if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
140
154
|
dispatcher({
|
|
141
155
|
type: SEND_MESSAGEGE_START,
|
|
@@ -143,13 +157,12 @@ const pubSubHandler = _ref => {
|
|
|
143
157
|
});
|
|
144
158
|
}
|
|
145
159
|
}));
|
|
146
|
-
subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, msg => {
|
|
160
|
+
subscriber.set(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, msg => {
|
|
147
161
|
const {
|
|
148
162
|
channel,
|
|
149
163
|
message
|
|
150
164
|
} = msg;
|
|
151
165
|
scrollIntoLast(0, scrollRef);
|
|
152
|
-
|
|
153
166
|
if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
154
167
|
dispatcher({
|
|
155
168
|
type: SEND_MESSAGEGE_SUCESS,
|
|
@@ -157,13 +170,12 @@ const pubSubHandler = _ref => {
|
|
|
157
170
|
});
|
|
158
171
|
}
|
|
159
172
|
}));
|
|
160
|
-
subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, msg => {
|
|
173
|
+
subscriber.set(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, msg => {
|
|
161
174
|
const {
|
|
162
175
|
channel,
|
|
163
176
|
message,
|
|
164
177
|
fromSelector
|
|
165
178
|
} = msg;
|
|
166
|
-
|
|
167
179
|
if (fromSelector && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
168
180
|
dispatcher({
|
|
169
181
|
type: ON_MESSAGE_UPDATED,
|
|
@@ -174,12 +186,11 @@ const pubSubHandler = _ref => {
|
|
|
174
186
|
});
|
|
175
187
|
}
|
|
176
188
|
}));
|
|
177
|
-
subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, msg => {
|
|
189
|
+
subscriber.set(topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.DELETE_MESSAGE, msg => {
|
|
178
190
|
const {
|
|
179
191
|
channel,
|
|
180
192
|
messageId
|
|
181
193
|
} = msg;
|
|
182
|
-
|
|
183
194
|
if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
184
195
|
dispatcher({
|
|
185
196
|
type: ON_MESSAGE_DELETED,
|
|
@@ -204,37 +215,16 @@ const isDisabledBecauseMuted = function () {
|
|
|
204
215
|
const myMutedState = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.myMutedState;
|
|
205
216
|
return myMutedState === 'muted';
|
|
206
217
|
};
|
|
207
|
-
const getAllEmojisFromEmojiContainer = function () {
|
|
208
|
-
let emojiContainer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
209
|
-
const {
|
|
210
|
-
emojiCategories = []
|
|
211
|
-
} = emojiContainer;
|
|
212
|
-
const allEmojis = [];
|
|
213
|
-
|
|
214
|
-
for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {
|
|
215
|
-
const {
|
|
216
|
-
emojis
|
|
217
|
-
} = emojiCategories[categoryIndex];
|
|
218
|
-
|
|
219
|
-
for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {
|
|
220
|
-
allEmojis.push(emojis[emojiIndex]);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
return allEmojis;
|
|
225
|
-
};
|
|
226
218
|
const getAllEmojisMapFromEmojiContainer = function () {
|
|
227
219
|
let emojiContainer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
228
220
|
const {
|
|
229
221
|
emojiCategories = []
|
|
230
222
|
} = emojiContainer;
|
|
231
223
|
const allEmojisMap = new Map();
|
|
232
|
-
|
|
233
224
|
for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {
|
|
234
225
|
const {
|
|
235
226
|
emojis
|
|
236
227
|
} = emojiCategories[categoryIndex];
|
|
237
|
-
|
|
238
228
|
for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {
|
|
239
229
|
const {
|
|
240
230
|
key,
|
|
@@ -243,13 +233,11 @@ const getAllEmojisMapFromEmojiContainer = function () {
|
|
|
243
233
|
allEmojisMap.set(key, url);
|
|
244
234
|
}
|
|
245
235
|
}
|
|
246
|
-
|
|
247
236
|
return allEmojisMap;
|
|
248
237
|
};
|
|
249
238
|
const getNicknamesMapFromMembers = function () {
|
|
250
239
|
let members = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
251
240
|
const nicknamesMap = new Map();
|
|
252
|
-
|
|
253
241
|
for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {
|
|
254
242
|
const {
|
|
255
243
|
userId,
|
|
@@ -257,24 +245,39 @@ const getNicknamesMapFromMembers = function () {
|
|
|
257
245
|
} = members[memberIndex];
|
|
258
246
|
nicknamesMap.set(userId, nickname);
|
|
259
247
|
}
|
|
260
|
-
|
|
261
248
|
return nicknamesMap;
|
|
262
249
|
};
|
|
250
|
+
const getUniqueListBy = (arr, key) => [...new Map(arr.map(item => [item[key], item])).values()];
|
|
251
|
+
const getUniqueListByMessageId = arr => getUniqueListBy(arr, 'messageId');
|
|
252
|
+
const sortByCreatedAt = messages => messages.sort((a, b) => a.createdAt - b.createdAt);
|
|
253
|
+
const mergeAndSortMessages = (oldMessages, newMessages) => {
|
|
254
|
+
const lastOldMessage = oldMessages[oldMessages.length - 1];
|
|
255
|
+
const firstNewMessage = newMessages[0];
|
|
256
|
+
// If the last message of oldMessages is older than the first message of newMessages,
|
|
257
|
+
// then we can safely append newMessages to oldMessages.
|
|
258
|
+
if ((lastOldMessage === null || lastOldMessage === void 0 ? void 0 : lastOldMessage.createdAt) < (firstNewMessage === null || firstNewMessage === void 0 ? void 0 : firstNewMessage.createdAt)) {
|
|
259
|
+
return [...oldMessages, ...newMessages];
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// todo: optimize this
|
|
263
|
+
// If the last message of oldMessages is newer than the first message of newMessages,
|
|
264
|
+
// then we need to merge the two arrays and sort them by createdAt.
|
|
265
|
+
const mergedMessages = [...oldMessages, ...newMessages];
|
|
266
|
+
const unique = getUniqueListByMessageId(mergedMessages);
|
|
267
|
+
return sortByCreatedAt(unique);
|
|
268
|
+
};
|
|
263
269
|
const getMessageCreatedAt = message => index$1.format(message.createdAt, 'p');
|
|
264
270
|
const isSameGroup = (message, comparingMessage, currentChannel) => {
|
|
265
271
|
var _message$sender, _comparingMessage$sen, _message$sender2, _comparingMessage$sen2;
|
|
266
|
-
|
|
267
272
|
if (!(message && comparingMessage && message.messageType && message.messageType !== 'admin' && comparingMessage.messageType && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.messageType) !== 'admin' && message !== null && message !== void 0 && message.sender && comparingMessage !== null && comparingMessage !== void 0 && comparingMessage.sender && message !== null && message !== void 0 && message.createdAt && comparingMessage !== null && comparingMessage !== void 0 && comparingMessage.createdAt && message !== null && message !== void 0 && (_message$sender = message.sender) !== null && _message$sender !== void 0 && _message$sender.userId && comparingMessage !== null && comparingMessage !== void 0 && (_comparingMessage$sen = comparingMessage.sender) !== null && _comparingMessage$sen !== void 0 && _comparingMessage$sen.userId)) {
|
|
268
273
|
return false;
|
|
269
274
|
}
|
|
270
|
-
|
|
271
275
|
return (message === null || message === void 0 ? void 0 : message.sendingStatus) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sendingStatus) && (message === null || message === void 0 ? void 0 : (_message$sender2 = message.sender) === null || _message$sender2 === void 0 ? void 0 : _message$sender2.userId) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : (_comparingMessage$sen2 = comparingMessage.sender) === null || _comparingMessage$sen2 === void 0 ? void 0 : _comparingMessage$sen2.userId) && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage) && index.isReadMessage(currentChannel, message) === index.isReadMessage(currentChannel, comparingMessage);
|
|
272
276
|
};
|
|
273
277
|
const compareMessagesForGrouping = (prevMessage, currMessage, nextMessage, currentChannel, replyType) => {
|
|
274
278
|
if (replyType === 'THREAD' && currMessage !== null && currMessage !== void 0 && currMessage.threadInfo) {
|
|
275
279
|
return [false, false];
|
|
276
280
|
}
|
|
277
|
-
|
|
278
281
|
const sendingStatus = (currMessage === null || currMessage === void 0 ? void 0 : currMessage.sendingStatus) || '';
|
|
279
282
|
const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';
|
|
280
283
|
return [isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable, isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable];
|
|
@@ -283,36 +286,45 @@ const passUnsuccessfullMessages = (allMessages, newMessage) => {
|
|
|
283
286
|
const {
|
|
284
287
|
sendingStatus = UNDEFINED
|
|
285
288
|
} = newMessage;
|
|
286
|
-
|
|
287
289
|
if (sendingStatus === SUCCEEDED$1 || sendingStatus === PENDING) {
|
|
288
290
|
const lastIndexOfSucceededMessage = allMessages.map(message => message.sendingStatus || (message.isAdminMessage && message.isAdminMessage() ? SUCCEEDED$1 : UNDEFINED)).lastIndexOf(SUCCEEDED$1);
|
|
289
|
-
|
|
290
291
|
if (lastIndexOfSucceededMessage + 1 < allMessages.length) {
|
|
291
292
|
const messages = [...allMessages];
|
|
292
293
|
messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);
|
|
293
294
|
return messages;
|
|
294
295
|
}
|
|
295
296
|
}
|
|
296
|
-
|
|
297
297
|
return [...allMessages, newMessage];
|
|
298
298
|
};
|
|
299
299
|
const pxToNumber = px => {
|
|
300
300
|
if (typeof px === 'number') {
|
|
301
301
|
return px;
|
|
302
302
|
}
|
|
303
|
-
|
|
304
303
|
if (typeof px === 'string') {
|
|
305
304
|
const parsed = Number.parseFloat(px);
|
|
306
|
-
|
|
307
305
|
if (!Number.isNaN(parsed)) {
|
|
308
306
|
return parsed;
|
|
309
307
|
}
|
|
310
308
|
}
|
|
311
|
-
|
|
312
309
|
return null;
|
|
313
310
|
};
|
|
314
311
|
const isAboutSame = (a, b, px) => Math.abs(a - b) <= px;
|
|
315
312
|
|
|
313
|
+
/**
|
|
314
|
+
* This function helps consider the every condition
|
|
315
|
+
* related to enabling emoji reaction feature.
|
|
316
|
+
*/
|
|
317
|
+
|
|
318
|
+
function getIsReactionEnabled(_ref) {
|
|
319
|
+
let {
|
|
320
|
+
isBroadcast = false,
|
|
321
|
+
isSuper = false,
|
|
322
|
+
globalLevel = true,
|
|
323
|
+
moduleLevel
|
|
324
|
+
} = _ref;
|
|
325
|
+
return !(isBroadcast || isSuper) && (moduleLevel !== null && moduleLevel !== void 0 ? moduleLevel : globalLevel);
|
|
326
|
+
}
|
|
327
|
+
|
|
316
328
|
var messagesInitialState = {
|
|
317
329
|
initialized: false,
|
|
318
330
|
loading: true,
|
|
@@ -338,22 +350,18 @@ var messagesInitialState = {
|
|
|
338
350
|
const {
|
|
339
351
|
SUCCEEDED
|
|
340
352
|
} = index.getSendingMessageStatus();
|
|
341
|
-
|
|
342
353
|
const getOldestMessageTimeStamp = function () {
|
|
343
354
|
let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
344
355
|
const oldestMessage = messages[0];
|
|
345
356
|
return oldestMessage && oldestMessage.createdAt || null;
|
|
346
357
|
};
|
|
347
|
-
|
|
348
358
|
const getLatestMessageTimeStamp = function () {
|
|
349
359
|
let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
350
360
|
const latestMessage = messages[messages.length - 1];
|
|
351
361
|
return latestMessage && latestMessage.createdAt || null;
|
|
352
362
|
};
|
|
353
|
-
|
|
354
363
|
function reducer(state, action) {
|
|
355
364
|
var _state$currentGroupCh7, _action$payload, _action$payload$chann;
|
|
356
|
-
|
|
357
365
|
switch (action.type) {
|
|
358
366
|
case RESET_MESSAGES:
|
|
359
367
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -363,7 +371,6 @@ function reducer(state, action) {
|
|
|
363
371
|
hasMoreNext: false,
|
|
364
372
|
allMessages: []
|
|
365
373
|
});
|
|
366
|
-
|
|
367
374
|
case FETCH_INITIAL_MESSAGES_START:
|
|
368
375
|
{
|
|
369
376
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -371,20 +378,16 @@ function reducer(state, action) {
|
|
|
371
378
|
allMessages: [...state.allMessages.filter(m => m.sendingStatus !== SUCCEEDED)]
|
|
372
379
|
});
|
|
373
380
|
}
|
|
374
|
-
|
|
375
381
|
case FETCH_INITIAL_MESSAGES_SUCCESS:
|
|
376
382
|
{
|
|
377
383
|
var _state$currentGroupCh;
|
|
378
|
-
|
|
379
384
|
const {
|
|
380
385
|
currentGroupChannel,
|
|
381
386
|
messages
|
|
382
387
|
} = action.payload;
|
|
383
|
-
|
|
384
388
|
if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_state$currentGroupCh = state.currentGroupChannel) === null || _state$currentGroupCh === void 0 ? void 0 : _state$currentGroupCh.url))) {
|
|
385
389
|
return state;
|
|
386
390
|
}
|
|
387
|
-
|
|
388
391
|
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
389
392
|
const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
|
|
390
393
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -397,23 +400,20 @@ function reducer(state, action) {
|
|
|
397
400
|
allMessages: [...messages]
|
|
398
401
|
});
|
|
399
402
|
}
|
|
400
|
-
|
|
401
403
|
case FETCH_PREV_MESSAGES_SUCCESS:
|
|
402
404
|
{
|
|
403
405
|
var _state$currentGroupCh2;
|
|
404
|
-
|
|
405
406
|
const {
|
|
406
407
|
currentGroupChannel,
|
|
407
408
|
messages
|
|
408
409
|
} = action.payload;
|
|
409
|
-
|
|
410
410
|
if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_state$currentGroupCh2 = state.currentGroupChannel) === null || _state$currentGroupCh2 === void 0 ? void 0 : _state$currentGroupCh2.url))) {
|
|
411
411
|
return state;
|
|
412
412
|
}
|
|
413
|
-
|
|
414
413
|
const hasMorePrev = messages && messages.length === _const.PREV_RESULT_SIZE + 1;
|
|
415
|
-
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
414
|
+
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
416
415
|
|
|
416
|
+
// Remove duplicated messages
|
|
417
417
|
const duplicatedMessageIds = [];
|
|
418
418
|
const updatedOldMessages = state.allMessages.map(msg => {
|
|
419
419
|
const duplicatedMessage = messages.find(_ref => {
|
|
@@ -422,11 +422,9 @@ function reducer(state, action) {
|
|
|
422
422
|
} = _ref;
|
|
423
423
|
return compareIds.compareIds(messageId, msg.messageId);
|
|
424
424
|
});
|
|
425
|
-
|
|
426
425
|
if (!duplicatedMessage) {
|
|
427
426
|
return msg;
|
|
428
427
|
}
|
|
429
|
-
|
|
430
428
|
duplicatedMessageIds.push(duplicatedMessage.messageId);
|
|
431
429
|
return duplicatedMessage.updatedAt > msg.updatedAt ? duplicatedMessage : msg;
|
|
432
430
|
});
|
|
@@ -437,61 +435,38 @@ function reducer(state, action) {
|
|
|
437
435
|
allMessages: [...filteredNewMessages, ...updatedOldMessages]
|
|
438
436
|
});
|
|
439
437
|
}
|
|
440
|
-
|
|
441
438
|
case FETCH_NEXT_MESSAGES_SUCCESS:
|
|
442
439
|
{
|
|
443
440
|
var _state$currentGroupCh3;
|
|
444
|
-
|
|
445
441
|
const {
|
|
446
442
|
currentGroupChannel,
|
|
447
443
|
messages
|
|
448
444
|
} = action.payload;
|
|
449
|
-
|
|
450
445
|
if (!((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) === ((_state$currentGroupCh3 = state.currentGroupChannel) === null || _state$currentGroupCh3 === void 0 ? void 0 : _state$currentGroupCh3.url))) {
|
|
451
446
|
return state;
|
|
452
447
|
}
|
|
453
|
-
|
|
454
448
|
const hasMoreNext = messages && messages.length === _const.NEXT_RESULT_SIZE + 1;
|
|
455
|
-
const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
|
|
456
|
-
|
|
457
|
-
const duplicatedMessageIds = [];
|
|
458
|
-
const updatedOldMessages = state.allMessages.map(msg => {
|
|
459
|
-
const duplicatedMessage = messages.find(_ref2 => {
|
|
460
|
-
let {
|
|
461
|
-
messageId
|
|
462
|
-
} = _ref2;
|
|
463
|
-
return compareIds.compareIds(messageId, msg.messageId);
|
|
464
|
-
});
|
|
465
|
-
|
|
466
|
-
if (!duplicatedMessage) {
|
|
467
|
-
return msg;
|
|
468
|
-
}
|
|
449
|
+
const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
|
|
469
450
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
});
|
|
473
|
-
const filteredNewMessages = duplicatedMessageIds.length > 0 ? messages.filter(msg => !duplicatedMessageIds.find(messageId => compareIds.compareIds(messageId, msg.messageId))) : messages;
|
|
451
|
+
// sort ~
|
|
452
|
+
const sortedMessages = mergeAndSortMessages(state.allMessages, messages);
|
|
474
453
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
475
454
|
hasMoreNext,
|
|
476
455
|
latestMessageTimeStamp,
|
|
477
|
-
allMessages:
|
|
456
|
+
allMessages: sortedMessages
|
|
478
457
|
});
|
|
479
458
|
}
|
|
480
|
-
|
|
481
459
|
case FETCH_INITIAL_MESSAGES_FAILURE:
|
|
482
460
|
case FETCH_PREV_MESSAGES_FAILURE:
|
|
483
461
|
case FETCH_NEXT_MESSAGES_FAILURE:
|
|
484
462
|
{
|
|
485
463
|
var _state$currentGroupCh4;
|
|
486
|
-
|
|
487
464
|
const {
|
|
488
465
|
currentGroupChannel
|
|
489
466
|
} = action.payload;
|
|
490
|
-
|
|
491
467
|
if ((currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url) !== (state === null || state === void 0 ? void 0 : (_state$currentGroupCh4 = state.currentGroupChannel) === null || _state$currentGroupCh4 === void 0 ? void 0 : _state$currentGroupCh4.url)) {
|
|
492
468
|
return state;
|
|
493
469
|
}
|
|
494
|
-
|
|
495
470
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
496
471
|
loading: false,
|
|
497
472
|
initialized: false,
|
|
@@ -502,12 +477,10 @@ function reducer(state, action) {
|
|
|
502
477
|
latestMessageTimeStamp: null
|
|
503
478
|
});
|
|
504
479
|
}
|
|
505
|
-
|
|
506
480
|
case SEND_MESSAGEGE_START:
|
|
507
481
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
508
482
|
allMessages: [...state.allMessages, _rollupPluginBabelHelpers._objectSpread2({}, action.payload)]
|
|
509
483
|
});
|
|
510
|
-
|
|
511
484
|
case SEND_MESSAGEGE_SUCESS:
|
|
512
485
|
{
|
|
513
486
|
const message = action.payload;
|
|
@@ -517,7 +490,6 @@ function reducer(state, action) {
|
|
|
517
490
|
allMessages: pendingIndex > -1 ? [...filteredMessages.slice(0, pendingIndex), message, ...filteredMessages.slice(pendingIndex)] : [...filteredMessages, message]
|
|
518
491
|
});
|
|
519
492
|
}
|
|
520
|
-
|
|
521
493
|
case SEND_MESSAGEGE_FAILURE:
|
|
522
494
|
{
|
|
523
495
|
// eslint-disable-next-line no-param-reassign
|
|
@@ -526,7 +498,6 @@ function reducer(state, action) {
|
|
|
526
498
|
allMessages: state.allMessages.map(m => compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
|
|
527
499
|
});
|
|
528
500
|
}
|
|
529
|
-
|
|
530
501
|
case SET_CURRENT_CHANNEL:
|
|
531
502
|
{
|
|
532
503
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -534,7 +505,6 @@ function reducer(state, action) {
|
|
|
534
505
|
isInvalid: false
|
|
535
506
|
});
|
|
536
507
|
}
|
|
537
|
-
|
|
538
508
|
case SET_CHANNEL_INVALID:
|
|
539
509
|
{
|
|
540
510
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -542,7 +512,6 @@ function reducer(state, action) {
|
|
|
542
512
|
isInvalid: true
|
|
543
513
|
});
|
|
544
514
|
}
|
|
545
|
-
|
|
546
515
|
case ON_MESSAGE_RECEIVED:
|
|
547
516
|
{
|
|
548
517
|
const {
|
|
@@ -560,57 +529,47 @@ function reducer(state, action) {
|
|
|
560
529
|
unreadSince
|
|
561
530
|
} = state;
|
|
562
531
|
const currentGroupChannelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
|
|
563
|
-
|
|
564
532
|
if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
|
|
565
533
|
return state;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
|
|
534
|
+
}
|
|
535
|
+
// Excluded overlapping messages
|
|
569
536
|
if (state.allMessages.some(msg => msg.messageId === message.messageId)) {
|
|
570
537
|
return state;
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
|
|
538
|
+
}
|
|
539
|
+
// Filter by userFilledQuery
|
|
574
540
|
if (state.messageListParams && !index.filterMessageListParams(state.messageListParams, message)) {
|
|
575
541
|
return state;
|
|
576
542
|
}
|
|
577
|
-
|
|
578
543
|
if (message.isAdminMessage && message.isAdminMessage()) {
|
|
579
544
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
580
545
|
allMessages: passUnsuccessfullMessages(state.allMessages, message)
|
|
581
546
|
});
|
|
582
|
-
}
|
|
583
|
-
|
|
547
|
+
}
|
|
584
548
|
|
|
549
|
+
// Update members when sender profileUrl, nickname, friendName has been changed
|
|
585
550
|
const senderMember = members === null || members === void 0 ? void 0 : members.find(m => (m === null || m === void 0 ? void 0 : m.userId) === (sender === null || sender === void 0 ? void 0 : sender.userId));
|
|
586
|
-
|
|
587
551
|
if ((senderMember === null || senderMember === void 0 ? void 0 : senderMember.profileUrl) !== (sender === null || sender === void 0 ? void 0 : sender.profileUrl) || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.friendName) !== (sender === null || sender === void 0 ? void 0 : sender.friendName) || (senderMember === null || senderMember === void 0 ? void 0 : senderMember.nickname) !== (sender === null || sender === void 0 ? void 0 : sender.nickname)) {
|
|
588
552
|
channel.members = members.map(member => {
|
|
589
553
|
if (member.userId === sender.userId) {
|
|
590
554
|
return sender;
|
|
591
555
|
}
|
|
592
|
-
|
|
593
556
|
return member;
|
|
594
557
|
});
|
|
595
558
|
}
|
|
596
|
-
|
|
597
559
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
598
560
|
currentGroupChannel: channel,
|
|
599
561
|
unreadSince: state !== null && state !== void 0 && state.unreadSince ? unreadSince : index$1.format(new Date(), 'p MMM dd'),
|
|
600
562
|
allMessages: passUnsuccessfullMessages(state.allMessages, message)
|
|
601
563
|
});
|
|
602
564
|
}
|
|
603
|
-
|
|
604
565
|
case ON_MESSAGE_UPDATED:
|
|
605
566
|
{
|
|
606
567
|
var _state$currentGroupCh5;
|
|
607
|
-
|
|
608
568
|
const {
|
|
609
569
|
channel,
|
|
610
570
|
message
|
|
611
571
|
} = action.payload;
|
|
612
572
|
const currentGroupChannelUrl = (state === null || state === void 0 ? void 0 : (_state$currentGroupCh5 = state.currentGroupChannel) === null || _state$currentGroupCh5 === void 0 ? void 0 : _state$currentGroupCh5.url) || '';
|
|
613
|
-
|
|
614
573
|
if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
|
|
615
574
|
return state; // Ignore event when it is not for the current channel
|
|
616
575
|
}
|
|
@@ -621,13 +580,11 @@ function reducer(state, action) {
|
|
|
621
580
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.messageId, message === null || message === void 0 ? void 0 : message.messageId))
|
|
622
581
|
});
|
|
623
582
|
}
|
|
624
|
-
|
|
625
583
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
626
584
|
allMessages: state.allMessages.map(m => {
|
|
627
585
|
if (compareIds.compareIds(m.messageId, message.messageId)) {
|
|
628
586
|
return message;
|
|
629
587
|
}
|
|
630
|
-
|
|
631
588
|
if (compareIds.compareIds(m.parentMessageId, message.messageId)) {
|
|
632
589
|
m.parentMessage = message; // eslint-disable-line no-param-reassign
|
|
633
590
|
}
|
|
@@ -636,11 +593,9 @@ function reducer(state, action) {
|
|
|
636
593
|
})
|
|
637
594
|
});
|
|
638
595
|
}
|
|
639
|
-
|
|
640
596
|
case ON_MESSAGE_THREAD_INFO_UPDATED:
|
|
641
597
|
{
|
|
642
598
|
var _state$currentGroupCh6;
|
|
643
|
-
|
|
644
599
|
const {
|
|
645
600
|
channel,
|
|
646
601
|
event
|
|
@@ -651,7 +606,6 @@ function reducer(state, action) {
|
|
|
651
606
|
targetMessageId
|
|
652
607
|
} = event;
|
|
653
608
|
const currentGroupChannelUrl = (state === null || state === void 0 ? void 0 : (_state$currentGroupCh6 = state.currentGroupChannel) === null || _state$currentGroupCh6 === void 0 ? void 0 : _state$currentGroupCh6.url) || '';
|
|
654
|
-
|
|
655
609
|
if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl) || !compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
656
610
|
return state; // Ignore event when it is not for the current channel
|
|
657
611
|
}
|
|
@@ -667,38 +621,31 @@ function reducer(state, action) {
|
|
|
667
621
|
})
|
|
668
622
|
});
|
|
669
623
|
}
|
|
670
|
-
|
|
671
624
|
case RESEND_MESSAGEGE_START:
|
|
672
625
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
673
626
|
allMessages: state.allMessages.map(m => compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
|
|
674
627
|
});
|
|
675
|
-
|
|
676
628
|
case MARK_AS_READ:
|
|
677
629
|
if (((_state$currentGroupCh7 = state.currentGroupChannel) === null || _state$currentGroupCh7 === void 0 ? void 0 : _state$currentGroupCh7.url) !== ((_action$payload = action.payload) === null || _action$payload === void 0 ? void 0 : (_action$payload$chann = _action$payload.channel) === null || _action$payload$chann === void 0 ? void 0 : _action$payload$chann.url)) {
|
|
678
630
|
return state;
|
|
679
631
|
}
|
|
680
|
-
|
|
681
632
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
682
633
|
unreadSince: null
|
|
683
634
|
});
|
|
684
|
-
|
|
685
635
|
case ON_MESSAGE_DELETED:
|
|
686
636
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
687
637
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.messageId, action.payload))
|
|
688
638
|
});
|
|
689
|
-
|
|
690
639
|
case ON_MESSAGE_DELETED_BY_REQ_ID:
|
|
691
640
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
692
641
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.reqId, action.payload))
|
|
693
642
|
});
|
|
694
|
-
|
|
695
643
|
case SET_EMOJI_CONTAINER:
|
|
696
644
|
{
|
|
697
645
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
698
646
|
emojiContainer: action.payload
|
|
699
647
|
});
|
|
700
648
|
}
|
|
701
|
-
|
|
702
649
|
case ON_REACTION_UPDATED:
|
|
703
650
|
{
|
|
704
651
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -707,86 +654,102 @@ function reducer(state, action) {
|
|
|
707
654
|
if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {
|
|
708
655
|
m.applyReactionEvent(action.payload);
|
|
709
656
|
}
|
|
710
|
-
|
|
711
657
|
return m;
|
|
712
658
|
}
|
|
713
|
-
|
|
714
659
|
return m;
|
|
715
660
|
})
|
|
716
661
|
});
|
|
717
662
|
}
|
|
718
|
-
|
|
719
663
|
case MESSAGE_LIST_PARAMS_CHANGED:
|
|
720
664
|
{
|
|
721
665
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
722
666
|
messageListParams: action.payload
|
|
723
667
|
});
|
|
724
668
|
}
|
|
725
|
-
|
|
726
669
|
default:
|
|
727
670
|
return state;
|
|
728
671
|
}
|
|
729
672
|
}
|
|
730
673
|
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
674
|
+
/**
|
|
675
|
+
* Handles ChannelEvents and send values to dispatcher using messagesDispatcher
|
|
676
|
+
* messagesDispatcher: Dispatcher
|
|
677
|
+
* sdk: sdkInstance
|
|
678
|
+
* logger: loggerInstance
|
|
679
|
+
* channelUrl: string
|
|
680
|
+
* sdkInit: bool
|
|
681
|
+
*/
|
|
682
|
+
|
|
683
|
+
const DELIVERY_RECIPT = 'delivery_receipt';
|
|
684
|
+
function useHandleChannelEvents(_ref, _ref2) {
|
|
685
|
+
var _store$stores$sdkStor, _store$stores$sdkStor2, _store$stores$sdkStor3;
|
|
686
|
+
let {
|
|
687
|
+
sdkInit,
|
|
688
|
+
currentUserId,
|
|
689
|
+
currentGroupChannel,
|
|
690
|
+
disableMarkAsRead
|
|
691
|
+
} = _ref;
|
|
692
|
+
let {
|
|
693
|
+
sdk,
|
|
694
|
+
logger,
|
|
695
|
+
scrollRef,
|
|
696
|
+
setQuoteMessage,
|
|
697
|
+
messagesDispatcher
|
|
698
|
+
} = _ref2;
|
|
699
|
+
const store = useSendbirdStateContext();
|
|
700
|
+
const {
|
|
701
|
+
markAsReadScheduler,
|
|
702
|
+
markAsDeliveredScheduler,
|
|
703
|
+
disableMarkAsDelivered
|
|
704
|
+
} = store.config;
|
|
705
|
+
const canSetMarkAsDelivered = (_store$stores$sdkStor = store.stores.sdkStore.sdk) === null || _store$stores$sdkStor === void 0 ? void 0 : (_store$stores$sdkStor2 = _store$stores$sdkStor.appInfo) === null || _store$stores$sdkStor2 === void 0 ? void 0 : (_store$stores$sdkStor3 = _store$stores$sdkStor2.premiumFeatureList) === null || _store$stores$sdkStor3 === void 0 ? void 0 : _store$stores$sdkStor3.find(feature => feature === DELIVERY_RECIPT);
|
|
706
|
+
React.useEffect(() => {
|
|
707
|
+
const channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
|
|
708
|
+
const channelHandlerId = uuid.uuidv4();
|
|
748
709
|
if (channelUrl && sdkInit) {
|
|
749
|
-
var
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)
|
|
753
|
-
var
|
|
754
|
-
|
|
710
|
+
var _sdk$groupChannel;
|
|
711
|
+
const channelHandler = {
|
|
712
|
+
onMessageReceived: (channel, message) => {
|
|
713
|
+
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
714
|
+
var _document$getElementB, _document$getElementB2;
|
|
715
|
+
let scrollToEnd = false;
|
|
755
716
|
try {
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
717
|
+
const {
|
|
718
|
+
current
|
|
719
|
+
} = scrollRef;
|
|
720
|
+
scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight - 10;
|
|
721
|
+
// 10 is a buffer
|
|
722
|
+
} catch (error) {
|
|
723
|
+
//
|
|
759
724
|
}
|
|
760
|
-
|
|
761
725
|
logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);
|
|
762
726
|
messagesDispatcher({
|
|
763
727
|
type: ON_MESSAGE_RECEIVED,
|
|
764
728
|
payload: {
|
|
765
|
-
channel
|
|
766
|
-
message
|
|
729
|
+
channel,
|
|
730
|
+
message
|
|
767
731
|
}
|
|
768
732
|
});
|
|
769
|
-
|
|
770
|
-
|
|
733
|
+
if (scrollToEnd && ((_document$getElementB = document.getElementById('sendbird-dropdown-portal')) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.childElementCount) === 0 && ((_document$getElementB2 = document.getElementById('sendbird-emoji-list-portal')) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.childElementCount) === 0) {
|
|
734
|
+
// and !openContextMenu
|
|
771
735
|
try {
|
|
772
|
-
setTimeout(
|
|
773
|
-
var _a;
|
|
774
|
-
|
|
775
|
-
if (!disableMarkAsRead) {
|
|
776
|
-
(_a = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.markAsRead) === null || _a === void 0 ? void 0 : _a.call(currentGroupChannel);
|
|
777
|
-
}
|
|
778
|
-
|
|
736
|
+
setTimeout(() => {
|
|
779
737
|
scrollIntoLast(0, scrollRef);
|
|
780
738
|
});
|
|
739
|
+
if (!disableMarkAsRead) {
|
|
740
|
+
markAsReadScheduler.push(currentGroupChannel);
|
|
741
|
+
}
|
|
742
|
+
if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
|
|
743
|
+
markAsDeliveredScheduler.push(currentGroupChannel);
|
|
744
|
+
}
|
|
781
745
|
} catch (error) {
|
|
782
746
|
logger.warning('Channel | onMessageReceived | scroll to end failed');
|
|
783
747
|
}
|
|
784
748
|
}
|
|
785
749
|
}
|
|
786
750
|
},
|
|
787
|
-
onUnreadMemberStatusUpdated:
|
|
751
|
+
onUnreadMemberStatusUpdated: channel => {
|
|
788
752
|
logger.info('Channel | useHandleChannelEvents: onUnreadMemberStatusUpdated', channel);
|
|
789
|
-
|
|
790
753
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
791
754
|
messagesDispatcher({
|
|
792
755
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -795,7 +758,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
795
758
|
}
|
|
796
759
|
},
|
|
797
760
|
// before(onDeliveryReceiptUpdated)
|
|
798
|
-
onUndeliveredMemberStatusUpdated:
|
|
761
|
+
onUndeliveredMemberStatusUpdated: channel => {
|
|
799
762
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
800
763
|
logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);
|
|
801
764
|
messagesDispatcher({
|
|
@@ -804,33 +767,33 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
804
767
|
});
|
|
805
768
|
}
|
|
806
769
|
},
|
|
807
|
-
onMessageUpdated:
|
|
770
|
+
onMessageUpdated: (channel, message) => {
|
|
808
771
|
logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);
|
|
809
772
|
messagesDispatcher({
|
|
810
773
|
type: ON_MESSAGE_UPDATED,
|
|
811
774
|
payload: {
|
|
812
|
-
channel
|
|
813
|
-
message
|
|
775
|
+
channel,
|
|
776
|
+
message
|
|
814
777
|
}
|
|
815
778
|
});
|
|
816
779
|
},
|
|
817
|
-
onThreadInfoUpdated:
|
|
780
|
+
onThreadInfoUpdated: (channel, threadInfoUpdateEvent) => {
|
|
818
781
|
logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', {
|
|
819
|
-
channel
|
|
820
|
-
threadInfoUpdateEvent
|
|
782
|
+
channel,
|
|
783
|
+
threadInfoUpdateEvent
|
|
821
784
|
});
|
|
822
785
|
messagesDispatcher({
|
|
823
786
|
type: ON_MESSAGE_THREAD_INFO_UPDATED,
|
|
824
787
|
payload: {
|
|
825
|
-
channel
|
|
788
|
+
channel,
|
|
826
789
|
event: threadInfoUpdateEvent
|
|
827
790
|
}
|
|
828
791
|
});
|
|
829
792
|
},
|
|
830
|
-
onMessageDeleted:
|
|
793
|
+
onMessageDeleted: (channel, messageId) => {
|
|
831
794
|
logger.info('Channel | useHandleChannelEvents: onMessageDeleted', {
|
|
832
|
-
channel
|
|
833
|
-
messageId
|
|
795
|
+
channel,
|
|
796
|
+
messageId
|
|
834
797
|
});
|
|
835
798
|
setQuoteMessage(null);
|
|
836
799
|
messagesDispatcher({
|
|
@@ -838,17 +801,17 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
838
801
|
payload: messageId
|
|
839
802
|
});
|
|
840
803
|
},
|
|
841
|
-
onReactionUpdated:
|
|
804
|
+
onReactionUpdated: (channel, reactionEvent) => {
|
|
842
805
|
logger.info('Channel | useHandleChannelEvents: onReactionUpdated', {
|
|
843
|
-
channel
|
|
844
|
-
reactionEvent
|
|
806
|
+
channel,
|
|
807
|
+
reactionEvent
|
|
845
808
|
});
|
|
846
809
|
messagesDispatcher({
|
|
847
810
|
type: ON_REACTION_UPDATED,
|
|
848
811
|
payload: reactionEvent
|
|
849
812
|
});
|
|
850
813
|
},
|
|
851
|
-
onChannelChanged:
|
|
814
|
+
onChannelChanged: channel => {
|
|
852
815
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
853
816
|
logger.info('Channel | useHandleChannelEvents: onChannelChanged', channel);
|
|
854
817
|
messagesDispatcher({
|
|
@@ -857,7 +820,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
857
820
|
});
|
|
858
821
|
}
|
|
859
822
|
},
|
|
860
|
-
onChannelFrozen:
|
|
823
|
+
onChannelFrozen: channel => {
|
|
861
824
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
862
825
|
logger.info('Channel | useHandleChannelEvents: onChannelFrozen', channel);
|
|
863
826
|
messagesDispatcher({
|
|
@@ -866,7 +829,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
866
829
|
});
|
|
867
830
|
}
|
|
868
831
|
},
|
|
869
|
-
onChannelUnfrozen:
|
|
832
|
+
onChannelUnfrozen: channel => {
|
|
870
833
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
871
834
|
logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', channel);
|
|
872
835
|
messagesDispatcher({
|
|
@@ -875,11 +838,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
875
838
|
});
|
|
876
839
|
}
|
|
877
840
|
},
|
|
878
|
-
onUserMuted:
|
|
841
|
+
onUserMuted: (channel, user) => {
|
|
879
842
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
880
843
|
logger.info('Channel | useHandleChannelEvents: onUserMuted', {
|
|
881
|
-
channel
|
|
882
|
-
user
|
|
844
|
+
channel,
|
|
845
|
+
user
|
|
883
846
|
});
|
|
884
847
|
messagesDispatcher({
|
|
885
848
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -887,11 +850,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
887
850
|
});
|
|
888
851
|
}
|
|
889
852
|
},
|
|
890
|
-
onUserUnmuted:
|
|
853
|
+
onUserUnmuted: (channel, user) => {
|
|
891
854
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
892
855
|
logger.info('Channel | useHandleChannelEvents: onUserUnmuted', {
|
|
893
|
-
channel
|
|
894
|
-
user
|
|
856
|
+
channel,
|
|
857
|
+
user
|
|
895
858
|
});
|
|
896
859
|
messagesDispatcher({
|
|
897
860
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -899,13 +862,12 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
899
862
|
});
|
|
900
863
|
}
|
|
901
864
|
},
|
|
902
|
-
onUserBanned:
|
|
903
|
-
var
|
|
904
|
-
|
|
905
|
-
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl) && (user === null || user === void 0 ? void 0 : user.userId) === ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId)) {
|
|
865
|
+
onUserBanned: (channel, user) => {
|
|
866
|
+
var _sdk$currentUser;
|
|
867
|
+
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl) && (user === null || user === void 0 ? void 0 : user.userId) === (sdk === null || sdk === void 0 ? void 0 : (_sdk$currentUser = sdk.currentUser) === null || _sdk$currentUser === void 0 ? void 0 : _sdk$currentUser.userId)) {
|
|
906
868
|
logger.info('Channel | useHandleChannelEvents: onUserBanned', {
|
|
907
|
-
channel
|
|
908
|
-
user
|
|
869
|
+
channel,
|
|
870
|
+
user
|
|
909
871
|
});
|
|
910
872
|
messagesDispatcher({
|
|
911
873
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -913,11 +875,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
913
875
|
});
|
|
914
876
|
}
|
|
915
877
|
},
|
|
916
|
-
onOperatorUpdated:
|
|
878
|
+
onOperatorUpdated: (channel, users) => {
|
|
917
879
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
918
880
|
logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', {
|
|
919
|
-
channel
|
|
920
|
-
users
|
|
881
|
+
channel,
|
|
882
|
+
users
|
|
921
883
|
});
|
|
922
884
|
messagesDispatcher({
|
|
923
885
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -925,13 +887,12 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
925
887
|
});
|
|
926
888
|
}
|
|
927
889
|
},
|
|
928
|
-
onUserLeft:
|
|
890
|
+
onUserLeft: (channel, user) => {
|
|
929
891
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
930
892
|
logger.info('Channel | useHandleChannelEvents: onUserLeft', {
|
|
931
|
-
channel
|
|
932
|
-
user
|
|
893
|
+
channel,
|
|
894
|
+
user
|
|
933
895
|
});
|
|
934
|
-
|
|
935
896
|
if ((user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
|
|
936
897
|
messagesDispatcher({
|
|
937
898
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -942,20 +903,18 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
942
903
|
}
|
|
943
904
|
};
|
|
944
905
|
logger.info('Channel | useHandleChannelEvents: Setup event handler', {
|
|
945
|
-
channelHandlerId
|
|
946
|
-
channelHandler
|
|
947
|
-
});
|
|
948
|
-
|
|
949
|
-
(
|
|
906
|
+
channelHandlerId,
|
|
907
|
+
channelHandler
|
|
908
|
+
});
|
|
909
|
+
// Add this group channel handler to the Sendbird chat instance
|
|
910
|
+
(_sdk$groupChannel = sdk.groupChannel) === null || _sdk$groupChannel === void 0 ? void 0 : _sdk$groupChannel.addGroupChannelHandler(channelHandlerId, new groupChannel.GroupChannelHandler(channelHandler));
|
|
950
911
|
}
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
|
|
912
|
+
return () => {
|
|
913
|
+
var _sdk$groupChannel2;
|
|
914
|
+
if (sdk !== null && sdk !== void 0 && (_sdk$groupChannel2 = sdk.groupChannel) !== null && _sdk$groupChannel2 !== void 0 && _sdk$groupChannel2.removeGroupChannelHandler) {
|
|
956
915
|
logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
|
|
957
916
|
sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
|
|
958
|
-
} else if (sdk
|
|
917
|
+
} else if (sdk !== null && sdk !== void 0 && sdk.groupChannel) {
|
|
959
918
|
logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
|
|
960
919
|
}
|
|
961
920
|
};
|
|
@@ -971,7 +930,8 @@ function useSetChannel(_ref, _ref2) {
|
|
|
971
930
|
let {
|
|
972
931
|
messagesDispatcher,
|
|
973
932
|
sdk,
|
|
974
|
-
logger
|
|
933
|
+
logger,
|
|
934
|
+
markAsReadScheduler
|
|
975
935
|
} = _ref2;
|
|
976
936
|
React.useEffect(() => {
|
|
977
937
|
if (channelUrl && sdkInit && sdk && sdk.groupChannel) {
|
|
@@ -983,13 +943,8 @@ function useSetChannel(_ref, _ref2) {
|
|
|
983
943
|
payload: groupChannel
|
|
984
944
|
});
|
|
985
945
|
logger.info('Channel: Mark as read', groupChannel);
|
|
986
|
-
|
|
987
946
|
if (!disableMarkAsRead) {
|
|
988
|
-
|
|
989
|
-
try {
|
|
990
|
-
groupChannel.markAsRead();
|
|
991
|
-
} catch (_unused) {//
|
|
992
|
-
}
|
|
947
|
+
markAsReadScheduler.push(groupChannel);
|
|
993
948
|
}
|
|
994
949
|
}).catch(e => {
|
|
995
950
|
logger.warning('Channel | useSetChannel fetch channel failed', {
|
|
@@ -1033,30 +988,25 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1033
988
|
type: RESET_MESSAGES,
|
|
1034
989
|
payload: null
|
|
1035
990
|
});
|
|
1036
|
-
|
|
1037
991
|
if (currentGroupChannel && currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.getMessagesByTimestamp) {
|
|
1038
992
|
const messageListParams = {};
|
|
1039
993
|
messageListParams.prevResultSize = _const.PREV_RESULT_SIZE;
|
|
1040
|
-
|
|
1041
994
|
if (initialTimeStamp) {
|
|
1042
995
|
messageListParams.nextResultSize = _const.NEXT_RESULT_SIZE;
|
|
1043
996
|
}
|
|
1044
|
-
|
|
1045
997
|
messageListParams.isInclusive = true;
|
|
1046
998
|
messageListParams.includeReactions = true;
|
|
1047
|
-
|
|
999
|
+
messageListParams.includeMetaArray = true;
|
|
1048
1000
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
|
|
1049
1001
|
messageListParams.includeThreadInfo = true;
|
|
1050
1002
|
messageListParams.includeParentMessageInfo = true;
|
|
1051
1003
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1052
1004
|
}
|
|
1053
|
-
|
|
1054
1005
|
if (userFilledMessageListQuery) {
|
|
1055
1006
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1056
1007
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1057
1008
|
});
|
|
1058
1009
|
}
|
|
1059
|
-
|
|
1060
1010
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') || userFilledMessageListQuery) {
|
|
1061
1011
|
logger.info('Channel useInitialMessagesFetch: Setup messageListParams', messageListParams);
|
|
1062
1012
|
messagesDispatcher({
|
|
@@ -1064,7 +1014,6 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1064
1014
|
payload: messageListParams
|
|
1065
1015
|
});
|
|
1066
1016
|
}
|
|
1067
|
-
|
|
1068
1017
|
logger.info('Channel: Fetching messages', {
|
|
1069
1018
|
currentGroupChannel,
|
|
1070
1019
|
userFilledMessageListQuery
|
|
@@ -1092,6 +1041,10 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1092
1041
|
}).finally(() => {
|
|
1093
1042
|
if (!initialTimeStamp) {
|
|
1094
1043
|
setTimeout(() => scrollIntoLast(0, scrollRef));
|
|
1044
|
+
} else {
|
|
1045
|
+
setTimeout(() => {
|
|
1046
|
+
scrollToRenderedMessage(scrollRef, initialTimeStamp);
|
|
1047
|
+
}, 500);
|
|
1095
1048
|
}
|
|
1096
1049
|
});
|
|
1097
1050
|
}
|
|
@@ -1106,82 +1059,75 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1106
1059
|
*/
|
|
1107
1060
|
}
|
|
1108
1061
|
|
|
1109
|
-
function useHandleReconnect(
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1062
|
+
function useHandleReconnect(_ref, _ref2) {
|
|
1063
|
+
let {
|
|
1064
|
+
isOnline,
|
|
1065
|
+
replyType,
|
|
1066
|
+
disableMarkAsRead
|
|
1067
|
+
} = _ref;
|
|
1068
|
+
let {
|
|
1069
|
+
logger,
|
|
1070
|
+
sdk,
|
|
1071
|
+
scrollRef,
|
|
1072
|
+
currentGroupChannel,
|
|
1073
|
+
messagesDispatcher,
|
|
1074
|
+
markAsReadScheduler,
|
|
1075
|
+
userFilledMessageListQuery
|
|
1076
|
+
} = _ref2;
|
|
1077
|
+
React.useEffect(() => {
|
|
1078
|
+
const wasOffline = !isOnline;
|
|
1079
|
+
return () => {
|
|
1080
|
+
// state changed from offline to online
|
|
1081
|
+
if (wasOffline && currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.url) {
|
|
1082
|
+
var _sdk$appInfo, _sdk$groupChannel;
|
|
1126
1083
|
logger.info('Refreshing conversation state');
|
|
1127
|
-
|
|
1128
|
-
|
|
1084
|
+
const isReactionEnabled = (sdk === null || sdk === void 0 ? void 0 : (_sdk$appInfo = sdk.appInfo) === null || _sdk$appInfo === void 0 ? void 0 : _sdk$appInfo.useReaction) || false;
|
|
1085
|
+
const messageListParams = {
|
|
1129
1086
|
prevResultSize: _const.PREV_RESULT_SIZE,
|
|
1130
1087
|
isInclusive: true,
|
|
1131
1088
|
includeReactions: isReactionEnabled,
|
|
1132
1089
|
nextResultSize: _const.NEXT_RESULT_SIZE
|
|
1133
1090
|
};
|
|
1134
|
-
|
|
1135
1091
|
if (replyType && replyType === 'QUOTE_REPLY') {
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1092
|
+
messageListParams.includeThreadInfo = true;
|
|
1093
|
+
messageListParams.includeParentMessageInfo = true;
|
|
1094
|
+
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1139
1095
|
}
|
|
1140
|
-
|
|
1141
1096
|
if (userFilledMessageListQuery) {
|
|
1142
|
-
Object.keys(userFilledMessageListQuery).forEach(
|
|
1143
|
-
|
|
1097
|
+
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1098
|
+
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1144
1099
|
});
|
|
1145
1100
|
}
|
|
1146
|
-
|
|
1147
1101
|
logger.info('Channel: Fetching messages', {
|
|
1148
|
-
currentGroupChannel
|
|
1149
|
-
userFilledMessageListQuery
|
|
1102
|
+
currentGroupChannel,
|
|
1103
|
+
userFilledMessageListQuery
|
|
1150
1104
|
});
|
|
1151
1105
|
messagesDispatcher({
|
|
1152
1106
|
type: FETCH_INITIAL_MESSAGES_START,
|
|
1153
1107
|
payload: null
|
|
1154
1108
|
});
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
var lastMessageTime = new Date().getTime();
|
|
1159
|
-
groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams_1).then(function (messages) {
|
|
1109
|
+
sdk === null || sdk === void 0 ? void 0 : (_sdk$groupChannel = sdk.groupChannel) === null || _sdk$groupChannel === void 0 ? void 0 : _sdk$groupChannel.getChannel(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url).then(groupChannel => {
|
|
1110
|
+
const lastMessageTime = new Date().getTime();
|
|
1111
|
+
groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams).then(messages => {
|
|
1160
1112
|
messagesDispatcher({
|
|
1161
1113
|
type: FETCH_INITIAL_MESSAGES_SUCCESS,
|
|
1162
1114
|
payload: {
|
|
1163
|
-
currentGroupChannel
|
|
1164
|
-
messages
|
|
1115
|
+
currentGroupChannel,
|
|
1116
|
+
messages
|
|
1165
1117
|
}
|
|
1166
1118
|
});
|
|
1167
|
-
setTimeout(
|
|
1168
|
-
|
|
1169
|
-
});
|
|
1170
|
-
}).catch(function (error) {
|
|
1119
|
+
setTimeout(() => scrollIntoLast(0, scrollRef));
|
|
1120
|
+
}).catch(error => {
|
|
1171
1121
|
logger.error('Channel: Fetching messages failed', error);
|
|
1172
1122
|
messagesDispatcher({
|
|
1173
1123
|
type: FETCH_INITIAL_MESSAGES_FAILURE,
|
|
1174
1124
|
payload: {
|
|
1175
|
-
currentGroupChannel
|
|
1125
|
+
currentGroupChannel
|
|
1176
1126
|
}
|
|
1177
1127
|
});
|
|
1178
1128
|
});
|
|
1179
|
-
|
|
1180
1129
|
if (!disableMarkAsRead) {
|
|
1181
|
-
|
|
1182
|
-
(_a = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.markAsRead) === null || _a === void 0 ? void 0 : _a.call(currentGroupChannel);
|
|
1183
|
-
} catch (_b) {//
|
|
1184
|
-
}
|
|
1130
|
+
markAsReadScheduler.push(currentGroupChannel);
|
|
1185
1131
|
}
|
|
1186
1132
|
});
|
|
1187
1133
|
}
|
|
@@ -1206,7 +1152,6 @@ function useScrollCallback(_ref, _ref2) {
|
|
|
1206
1152
|
if (!hasMorePrev) {
|
|
1207
1153
|
return;
|
|
1208
1154
|
}
|
|
1209
|
-
|
|
1210
1155
|
const {
|
|
1211
1156
|
appInfo = {}
|
|
1212
1157
|
} = sdk;
|
|
@@ -1216,19 +1161,17 @@ function useScrollCallback(_ref, _ref2) {
|
|
|
1216
1161
|
isInclusive: true,
|
|
1217
1162
|
includeReactions: isReactionEnabled
|
|
1218
1163
|
};
|
|
1219
|
-
|
|
1164
|
+
messageListParams.includeMetaArray = true;
|
|
1220
1165
|
if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {
|
|
1221
1166
|
messageListParams.includeThreadInfo = true;
|
|
1222
1167
|
messageListParams.includeParentMessageInfo = true;
|
|
1223
1168
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1224
1169
|
}
|
|
1225
|
-
|
|
1226
1170
|
if (userFilledMessageListQuery) {
|
|
1227
1171
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1228
1172
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1229
1173
|
});
|
|
1230
1174
|
}
|
|
1231
|
-
|
|
1232
1175
|
logger.info('Channel: Fetching messages', {
|
|
1233
1176
|
currentGroupChannel,
|
|
1234
1177
|
userFilledMessageListQuery
|
|
@@ -1272,7 +1215,6 @@ function useScrollDownCallback(_ref, _ref2) {
|
|
|
1272
1215
|
if (!hasMoreNext) {
|
|
1273
1216
|
return;
|
|
1274
1217
|
}
|
|
1275
|
-
|
|
1276
1218
|
const {
|
|
1277
1219
|
appInfo = {}
|
|
1278
1220
|
} = sdk;
|
|
@@ -1282,19 +1224,17 @@ function useScrollDownCallback(_ref, _ref2) {
|
|
|
1282
1224
|
isInclusive: true,
|
|
1283
1225
|
includeReactions: isReactionEnabled
|
|
1284
1226
|
};
|
|
1285
|
-
|
|
1227
|
+
messageListParams.includeMetaArray = true;
|
|
1286
1228
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
|
|
1287
1229
|
messageListParams.includeThreadInfo = true;
|
|
1288
1230
|
messageListParams.includeParentMessageInfo = true;
|
|
1289
1231
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1290
1232
|
}
|
|
1291
|
-
|
|
1292
1233
|
if (userFilledMessageListQuery) {
|
|
1293
1234
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1294
1235
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1295
1236
|
});
|
|
1296
1237
|
}
|
|
1297
|
-
|
|
1298
1238
|
logger.info('Channel: Fetching later messages', {
|
|
1299
1239
|
currentGroupChannel,
|
|
1300
1240
|
userFilledMessageListQuery
|
|
@@ -1335,8 +1275,8 @@ function useDeleteMessageCallback(_ref, _ref2) {
|
|
|
1335
1275
|
requestState
|
|
1336
1276
|
} = message;
|
|
1337
1277
|
return new Promise((resolve, reject) => {
|
|
1338
|
-
logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);
|
|
1339
|
-
|
|
1278
|
+
logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);
|
|
1279
|
+
// Message is only on local
|
|
1340
1280
|
if (requestState === 'failed' || requestState === 'pending') {
|
|
1341
1281
|
logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);
|
|
1342
1282
|
messagesDispatcher({
|
|
@@ -1345,7 +1285,6 @@ function useDeleteMessageCallback(_ref, _ref2) {
|
|
|
1345
1285
|
});
|
|
1346
1286
|
resolve(message);
|
|
1347
1287
|
}
|
|
1348
|
-
|
|
1349
1288
|
logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);
|
|
1350
1289
|
currentGroupChannel.deleteMessage(message).then(() => {
|
|
1351
1290
|
logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);
|
|
@@ -1380,37 +1319,29 @@ function useUpdateMessageCallback(_ref, _ref2) {
|
|
|
1380
1319
|
mentionedUsers,
|
|
1381
1320
|
mentionTemplate
|
|
1382
1321
|
} = props;
|
|
1383
|
-
|
|
1384
1322
|
const createParamsDefault = () => {
|
|
1385
1323
|
const params = {};
|
|
1386
1324
|
params.message = message;
|
|
1387
|
-
|
|
1388
1325
|
if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1389
1326
|
params.mentionedUsers = mentionedUsers;
|
|
1390
1327
|
}
|
|
1391
|
-
|
|
1392
1328
|
if (isMentionEnabled && mentionTemplate) {
|
|
1393
1329
|
params.mentionedMessageTemplate = mentionTemplate;
|
|
1394
1330
|
} else {
|
|
1395
1331
|
params.mentionedMessageTemplate = message;
|
|
1396
1332
|
}
|
|
1397
|
-
|
|
1398
1333
|
return params;
|
|
1399
1334
|
};
|
|
1400
|
-
|
|
1401
1335
|
const createCustomPrams = onBeforeUpdateUserMessage && typeof onBeforeUpdateUserMessage === 'function';
|
|
1402
|
-
|
|
1403
1336
|
if (createCustomPrams) {
|
|
1404
1337
|
logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
|
|
1405
1338
|
}
|
|
1406
|
-
|
|
1407
1339
|
const params = onBeforeUpdateUserMessage ? onBeforeUpdateUserMessage(message) : createParamsDefault();
|
|
1408
1340
|
logger.info('Channel: Updating message!', params);
|
|
1409
1341
|
currentGroupChannel.updateUserMessage(messageId, params).then((msg, err) => {
|
|
1410
1342
|
if (callback) {
|
|
1411
1343
|
callback(err, msg);
|
|
1412
1344
|
}
|
|
1413
|
-
|
|
1414
1345
|
logger.info('Channel: Updating message success!', msg);
|
|
1415
1346
|
messagesDispatcher({
|
|
1416
1347
|
type: ON_MESSAGE_UPDATED,
|
|
@@ -1419,7 +1350,7 @@ function useUpdateMessageCallback(_ref, _ref2) {
|
|
|
1419
1350
|
message: msg
|
|
1420
1351
|
}
|
|
1421
1352
|
});
|
|
1422
|
-
pubSub.publish(topics.UPDATE_USER_MESSAGE, {
|
|
1353
|
+
pubSub.publish(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, {
|
|
1423
1354
|
message: msg,
|
|
1424
1355
|
channel: currentGroupChannel
|
|
1425
1356
|
});
|
|
@@ -1441,18 +1372,18 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1441
1372
|
messageType,
|
|
1442
1373
|
file
|
|
1443
1374
|
} = failedMessage;
|
|
1444
|
-
|
|
1445
1375
|
if (failedMessage !== null && failedMessage !== void 0 && failedMessage.isResendable) {
|
|
1446
1376
|
// Move the logic setting sendingStatus to pending into the reducer
|
|
1447
1377
|
// eslint-disable-next-line no-param-reassign
|
|
1448
|
-
failedMessage.requestState = 'pending';
|
|
1449
|
-
|
|
1378
|
+
failedMessage.requestState = 'pending';
|
|
1379
|
+
// eslint-disable-next-line no-param-reassign
|
|
1450
1380
|
failedMessage.sendingStatus = 'pending';
|
|
1451
1381
|
messagesDispatcher({
|
|
1452
1382
|
type: RESEND_MESSAGEGE_START,
|
|
1453
1383
|
payload: failedMessage
|
|
1454
|
-
});
|
|
1384
|
+
});
|
|
1455
1385
|
|
|
1386
|
+
// userMessage
|
|
1456
1387
|
if (messageType === 'user') {
|
|
1457
1388
|
currentGroupChannel.resendUserMessage(failedMessage).then(message => {
|
|
1458
1389
|
logger.info('Channel: Resending message success!', message);
|
|
@@ -1461,19 +1392,20 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1461
1392
|
payload: message
|
|
1462
1393
|
});
|
|
1463
1394
|
}).catch(e => {
|
|
1464
|
-
logger.warning('Channel: Resending message failed!', e);
|
|
1465
|
-
|
|
1466
|
-
failedMessage.requestState = 'failed';
|
|
1467
|
-
|
|
1395
|
+
logger.warning('Channel: Resending message failed!', e);
|
|
1396
|
+
// eslint-disable-next-line no-param-reassign
|
|
1397
|
+
failedMessage.requestState = 'failed';
|
|
1398
|
+
// eslint-disable-next-line no-param-reassign
|
|
1468
1399
|
failedMessage.sendingStatus = 'failed';
|
|
1469
1400
|
messagesDispatcher({
|
|
1470
1401
|
type: SEND_MESSAGEGE_FAILURE,
|
|
1471
1402
|
payload: failedMessage
|
|
1472
1403
|
});
|
|
1473
|
-
});
|
|
1474
|
-
|
|
1475
|
-
failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
|
|
1404
|
+
});
|
|
1476
1405
|
|
|
1406
|
+
// eslint-disable-next-line no-param-reassign
|
|
1407
|
+
failedMessage.requestState = 'pending';
|
|
1408
|
+
// eslint-disable-next-line no-param-reassign
|
|
1477
1409
|
failedMessage.sendingStatus = 'pending';
|
|
1478
1410
|
messagesDispatcher({
|
|
1479
1411
|
type: RESEND_MESSAGEGE_START,
|
|
@@ -1481,7 +1413,6 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1481
1413
|
});
|
|
1482
1414
|
return;
|
|
1483
1415
|
}
|
|
1484
|
-
|
|
1485
1416
|
if (messageType === 'file') {
|
|
1486
1417
|
currentGroupChannel.resendFileMessage(failedMessage, file).then(message => {
|
|
1487
1418
|
logger.info('Channel: Resending file message success!', message);
|
|
@@ -1490,19 +1421,20 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1490
1421
|
payload: message
|
|
1491
1422
|
});
|
|
1492
1423
|
}).catch(e => {
|
|
1493
|
-
logger.warning('Channel: Resending file message failed!', e);
|
|
1494
|
-
|
|
1495
|
-
failedMessage.requestState = 'failed';
|
|
1496
|
-
|
|
1424
|
+
logger.warning('Channel: Resending file message failed!', e);
|
|
1425
|
+
// eslint-disable-next-line no-param-reassign
|
|
1426
|
+
failedMessage.requestState = 'failed';
|
|
1427
|
+
// eslint-disable-next-line no-param-reassign
|
|
1497
1428
|
failedMessage.sendingStatus = 'failed';
|
|
1498
1429
|
messagesDispatcher({
|
|
1499
1430
|
type: SEND_MESSAGEGE_FAILURE,
|
|
1500
1431
|
payload: failedMessage
|
|
1501
1432
|
});
|
|
1502
|
-
});
|
|
1503
|
-
|
|
1504
|
-
failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
|
|
1433
|
+
});
|
|
1505
1434
|
|
|
1435
|
+
// eslint-disable-next-line no-param-reassign
|
|
1436
|
+
failedMessage.requestState = 'pending';
|
|
1437
|
+
// eslint-disable-next-line no-param-reassign
|
|
1506
1438
|
failedMessage.sendingStatus = 'pending';
|
|
1507
1439
|
messagesDispatcher({
|
|
1508
1440
|
type: RESEND_MESSAGEGE_START,
|
|
@@ -1539,39 +1471,32 @@ function useSendMessageCallback(_ref, _ref2) {
|
|
|
1539
1471
|
// mentionedUserIds,
|
|
1540
1472
|
mentionedUsers
|
|
1541
1473
|
} = props;
|
|
1542
|
-
|
|
1543
1474
|
const createParamsDefault = () => {
|
|
1544
1475
|
const params = {};
|
|
1545
|
-
params.message =
|
|
1546
|
-
|
|
1476
|
+
params.message = message;
|
|
1477
|
+
// if (isMentionEnabled && mentionedUserIds?.length > 0) {
|
|
1547
1478
|
if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1548
1479
|
// params.mentionedUserIds = mentionedUserIds;
|
|
1549
1480
|
params.mentionedUsers = mentionedUsers;
|
|
1550
|
-
}
|
|
1551
|
-
|
|
1552
|
-
|
|
1481
|
+
}
|
|
1482
|
+
// if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {
|
|
1553
1483
|
if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1554
|
-
params.mentionedMessageTemplate =
|
|
1484
|
+
params.mentionedMessageTemplate = mentionTemplate;
|
|
1555
1485
|
}
|
|
1556
|
-
|
|
1557
1486
|
if (quoteMessage) {
|
|
1558
1487
|
params.isReplyToChannel = true;
|
|
1559
1488
|
params.parentMessageId = quoteMessage.messageId;
|
|
1560
1489
|
}
|
|
1561
|
-
|
|
1562
1490
|
return params;
|
|
1563
1491
|
};
|
|
1564
|
-
|
|
1565
1492
|
const createCustomPrams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
|
|
1566
|
-
|
|
1567
1493
|
if (createCustomPrams) {
|
|
1568
1494
|
logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
|
|
1569
1495
|
}
|
|
1570
|
-
|
|
1571
1496
|
const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(message, quoteMessage) : createParamsDefault();
|
|
1572
1497
|
logger.info('Channel: Sending message has started', params);
|
|
1573
1498
|
currentGroupChannel.sendUserMessage(params).onPending(pendingMsg => {
|
|
1574
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1499
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1575
1500
|
/* pubSub is used instead of messagesDispatcher
|
|
1576
1501
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1577
1502
|
message: pendingMsg,
|
|
@@ -1619,44 +1544,39 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1619
1544
|
} = imageCompression;
|
|
1620
1545
|
const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
|
|
1621
1546
|
const compressibleFileType = file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg';
|
|
1622
|
-
const compressibleRatio = compressionRate > 0 && compressionRate < 1;
|
|
1623
|
-
|
|
1547
|
+
const compressibleRatio = compressionRate > 0 && compressionRate < 1;
|
|
1548
|
+
// pxToNumber returns null if values are invalid
|
|
1624
1549
|
const compressibleDiamensions = pxToNumber(resizingWidth) || pxToNumber(resizingHeight);
|
|
1625
1550
|
const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);
|
|
1626
|
-
|
|
1627
1551
|
const createParamsDefault = file_ => {
|
|
1628
1552
|
const params = {};
|
|
1629
1553
|
params.file = file_;
|
|
1630
|
-
|
|
1631
1554
|
if (quoteMessage) {
|
|
1632
1555
|
params.isReplyToChannel = true;
|
|
1633
1556
|
params.parentMessageId = quoteMessage.messageId;
|
|
1634
1557
|
}
|
|
1635
|
-
|
|
1636
1558
|
return params;
|
|
1637
1559
|
};
|
|
1638
|
-
|
|
1639
1560
|
if (canCompressImage) {
|
|
1640
1561
|
// Using image compression
|
|
1641
1562
|
try {
|
|
1642
1563
|
const image = document.createElement('img');
|
|
1643
1564
|
image.src = URL.createObjectURL(file);
|
|
1644
|
-
|
|
1645
1565
|
image.onload = () => {
|
|
1646
1566
|
URL.revokeObjectURL(image.src);
|
|
1647
1567
|
const canvas = document.createElement('canvas');
|
|
1648
1568
|
const imageWdith = image.naturalWidth || image.width;
|
|
1649
1569
|
const imageHeight = image.naturalHeight || image.height;
|
|
1650
1570
|
let targetWidth = pxToNumber(resizingWidth) || imageWdith;
|
|
1651
|
-
let targetHeight = pxToNumber(resizingHeight) || imageHeight;
|
|
1571
|
+
let targetHeight = pxToNumber(resizingHeight) || imageHeight;
|
|
1572
|
+
|
|
1573
|
+
// In canvas.toBlob(callback, mimeType, qualityArgument)
|
|
1652
1574
|
// qualityArgument doesnt work
|
|
1653
1575
|
// so in case compressibleDiamensions are not present, we use ratio
|
|
1654
|
-
|
|
1655
1576
|
if (file.type === 'image/png' && !compressibleDiamensions) {
|
|
1656
1577
|
targetWidth *= compressionRate;
|
|
1657
1578
|
targetHeight *= compressionRate;
|
|
1658
1579
|
}
|
|
1659
|
-
|
|
1660
1580
|
canvas.width = targetWidth;
|
|
1661
1581
|
canvas.height = targetHeight;
|
|
1662
1582
|
const context = canvas.getContext('2d');
|
|
@@ -1665,15 +1585,13 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1665
1585
|
const compressedFile = new File([newImageBlob], file.name, {
|
|
1666
1586
|
type: file.type
|
|
1667
1587
|
});
|
|
1668
|
-
|
|
1669
1588
|
if (createCustomParams) {
|
|
1670
1589
|
logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
|
|
1671
1590
|
}
|
|
1672
|
-
|
|
1673
1591
|
const params = createCustomParams ? onBeforeSendFileMessage(compressedFile, quoteMessage) : createParamsDefault(compressedFile);
|
|
1674
1592
|
logger.info('Channel: Uploading file message start!', params);
|
|
1675
1593
|
currentGroupChannel.sendFileMessage(params).onPending(pendingMessage => {
|
|
1676
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1594
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1677
1595
|
/* pubSub is used instead of messagesDispatcher
|
|
1678
1596
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1679
1597
|
message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMessage), {}, {
|
|
@@ -1688,10 +1606,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1688
1606
|
logger.error('Channel: Sending file message failed!', {
|
|
1689
1607
|
failedMessage,
|
|
1690
1608
|
err
|
|
1691
|
-
});
|
|
1692
|
-
|
|
1693
|
-
failedMessage.localUrl = URL.createObjectURL(compressedFile);
|
|
1694
|
-
|
|
1609
|
+
});
|
|
1610
|
+
// eslint-disable-next-line no-param-reassign
|
|
1611
|
+
failedMessage.localUrl = URL.createObjectURL(compressedFile);
|
|
1612
|
+
// eslint-disable-next-line no-param-reassign
|
|
1695
1613
|
failedMessage.file = compressedFile;
|
|
1696
1614
|
messagesDispatcher({
|
|
1697
1615
|
type: SEND_MESSAGEGE_FAILURE,
|
|
@@ -1714,11 +1632,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1714
1632
|
if (createCustomParams) {
|
|
1715
1633
|
logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
|
|
1716
1634
|
}
|
|
1717
|
-
|
|
1718
1635
|
const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file, quoteMessage) : createParamsDefault(file);
|
|
1719
1636
|
logger.info('Channel: Uploading file message start!', params);
|
|
1720
1637
|
currentGroupChannel.sendFileMessage(params).onPending(pendingMsg => {
|
|
1721
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1638
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1722
1639
|
/* pubSub is used instead of messagesDispatcher
|
|
1723
1640
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1724
1641
|
message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMsg), {}, {
|
|
@@ -1733,10 +1650,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1733
1650
|
logger.error('Channel: Sending file message failed!', {
|
|
1734
1651
|
message,
|
|
1735
1652
|
error
|
|
1736
|
-
});
|
|
1737
|
-
|
|
1738
|
-
message.localUrl = URL.createObjectURL(file);
|
|
1739
|
-
|
|
1653
|
+
});
|
|
1654
|
+
// eslint-disable-next-line no-param-reassign
|
|
1655
|
+
message.localUrl = URL.createObjectURL(file);
|
|
1656
|
+
// eslint-disable-next-line no-param-reassign
|
|
1740
1657
|
message.file = file;
|
|
1741
1658
|
messagesDispatcher({
|
|
1742
1659
|
type: SEND_MESSAGEGE_FAILURE,
|
|
@@ -1754,64 +1671,6 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1754
1671
|
return [sendMessage];
|
|
1755
1672
|
}
|
|
1756
1673
|
|
|
1757
|
-
function useMemoizedEmojiListItems(_ref, _ref2) {
|
|
1758
|
-
let {
|
|
1759
|
-
emojiContainer,
|
|
1760
|
-
toggleReaction
|
|
1761
|
-
} = _ref;
|
|
1762
|
-
let {
|
|
1763
|
-
isReactionEnabled,
|
|
1764
|
-
logger,
|
|
1765
|
-
userId,
|
|
1766
|
-
emojiAllList
|
|
1767
|
-
} = _ref2;
|
|
1768
|
-
|
|
1769
|
-
/* eslint-disable react/prop-types */
|
|
1770
|
-
return React.useMemo(() => _ref3 => {
|
|
1771
|
-
let {
|
|
1772
|
-
parentRef,
|
|
1773
|
-
parentContainRef,
|
|
1774
|
-
message,
|
|
1775
|
-
closeDropdown,
|
|
1776
|
-
spaceFromTrigger = {}
|
|
1777
|
-
} = _ref3;
|
|
1778
|
-
|
|
1779
|
-
if (!isReactionEnabled || !(parentRef || parentContainRef || message || closeDropdown)) {
|
|
1780
|
-
logger.warning('Channel: Invalid Params in memoizedEmojiListItems');
|
|
1781
|
-
return null;
|
|
1782
|
-
}
|
|
1783
|
-
|
|
1784
|
-
return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.EmojiListItems, {
|
|
1785
|
-
parentRef: parentRef,
|
|
1786
|
-
parentContainRef: parentContainRef,
|
|
1787
|
-
closeDropdown: closeDropdown,
|
|
1788
|
-
spaceFromTrigger: spaceFromTrigger
|
|
1789
|
-
}, emojiAllList.map(emoji => {
|
|
1790
|
-
const reactedReaction = message.reactions.filter(reaction => reaction.key === emoji.key)[0];
|
|
1791
|
-
const isReacted = reactedReaction ? !(reactedReaction.userIds.indexOf(userId) < 0) : false;
|
|
1792
|
-
return /*#__PURE__*/React__default["default"].createElement(ui_ReactionButton, {
|
|
1793
|
-
key: emoji.key,
|
|
1794
|
-
width: "36px",
|
|
1795
|
-
height: "36px",
|
|
1796
|
-
selected: isReacted,
|
|
1797
|
-
onClick: () => {
|
|
1798
|
-
closeDropdown();
|
|
1799
|
-
toggleReaction(message, emoji.key, isReacted);
|
|
1800
|
-
}
|
|
1801
|
-
}, /*#__PURE__*/React__default["default"].createElement(ui_ImageRenderer, {
|
|
1802
|
-
url: emoji.url,
|
|
1803
|
-
width: "28px",
|
|
1804
|
-
height: "28px",
|
|
1805
|
-
defaultComponent: /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
1806
|
-
width: "28px",
|
|
1807
|
-
height: "28px",
|
|
1808
|
-
type: ui_Icon.IconTypes.QUESTION
|
|
1809
|
-
})
|
|
1810
|
-
}));
|
|
1811
|
-
}));
|
|
1812
|
-
}, [emojiContainer, toggleReaction]);
|
|
1813
|
-
}
|
|
1814
|
-
|
|
1815
1674
|
function useToggleReactionCallback(_ref, _ref2) {
|
|
1816
1675
|
let {
|
|
1817
1676
|
currentGroupChannel
|
|
@@ -1828,7 +1687,6 @@ function useToggleReactionCallback(_ref, _ref2) {
|
|
|
1828
1687
|
});
|
|
1829
1688
|
return;
|
|
1830
1689
|
}
|
|
1831
|
-
|
|
1832
1690
|
currentGroupChannel.addReaction(message, key).then(res => {
|
|
1833
1691
|
logger.info('Add reaction success', res);
|
|
1834
1692
|
}).catch(err => {
|
|
@@ -1837,363 +1695,441 @@ function useToggleReactionCallback(_ref, _ref2) {
|
|
|
1837
1695
|
}, [currentGroupChannel]);
|
|
1838
1696
|
}
|
|
1839
1697
|
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1698
|
+
// To prevent multiple clicks on the message in the channel while scrolling
|
|
1699
|
+
function deactivateClick(scrollRef) {
|
|
1700
|
+
const element = scrollRef.current;
|
|
1701
|
+
const parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
|
|
1702
|
+
if (element && parentNode) {
|
|
1703
|
+
element.style.pointerEvents = 'none';
|
|
1704
|
+
parentNode.style.cursor = 'wait';
|
|
1705
|
+
}
|
|
1706
|
+
}
|
|
1707
|
+
function activateClick(scrollRef) {
|
|
1708
|
+
const element = scrollRef.current;
|
|
1709
|
+
const parentNode = element === null || element === void 0 ? void 0 : element.parentNode;
|
|
1710
|
+
if (element && parentNode) {
|
|
1711
|
+
element.style.pointerEvents = 'auto';
|
|
1712
|
+
parentNode.style.cursor = 'auto';
|
|
1713
|
+
}
|
|
1714
|
+
}
|
|
1715
|
+
function useScrollToMessage(_ref, _ref2) {
|
|
1716
|
+
let {
|
|
1717
|
+
setInitialTimeStamp,
|
|
1718
|
+
setAnimatedMessageId,
|
|
1719
|
+
allMessages,
|
|
1720
|
+
scrollRef
|
|
1721
|
+
} = _ref;
|
|
1722
|
+
let {
|
|
1723
|
+
logger
|
|
1724
|
+
} = _ref2;
|
|
1725
|
+
return React.useCallback((createdAt, messageId) => {
|
|
1726
|
+
const isPresent = allMessages.find(m => m.messageId === messageId);
|
|
1849
1727
|
setAnimatedMessageId(null);
|
|
1850
|
-
setTimeout(
|
|
1851
|
-
|
|
1852
|
-
logger.info('Channel: scroll to message -
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1728
|
+
setTimeout(() => {
|
|
1729
|
+
try {
|
|
1730
|
+
logger.info('Channel: scroll to message - disabling mouse events');
|
|
1731
|
+
deactivateClick(scrollRef);
|
|
1732
|
+
if (isPresent) {
|
|
1733
|
+
logger.info('Channel: scroll to message - message is present');
|
|
1734
|
+
setAnimatedMessageId(messageId);
|
|
1735
|
+
scrollToRenderedMessage(scrollRef, createdAt);
|
|
1736
|
+
} else {
|
|
1737
|
+
logger.info('Channel: scroll to message - fetching older messages');
|
|
1738
|
+
setInitialTimeStamp(null);
|
|
1739
|
+
setInitialTimeStamp(createdAt);
|
|
1740
|
+
setAnimatedMessageId(messageId);
|
|
1741
|
+
}
|
|
1742
|
+
} finally {
|
|
1743
|
+
logger.info('Channel: scroll to message - enabled mouse events');
|
|
1744
|
+
activateClick(scrollRef);
|
|
1859
1745
|
}
|
|
1860
1746
|
});
|
|
1861
1747
|
}, [setInitialTimeStamp, setAnimatedMessageId, allMessages]);
|
|
1862
1748
|
}
|
|
1863
1749
|
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1750
|
+
const useSendVoiceMessageCallback = (_ref, _ref2) => {
|
|
1751
|
+
let {
|
|
1752
|
+
currentGroupChannel,
|
|
1753
|
+
onBeforeSendVoiceMessage
|
|
1754
|
+
} = _ref;
|
|
1755
|
+
let {
|
|
1756
|
+
logger,
|
|
1757
|
+
pubSub,
|
|
1758
|
+
scrollRef,
|
|
1759
|
+
messagesDispatcher
|
|
1760
|
+
} = _ref2;
|
|
1761
|
+
const sendMessage = React.useCallback((file, duration, quoteMessage) => {
|
|
1762
|
+
const messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
|
|
1763
|
+
file,
|
|
1764
|
+
fileName: consts.VOICE_MESSAGE_FILE_NAME,
|
|
1765
|
+
mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
|
|
1766
|
+
metaArrays: [new message.MessageMetaArray({
|
|
1767
|
+
key: consts.META_ARRAY_VOICE_DURATION_KEY,
|
|
1768
|
+
value: [`${duration}`]
|
|
1769
|
+
}), new message.MessageMetaArray({
|
|
1770
|
+
key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
|
|
1771
|
+
value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE]
|
|
1772
|
+
})]
|
|
1773
|
+
};
|
|
1774
|
+
if (quoteMessage) {
|
|
1775
|
+
messageParams.isReplyToChannel = true;
|
|
1776
|
+
messageParams.parentMessageId = quoteMessage.messageId;
|
|
1777
|
+
}
|
|
1778
|
+
logger.info('Channel: Start sending voice message', messageParams);
|
|
1779
|
+
currentGroupChannel.sendFileMessage(messageParams).onPending(pendingMessage => {
|
|
1780
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1781
|
+
/* pubSub is used instead of messagesDispatcher
|
|
1782
|
+
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1783
|
+
message: pendingMessage,
|
|
1784
|
+
channel: currentGroupChannel
|
|
1785
|
+
});
|
|
1786
|
+
setTimeout(() => scrollIntoLast(0, scrollRef), 1000);
|
|
1787
|
+
}).onFailed((err, failedMessage) => {
|
|
1788
|
+
logger.error('Channel: Sending voice message failed!', {
|
|
1789
|
+
failedMessage,
|
|
1790
|
+
err
|
|
1791
|
+
});
|
|
1792
|
+
messagesDispatcher({
|
|
1793
|
+
type: SEND_MESSAGEGE_FAILURE,
|
|
1794
|
+
payload: failedMessage
|
|
1795
|
+
});
|
|
1796
|
+
}).onSucceeded(succeededMessage => {
|
|
1797
|
+
logger.info('Channel: Sending voice message success!', succeededMessage);
|
|
1798
|
+
messagesDispatcher({
|
|
1799
|
+
type: SEND_MESSAGEGE_SUCESS,
|
|
1800
|
+
payload: succeededMessage
|
|
1801
|
+
});
|
|
1802
|
+
});
|
|
1803
|
+
}, [currentGroupChannel, onBeforeSendVoiceMessage]);
|
|
1804
|
+
return [sendMessage];
|
|
1805
|
+
};
|
|
1916
1806
|
|
|
1917
|
-
|
|
1807
|
+
const ChannelContext = /*#__PURE__*/React__default["default"].createContext(undefined);
|
|
1808
|
+
const ChannelProvider = props => {
|
|
1809
|
+
var _globalStore$stores, _globalStore$stores$s, _globalStore$stores2, _globalStore$stores2$, _ref;
|
|
1810
|
+
const {
|
|
1811
|
+
channelUrl,
|
|
1812
|
+
children,
|
|
1813
|
+
isReactionEnabled,
|
|
1814
|
+
isMessageGroupingEnabled = true,
|
|
1815
|
+
showSearchIcon,
|
|
1816
|
+
animatedMessage,
|
|
1817
|
+
highlightedMessage,
|
|
1818
|
+
startingPoint,
|
|
1819
|
+
onBeforeSendUserMessage,
|
|
1820
|
+
onBeforeSendFileMessage,
|
|
1821
|
+
onBeforeUpdateUserMessage,
|
|
1822
|
+
onBeforeSendVoiceMessage,
|
|
1823
|
+
onChatHeaderActionClick,
|
|
1824
|
+
onSearchClick,
|
|
1825
|
+
onBackClick,
|
|
1826
|
+
replyType,
|
|
1827
|
+
threadReplySelectType,
|
|
1828
|
+
queries,
|
|
1829
|
+
filterMessageList,
|
|
1830
|
+
disableMarkAsRead = false,
|
|
1831
|
+
onReplyInThread,
|
|
1832
|
+
onQuoteMessageClick,
|
|
1833
|
+
onMessageAnimated,
|
|
1834
|
+
onMessageHighlighted
|
|
1835
|
+
} = props;
|
|
1836
|
+
const globalStore = useSendbirdStateContext();
|
|
1837
|
+
const {
|
|
1838
|
+
config
|
|
1839
|
+
} = globalStore;
|
|
1840
|
+
const {
|
|
1841
|
+
pubSub,
|
|
1842
|
+
logger,
|
|
1843
|
+
userId,
|
|
1844
|
+
isOnline,
|
|
1845
|
+
imageCompression,
|
|
1846
|
+
isMentionEnabled,
|
|
1847
|
+
isVoiceMessageEnabled,
|
|
1848
|
+
onUserProfileMessage,
|
|
1849
|
+
markAsReadScheduler,
|
|
1850
|
+
groupChannel
|
|
1851
|
+
} = config;
|
|
1852
|
+
const sdk = globalStore === null || globalStore === void 0 ? void 0 : (_globalStore$stores = globalStore.stores) === null || _globalStore$stores === void 0 ? void 0 : (_globalStore$stores$s = _globalStore$stores.sdkStore) === null || _globalStore$stores$s === void 0 ? void 0 : _globalStore$stores$s.sdk;
|
|
1853
|
+
const sdkInit = globalStore === null || globalStore === void 0 ? void 0 : (_globalStore$stores2 = globalStore.stores) === null || _globalStore$stores2 === void 0 ? void 0 : (_globalStore$stores2$ = _globalStore$stores2.sdkStore) === null || _globalStore$stores2$ === void 0 ? void 0 : _globalStore$stores2$.initialized;
|
|
1854
|
+
const globalConfigs = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config;
|
|
1855
|
+
const [initialTimeStamp, setInitialTimeStamp] = React.useState(startingPoint);
|
|
1856
|
+
React.useEffect(() => {
|
|
1918
1857
|
setInitialTimeStamp(startingPoint);
|
|
1919
1858
|
}, [startingPoint, channelUrl]);
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
setAnimatedMessageId = _j[1];
|
|
1924
|
-
|
|
1925
|
-
var _k = React.useState(highlightedMessage),
|
|
1926
|
-
highLightedMessageId = _k[0],
|
|
1927
|
-
setHighLightedMessageId = _k[1];
|
|
1928
|
-
|
|
1929
|
-
React.useEffect(function () {
|
|
1859
|
+
const [animatedMessageId, setAnimatedMessageId] = React.useState(0);
|
|
1860
|
+
const [highLightedMessageId, setHighLightedMessageId] = React.useState(highlightedMessage);
|
|
1861
|
+
React.useEffect(() => {
|
|
1930
1862
|
setHighLightedMessageId(highlightedMessage);
|
|
1931
1863
|
}, [highlightedMessage]);
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
return usingReaction ? getAllEmojisMapFromEmojiContainer(emojiContainer) : new Map();
|
|
1961
|
-
}, [emojiContainer]);
|
|
1962
|
-
var emojiAllList = React.useMemo(function () {
|
|
1963
|
-
return usingReaction ? getAllEmojisFromEmojiContainer(emojiContainer) : [];
|
|
1964
|
-
}, [emojiContainer]);
|
|
1965
|
-
var nicknamesMap = React.useMemo(function () {
|
|
1966
|
-
return usingReaction && currentGroupChannel ? getNicknamesMapFromMembers(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members) : new Map();
|
|
1967
|
-
}, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members]); // Animate message
|
|
1864
|
+
const userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
|
|
1865
|
+
const [quoteMessage, setQuoteMessage] = React.useState(null);
|
|
1866
|
+
const [messagesStore, messagesDispatcher] = React.useReducer(reducer, messagesInitialState);
|
|
1867
|
+
const scrollRef = React.useRef(null);
|
|
1868
|
+
const {
|
|
1869
|
+
allMessages,
|
|
1870
|
+
loading,
|
|
1871
|
+
initialized,
|
|
1872
|
+
unreadSince,
|
|
1873
|
+
isInvalid,
|
|
1874
|
+
currentGroupChannel,
|
|
1875
|
+
hasMorePrev,
|
|
1876
|
+
oldestMessageTimeStamp,
|
|
1877
|
+
hasMoreNext,
|
|
1878
|
+
latestMessageTimeStamp,
|
|
1879
|
+
emojiContainer,
|
|
1880
|
+
readStatus
|
|
1881
|
+
} = messagesStore;
|
|
1882
|
+
const isSuper = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isSuper) || false;
|
|
1883
|
+
const isBroadcast = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isBroadcast) || false;
|
|
1884
|
+
const usingReaction = getIsReactionEnabled({
|
|
1885
|
+
isBroadcast,
|
|
1886
|
+
isSuper,
|
|
1887
|
+
globalLevel: config === null || config === void 0 ? void 0 : config.isReactionEnabled,
|
|
1888
|
+
moduleLevel: isReactionEnabled
|
|
1889
|
+
});
|
|
1890
|
+
const emojiAllMap = React.useMemo(() => usingReaction ? getAllEmojisMapFromEmojiContainer(emojiContainer) : new Map(), [emojiContainer]);
|
|
1891
|
+
const nicknamesMap = React.useMemo(() => usingReaction && currentGroupChannel ? getNicknamesMapFromMembers(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members) : new Map(), [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members]);
|
|
1968
1892
|
|
|
1969
|
-
|
|
1893
|
+
// Animate message
|
|
1894
|
+
React.useEffect(() => {
|
|
1970
1895
|
if (animatedMessage) {
|
|
1971
1896
|
setAnimatedMessageId(animatedMessage);
|
|
1972
1897
|
}
|
|
1973
|
-
}, [animatedMessage]);
|
|
1898
|
+
}, [animatedMessage]);
|
|
1974
1899
|
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1900
|
+
// Scrollup is default scroll for channel
|
|
1901
|
+
const onScrollCallback = useScrollCallback({
|
|
1902
|
+
currentGroupChannel,
|
|
1903
|
+
oldestMessageTimeStamp,
|
|
1904
|
+
userFilledMessageListQuery,
|
|
1905
|
+
replyType,
|
|
1906
|
+
isVoiceMessageEnabled
|
|
1980
1907
|
}, {
|
|
1981
|
-
hasMorePrev
|
|
1982
|
-
logger
|
|
1983
|
-
messagesDispatcher
|
|
1984
|
-
sdk
|
|
1908
|
+
hasMorePrev,
|
|
1909
|
+
logger,
|
|
1910
|
+
messagesDispatcher,
|
|
1911
|
+
sdk
|
|
1985
1912
|
});
|
|
1986
|
-
|
|
1987
|
-
setInitialTimeStamp
|
|
1988
|
-
setAnimatedMessageId
|
|
1989
|
-
allMessages
|
|
1913
|
+
const scrollToMessage = useScrollToMessage({
|
|
1914
|
+
setInitialTimeStamp,
|
|
1915
|
+
setAnimatedMessageId,
|
|
1916
|
+
allMessages,
|
|
1917
|
+
scrollRef
|
|
1990
1918
|
}, {
|
|
1991
|
-
logger
|
|
1992
|
-
});
|
|
1919
|
+
logger
|
|
1920
|
+
});
|
|
1921
|
+
|
|
1922
|
+
// onScrollDownCallback is added for navigation to different timestamps on messageSearch
|
|
1993
1923
|
// hasMorePrev, onScrollCallback -> scroll up(default behavior)
|
|
1994
1924
|
// hasMoreNext, onScrollDownCallback -> scroll down
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
1925
|
+
const onScrollDownCallback = useScrollDownCallback({
|
|
1926
|
+
currentGroupChannel,
|
|
1927
|
+
latestMessageTimeStamp,
|
|
1928
|
+
userFilledMessageListQuery,
|
|
1929
|
+
hasMoreNext,
|
|
1930
|
+
replyType,
|
|
1931
|
+
isVoiceMessageEnabled
|
|
2002
1932
|
}, {
|
|
2003
|
-
logger
|
|
2004
|
-
messagesDispatcher
|
|
2005
|
-
sdk
|
|
1933
|
+
logger,
|
|
1934
|
+
messagesDispatcher,
|
|
1935
|
+
sdk
|
|
2006
1936
|
});
|
|
2007
|
-
|
|
2008
|
-
currentGroupChannel
|
|
1937
|
+
const toggleReaction = useToggleReactionCallback({
|
|
1938
|
+
currentGroupChannel
|
|
2009
1939
|
}, {
|
|
2010
|
-
logger
|
|
1940
|
+
logger
|
|
2011
1941
|
});
|
|
2012
|
-
var memoizedEmojiListItems = useMemoizedEmojiListItems({
|
|
2013
|
-
emojiContainer: emojiContainer,
|
|
2014
|
-
toggleReaction: toggleReaction
|
|
2015
|
-
}, {
|
|
2016
|
-
isReactionEnabled: usingReaction,
|
|
2017
|
-
logger: logger,
|
|
2018
|
-
userId: userId,
|
|
2019
|
-
emojiAllList: emojiAllList
|
|
2020
|
-
}); // to create message-datasource
|
|
2021
|
-
// this hook sets currentGroupChannel asynchronously
|
|
2022
1942
|
|
|
1943
|
+
// to create message-datasource
|
|
1944
|
+
// this hook sets currentGroupChannel asynchronously
|
|
2023
1945
|
useSetChannel({
|
|
2024
|
-
channelUrl
|
|
2025
|
-
sdkInit
|
|
2026
|
-
disableMarkAsRead
|
|
1946
|
+
channelUrl,
|
|
1947
|
+
sdkInit,
|
|
1948
|
+
disableMarkAsRead
|
|
2027
1949
|
}, {
|
|
2028
|
-
messagesDispatcher
|
|
2029
|
-
sdk
|
|
2030
|
-
logger
|
|
2031
|
-
|
|
1950
|
+
messagesDispatcher,
|
|
1951
|
+
sdk,
|
|
1952
|
+
logger,
|
|
1953
|
+
markAsReadScheduler
|
|
1954
|
+
});
|
|
2032
1955
|
|
|
2033
|
-
|
|
1956
|
+
// to set quote message as null
|
|
1957
|
+
React.useEffect(() => {
|
|
2034
1958
|
setQuoteMessage(null);
|
|
2035
|
-
}, [channelUrl]);
|
|
1959
|
+
}, [channelUrl]);
|
|
2036
1960
|
|
|
1961
|
+
// Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher
|
|
2037
1962
|
useHandleChannelEvents({
|
|
2038
|
-
currentGroupChannel
|
|
2039
|
-
sdkInit
|
|
1963
|
+
currentGroupChannel,
|
|
1964
|
+
sdkInit,
|
|
2040
1965
|
currentUserId: userId,
|
|
2041
|
-
|
|
2042
|
-
disableMarkAsRead: disableMarkAsRead
|
|
1966
|
+
disableMarkAsRead
|
|
2043
1967
|
}, {
|
|
2044
|
-
messagesDispatcher
|
|
2045
|
-
sdk
|
|
2046
|
-
logger
|
|
2047
|
-
scrollRef
|
|
2048
|
-
setQuoteMessage
|
|
2049
|
-
});
|
|
1968
|
+
messagesDispatcher,
|
|
1969
|
+
sdk,
|
|
1970
|
+
logger,
|
|
1971
|
+
scrollRef,
|
|
1972
|
+
setQuoteMessage
|
|
1973
|
+
});
|
|
1974
|
+
|
|
1975
|
+
// hook that fetches messages when channel changes
|
|
2050
1976
|
// to be clear here useGetChannel sets currentGroupChannel
|
|
2051
1977
|
// and useInitialMessagesFetch executes when currentGroupChannel changes
|
|
2052
1978
|
// p.s This one executes on initialTimeStamp change too
|
|
2053
|
-
|
|
2054
1979
|
useInitialMessagesFetch({
|
|
2055
|
-
currentGroupChannel
|
|
2056
|
-
userFilledMessageListQuery
|
|
2057
|
-
initialTimeStamp
|
|
2058
|
-
latestMessageTimeStamp
|
|
2059
|
-
replyType
|
|
1980
|
+
currentGroupChannel,
|
|
1981
|
+
userFilledMessageListQuery,
|
|
1982
|
+
initialTimeStamp,
|
|
1983
|
+
latestMessageTimeStamp,
|
|
1984
|
+
replyType,
|
|
1985
|
+
isVoiceMessageEnabled
|
|
2060
1986
|
}, {
|
|
2061
|
-
logger
|
|
2062
|
-
scrollRef
|
|
2063
|
-
messagesDispatcher
|
|
2064
|
-
});
|
|
1987
|
+
logger,
|
|
1988
|
+
scrollRef,
|
|
1989
|
+
messagesDispatcher
|
|
1990
|
+
});
|
|
2065
1991
|
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
1992
|
+
// handles API calls from withSendbird
|
|
1993
|
+
React.useEffect(() => {
|
|
1994
|
+
const subscriber = pubSubHandler({
|
|
1995
|
+
channelUrl,
|
|
1996
|
+
pubSub,
|
|
2070
1997
|
dispatcher: messagesDispatcher,
|
|
2071
|
-
scrollRef
|
|
1998
|
+
scrollRef
|
|
2072
1999
|
});
|
|
2073
|
-
return
|
|
2000
|
+
return () => {
|
|
2074
2001
|
pubSubHandleRemover(subscriber);
|
|
2075
2002
|
};
|
|
2076
|
-
}, [channelUrl, sdkInit]);
|
|
2003
|
+
}, [channelUrl, sdkInit]);
|
|
2077
2004
|
|
|
2005
|
+
// handling connection breaks
|
|
2078
2006
|
useHandleReconnect({
|
|
2079
|
-
isOnline
|
|
2080
|
-
replyType
|
|
2081
|
-
disableMarkAsRead
|
|
2007
|
+
isOnline,
|
|
2008
|
+
replyType,
|
|
2009
|
+
disableMarkAsRead
|
|
2082
2010
|
}, {
|
|
2083
|
-
logger
|
|
2084
|
-
sdk
|
|
2085
|
-
scrollRef
|
|
2086
|
-
currentGroupChannel
|
|
2087
|
-
messagesDispatcher
|
|
2088
|
-
userFilledMessageListQuery
|
|
2089
|
-
|
|
2011
|
+
logger,
|
|
2012
|
+
sdk,
|
|
2013
|
+
scrollRef,
|
|
2014
|
+
currentGroupChannel,
|
|
2015
|
+
messagesDispatcher,
|
|
2016
|
+
userFilledMessageListQuery,
|
|
2017
|
+
markAsReadScheduler
|
|
2018
|
+
});
|
|
2090
2019
|
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2020
|
+
// callbacks for Message CURD actions
|
|
2021
|
+
const deleteMessage = useDeleteMessageCallback({
|
|
2022
|
+
currentGroupChannel,
|
|
2023
|
+
messagesDispatcher
|
|
2024
|
+
}, {
|
|
2025
|
+
logger
|
|
2026
|
+
});
|
|
2027
|
+
const updateMessage = useUpdateMessageCallback({
|
|
2028
|
+
currentGroupChannel,
|
|
2029
|
+
messagesDispatcher,
|
|
2030
|
+
onBeforeUpdateUserMessage,
|
|
2031
|
+
isMentionEnabled
|
|
2094
2032
|
}, {
|
|
2095
|
-
logger
|
|
2033
|
+
logger,
|
|
2034
|
+
pubSub
|
|
2096
2035
|
});
|
|
2097
|
-
|
|
2098
|
-
currentGroupChannel
|
|
2099
|
-
messagesDispatcher
|
|
2100
|
-
onBeforeUpdateUserMessage: onBeforeUpdateUserMessage,
|
|
2101
|
-
isMentionEnabled: isMentionEnabled
|
|
2036
|
+
const resendMessage = useResendMessageCallback({
|
|
2037
|
+
currentGroupChannel,
|
|
2038
|
+
messagesDispatcher
|
|
2102
2039
|
}, {
|
|
2103
|
-
logger
|
|
2104
|
-
pubSub: pubSub
|
|
2040
|
+
logger
|
|
2105
2041
|
});
|
|
2106
|
-
|
|
2107
|
-
currentGroupChannel
|
|
2108
|
-
|
|
2042
|
+
const [messageInputRef, sendMessage] = useSendMessageCallback({
|
|
2043
|
+
currentGroupChannel,
|
|
2044
|
+
onBeforeSendUserMessage,
|
|
2045
|
+
isMentionEnabled
|
|
2109
2046
|
}, {
|
|
2110
|
-
logger
|
|
2047
|
+
logger,
|
|
2048
|
+
pubSub,
|
|
2049
|
+
scrollRef,
|
|
2050
|
+
messagesDispatcher
|
|
2111
2051
|
});
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
isMentionEnabled: isMentionEnabled
|
|
2052
|
+
const [sendFileMessage] = useSendFileMessageCallback({
|
|
2053
|
+
currentGroupChannel,
|
|
2054
|
+
onBeforeSendFileMessage,
|
|
2055
|
+
imageCompression
|
|
2117
2056
|
}, {
|
|
2118
|
-
logger
|
|
2119
|
-
pubSub
|
|
2120
|
-
scrollRef
|
|
2121
|
-
messagesDispatcher
|
|
2122
|
-
})
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
var sendFileMessage = useSendFileMessageCallback({
|
|
2127
|
-
currentGroupChannel: currentGroupChannel,
|
|
2128
|
-
onBeforeSendFileMessage: onBeforeSendFileMessage,
|
|
2129
|
-
imageCompression: imageCompression
|
|
2057
|
+
logger,
|
|
2058
|
+
pubSub,
|
|
2059
|
+
scrollRef,
|
|
2060
|
+
messagesDispatcher
|
|
2061
|
+
});
|
|
2062
|
+
const [sendVoiceMessage] = useSendVoiceMessageCallback({
|
|
2063
|
+
currentGroupChannel,
|
|
2064
|
+
onBeforeSendVoiceMessage
|
|
2130
2065
|
}, {
|
|
2131
|
-
logger
|
|
2132
|
-
pubSub
|
|
2133
|
-
scrollRef
|
|
2134
|
-
messagesDispatcher
|
|
2135
|
-
})
|
|
2066
|
+
logger,
|
|
2067
|
+
pubSub,
|
|
2068
|
+
scrollRef,
|
|
2069
|
+
messagesDispatcher
|
|
2070
|
+
});
|
|
2136
2071
|
return /*#__PURE__*/React__default["default"].createElement(ChannelContext.Provider, {
|
|
2137
2072
|
value: {
|
|
2138
2073
|
// props
|
|
2139
|
-
channelUrl
|
|
2074
|
+
channelUrl,
|
|
2140
2075
|
isReactionEnabled: usingReaction,
|
|
2141
|
-
isMessageGroupingEnabled
|
|
2142
|
-
showSearchIcon: showSearchIcon,
|
|
2143
|
-
highlightedMessage
|
|
2144
|
-
startingPoint
|
|
2145
|
-
onBeforeSendUserMessage
|
|
2146
|
-
onBeforeSendFileMessage
|
|
2147
|
-
onBeforeUpdateUserMessage
|
|
2148
|
-
onChatHeaderActionClick
|
|
2149
|
-
onSearchClick
|
|
2150
|
-
onBackClick
|
|
2151
|
-
replyType
|
|
2152
|
-
threadReplySelectType: threadReplySelectType,
|
|
2153
|
-
queries
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2076
|
+
isMessageGroupingEnabled,
|
|
2077
|
+
showSearchIcon: showSearchIcon !== null && showSearchIcon !== void 0 ? showSearchIcon : globalConfigs.showSearchIcon,
|
|
2078
|
+
highlightedMessage,
|
|
2079
|
+
startingPoint,
|
|
2080
|
+
onBeforeSendUserMessage,
|
|
2081
|
+
onBeforeSendFileMessage,
|
|
2082
|
+
onBeforeUpdateUserMessage,
|
|
2083
|
+
onChatHeaderActionClick,
|
|
2084
|
+
onSearchClick,
|
|
2085
|
+
onBackClick,
|
|
2086
|
+
replyType,
|
|
2087
|
+
threadReplySelectType: (_ref = threadReplySelectType !== null && threadReplySelectType !== void 0 ? threadReplySelectType : resolvedReplyType.getCaseResolvedThreadReplySelectType(groupChannel.threadReplySelectType).upperCase) !== null && _ref !== void 0 ? _ref : _const.ThreadReplySelectType.THREAD,
|
|
2088
|
+
queries,
|
|
2089
|
+
filterMessageList,
|
|
2090
|
+
disableMarkAsRead,
|
|
2091
|
+
onReplyInThread,
|
|
2092
|
+
onQuoteMessageClick,
|
|
2093
|
+
onMessageAnimated,
|
|
2094
|
+
onMessageHighlighted,
|
|
2159
2095
|
// messagesStore
|
|
2160
|
-
allMessages
|
|
2161
|
-
loading
|
|
2162
|
-
initialized
|
|
2163
|
-
unreadSince
|
|
2164
|
-
isInvalid
|
|
2165
|
-
currentGroupChannel
|
|
2166
|
-
hasMorePrev
|
|
2167
|
-
hasMoreNext
|
|
2168
|
-
oldestMessageTimeStamp
|
|
2169
|
-
latestMessageTimeStamp
|
|
2170
|
-
emojiContainer
|
|
2171
|
-
readStatus
|
|
2096
|
+
allMessages,
|
|
2097
|
+
loading,
|
|
2098
|
+
initialized,
|
|
2099
|
+
unreadSince,
|
|
2100
|
+
isInvalid,
|
|
2101
|
+
currentGroupChannel,
|
|
2102
|
+
hasMorePrev,
|
|
2103
|
+
hasMoreNext,
|
|
2104
|
+
oldestMessageTimeStamp,
|
|
2105
|
+
latestMessageTimeStamp,
|
|
2106
|
+
emojiContainer,
|
|
2107
|
+
readStatus,
|
|
2172
2108
|
// utils
|
|
2173
|
-
scrollToMessage
|
|
2174
|
-
quoteMessage
|
|
2175
|
-
setQuoteMessage
|
|
2176
|
-
deleteMessage
|
|
2177
|
-
updateMessage
|
|
2178
|
-
resendMessage
|
|
2179
|
-
messageInputRef
|
|
2180
|
-
sendMessage
|
|
2181
|
-
sendFileMessage
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
scrollRef
|
|
2196
|
-
toggleReaction
|
|
2109
|
+
scrollToMessage,
|
|
2110
|
+
quoteMessage,
|
|
2111
|
+
setQuoteMessage,
|
|
2112
|
+
deleteMessage,
|
|
2113
|
+
updateMessage,
|
|
2114
|
+
resendMessage,
|
|
2115
|
+
messageInputRef,
|
|
2116
|
+
sendMessage,
|
|
2117
|
+
sendFileMessage,
|
|
2118
|
+
sendVoiceMessage,
|
|
2119
|
+
initialTimeStamp,
|
|
2120
|
+
messageActionTypes,
|
|
2121
|
+
messagesDispatcher,
|
|
2122
|
+
setInitialTimeStamp,
|
|
2123
|
+
setAnimatedMessageId,
|
|
2124
|
+
setHighLightedMessageId,
|
|
2125
|
+
animatedMessageId,
|
|
2126
|
+
highLightedMessageId,
|
|
2127
|
+
nicknamesMap,
|
|
2128
|
+
emojiAllMap,
|
|
2129
|
+
onScrollCallback,
|
|
2130
|
+
onScrollDownCallback,
|
|
2131
|
+
scrollRef,
|
|
2132
|
+
toggleReaction
|
|
2197
2133
|
}
|
|
2198
2134
|
}, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
|
|
2199
2135
|
disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile,
|
|
@@ -2201,17 +2137,14 @@ var ChannelProvider = function (props) {
|
|
|
2201
2137
|
onUserProfileMessage: onUserProfileMessage
|
|
2202
2138
|
}, children));
|
|
2203
2139
|
};
|
|
2204
|
-
|
|
2205
|
-
var useChannelContext = function () {
|
|
2206
|
-
return React__default["default"].useContext(ChannelContext);
|
|
2207
|
-
};
|
|
2140
|
+
const useChannelContext = () => React__default["default"].useContext(ChannelContext);
|
|
2208
2141
|
|
|
2209
2142
|
exports.ChannelProvider = ChannelProvider;
|
|
2210
|
-
exports.MARK_AS_READ = MARK_AS_READ;
|
|
2211
2143
|
exports.compareMessagesForGrouping = compareMessagesForGrouping;
|
|
2144
|
+
exports.getIsReactionEnabled = getIsReactionEnabled;
|
|
2212
2145
|
exports.isAboutSame = isAboutSame;
|
|
2213
2146
|
exports.isDisabledBecauseFrozen = isDisabledBecauseFrozen;
|
|
2214
2147
|
exports.isDisabledBecauseMuted = isDisabledBecauseMuted;
|
|
2215
2148
|
exports.isOperator = isOperator;
|
|
2216
2149
|
exports.useChannelContext = useChannelContext;
|
|
2217
|
-
//# sourceMappingURL=ChannelProvider-
|
|
2150
|
+
//# sourceMappingURL=ChannelProvider-0df75472.js.map
|