@sendbird/uikit-react 3.5.0-beta.0 → 3.5.0-mobile-web-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 +276 -218
- package/App.js.map +1 -1
- package/CHANGELOG.md +428 -0
- package/Channel/components/ChannelHeader.js +45 -41
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +101 -129
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +55 -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 +238 -230
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +146 -128
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +258 -174
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +33 -30
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +138 -193
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +43 -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 +11 -19
- package/Channel/context.js.map +1 -1
- package/Channel.js +67 -43
- 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 +100 -142
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +71 -82
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +34 -35
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +7 -8
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +31 -31
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-f461d265.js → ChannelListProvider-42fb305a.js} +233 -285
- package/ChannelListProvider-42fb305a.js.map +1 -0
- package/{ChannelProvider-554e7116.js → ChannelProvider-42ea1a96.js} +610 -716
- package/ChannelProvider-42ea1a96.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 +516 -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-37af96d2.js +44 -0
- package/CreateChannelProvider-37af96d2.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-1839d2db.js +20 -0
- package/{LocalizationContext-4df0cc32.js.map → LocalizationContext-1839d2db.js.map} +1 -1
- package/MediaQueryContext-0e0b3a1b.js +87 -0
- package/MediaQueryContext-0e0b3a1b.js.map +1 -0
- package/MemberList-28589b39.js +395 -0
- package/MemberList-28589b39.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 +36 -31
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +168 -190
- 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 +34 -28
- 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-71a32f2d.js +429 -0
- package/OpenChannelListProvider-71a32f2d.js.map +1 -0
- package/OpenChannelProvider-377a0b6e.js +1885 -0
- package/OpenChannelProvider-377a0b6e.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 +508 -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-558db27f.js +36 -0
- package/RemoveMessageModal-558db27f.js.map +1 -0
- package/SendbirdProvider.js +830 -409
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +230 -216
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +110 -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 +107 -83
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +292 -272
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +144 -111
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +168 -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 +86 -57
- package/Thread.js.map +1 -1
- package/ThreadProvider-0b73628e.js +1695 -0
- package/ThreadProvider-0b73628e.js.map +1 -0
- package/{UserProfileContext-c58a7b86.js → UserProfileContext-7e645551.js} +1 -4
- package/{UserProfileContext-c58a7b86.js.map → UserProfileContext-7e645551.js.map} +1 -1
- package/VoiceMessageInputWrapper-0b5a78a1.js +169 -0
- package/VoiceMessageInputWrapper-0b5a78a1.js.map +1 -0
- package/VoicePlayer/context.js +7 -0
- package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
- package/VoicePlayer/useVoicePlayer.js +72 -0
- package/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/VoiceRecorder/context.js +118 -0
- package/VoiceRecorder/context.js.map +1 -0
- package/VoiceRecorder/useVoiceRecorder.js +109 -0
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/WebAudioUtils-fbdb41cd.js +123 -0
- package/WebAudioUtils-fbdb41cd.js.map +1 -0
- package/{_rollupPluginBabelHelpers-498add61.js → _rollupPluginBabelHelpers-ce69e916.js} +17 -11
- package/_rollupPluginBabelHelpers-ce69e916.js.map +1 -0
- package/actionTypes-a5283c75.js +8 -0
- package/actionTypes-a5283c75.js.map +1 -0
- package/cjs/App.js +276 -218
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +45 -41
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +99 -127
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +55 -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 +241 -233
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +145 -127
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +258 -174
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +33 -30
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +138 -193
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +43 -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 +67 -43
- 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 +99 -141
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +71 -82
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +34 -35
- 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 +31 -31
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-c2148b43.js → ChannelListProvider-b3ffe21a.js} +232 -284
- package/cjs/ChannelListProvider-b3ffe21a.js.map +1 -0
- package/cjs/{ChannelProvider-cf5dc7e3.js → ChannelProvider-b6890429.js} +608 -714
- package/cjs/ChannelProvider-b6890429.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 +516 -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-e1376032.js +52 -0
- package/cjs/CreateChannelProvider-e1376032.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-2b3f310d.js → LocalizationContext-461a0816.js} +9 -11
- package/cjs/{LocalizationContext-2b3f310d.js.map → LocalizationContext-461a0816.js.map} +1 -1
- package/cjs/MediaQueryContext-de7c63bc.js +94 -0
- package/cjs/MediaQueryContext-de7c63bc.js.map +1 -0
- package/cjs/MemberList-593809cb.js +401 -0
- package/cjs/MemberList-593809cb.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 +36 -31
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +168 -190
- 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 +34 -28
- 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-39c11f87.js +439 -0
- package/cjs/OpenChannelListProvider-39c11f87.js.map +1 -0
- package/cjs/OpenChannelProvider-e794e881.js +1894 -0
- package/cjs/OpenChannelProvider-e794e881.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 +508 -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-c01eb93b.js → RemoveMessageModal-29fa1a05.js} +19 -14
- package/cjs/RemoveMessageModal-29fa1a05.js.map +1 -0
- package/cjs/SendbirdProvider.js +830 -410
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +229 -215
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +109 -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 +107 -83
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +291 -271
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +144 -111
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +169 -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 +86 -57
- package/cjs/Thread.js.map +1 -1
- package/cjs/ThreadProvider-e2098298.js +1704 -0
- package/cjs/ThreadProvider-e2098298.js.map +1 -0
- package/cjs/{UserProfileContext-9d60cdc4.js → UserProfileContext-1bcc48a2.js} +1 -4
- package/cjs/{UserProfileContext-9d60cdc4.js.map → UserProfileContext-1bcc48a2.js.map} +1 -1
- package/cjs/VoiceMessageInputWrapper-f18d6a5e.js +175 -0
- package/cjs/VoiceMessageInputWrapper-f18d6a5e.js.map +1 -0
- package/cjs/VoicePlayer/context.js +16 -0
- package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
- package/cjs/VoicePlayer/useVoicePlayer.js +76 -0
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/cjs/VoiceRecorder/context.js +128 -0
- package/cjs/VoiceRecorder/context.js.map +1 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js +114 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/cjs/WebAudioUtils-aedad0b1.js +126 -0
- package/cjs/WebAudioUtils-aedad0b1.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-a7254c9d.js → _rollupPluginBabelHelpers-919a4db3.js} +17 -10
- package/cjs/_rollupPluginBabelHelpers-919a4db3.js.map +1 -0
- package/cjs/actionTypes-1e75e6e9.js +10 -0
- package/cjs/actionTypes-1e75e6e9.js.map +1 -0
- package/cjs/{color-89f33656.js → color-48ff06b2.js} +13 -21
- package/cjs/color-48ff06b2.js.map +1 -0
- package/cjs/{compareIds-ca869c2e.js → compareIds-8ed822c1.js} +5 -6
- package/cjs/compareIds-8ed822c1.js.map +1 -0
- package/cjs/{const-db71e993.js → const-49de651c.js} +4 -4
- package/cjs/const-49de651c.js.map +1 -0
- package/cjs/const-852d5677.js +20 -0
- package/cjs/const-852d5677.js.map +1 -0
- package/cjs/consts-2580246d.js +6 -0
- package/cjs/consts-2580246d.js.map +1 -0
- package/cjs/consts-5851f376.js +6 -0
- package/cjs/consts-5851f376.js.map +1 -0
- package/cjs/consts-6f02fcc4.js +41 -0
- package/cjs/consts-6f02fcc4.js.map +1 -0
- package/cjs/consts-e9ee4cf4.js +6 -0
- package/cjs/consts-e9ee4cf4.js.map +1 -0
- package/cjs/{context-2f5d47fd.js → context-4d89551f.js} +6 -5
- package/cjs/{context-2f5d47fd.js.map → context-4d89551f.js.map} +1 -1
- package/cjs/dist/index.css +901 -481
- 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-0126dbb4.js +161 -0
- package/cjs/index-0126dbb4.js.map +1 -0
- package/cjs/index-1a223893.js +362 -0
- package/cjs/index-1a223893.js.map +1 -0
- package/cjs/index-223e9372.js +79 -0
- package/cjs/index-223e9372.js.map +1 -0
- package/cjs/{index-621e74bd.js → index-420b8e6d.js} +29 -37
- package/cjs/index-420b8e6d.js.map +1 -0
- package/cjs/{index-d6ef2a60.js → index-44186883.js} +11 -25
- package/cjs/index-44186883.js.map +1 -0
- package/cjs/{index-de151767.js → index-5e6194f8.js} +1 -1
- package/cjs/{index-de151767.js.map → index-5e6194f8.js.map} +1 -1
- package/cjs/{index-73467e1d.js → index-60bf4d5c.js} +2 -2
- package/cjs/{index-73467e1d.js.map → index-60bf4d5c.js.map} +1 -1
- package/cjs/{index-0988ab25.js → index-60ea6503.js} +57 -3
- package/cjs/index-60ea6503.js.map +1 -0
- package/cjs/index-6a46ed00.js +292 -0
- package/cjs/index-6a46ed00.js.map +1 -0
- package/cjs/{index-c4d4ef49.js → index-7a68d56f.js} +1 -1
- package/cjs/index-7a68d56f.js.map +1 -0
- package/cjs/index-81aad270.js +197 -0
- package/cjs/index-81aad270.js.map +1 -0
- package/cjs/{index-2c5dd48c.js → index-849c0736.js} +2 -2
- package/cjs/{index-2c5dd48c.js.map → index-849c0736.js.map} +1 -1
- package/cjs/{index-be9c6237.js → index-a51f1b7d.js} +55 -63
- package/cjs/index-a51f1b7d.js.map +1 -0
- package/cjs/{index-e240e852.js → index-a7025294.js} +42 -51
- package/cjs/index-a7025294.js.map +1 -0
- package/cjs/index-bca3d144.js +587 -0
- package/cjs/index-bca3d144.js.map +1 -0
- package/cjs/index-f4682499.js +57 -0
- package/cjs/index-f4682499.js.map +1 -0
- package/cjs/index-f5399132.js +419 -0
- package/cjs/index-f5399132.js.map +1 -0
- package/cjs/index.js +77 -58
- package/cjs/index.js.map +1 -1
- package/cjs/index.module-10ef9afc.js +6 -0
- package/cjs/index.module-10ef9afc.js.map +1 -0
- package/cjs/lame.all.js +2541 -0
- package/cjs/lame.all.js.map +1 -0
- package/cjs/sendbirdSelectors.js +307 -417
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-91b919f6.js → stringSet-d1cee26a.js} +110 -90
- package/cjs/stringSet-d1cee26a.js.map +1 -0
- package/cjs/tokenize-d3bb1637.js +164 -0
- package/cjs/tokenize-d3bb1637.js.map +1 -0
- package/cjs/topics-00c67dd6.js +18 -0
- package/cjs/topics-00c67dd6.js.map +1 -0
- package/cjs/types-2e9e46b2.js +17 -0
- package/cjs/types-2e9e46b2.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 +172 -198
- 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 +297 -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 +203 -545
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +338 -118
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +70 -77
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +56 -61
- 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 +136 -149
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +200 -233
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +211 -220
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +160 -173
- 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 +27 -26
- 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 +43 -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 +108 -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-7b6c8a19.js +77 -0
- package/cjs/useDirtyGetMentions-7b6c8a19.js.map +1 -0
- package/cjs/useLongPress-4c2e9a3b.js +87 -0
- package/cjs/useLongPress-4c2e9a3b.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-3714e90e.js → utils-22d05a53.js} +3 -7
- package/cjs/{utils-3714e90e.js.map → utils-22d05a53.js.map} +1 -1
- package/cjs/{utils-1f6c6626.js → utils-3dacb9bc.js} +1 -1
- package/cjs/{utils-1f6c6626.js.map → utils-3dacb9bc.js.map} +1 -1
- package/cjs/utils-c5d4c36e.js +35 -0
- package/cjs/utils-c5d4c36e.js.map +1 -0
- package/cjs/utils-f1c09ec3.js +31 -0
- package/cjs/utils-f1c09ec3.js.map +1 -0
- package/cjs/uuid-d86ea01f.js +15 -0
- package/cjs/{uuid-11d4efe8.js.map → uuid-d86ea01f.js.map} +1 -1
- package/cjs/withSendbird.js +5 -6
- package/cjs/withSendbird.js.map +1 -1
- package/{color-ff5f9069.js → color-4ca8a2ea.js} +5 -14
- package/{color-ff5f9069.js.map → color-4ca8a2ea.js.map} +1 -1
- package/{compareIds-9430f9d8.js → compareIds-08858dd3.js} +5 -6
- package/compareIds-08858dd3.js.map +1 -0
- package/{const-83764204.js → const-714046e0.js} +4 -4
- package/const-714046e0.js.map +1 -0
- package/const-a77c08c9.js +13 -0
- package/const-a77c08c9.js.map +1 -0
- package/consts-9393e7c8.js +27 -0
- package/consts-9393e7c8.js.map +1 -0
- package/consts-aecb8fab.js +4 -0
- package/consts-aecb8fab.js.map +1 -0
- package/consts-d46e0fc1.js +4 -0
- package/consts-d46e0fc1.js.map +1 -0
- package/consts-decd9c7d.js +4 -0
- package/consts-decd9c7d.js.map +1 -0
- package/context-9a6b8b8a.js +13 -0
- package/{context-9a69e846.js.map → context-9a6b8b8a.js.map} +1 -1
- package/dist/index.css +901 -481
- package/dist/index.css.map +1 -1
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js.map +1 -1
- package/{index-3f26a31c.js → index-06f34585.js} +2 -2
- package/{index-3f26a31c.js.map → index-06f34585.js.map} +1 -1
- package/{index-134314e2.js → index-20880943.js} +29 -37
- package/index-20880943.js.map +1 -0
- package/index-3130ac38.js +51 -0
- package/index-3130ac38.js.map +1 -0
- package/{index-e5b78039.js → index-3165e396.js} +1 -1
- package/index-3165e396.js.map +1 -0
- package/index-400417a1.js +154 -0
- package/index-400417a1.js.map +1 -0
- package/index-5644a6c0.js +283 -0
- package/index-5644a6c0.js.map +1 -0
- package/{index-defabece.js → index-5db37327.js} +57 -4
- package/index-5db37327.js.map +1 -0
- package/{index-fc4702b7.js → index-7c9ebc67.js} +55 -63
- package/index-7c9ebc67.js.map +1 -0
- package/{index-d3f6dbb9.js → index-9781d2b9.js} +2 -2
- package/{index-d3f6dbb9.js.map → index-9781d2b9.js.map} +1 -1
- package/index-b96440b7.js +76 -0
- package/index-b96440b7.js.map +1 -0
- package/index-bf72ef7c.js +355 -0
- package/index-bf72ef7c.js.map +1 -0
- package/{index-1b91b116.js → index-c6df8184.js} +39 -48
- package/index-c6df8184.js.map +1 -0
- package/{index-07e060cd.js → index-d9c12cf4.js} +1 -1
- package/{index-07e060cd.js.map → index-d9c12cf4.js.map} +1 -1
- package/{index-44470dab.js → index-e1cd2fcf.js} +11 -25
- package/index-e1cd2fcf.js.map +1 -0
- package/index-edfb3327.js +413 -0
- package/index-edfb3327.js.map +1 -0
- package/index-fd51c7d1.js +541 -0
- package/index-fd51c7d1.js.map +1 -0
- package/index-fd95258e.js +182 -0
- package/index-fd95258e.js.map +1 -0
- package/index.d.ts +169 -122
- package/index.js +77 -58
- package/index.js.map +1 -1
- package/index.module-8c144786.js +4 -0
- package/index.module-8c144786.js.map +1 -0
- package/lame.all.js +2537 -0
- package/lame.all.js.map +1 -0
- package/package.json +61 -41
- package/sendbirdSelectors.js +307 -417
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-d555d877.js → stringSet-d368e289.js} +110 -90
- package/stringSet-d368e289.js.map +1 -0
- package/tokenize-7056afb7.js +159 -0
- package/tokenize-7056afb7.js.map +1 -0
- package/topics-f9628f1f.js +16 -0
- package/topics-f9628f1f.js.map +1 -0
- package/types-2b508dbc.js +15 -0
- package/types-2b508dbc.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 +173 -199
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +12 -14
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +298 -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 +206 -548
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +338 -119
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +70 -77
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +56 -61
- 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 +136 -149
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +200 -233
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +211 -220
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +160 -173
- 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 +27 -26
- 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 +43 -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 +99 -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-e0c0f521.js +75 -0
- package/useDirtyGetMentions-e0c0f521.js.map +1 -0
- package/useLongPress-685c7391.js +85 -0
- package/useLongPress-685c7391.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-e720e03a.js → utils-256f157f.js} +1 -1
- package/{utils-e720e03a.js.map → utils-256f157f.js.map} +1 -1
- package/utils-4979f950.js +31 -0
- package/utils-4979f950.js.map +1 -0
- package/{utils-8b11ff42.js → utils-f82ad058.js} +3 -7
- package/{utils-8b11ff42.js.map → utils-f82ad058.js.map} +1 -1
- package/utils-fbc09760.js +29 -0
- package/utils-fbc09760.js.map +1 -0
- package/uuid-720c99c0.js +13 -0
- package/{uuid-286ed926.js.map → uuid-720c99c0.js.map} +1 -1
- package/withSendbird.js +5 -6
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-f461d265.js.map +0 -1
- package/ChannelProvider-554e7116.js.map +0 -1
- package/CreateChannelProvider-250cd98e.js +0 -55
- package/CreateChannelProvider-250cd98e.js.map +0 -1
- package/LocalizationContext-4df0cc32.js +0 -22
- package/MediaQueryContext-74183e34.js +0 -90
- package/MediaQueryContext-74183e34.js.map +0 -1
- package/MemberList-51c7afaa.js +0 -435
- package/MemberList-51c7afaa.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-0d8be1ad.js +0 -535
- package/NotificationChannelProvider-0d8be1ad.js.map +0 -1
- package/OpenChannelListProvider-8c753945.js +0 -434
- package/OpenChannelListProvider-8c753945.js.map +0 -1
- package/OpenChannelProvider-2fa01820.js +0 -2000
- package/OpenChannelProvider-2fa01820.js.map +0 -1
- package/RemoveMessageModal-9762fed1.js +0 -31
- package/RemoveMessageModal-9762fed1.js.map +0 -1
- package/ThreadProvider-6974fb3e.js +0 -1644
- package/ThreadProvider-6974fb3e.js.map +0 -1
- package/_rollupPluginBabelHelpers-498add61.js.map +0 -1
- package/actionTypes-ad2cbd73.js +0 -6
- package/actionTypes-ad2cbd73.js.map +0 -1
- package/cjs/ChannelListProvider-c2148b43.js.map +0 -1
- package/cjs/ChannelProvider-cf5dc7e3.js.map +0 -1
- package/cjs/CreateChannelProvider-c98de398.js +0 -62
- package/cjs/CreateChannelProvider-c98de398.js.map +0 -1
- package/cjs/MediaQueryContext-71862be1.js +0 -97
- package/cjs/MediaQueryContext-71862be1.js.map +0 -1
- package/cjs/MemberList-13566703.js +0 -441
- package/cjs/MemberList-13566703.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-8f3b7320.js +0 -543
- package/cjs/NotificationChannelProvider-8f3b7320.js.map +0 -1
- package/cjs/OpenChannelListProvider-64043b4f.js +0 -443
- package/cjs/OpenChannelListProvider-64043b4f.js.map +0 -1
- package/cjs/OpenChannelProvider-5b56e629.js +0 -2009
- package/cjs/OpenChannelProvider-5b56e629.js.map +0 -1
- package/cjs/RemoveMessageModal-c01eb93b.js.map +0 -1
- package/cjs/ThreadProvider-d3c0c877.js +0 -1653
- package/cjs/ThreadProvider-d3c0c877.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +0 -1
- package/cjs/actionTypes-0e8bea91.js +0 -10
- package/cjs/actionTypes-0e8bea91.js.map +0 -1
- package/cjs/color-89f33656.js.map +0 -1
- package/cjs/compareIds-ca869c2e.js.map +0 -1
- package/cjs/const-55d167ca.js +0 -20
- package/cjs/const-55d167ca.js.map +0 -1
- package/cjs/const-db71e993.js.map +0 -1
- package/cjs/index-0988ab25.js.map +0 -1
- package/cjs/index-21b2339d.js +0 -701
- package/cjs/index-21b2339d.js.map +0 -1
- package/cjs/index-5c81f847.js +0 -194
- package/cjs/index-5c81f847.js.map +0 -1
- package/cjs/index-621e74bd.js.map +0 -1
- package/cjs/index-8de59744.js +0 -59
- package/cjs/index-8de59744.js.map +0 -1
- package/cjs/index-a52859ed.js +0 -360
- package/cjs/index-a52859ed.js.map +0 -1
- package/cjs/index-be9c6237.js.map +0 -1
- package/cjs/index-c4d4ef49.js.map +0 -1
- package/cjs/index-d6ef2a60.js.map +0 -1
- package/cjs/index-e240e852.js.map +0 -1
- package/cjs/stringSet-91b919f6.js.map +0 -1
- package/cjs/topics-ac9cf7ed.js +0 -22
- package/cjs/topics-ac9cf7ed.js.map +0 -1
- package/cjs/tslib.es6-43854eb1.js +0 -110
- package/cjs/tslib.es6-43854eb1.js.map +0 -1
- package/cjs/useLongPress-c7bf12b1.js +0 -118
- package/cjs/useLongPress-c7bf12b1.js.map +0 -1
- package/cjs/utils-4b529d96.js +0 -38
- package/cjs/utils-4b529d96.js.map +0 -1
- package/cjs/utils-65a380e8.js +0 -32
- package/cjs/utils-65a380e8.js.map +0 -1
- package/cjs/uuid-11d4efe8.js +0 -19
- package/compareIds-9430f9d8.js.map +0 -1
- package/const-83764204.js.map +0 -1
- package/const-9d11f204.js +0 -14
- package/const-9d11f204.js.map +0 -1
- package/context-9a69e846.js +0 -12
- package/index-134314e2.js.map +0 -1
- package/index-1572c90f.js +0 -57
- package/index-1572c90f.js.map +0 -1
- package/index-1b91b116.js.map +0 -1
- package/index-44470dab.js.map +0 -1
- package/index-5f08f486.js +0 -662
- package/index-5f08f486.js.map +0 -1
- package/index-d8e3ccee.js +0 -179
- package/index-d8e3ccee.js.map +0 -1
- package/index-defabece.js.map +0 -1
- package/index-e5b78039.js.map +0 -1
- package/index-ed65ee3b.js +0 -353
- package/index-ed65ee3b.js.map +0 -1
- package/index-fc4702b7.js.map +0 -1
- package/stringSet-d555d877.js.map +0 -1
- package/topics-351ea731.js +0 -13
- package/topics-351ea731.js.map +0 -1
- package/tslib.es6-bcead7e6.js +0 -104
- package/tslib.es6-bcead7e6.js.map +0 -1
- package/useLongPress-794838b8.js +0 -116
- package/useLongPress-794838b8.js.map +0 -1
- package/utils-00ac1a7d.js +0 -34
- package/utils-00ac1a7d.js.map +0 -1
- package/utils-01e76a0c.js +0 -30
- package/utils-01e76a0c.js.map +0 -1
- package/uuid-286ed926.js +0 -17
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var UserProfileContext = require('./UserProfileContext-
|
|
4
|
+
var UserProfileContext = require('./UserProfileContext-1bcc48a2.js');
|
|
5
5
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
6
|
-
var index$1 = require('./index-
|
|
7
|
-
var topics = require('./topics-
|
|
8
|
-
var index = require('./index-
|
|
9
|
-
require('./
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var _const = require('./const-55d167ca.js');
|
|
6
|
+
var index$1 = require('./index-60bf4d5c.js');
|
|
7
|
+
var topics = require('./topics-00c67dd6.js');
|
|
8
|
+
var index = require('./index-bca3d144.js');
|
|
9
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-919a4db3.js');
|
|
10
|
+
var compareIds = require('./compareIds-8ed822c1.js');
|
|
11
|
+
var _const = require('./const-852d5677.js');
|
|
13
12
|
var groupChannel = require('@sendbird/chat/groupChannel');
|
|
14
|
-
var uuid = require('./uuid-
|
|
13
|
+
var uuid = require('./uuid-d86ea01f.js');
|
|
15
14
|
var message = require('@sendbird/chat/message');
|
|
16
|
-
var
|
|
17
|
-
var ui_ReactionButton = require('./ui/ReactionButton.js');
|
|
18
|
-
var ui_ImageRenderer = require('./ui/ImageRenderer.js');
|
|
19
|
-
var ui_Icon = require('./ui/Icon.js');
|
|
15
|
+
var consts = require('./consts-6f02fcc4.js');
|
|
20
16
|
|
|
21
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
18
|
|
|
@@ -79,19 +75,37 @@ const {
|
|
|
79
75
|
FAILED,
|
|
80
76
|
PENDING
|
|
81
77
|
} = index.getSendingMessageStatus();
|
|
78
|
+
const scrollToRenderedMessage = (scrollRef, initialTimeStamp) => {
|
|
79
|
+
try {
|
|
80
|
+
var _container$querySelec;
|
|
81
|
+
const container = scrollRef.current;
|
|
82
|
+
// scroll into the message with initialTimeStamp
|
|
83
|
+
const element = (_container$querySelec = container.querySelectorAll(`[data-sb-created-at="${initialTimeStamp}"]`)) === null || _container$querySelec === void 0 ? void 0 : _container$querySelec[0];
|
|
84
|
+
if (element) {
|
|
85
|
+
// Calculate the offset of the element from the top of the container
|
|
86
|
+
const containerHeight = container.offsetHeight;
|
|
87
|
+
const elementHeight = element.offsetHeight;
|
|
88
|
+
const elementOffset = (containerHeight - elementHeight) / 2;
|
|
89
|
+
// Set the scroll position of the container to bring the element to the middle
|
|
90
|
+
container.scrollTop = element.offsetTop - elementOffset;
|
|
91
|
+
}
|
|
92
|
+
} catch (_unused) {
|
|
93
|
+
// do nothing
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
/* eslint-disable default-param-last */
|
|
82
98
|
const scrollIntoLast = function () {
|
|
83
99
|
let initialTry = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
84
100
|
let scrollRef = arguments.length > 1 ? arguments[1] : undefined;
|
|
85
101
|
const MAX_TRIES = 10;
|
|
86
102
|
const currentTry = initialTry;
|
|
87
|
-
|
|
88
103
|
if (currentTry > MAX_TRIES) {
|
|
89
104
|
return;
|
|
90
105
|
}
|
|
91
|
-
|
|
92
106
|
try {
|
|
93
|
-
const scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-conversation__messages-padding');
|
|
94
|
-
|
|
107
|
+
const scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-conversation__messages-padding');
|
|
108
|
+
// eslint-disable-next-line no-multi-assign
|
|
95
109
|
scrollDOM.scrollTop = scrollDOM.scrollHeight;
|
|
96
110
|
} catch (error) {
|
|
97
111
|
setTimeout(() => {
|
|
@@ -103,7 +117,8 @@ const pubSubHandleRemover = subscriber => {
|
|
|
103
117
|
subscriber.forEach(s => {
|
|
104
118
|
try {
|
|
105
119
|
s.remove();
|
|
106
|
-
} catch (
|
|
120
|
+
} catch (_unused2) {
|
|
121
|
+
//
|
|
107
122
|
}
|
|
108
123
|
});
|
|
109
124
|
};
|
|
@@ -116,13 +131,12 @@ const pubSubHandler = _ref => {
|
|
|
116
131
|
} = _ref;
|
|
117
132
|
const subscriber = new Map();
|
|
118
133
|
if (!pubSub || !pubSub.subscribe) return subscriber;
|
|
119
|
-
subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, msg => {
|
|
134
|
+
subscriber.set(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_USER_MESSAGE, msg => {
|
|
120
135
|
const {
|
|
121
136
|
channel,
|
|
122
137
|
message
|
|
123
138
|
} = msg;
|
|
124
139
|
scrollIntoLast(0, scrollRef);
|
|
125
|
-
|
|
126
140
|
if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
127
141
|
dispatcher({
|
|
128
142
|
type: SEND_MESSAGEGE_SUCESS,
|
|
@@ -130,12 +144,11 @@ const pubSubHandler = _ref => {
|
|
|
130
144
|
});
|
|
131
145
|
}
|
|
132
146
|
}));
|
|
133
|
-
subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, msg => {
|
|
147
|
+
subscriber.set(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, msg => {
|
|
134
148
|
const {
|
|
135
149
|
channel,
|
|
136
150
|
message
|
|
137
151
|
} = msg;
|
|
138
|
-
|
|
139
152
|
if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
140
153
|
dispatcher({
|
|
141
154
|
type: SEND_MESSAGEGE_START,
|
|
@@ -143,13 +156,12 @@ const pubSubHandler = _ref => {
|
|
|
143
156
|
});
|
|
144
157
|
}
|
|
145
158
|
}));
|
|
146
|
-
subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, msg => {
|
|
159
|
+
subscriber.set(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.SEND_FILE_MESSAGE, msg => {
|
|
147
160
|
const {
|
|
148
161
|
channel,
|
|
149
162
|
message
|
|
150
163
|
} = msg;
|
|
151
164
|
scrollIntoLast(0, scrollRef);
|
|
152
|
-
|
|
153
165
|
if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
154
166
|
dispatcher({
|
|
155
167
|
type: SEND_MESSAGEGE_SUCESS,
|
|
@@ -157,13 +169,12 @@ const pubSubHandler = _ref => {
|
|
|
157
169
|
});
|
|
158
170
|
}
|
|
159
171
|
}));
|
|
160
|
-
subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, msg => {
|
|
172
|
+
subscriber.set(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, msg => {
|
|
161
173
|
const {
|
|
162
174
|
channel,
|
|
163
175
|
message,
|
|
164
176
|
fromSelector
|
|
165
177
|
} = msg;
|
|
166
|
-
|
|
167
178
|
if (fromSelector && channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
168
179
|
dispatcher({
|
|
169
180
|
type: ON_MESSAGE_UPDATED,
|
|
@@ -174,12 +185,11 @@ const pubSubHandler = _ref => {
|
|
|
174
185
|
});
|
|
175
186
|
}
|
|
176
187
|
}));
|
|
177
|
-
subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, msg => {
|
|
188
|
+
subscriber.set(topics.PUBSUB_TOPICS.DELETE_MESSAGE, pubSub.subscribe(topics.PUBSUB_TOPICS.DELETE_MESSAGE, msg => {
|
|
178
189
|
const {
|
|
179
190
|
channel,
|
|
180
191
|
messageId
|
|
181
192
|
} = msg;
|
|
182
|
-
|
|
183
193
|
if (channelUrl === (channel === null || channel === void 0 ? void 0 : channel.url)) {
|
|
184
194
|
dispatcher({
|
|
185
195
|
type: ON_MESSAGE_DELETED,
|
|
@@ -204,37 +214,16 @@ const isDisabledBecauseMuted = function () {
|
|
|
204
214
|
const myMutedState = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.myMutedState;
|
|
205
215
|
return myMutedState === 'muted';
|
|
206
216
|
};
|
|
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
217
|
const getAllEmojisMapFromEmojiContainer = function () {
|
|
227
218
|
let emojiContainer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
228
219
|
const {
|
|
229
220
|
emojiCategories = []
|
|
230
221
|
} = emojiContainer;
|
|
231
222
|
const allEmojisMap = new Map();
|
|
232
|
-
|
|
233
223
|
for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {
|
|
234
224
|
const {
|
|
235
225
|
emojis
|
|
236
226
|
} = emojiCategories[categoryIndex];
|
|
237
|
-
|
|
238
227
|
for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {
|
|
239
228
|
const {
|
|
240
229
|
key,
|
|
@@ -243,13 +232,11 @@ const getAllEmojisMapFromEmojiContainer = function () {
|
|
|
243
232
|
allEmojisMap.set(key, url);
|
|
244
233
|
}
|
|
245
234
|
}
|
|
246
|
-
|
|
247
235
|
return allEmojisMap;
|
|
248
236
|
};
|
|
249
237
|
const getNicknamesMapFromMembers = function () {
|
|
250
238
|
let members = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
251
239
|
const nicknamesMap = new Map();
|
|
252
|
-
|
|
253
240
|
for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {
|
|
254
241
|
const {
|
|
255
242
|
userId,
|
|
@@ -257,24 +244,39 @@ const getNicknamesMapFromMembers = function () {
|
|
|
257
244
|
} = members[memberIndex];
|
|
258
245
|
nicknamesMap.set(userId, nickname);
|
|
259
246
|
}
|
|
260
|
-
|
|
261
247
|
return nicknamesMap;
|
|
262
248
|
};
|
|
249
|
+
const getUniqueListBy = (arr, key) => [...new Map(arr.map(item => [item[key], item])).values()];
|
|
250
|
+
const getUniqueListByMessageId = arr => getUniqueListBy(arr, 'messageId');
|
|
251
|
+
const sortByCreatedAt = messages => messages.sort((a, b) => a.createdAt - b.createdAt);
|
|
252
|
+
const mergeAndSortMessages = (oldMessages, newMessages) => {
|
|
253
|
+
const lastOldMessage = oldMessages[oldMessages.length - 1];
|
|
254
|
+
const firstNewMessage = newMessages[0];
|
|
255
|
+
// If the last message of oldMessages is older than the first message of newMessages,
|
|
256
|
+
// then we can safely append newMessages to oldMessages.
|
|
257
|
+
if ((lastOldMessage === null || lastOldMessage === void 0 ? void 0 : lastOldMessage.createdAt) < (firstNewMessage === null || firstNewMessage === void 0 ? void 0 : firstNewMessage.createdAt)) {
|
|
258
|
+
return [...oldMessages, ...newMessages];
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// todo: optimize this
|
|
262
|
+
// If the last message of oldMessages is newer than the first message of newMessages,
|
|
263
|
+
// then we need to merge the two arrays and sort them by createdAt.
|
|
264
|
+
const mergedMessages = [...oldMessages, ...newMessages];
|
|
265
|
+
const unique = getUniqueListByMessageId(mergedMessages);
|
|
266
|
+
return sortByCreatedAt(unique);
|
|
267
|
+
};
|
|
263
268
|
const getMessageCreatedAt = message => index$1.format(message.createdAt, 'p');
|
|
264
269
|
const isSameGroup = (message, comparingMessage, currentChannel) => {
|
|
265
270
|
var _message$sender, _comparingMessage$sen, _message$sender2, _comparingMessage$sen2;
|
|
266
|
-
|
|
267
271
|
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
272
|
return false;
|
|
269
273
|
}
|
|
270
|
-
|
|
271
274
|
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
275
|
};
|
|
273
276
|
const compareMessagesForGrouping = (prevMessage, currMessage, nextMessage, currentChannel, replyType) => {
|
|
274
277
|
if (replyType === 'THREAD' && currMessage !== null && currMessage !== void 0 && currMessage.threadInfo) {
|
|
275
278
|
return [false, false];
|
|
276
279
|
}
|
|
277
|
-
|
|
278
280
|
const sendingStatus = (currMessage === null || currMessage === void 0 ? void 0 : currMessage.sendingStatus) || '';
|
|
279
281
|
const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';
|
|
280
282
|
return [isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable, isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable];
|
|
@@ -283,32 +285,26 @@ const passUnsuccessfullMessages = (allMessages, newMessage) => {
|
|
|
283
285
|
const {
|
|
284
286
|
sendingStatus = UNDEFINED
|
|
285
287
|
} = newMessage;
|
|
286
|
-
|
|
287
288
|
if (sendingStatus === SUCCEEDED$1 || sendingStatus === PENDING) {
|
|
288
289
|
const lastIndexOfSucceededMessage = allMessages.map(message => message.sendingStatus || (message.isAdminMessage && message.isAdminMessage() ? SUCCEEDED$1 : UNDEFINED)).lastIndexOf(SUCCEEDED$1);
|
|
289
|
-
|
|
290
290
|
if (lastIndexOfSucceededMessage + 1 < allMessages.length) {
|
|
291
291
|
const messages = [...allMessages];
|
|
292
292
|
messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);
|
|
293
293
|
return messages;
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
|
-
|
|
297
296
|
return [...allMessages, newMessage];
|
|
298
297
|
};
|
|
299
298
|
const pxToNumber = px => {
|
|
300
299
|
if (typeof px === 'number') {
|
|
301
300
|
return px;
|
|
302
301
|
}
|
|
303
|
-
|
|
304
302
|
if (typeof px === 'string') {
|
|
305
303
|
const parsed = Number.parseFloat(px);
|
|
306
|
-
|
|
307
304
|
if (!Number.isNaN(parsed)) {
|
|
308
305
|
return parsed;
|
|
309
306
|
}
|
|
310
307
|
}
|
|
311
|
-
|
|
312
308
|
return null;
|
|
313
309
|
};
|
|
314
310
|
const isAboutSame = (a, b, px) => Math.abs(a - b) <= px;
|
|
@@ -338,22 +334,18 @@ var messagesInitialState = {
|
|
|
338
334
|
const {
|
|
339
335
|
SUCCEEDED
|
|
340
336
|
} = index.getSendingMessageStatus();
|
|
341
|
-
|
|
342
337
|
const getOldestMessageTimeStamp = function () {
|
|
343
338
|
let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
344
339
|
const oldestMessage = messages[0];
|
|
345
340
|
return oldestMessage && oldestMessage.createdAt || null;
|
|
346
341
|
};
|
|
347
|
-
|
|
348
342
|
const getLatestMessageTimeStamp = function () {
|
|
349
343
|
let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
350
344
|
const latestMessage = messages[messages.length - 1];
|
|
351
345
|
return latestMessage && latestMessage.createdAt || null;
|
|
352
346
|
};
|
|
353
|
-
|
|
354
347
|
function reducer(state, action) {
|
|
355
348
|
var _state$currentGroupCh7, _action$payload, _action$payload$chann;
|
|
356
|
-
|
|
357
349
|
switch (action.type) {
|
|
358
350
|
case RESET_MESSAGES:
|
|
359
351
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -363,7 +355,6 @@ function reducer(state, action) {
|
|
|
363
355
|
hasMoreNext: false,
|
|
364
356
|
allMessages: []
|
|
365
357
|
});
|
|
366
|
-
|
|
367
358
|
case FETCH_INITIAL_MESSAGES_START:
|
|
368
359
|
{
|
|
369
360
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -371,20 +362,16 @@ function reducer(state, action) {
|
|
|
371
362
|
allMessages: [...state.allMessages.filter(m => m.sendingStatus !== SUCCEEDED)]
|
|
372
363
|
});
|
|
373
364
|
}
|
|
374
|
-
|
|
375
365
|
case FETCH_INITIAL_MESSAGES_SUCCESS:
|
|
376
366
|
{
|
|
377
367
|
var _state$currentGroupCh;
|
|
378
|
-
|
|
379
368
|
const {
|
|
380
369
|
currentGroupChannel,
|
|
381
370
|
messages
|
|
382
371
|
} = action.payload;
|
|
383
|
-
|
|
384
372
|
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
373
|
return state;
|
|
386
374
|
}
|
|
387
|
-
|
|
388
375
|
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
389
376
|
const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
|
|
390
377
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -397,23 +384,20 @@ function reducer(state, action) {
|
|
|
397
384
|
allMessages: [...messages]
|
|
398
385
|
});
|
|
399
386
|
}
|
|
400
|
-
|
|
401
387
|
case FETCH_PREV_MESSAGES_SUCCESS:
|
|
402
388
|
{
|
|
403
389
|
var _state$currentGroupCh2;
|
|
404
|
-
|
|
405
390
|
const {
|
|
406
391
|
currentGroupChannel,
|
|
407
392
|
messages
|
|
408
393
|
} = action.payload;
|
|
409
|
-
|
|
410
394
|
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
395
|
return state;
|
|
412
396
|
}
|
|
413
|
-
|
|
414
397
|
const hasMorePrev = messages && messages.length === _const.PREV_RESULT_SIZE + 1;
|
|
415
|
-
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
398
|
+
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
416
399
|
|
|
400
|
+
// Remove duplicated messages
|
|
417
401
|
const duplicatedMessageIds = [];
|
|
418
402
|
const updatedOldMessages = state.allMessages.map(msg => {
|
|
419
403
|
const duplicatedMessage = messages.find(_ref => {
|
|
@@ -422,11 +406,9 @@ function reducer(state, action) {
|
|
|
422
406
|
} = _ref;
|
|
423
407
|
return compareIds.compareIds(messageId, msg.messageId);
|
|
424
408
|
});
|
|
425
|
-
|
|
426
409
|
if (!duplicatedMessage) {
|
|
427
410
|
return msg;
|
|
428
411
|
}
|
|
429
|
-
|
|
430
412
|
duplicatedMessageIds.push(duplicatedMessage.messageId);
|
|
431
413
|
return duplicatedMessage.updatedAt > msg.updatedAt ? duplicatedMessage : msg;
|
|
432
414
|
});
|
|
@@ -437,61 +419,38 @@ function reducer(state, action) {
|
|
|
437
419
|
allMessages: [...filteredNewMessages, ...updatedOldMessages]
|
|
438
420
|
});
|
|
439
421
|
}
|
|
440
|
-
|
|
441
422
|
case FETCH_NEXT_MESSAGES_SUCCESS:
|
|
442
423
|
{
|
|
443
424
|
var _state$currentGroupCh3;
|
|
444
|
-
|
|
445
425
|
const {
|
|
446
426
|
currentGroupChannel,
|
|
447
427
|
messages
|
|
448
428
|
} = action.payload;
|
|
449
|
-
|
|
450
429
|
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
430
|
return state;
|
|
452
431
|
}
|
|
453
|
-
|
|
454
432
|
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
|
-
}
|
|
433
|
+
const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
|
|
469
434
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
});
|
|
473
|
-
const filteredNewMessages = duplicatedMessageIds.length > 0 ? messages.filter(msg => !duplicatedMessageIds.find(messageId => compareIds.compareIds(messageId, msg.messageId))) : messages;
|
|
435
|
+
// sort ~
|
|
436
|
+
const sortedMessages = mergeAndSortMessages(state.allMessages, messages);
|
|
474
437
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
475
438
|
hasMoreNext,
|
|
476
439
|
latestMessageTimeStamp,
|
|
477
|
-
allMessages:
|
|
440
|
+
allMessages: sortedMessages
|
|
478
441
|
});
|
|
479
442
|
}
|
|
480
|
-
|
|
481
443
|
case FETCH_INITIAL_MESSAGES_FAILURE:
|
|
482
444
|
case FETCH_PREV_MESSAGES_FAILURE:
|
|
483
445
|
case FETCH_NEXT_MESSAGES_FAILURE:
|
|
484
446
|
{
|
|
485
447
|
var _state$currentGroupCh4;
|
|
486
|
-
|
|
487
448
|
const {
|
|
488
449
|
currentGroupChannel
|
|
489
450
|
} = action.payload;
|
|
490
|
-
|
|
491
451
|
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
452
|
return state;
|
|
493
453
|
}
|
|
494
|
-
|
|
495
454
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
496
455
|
loading: false,
|
|
497
456
|
initialized: false,
|
|
@@ -502,12 +461,10 @@ function reducer(state, action) {
|
|
|
502
461
|
latestMessageTimeStamp: null
|
|
503
462
|
});
|
|
504
463
|
}
|
|
505
|
-
|
|
506
464
|
case SEND_MESSAGEGE_START:
|
|
507
465
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
508
466
|
allMessages: [...state.allMessages, _rollupPluginBabelHelpers._objectSpread2({}, action.payload)]
|
|
509
467
|
});
|
|
510
|
-
|
|
511
468
|
case SEND_MESSAGEGE_SUCESS:
|
|
512
469
|
{
|
|
513
470
|
const message = action.payload;
|
|
@@ -517,7 +474,6 @@ function reducer(state, action) {
|
|
|
517
474
|
allMessages: pendingIndex > -1 ? [...filteredMessages.slice(0, pendingIndex), message, ...filteredMessages.slice(pendingIndex)] : [...filteredMessages, message]
|
|
518
475
|
});
|
|
519
476
|
}
|
|
520
|
-
|
|
521
477
|
case SEND_MESSAGEGE_FAILURE:
|
|
522
478
|
{
|
|
523
479
|
// eslint-disable-next-line no-param-reassign
|
|
@@ -526,7 +482,6 @@ function reducer(state, action) {
|
|
|
526
482
|
allMessages: state.allMessages.map(m => compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
|
|
527
483
|
});
|
|
528
484
|
}
|
|
529
|
-
|
|
530
485
|
case SET_CURRENT_CHANNEL:
|
|
531
486
|
{
|
|
532
487
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -534,7 +489,6 @@ function reducer(state, action) {
|
|
|
534
489
|
isInvalid: false
|
|
535
490
|
});
|
|
536
491
|
}
|
|
537
|
-
|
|
538
492
|
case SET_CHANNEL_INVALID:
|
|
539
493
|
{
|
|
540
494
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -542,7 +496,6 @@ function reducer(state, action) {
|
|
|
542
496
|
isInvalid: true
|
|
543
497
|
});
|
|
544
498
|
}
|
|
545
|
-
|
|
546
499
|
case ON_MESSAGE_RECEIVED:
|
|
547
500
|
{
|
|
548
501
|
const {
|
|
@@ -560,57 +513,47 @@ function reducer(state, action) {
|
|
|
560
513
|
unreadSince
|
|
561
514
|
} = state;
|
|
562
515
|
const currentGroupChannelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
|
|
563
|
-
|
|
564
516
|
if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
|
|
565
517
|
return state;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
|
|
518
|
+
}
|
|
519
|
+
// Excluded overlapping messages
|
|
569
520
|
if (state.allMessages.some(msg => msg.messageId === message.messageId)) {
|
|
570
521
|
return state;
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
|
|
522
|
+
}
|
|
523
|
+
// Filter by userFilledQuery
|
|
574
524
|
if (state.messageListParams && !index.filterMessageListParams(state.messageListParams, message)) {
|
|
575
525
|
return state;
|
|
576
526
|
}
|
|
577
|
-
|
|
578
527
|
if (message.isAdminMessage && message.isAdminMessage()) {
|
|
579
528
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
580
529
|
allMessages: passUnsuccessfullMessages(state.allMessages, message)
|
|
581
530
|
});
|
|
582
|
-
}
|
|
583
|
-
|
|
531
|
+
}
|
|
584
532
|
|
|
533
|
+
// Update members when sender profileUrl, nickname, friendName has been changed
|
|
585
534
|
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
535
|
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
536
|
channel.members = members.map(member => {
|
|
589
537
|
if (member.userId === sender.userId) {
|
|
590
538
|
return sender;
|
|
591
539
|
}
|
|
592
|
-
|
|
593
540
|
return member;
|
|
594
541
|
});
|
|
595
542
|
}
|
|
596
|
-
|
|
597
543
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
598
544
|
currentGroupChannel: channel,
|
|
599
545
|
unreadSince: state !== null && state !== void 0 && state.unreadSince ? unreadSince : index$1.format(new Date(), 'p MMM dd'),
|
|
600
546
|
allMessages: passUnsuccessfullMessages(state.allMessages, message)
|
|
601
547
|
});
|
|
602
548
|
}
|
|
603
|
-
|
|
604
549
|
case ON_MESSAGE_UPDATED:
|
|
605
550
|
{
|
|
606
551
|
var _state$currentGroupCh5;
|
|
607
|
-
|
|
608
552
|
const {
|
|
609
553
|
channel,
|
|
610
554
|
message
|
|
611
555
|
} = action.payload;
|
|
612
556
|
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
557
|
if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
|
|
615
558
|
return state; // Ignore event when it is not for the current channel
|
|
616
559
|
}
|
|
@@ -621,13 +564,11 @@ function reducer(state, action) {
|
|
|
621
564
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.messageId, message === null || message === void 0 ? void 0 : message.messageId))
|
|
622
565
|
});
|
|
623
566
|
}
|
|
624
|
-
|
|
625
567
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
626
568
|
allMessages: state.allMessages.map(m => {
|
|
627
569
|
if (compareIds.compareIds(m.messageId, message.messageId)) {
|
|
628
570
|
return message;
|
|
629
571
|
}
|
|
630
|
-
|
|
631
572
|
if (compareIds.compareIds(m.parentMessageId, message.messageId)) {
|
|
632
573
|
m.parentMessage = message; // eslint-disable-line no-param-reassign
|
|
633
574
|
}
|
|
@@ -636,11 +577,9 @@ function reducer(state, action) {
|
|
|
636
577
|
})
|
|
637
578
|
});
|
|
638
579
|
}
|
|
639
|
-
|
|
640
580
|
case ON_MESSAGE_THREAD_INFO_UPDATED:
|
|
641
581
|
{
|
|
642
582
|
var _state$currentGroupCh6;
|
|
643
|
-
|
|
644
583
|
const {
|
|
645
584
|
channel,
|
|
646
585
|
event
|
|
@@ -651,7 +590,6 @@ function reducer(state, action) {
|
|
|
651
590
|
targetMessageId
|
|
652
591
|
} = event;
|
|
653
592
|
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
593
|
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
594
|
return state; // Ignore event when it is not for the current channel
|
|
657
595
|
}
|
|
@@ -667,38 +605,31 @@ function reducer(state, action) {
|
|
|
667
605
|
})
|
|
668
606
|
});
|
|
669
607
|
}
|
|
670
|
-
|
|
671
608
|
case RESEND_MESSAGEGE_START:
|
|
672
609
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
673
610
|
allMessages: state.allMessages.map(m => compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
|
|
674
611
|
});
|
|
675
|
-
|
|
676
612
|
case MARK_AS_READ:
|
|
677
613
|
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
614
|
return state;
|
|
679
615
|
}
|
|
680
|
-
|
|
681
616
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
682
617
|
unreadSince: null
|
|
683
618
|
});
|
|
684
|
-
|
|
685
619
|
case ON_MESSAGE_DELETED:
|
|
686
620
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
687
621
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.messageId, action.payload))
|
|
688
622
|
});
|
|
689
|
-
|
|
690
623
|
case ON_MESSAGE_DELETED_BY_REQ_ID:
|
|
691
624
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
692
625
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.reqId, action.payload))
|
|
693
626
|
});
|
|
694
|
-
|
|
695
627
|
case SET_EMOJI_CONTAINER:
|
|
696
628
|
{
|
|
697
629
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
698
630
|
emojiContainer: action.payload
|
|
699
631
|
});
|
|
700
632
|
}
|
|
701
|
-
|
|
702
633
|
case ON_REACTION_UPDATED:
|
|
703
634
|
{
|
|
704
635
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -707,86 +638,102 @@ function reducer(state, action) {
|
|
|
707
638
|
if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {
|
|
708
639
|
m.applyReactionEvent(action.payload);
|
|
709
640
|
}
|
|
710
|
-
|
|
711
641
|
return m;
|
|
712
642
|
}
|
|
713
|
-
|
|
714
643
|
return m;
|
|
715
644
|
})
|
|
716
645
|
});
|
|
717
646
|
}
|
|
718
|
-
|
|
719
647
|
case MESSAGE_LIST_PARAMS_CHANGED:
|
|
720
648
|
{
|
|
721
649
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
722
650
|
messageListParams: action.payload
|
|
723
651
|
});
|
|
724
652
|
}
|
|
725
|
-
|
|
726
653
|
default:
|
|
727
654
|
return state;
|
|
728
655
|
}
|
|
729
656
|
}
|
|
730
657
|
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
658
|
+
/**
|
|
659
|
+
* Handles ChannelEvents and send values to dispatcher using messagesDispatcher
|
|
660
|
+
* messagesDispatcher: Dispatcher
|
|
661
|
+
* sdk: sdkInstance
|
|
662
|
+
* logger: loggerInstance
|
|
663
|
+
* channelUrl: string
|
|
664
|
+
* sdkInit: bool
|
|
665
|
+
*/
|
|
666
|
+
|
|
667
|
+
const DELIVERY_RECIPT = 'delivery_receipt';
|
|
668
|
+
function useHandleChannelEvents(_ref, _ref2) {
|
|
669
|
+
var _store$stores$sdkStor, _store$stores$sdkStor2, _store$stores$sdkStor3;
|
|
670
|
+
let {
|
|
671
|
+
sdkInit,
|
|
672
|
+
currentUserId,
|
|
673
|
+
currentGroupChannel,
|
|
674
|
+
disableMarkAsRead
|
|
675
|
+
} = _ref;
|
|
676
|
+
let {
|
|
677
|
+
sdk,
|
|
678
|
+
logger,
|
|
679
|
+
scrollRef,
|
|
680
|
+
setQuoteMessage,
|
|
681
|
+
messagesDispatcher
|
|
682
|
+
} = _ref2;
|
|
683
|
+
const store = useSendbirdStateContext();
|
|
684
|
+
const {
|
|
685
|
+
markAsReadScheduler,
|
|
686
|
+
markAsDeliveredScheduler,
|
|
687
|
+
disableMarkAsDelivered
|
|
688
|
+
} = store.config;
|
|
689
|
+
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);
|
|
690
|
+
React.useEffect(() => {
|
|
691
|
+
const channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
|
|
692
|
+
const channelHandlerId = uuid.uuidv4();
|
|
748
693
|
if (channelUrl && sdkInit) {
|
|
749
|
-
var
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)
|
|
753
|
-
var
|
|
754
|
-
|
|
694
|
+
var _sdk$groupChannel;
|
|
695
|
+
const channelHandler = {
|
|
696
|
+
onMessageReceived: (channel, message) => {
|
|
697
|
+
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
698
|
+
var _document$getElementB, _document$getElementB2;
|
|
699
|
+
let scrollToEnd = false;
|
|
755
700
|
try {
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
701
|
+
const {
|
|
702
|
+
current
|
|
703
|
+
} = scrollRef;
|
|
704
|
+
scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight - 10;
|
|
705
|
+
// 10 is a buffer
|
|
706
|
+
} catch (error) {
|
|
707
|
+
//
|
|
759
708
|
}
|
|
760
|
-
|
|
761
709
|
logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);
|
|
762
710
|
messagesDispatcher({
|
|
763
711
|
type: ON_MESSAGE_RECEIVED,
|
|
764
712
|
payload: {
|
|
765
|
-
channel
|
|
766
|
-
message
|
|
713
|
+
channel,
|
|
714
|
+
message
|
|
767
715
|
}
|
|
768
716
|
});
|
|
769
|
-
|
|
770
|
-
|
|
717
|
+
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) {
|
|
718
|
+
// and !openContextMenu
|
|
771
719
|
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
|
-
|
|
720
|
+
setTimeout(() => {
|
|
779
721
|
scrollIntoLast(0, scrollRef);
|
|
780
722
|
});
|
|
723
|
+
if (!disableMarkAsRead) {
|
|
724
|
+
markAsReadScheduler.push(currentGroupChannel);
|
|
725
|
+
}
|
|
726
|
+
if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
|
|
727
|
+
markAsDeliveredScheduler.push(currentGroupChannel);
|
|
728
|
+
}
|
|
781
729
|
} catch (error) {
|
|
782
730
|
logger.warning('Channel | onMessageReceived | scroll to end failed');
|
|
783
731
|
}
|
|
784
732
|
}
|
|
785
733
|
}
|
|
786
734
|
},
|
|
787
|
-
onUnreadMemberStatusUpdated:
|
|
735
|
+
onUnreadMemberStatusUpdated: channel => {
|
|
788
736
|
logger.info('Channel | useHandleChannelEvents: onUnreadMemberStatusUpdated', channel);
|
|
789
|
-
|
|
790
737
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
791
738
|
messagesDispatcher({
|
|
792
739
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -795,7 +742,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
795
742
|
}
|
|
796
743
|
},
|
|
797
744
|
// before(onDeliveryReceiptUpdated)
|
|
798
|
-
onUndeliveredMemberStatusUpdated:
|
|
745
|
+
onUndeliveredMemberStatusUpdated: channel => {
|
|
799
746
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
800
747
|
logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);
|
|
801
748
|
messagesDispatcher({
|
|
@@ -804,33 +751,33 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
804
751
|
});
|
|
805
752
|
}
|
|
806
753
|
},
|
|
807
|
-
onMessageUpdated:
|
|
754
|
+
onMessageUpdated: (channel, message) => {
|
|
808
755
|
logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);
|
|
809
756
|
messagesDispatcher({
|
|
810
757
|
type: ON_MESSAGE_UPDATED,
|
|
811
758
|
payload: {
|
|
812
|
-
channel
|
|
813
|
-
message
|
|
759
|
+
channel,
|
|
760
|
+
message
|
|
814
761
|
}
|
|
815
762
|
});
|
|
816
763
|
},
|
|
817
|
-
onThreadInfoUpdated:
|
|
764
|
+
onThreadInfoUpdated: (channel, threadInfoUpdateEvent) => {
|
|
818
765
|
logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', {
|
|
819
|
-
channel
|
|
820
|
-
threadInfoUpdateEvent
|
|
766
|
+
channel,
|
|
767
|
+
threadInfoUpdateEvent
|
|
821
768
|
});
|
|
822
769
|
messagesDispatcher({
|
|
823
770
|
type: ON_MESSAGE_THREAD_INFO_UPDATED,
|
|
824
771
|
payload: {
|
|
825
|
-
channel
|
|
772
|
+
channel,
|
|
826
773
|
event: threadInfoUpdateEvent
|
|
827
774
|
}
|
|
828
775
|
});
|
|
829
776
|
},
|
|
830
|
-
onMessageDeleted:
|
|
777
|
+
onMessageDeleted: (channel, messageId) => {
|
|
831
778
|
logger.info('Channel | useHandleChannelEvents: onMessageDeleted', {
|
|
832
|
-
channel
|
|
833
|
-
messageId
|
|
779
|
+
channel,
|
|
780
|
+
messageId
|
|
834
781
|
});
|
|
835
782
|
setQuoteMessage(null);
|
|
836
783
|
messagesDispatcher({
|
|
@@ -838,17 +785,17 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
838
785
|
payload: messageId
|
|
839
786
|
});
|
|
840
787
|
},
|
|
841
|
-
onReactionUpdated:
|
|
788
|
+
onReactionUpdated: (channel, reactionEvent) => {
|
|
842
789
|
logger.info('Channel | useHandleChannelEvents: onReactionUpdated', {
|
|
843
|
-
channel
|
|
844
|
-
reactionEvent
|
|
790
|
+
channel,
|
|
791
|
+
reactionEvent
|
|
845
792
|
});
|
|
846
793
|
messagesDispatcher({
|
|
847
794
|
type: ON_REACTION_UPDATED,
|
|
848
795
|
payload: reactionEvent
|
|
849
796
|
});
|
|
850
797
|
},
|
|
851
|
-
onChannelChanged:
|
|
798
|
+
onChannelChanged: channel => {
|
|
852
799
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
853
800
|
logger.info('Channel | useHandleChannelEvents: onChannelChanged', channel);
|
|
854
801
|
messagesDispatcher({
|
|
@@ -857,7 +804,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
857
804
|
});
|
|
858
805
|
}
|
|
859
806
|
},
|
|
860
|
-
onChannelFrozen:
|
|
807
|
+
onChannelFrozen: channel => {
|
|
861
808
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
862
809
|
logger.info('Channel | useHandleChannelEvents: onChannelFrozen', channel);
|
|
863
810
|
messagesDispatcher({
|
|
@@ -866,7 +813,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
866
813
|
});
|
|
867
814
|
}
|
|
868
815
|
},
|
|
869
|
-
onChannelUnfrozen:
|
|
816
|
+
onChannelUnfrozen: channel => {
|
|
870
817
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
871
818
|
logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', channel);
|
|
872
819
|
messagesDispatcher({
|
|
@@ -875,11 +822,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
875
822
|
});
|
|
876
823
|
}
|
|
877
824
|
},
|
|
878
|
-
onUserMuted:
|
|
825
|
+
onUserMuted: (channel, user) => {
|
|
879
826
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
880
827
|
logger.info('Channel | useHandleChannelEvents: onUserMuted', {
|
|
881
|
-
channel
|
|
882
|
-
user
|
|
828
|
+
channel,
|
|
829
|
+
user
|
|
883
830
|
});
|
|
884
831
|
messagesDispatcher({
|
|
885
832
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -887,11 +834,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
887
834
|
});
|
|
888
835
|
}
|
|
889
836
|
},
|
|
890
|
-
onUserUnmuted:
|
|
837
|
+
onUserUnmuted: (channel, user) => {
|
|
891
838
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
892
839
|
logger.info('Channel | useHandleChannelEvents: onUserUnmuted', {
|
|
893
|
-
channel
|
|
894
|
-
user
|
|
840
|
+
channel,
|
|
841
|
+
user
|
|
895
842
|
});
|
|
896
843
|
messagesDispatcher({
|
|
897
844
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -899,13 +846,12 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
899
846
|
});
|
|
900
847
|
}
|
|
901
848
|
},
|
|
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)) {
|
|
849
|
+
onUserBanned: (channel, user) => {
|
|
850
|
+
var _sdk$currentUser;
|
|
851
|
+
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
852
|
logger.info('Channel | useHandleChannelEvents: onUserBanned', {
|
|
907
|
-
channel
|
|
908
|
-
user
|
|
853
|
+
channel,
|
|
854
|
+
user
|
|
909
855
|
});
|
|
910
856
|
messagesDispatcher({
|
|
911
857
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -913,11 +859,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
913
859
|
});
|
|
914
860
|
}
|
|
915
861
|
},
|
|
916
|
-
onOperatorUpdated:
|
|
862
|
+
onOperatorUpdated: (channel, users) => {
|
|
917
863
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
918
864
|
logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', {
|
|
919
|
-
channel
|
|
920
|
-
users
|
|
865
|
+
channel,
|
|
866
|
+
users
|
|
921
867
|
});
|
|
922
868
|
messagesDispatcher({
|
|
923
869
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -925,13 +871,12 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
925
871
|
});
|
|
926
872
|
}
|
|
927
873
|
},
|
|
928
|
-
onUserLeft:
|
|
874
|
+
onUserLeft: (channel, user) => {
|
|
929
875
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
930
876
|
logger.info('Channel | useHandleChannelEvents: onUserLeft', {
|
|
931
|
-
channel
|
|
932
|
-
user
|
|
877
|
+
channel,
|
|
878
|
+
user
|
|
933
879
|
});
|
|
934
|
-
|
|
935
880
|
if ((user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
|
|
936
881
|
messagesDispatcher({
|
|
937
882
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -942,20 +887,18 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
942
887
|
}
|
|
943
888
|
};
|
|
944
889
|
logger.info('Channel | useHandleChannelEvents: Setup event handler', {
|
|
945
|
-
channelHandlerId
|
|
946
|
-
channelHandler
|
|
947
|
-
});
|
|
948
|
-
|
|
949
|
-
(
|
|
890
|
+
channelHandlerId,
|
|
891
|
+
channelHandler
|
|
892
|
+
});
|
|
893
|
+
// Add this group channel handler to the Sendbird chat instance
|
|
894
|
+
(_sdk$groupChannel = sdk.groupChannel) === null || _sdk$groupChannel === void 0 ? void 0 : _sdk$groupChannel.addGroupChannelHandler(channelHandlerId, new groupChannel.GroupChannelHandler(channelHandler));
|
|
950
895
|
}
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
|
|
896
|
+
return () => {
|
|
897
|
+
var _sdk$groupChannel2;
|
|
898
|
+
if (sdk !== null && sdk !== void 0 && (_sdk$groupChannel2 = sdk.groupChannel) !== null && _sdk$groupChannel2 !== void 0 && _sdk$groupChannel2.removeGroupChannelHandler) {
|
|
956
899
|
logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
|
|
957
900
|
sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
|
|
958
|
-
} else if (sdk
|
|
901
|
+
} else if (sdk !== null && sdk !== void 0 && sdk.groupChannel) {
|
|
959
902
|
logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
|
|
960
903
|
}
|
|
961
904
|
};
|
|
@@ -971,7 +914,8 @@ function useSetChannel(_ref, _ref2) {
|
|
|
971
914
|
let {
|
|
972
915
|
messagesDispatcher,
|
|
973
916
|
sdk,
|
|
974
|
-
logger
|
|
917
|
+
logger,
|
|
918
|
+
markAsReadScheduler
|
|
975
919
|
} = _ref2;
|
|
976
920
|
React.useEffect(() => {
|
|
977
921
|
if (channelUrl && sdkInit && sdk && sdk.groupChannel) {
|
|
@@ -983,13 +927,8 @@ function useSetChannel(_ref, _ref2) {
|
|
|
983
927
|
payload: groupChannel
|
|
984
928
|
});
|
|
985
929
|
logger.info('Channel: Mark as read', groupChannel);
|
|
986
|
-
|
|
987
930
|
if (!disableMarkAsRead) {
|
|
988
|
-
|
|
989
|
-
try {
|
|
990
|
-
groupChannel.markAsRead();
|
|
991
|
-
} catch (_unused) {//
|
|
992
|
-
}
|
|
931
|
+
markAsReadScheduler.push(groupChannel);
|
|
993
932
|
}
|
|
994
933
|
}).catch(e => {
|
|
995
934
|
logger.warning('Channel | useSetChannel fetch channel failed', {
|
|
@@ -1033,30 +972,25 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1033
972
|
type: RESET_MESSAGES,
|
|
1034
973
|
payload: null
|
|
1035
974
|
});
|
|
1036
|
-
|
|
1037
975
|
if (currentGroupChannel && currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.getMessagesByTimestamp) {
|
|
1038
976
|
const messageListParams = {};
|
|
1039
977
|
messageListParams.prevResultSize = _const.PREV_RESULT_SIZE;
|
|
1040
|
-
|
|
1041
978
|
if (initialTimeStamp) {
|
|
1042
979
|
messageListParams.nextResultSize = _const.NEXT_RESULT_SIZE;
|
|
1043
980
|
}
|
|
1044
|
-
|
|
1045
981
|
messageListParams.isInclusive = true;
|
|
1046
982
|
messageListParams.includeReactions = true;
|
|
1047
|
-
|
|
983
|
+
messageListParams.includeMetaArray = true;
|
|
1048
984
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
|
|
1049
985
|
messageListParams.includeThreadInfo = true;
|
|
1050
986
|
messageListParams.includeParentMessageInfo = true;
|
|
1051
987
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1052
988
|
}
|
|
1053
|
-
|
|
1054
989
|
if (userFilledMessageListQuery) {
|
|
1055
990
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1056
991
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1057
992
|
});
|
|
1058
993
|
}
|
|
1059
|
-
|
|
1060
994
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') || userFilledMessageListQuery) {
|
|
1061
995
|
logger.info('Channel useInitialMessagesFetch: Setup messageListParams', messageListParams);
|
|
1062
996
|
messagesDispatcher({
|
|
@@ -1064,7 +998,6 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1064
998
|
payload: messageListParams
|
|
1065
999
|
});
|
|
1066
1000
|
}
|
|
1067
|
-
|
|
1068
1001
|
logger.info('Channel: Fetching messages', {
|
|
1069
1002
|
currentGroupChannel,
|
|
1070
1003
|
userFilledMessageListQuery
|
|
@@ -1092,6 +1025,10 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1092
1025
|
}).finally(() => {
|
|
1093
1026
|
if (!initialTimeStamp) {
|
|
1094
1027
|
setTimeout(() => scrollIntoLast(0, scrollRef));
|
|
1028
|
+
} else {
|
|
1029
|
+
setTimeout(() => {
|
|
1030
|
+
scrollToRenderedMessage(scrollRef, initialTimeStamp);
|
|
1031
|
+
}, 500);
|
|
1095
1032
|
}
|
|
1096
1033
|
});
|
|
1097
1034
|
}
|
|
@@ -1106,82 +1043,75 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1106
1043
|
*/
|
|
1107
1044
|
}
|
|
1108
1045
|
|
|
1109
|
-
function useHandleReconnect(
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1046
|
+
function useHandleReconnect(_ref, _ref2) {
|
|
1047
|
+
let {
|
|
1048
|
+
isOnline,
|
|
1049
|
+
replyType,
|
|
1050
|
+
disableMarkAsRead
|
|
1051
|
+
} = _ref;
|
|
1052
|
+
let {
|
|
1053
|
+
logger,
|
|
1054
|
+
sdk,
|
|
1055
|
+
scrollRef,
|
|
1056
|
+
currentGroupChannel,
|
|
1057
|
+
messagesDispatcher,
|
|
1058
|
+
markAsReadScheduler,
|
|
1059
|
+
userFilledMessageListQuery
|
|
1060
|
+
} = _ref2;
|
|
1061
|
+
React.useEffect(() => {
|
|
1062
|
+
const wasOffline = !isOnline;
|
|
1063
|
+
return () => {
|
|
1064
|
+
// state changed from offline to online
|
|
1065
|
+
if (wasOffline && currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.url) {
|
|
1066
|
+
var _sdk$appInfo, _sdk$groupChannel;
|
|
1126
1067
|
logger.info('Refreshing conversation state');
|
|
1127
|
-
|
|
1128
|
-
|
|
1068
|
+
const isReactionEnabled = (sdk === null || sdk === void 0 ? void 0 : (_sdk$appInfo = sdk.appInfo) === null || _sdk$appInfo === void 0 ? void 0 : _sdk$appInfo.useReaction) || false;
|
|
1069
|
+
const messageListParams = {
|
|
1129
1070
|
prevResultSize: _const.PREV_RESULT_SIZE,
|
|
1130
1071
|
isInclusive: true,
|
|
1131
1072
|
includeReactions: isReactionEnabled,
|
|
1132
1073
|
nextResultSize: _const.NEXT_RESULT_SIZE
|
|
1133
1074
|
};
|
|
1134
|
-
|
|
1135
1075
|
if (replyType && replyType === 'QUOTE_REPLY') {
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1076
|
+
messageListParams.includeThreadInfo = true;
|
|
1077
|
+
messageListParams.includeParentMessageInfo = true;
|
|
1078
|
+
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1139
1079
|
}
|
|
1140
|
-
|
|
1141
1080
|
if (userFilledMessageListQuery) {
|
|
1142
|
-
Object.keys(userFilledMessageListQuery).forEach(
|
|
1143
|
-
|
|
1081
|
+
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1082
|
+
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1144
1083
|
});
|
|
1145
1084
|
}
|
|
1146
|
-
|
|
1147
1085
|
logger.info('Channel: Fetching messages', {
|
|
1148
|
-
currentGroupChannel
|
|
1149
|
-
userFilledMessageListQuery
|
|
1086
|
+
currentGroupChannel,
|
|
1087
|
+
userFilledMessageListQuery
|
|
1150
1088
|
});
|
|
1151
1089
|
messagesDispatcher({
|
|
1152
1090
|
type: FETCH_INITIAL_MESSAGES_START,
|
|
1153
1091
|
payload: null
|
|
1154
1092
|
});
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
var lastMessageTime = new Date().getTime();
|
|
1159
|
-
groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams_1).then(function (messages) {
|
|
1093
|
+
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 => {
|
|
1094
|
+
const lastMessageTime = new Date().getTime();
|
|
1095
|
+
groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams).then(messages => {
|
|
1160
1096
|
messagesDispatcher({
|
|
1161
1097
|
type: FETCH_INITIAL_MESSAGES_SUCCESS,
|
|
1162
1098
|
payload: {
|
|
1163
|
-
currentGroupChannel
|
|
1164
|
-
messages
|
|
1099
|
+
currentGroupChannel,
|
|
1100
|
+
messages
|
|
1165
1101
|
}
|
|
1166
1102
|
});
|
|
1167
|
-
setTimeout(
|
|
1168
|
-
|
|
1169
|
-
});
|
|
1170
|
-
}).catch(function (error) {
|
|
1103
|
+
setTimeout(() => scrollIntoLast(0, scrollRef));
|
|
1104
|
+
}).catch(error => {
|
|
1171
1105
|
logger.error('Channel: Fetching messages failed', error);
|
|
1172
1106
|
messagesDispatcher({
|
|
1173
1107
|
type: FETCH_INITIAL_MESSAGES_FAILURE,
|
|
1174
1108
|
payload: {
|
|
1175
|
-
currentGroupChannel
|
|
1109
|
+
currentGroupChannel
|
|
1176
1110
|
}
|
|
1177
1111
|
});
|
|
1178
1112
|
});
|
|
1179
|
-
|
|
1180
1113
|
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
|
-
}
|
|
1114
|
+
markAsReadScheduler.push(currentGroupChannel);
|
|
1185
1115
|
}
|
|
1186
1116
|
});
|
|
1187
1117
|
}
|
|
@@ -1206,7 +1136,6 @@ function useScrollCallback(_ref, _ref2) {
|
|
|
1206
1136
|
if (!hasMorePrev) {
|
|
1207
1137
|
return;
|
|
1208
1138
|
}
|
|
1209
|
-
|
|
1210
1139
|
const {
|
|
1211
1140
|
appInfo = {}
|
|
1212
1141
|
} = sdk;
|
|
@@ -1216,19 +1145,17 @@ function useScrollCallback(_ref, _ref2) {
|
|
|
1216
1145
|
isInclusive: true,
|
|
1217
1146
|
includeReactions: isReactionEnabled
|
|
1218
1147
|
};
|
|
1219
|
-
|
|
1148
|
+
messageListParams.includeMetaArray = true;
|
|
1220
1149
|
if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {
|
|
1221
1150
|
messageListParams.includeThreadInfo = true;
|
|
1222
1151
|
messageListParams.includeParentMessageInfo = true;
|
|
1223
1152
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1224
1153
|
}
|
|
1225
|
-
|
|
1226
1154
|
if (userFilledMessageListQuery) {
|
|
1227
1155
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1228
1156
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1229
1157
|
});
|
|
1230
1158
|
}
|
|
1231
|
-
|
|
1232
1159
|
logger.info('Channel: Fetching messages', {
|
|
1233
1160
|
currentGroupChannel,
|
|
1234
1161
|
userFilledMessageListQuery
|
|
@@ -1272,7 +1199,6 @@ function useScrollDownCallback(_ref, _ref2) {
|
|
|
1272
1199
|
if (!hasMoreNext) {
|
|
1273
1200
|
return;
|
|
1274
1201
|
}
|
|
1275
|
-
|
|
1276
1202
|
const {
|
|
1277
1203
|
appInfo = {}
|
|
1278
1204
|
} = sdk;
|
|
@@ -1282,19 +1208,17 @@ function useScrollDownCallback(_ref, _ref2) {
|
|
|
1282
1208
|
isInclusive: true,
|
|
1283
1209
|
includeReactions: isReactionEnabled
|
|
1284
1210
|
};
|
|
1285
|
-
|
|
1211
|
+
messageListParams.includeMetaArray = true;
|
|
1286
1212
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
|
|
1287
1213
|
messageListParams.includeThreadInfo = true;
|
|
1288
1214
|
messageListParams.includeParentMessageInfo = true;
|
|
1289
1215
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1290
1216
|
}
|
|
1291
|
-
|
|
1292
1217
|
if (userFilledMessageListQuery) {
|
|
1293
1218
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1294
1219
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1295
1220
|
});
|
|
1296
1221
|
}
|
|
1297
|
-
|
|
1298
1222
|
logger.info('Channel: Fetching later messages', {
|
|
1299
1223
|
currentGroupChannel,
|
|
1300
1224
|
userFilledMessageListQuery
|
|
@@ -1335,8 +1259,8 @@ function useDeleteMessageCallback(_ref, _ref2) {
|
|
|
1335
1259
|
requestState
|
|
1336
1260
|
} = message;
|
|
1337
1261
|
return new Promise((resolve, reject) => {
|
|
1338
|
-
logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);
|
|
1339
|
-
|
|
1262
|
+
logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);
|
|
1263
|
+
// Message is only on local
|
|
1340
1264
|
if (requestState === 'failed' || requestState === 'pending') {
|
|
1341
1265
|
logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);
|
|
1342
1266
|
messagesDispatcher({
|
|
@@ -1345,7 +1269,6 @@ function useDeleteMessageCallback(_ref, _ref2) {
|
|
|
1345
1269
|
});
|
|
1346
1270
|
resolve(message);
|
|
1347
1271
|
}
|
|
1348
|
-
|
|
1349
1272
|
logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);
|
|
1350
1273
|
currentGroupChannel.deleteMessage(message).then(() => {
|
|
1351
1274
|
logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);
|
|
@@ -1380,37 +1303,29 @@ function useUpdateMessageCallback(_ref, _ref2) {
|
|
|
1380
1303
|
mentionedUsers,
|
|
1381
1304
|
mentionTemplate
|
|
1382
1305
|
} = props;
|
|
1383
|
-
|
|
1384
1306
|
const createParamsDefault = () => {
|
|
1385
1307
|
const params = {};
|
|
1386
1308
|
params.message = message;
|
|
1387
|
-
|
|
1388
1309
|
if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1389
1310
|
params.mentionedUsers = mentionedUsers;
|
|
1390
1311
|
}
|
|
1391
|
-
|
|
1392
1312
|
if (isMentionEnabled && mentionTemplate) {
|
|
1393
1313
|
params.mentionedMessageTemplate = mentionTemplate;
|
|
1394
1314
|
} else {
|
|
1395
1315
|
params.mentionedMessageTemplate = message;
|
|
1396
1316
|
}
|
|
1397
|
-
|
|
1398
1317
|
return params;
|
|
1399
1318
|
};
|
|
1400
|
-
|
|
1401
1319
|
const createCustomPrams = onBeforeUpdateUserMessage && typeof onBeforeUpdateUserMessage === 'function';
|
|
1402
|
-
|
|
1403
1320
|
if (createCustomPrams) {
|
|
1404
1321
|
logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
|
|
1405
1322
|
}
|
|
1406
|
-
|
|
1407
1323
|
const params = onBeforeUpdateUserMessage ? onBeforeUpdateUserMessage(message) : createParamsDefault();
|
|
1408
1324
|
logger.info('Channel: Updating message!', params);
|
|
1409
1325
|
currentGroupChannel.updateUserMessage(messageId, params).then((msg, err) => {
|
|
1410
1326
|
if (callback) {
|
|
1411
1327
|
callback(err, msg);
|
|
1412
1328
|
}
|
|
1413
|
-
|
|
1414
1329
|
logger.info('Channel: Updating message success!', msg);
|
|
1415
1330
|
messagesDispatcher({
|
|
1416
1331
|
type: ON_MESSAGE_UPDATED,
|
|
@@ -1419,7 +1334,7 @@ function useUpdateMessageCallback(_ref, _ref2) {
|
|
|
1419
1334
|
message: msg
|
|
1420
1335
|
}
|
|
1421
1336
|
});
|
|
1422
|
-
pubSub.publish(topics.UPDATE_USER_MESSAGE, {
|
|
1337
|
+
pubSub.publish(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, {
|
|
1423
1338
|
message: msg,
|
|
1424
1339
|
channel: currentGroupChannel
|
|
1425
1340
|
});
|
|
@@ -1441,18 +1356,18 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1441
1356
|
messageType,
|
|
1442
1357
|
file
|
|
1443
1358
|
} = failedMessage;
|
|
1444
|
-
|
|
1445
1359
|
if (failedMessage !== null && failedMessage !== void 0 && failedMessage.isResendable) {
|
|
1446
1360
|
// Move the logic setting sendingStatus to pending into the reducer
|
|
1447
1361
|
// eslint-disable-next-line no-param-reassign
|
|
1448
|
-
failedMessage.requestState = 'pending';
|
|
1449
|
-
|
|
1362
|
+
failedMessage.requestState = 'pending';
|
|
1363
|
+
// eslint-disable-next-line no-param-reassign
|
|
1450
1364
|
failedMessage.sendingStatus = 'pending';
|
|
1451
1365
|
messagesDispatcher({
|
|
1452
1366
|
type: RESEND_MESSAGEGE_START,
|
|
1453
1367
|
payload: failedMessage
|
|
1454
|
-
});
|
|
1368
|
+
});
|
|
1455
1369
|
|
|
1370
|
+
// userMessage
|
|
1456
1371
|
if (messageType === 'user') {
|
|
1457
1372
|
currentGroupChannel.resendUserMessage(failedMessage).then(message => {
|
|
1458
1373
|
logger.info('Channel: Resending message success!', message);
|
|
@@ -1461,19 +1376,20 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1461
1376
|
payload: message
|
|
1462
1377
|
});
|
|
1463
1378
|
}).catch(e => {
|
|
1464
|
-
logger.warning('Channel: Resending message failed!', e);
|
|
1465
|
-
|
|
1466
|
-
failedMessage.requestState = 'failed';
|
|
1467
|
-
|
|
1379
|
+
logger.warning('Channel: Resending message failed!', e);
|
|
1380
|
+
// eslint-disable-next-line no-param-reassign
|
|
1381
|
+
failedMessage.requestState = 'failed';
|
|
1382
|
+
// eslint-disable-next-line no-param-reassign
|
|
1468
1383
|
failedMessage.sendingStatus = 'failed';
|
|
1469
1384
|
messagesDispatcher({
|
|
1470
1385
|
type: SEND_MESSAGEGE_FAILURE,
|
|
1471
1386
|
payload: failedMessage
|
|
1472
1387
|
});
|
|
1473
|
-
});
|
|
1474
|
-
|
|
1475
|
-
failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
|
|
1388
|
+
});
|
|
1476
1389
|
|
|
1390
|
+
// eslint-disable-next-line no-param-reassign
|
|
1391
|
+
failedMessage.requestState = 'pending';
|
|
1392
|
+
// eslint-disable-next-line no-param-reassign
|
|
1477
1393
|
failedMessage.sendingStatus = 'pending';
|
|
1478
1394
|
messagesDispatcher({
|
|
1479
1395
|
type: RESEND_MESSAGEGE_START,
|
|
@@ -1481,7 +1397,6 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1481
1397
|
});
|
|
1482
1398
|
return;
|
|
1483
1399
|
}
|
|
1484
|
-
|
|
1485
1400
|
if (messageType === 'file') {
|
|
1486
1401
|
currentGroupChannel.resendFileMessage(failedMessage, file).then(message => {
|
|
1487
1402
|
logger.info('Channel: Resending file message success!', message);
|
|
@@ -1490,19 +1405,20 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1490
1405
|
payload: message
|
|
1491
1406
|
});
|
|
1492
1407
|
}).catch(e => {
|
|
1493
|
-
logger.warning('Channel: Resending file message failed!', e);
|
|
1494
|
-
|
|
1495
|
-
failedMessage.requestState = 'failed';
|
|
1496
|
-
|
|
1408
|
+
logger.warning('Channel: Resending file message failed!', e);
|
|
1409
|
+
// eslint-disable-next-line no-param-reassign
|
|
1410
|
+
failedMessage.requestState = 'failed';
|
|
1411
|
+
// eslint-disable-next-line no-param-reassign
|
|
1497
1412
|
failedMessage.sendingStatus = 'failed';
|
|
1498
1413
|
messagesDispatcher({
|
|
1499
1414
|
type: SEND_MESSAGEGE_FAILURE,
|
|
1500
1415
|
payload: failedMessage
|
|
1501
1416
|
});
|
|
1502
|
-
});
|
|
1503
|
-
|
|
1504
|
-
failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
|
|
1417
|
+
});
|
|
1505
1418
|
|
|
1419
|
+
// eslint-disable-next-line no-param-reassign
|
|
1420
|
+
failedMessage.requestState = 'pending';
|
|
1421
|
+
// eslint-disable-next-line no-param-reassign
|
|
1506
1422
|
failedMessage.sendingStatus = 'pending';
|
|
1507
1423
|
messagesDispatcher({
|
|
1508
1424
|
type: RESEND_MESSAGEGE_START,
|
|
@@ -1539,39 +1455,32 @@ function useSendMessageCallback(_ref, _ref2) {
|
|
|
1539
1455
|
// mentionedUserIds,
|
|
1540
1456
|
mentionedUsers
|
|
1541
1457
|
} = props;
|
|
1542
|
-
|
|
1543
1458
|
const createParamsDefault = () => {
|
|
1544
1459
|
const params = {};
|
|
1545
|
-
params.message =
|
|
1546
|
-
|
|
1460
|
+
params.message = message;
|
|
1461
|
+
// if (isMentionEnabled && mentionedUserIds?.length > 0) {
|
|
1547
1462
|
if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1548
1463
|
// params.mentionedUserIds = mentionedUserIds;
|
|
1549
1464
|
params.mentionedUsers = mentionedUsers;
|
|
1550
|
-
}
|
|
1551
|
-
|
|
1552
|
-
|
|
1465
|
+
}
|
|
1466
|
+
// if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {
|
|
1553
1467
|
if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1554
|
-
params.mentionedMessageTemplate =
|
|
1468
|
+
params.mentionedMessageTemplate = mentionTemplate;
|
|
1555
1469
|
}
|
|
1556
|
-
|
|
1557
1470
|
if (quoteMessage) {
|
|
1558
1471
|
params.isReplyToChannel = true;
|
|
1559
1472
|
params.parentMessageId = quoteMessage.messageId;
|
|
1560
1473
|
}
|
|
1561
|
-
|
|
1562
1474
|
return params;
|
|
1563
1475
|
};
|
|
1564
|
-
|
|
1565
1476
|
const createCustomPrams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
|
|
1566
|
-
|
|
1567
1477
|
if (createCustomPrams) {
|
|
1568
1478
|
logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
|
|
1569
1479
|
}
|
|
1570
|
-
|
|
1571
1480
|
const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(message, quoteMessage) : createParamsDefault();
|
|
1572
1481
|
logger.info('Channel: Sending message has started', params);
|
|
1573
1482
|
currentGroupChannel.sendUserMessage(params).onPending(pendingMsg => {
|
|
1574
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1483
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1575
1484
|
/* pubSub is used instead of messagesDispatcher
|
|
1576
1485
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1577
1486
|
message: pendingMsg,
|
|
@@ -1619,44 +1528,39 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1619
1528
|
} = imageCompression;
|
|
1620
1529
|
const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
|
|
1621
1530
|
const compressibleFileType = file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg';
|
|
1622
|
-
const compressibleRatio = compressionRate > 0 && compressionRate < 1;
|
|
1623
|
-
|
|
1531
|
+
const compressibleRatio = compressionRate > 0 && compressionRate < 1;
|
|
1532
|
+
// pxToNumber returns null if values are invalid
|
|
1624
1533
|
const compressibleDiamensions = pxToNumber(resizingWidth) || pxToNumber(resizingHeight);
|
|
1625
1534
|
const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);
|
|
1626
|
-
|
|
1627
1535
|
const createParamsDefault = file_ => {
|
|
1628
1536
|
const params = {};
|
|
1629
1537
|
params.file = file_;
|
|
1630
|
-
|
|
1631
1538
|
if (quoteMessage) {
|
|
1632
1539
|
params.isReplyToChannel = true;
|
|
1633
1540
|
params.parentMessageId = quoteMessage.messageId;
|
|
1634
1541
|
}
|
|
1635
|
-
|
|
1636
1542
|
return params;
|
|
1637
1543
|
};
|
|
1638
|
-
|
|
1639
1544
|
if (canCompressImage) {
|
|
1640
1545
|
// Using image compression
|
|
1641
1546
|
try {
|
|
1642
1547
|
const image = document.createElement('img');
|
|
1643
1548
|
image.src = URL.createObjectURL(file);
|
|
1644
|
-
|
|
1645
1549
|
image.onload = () => {
|
|
1646
1550
|
URL.revokeObjectURL(image.src);
|
|
1647
1551
|
const canvas = document.createElement('canvas');
|
|
1648
1552
|
const imageWdith = image.naturalWidth || image.width;
|
|
1649
1553
|
const imageHeight = image.naturalHeight || image.height;
|
|
1650
1554
|
let targetWidth = pxToNumber(resizingWidth) || imageWdith;
|
|
1651
|
-
let targetHeight = pxToNumber(resizingHeight) || imageHeight;
|
|
1555
|
+
let targetHeight = pxToNumber(resizingHeight) || imageHeight;
|
|
1556
|
+
|
|
1557
|
+
// In canvas.toBlob(callback, mimeType, qualityArgument)
|
|
1652
1558
|
// qualityArgument doesnt work
|
|
1653
1559
|
// so in case compressibleDiamensions are not present, we use ratio
|
|
1654
|
-
|
|
1655
1560
|
if (file.type === 'image/png' && !compressibleDiamensions) {
|
|
1656
1561
|
targetWidth *= compressionRate;
|
|
1657
1562
|
targetHeight *= compressionRate;
|
|
1658
1563
|
}
|
|
1659
|
-
|
|
1660
1564
|
canvas.width = targetWidth;
|
|
1661
1565
|
canvas.height = targetHeight;
|
|
1662
1566
|
const context = canvas.getContext('2d');
|
|
@@ -1665,15 +1569,13 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1665
1569
|
const compressedFile = new File([newImageBlob], file.name, {
|
|
1666
1570
|
type: file.type
|
|
1667
1571
|
});
|
|
1668
|
-
|
|
1669
1572
|
if (createCustomParams) {
|
|
1670
1573
|
logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
|
|
1671
1574
|
}
|
|
1672
|
-
|
|
1673
1575
|
const params = createCustomParams ? onBeforeSendFileMessage(compressedFile, quoteMessage) : createParamsDefault(compressedFile);
|
|
1674
1576
|
logger.info('Channel: Uploading file message start!', params);
|
|
1675
1577
|
currentGroupChannel.sendFileMessage(params).onPending(pendingMessage => {
|
|
1676
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1578
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1677
1579
|
/* pubSub is used instead of messagesDispatcher
|
|
1678
1580
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1679
1581
|
message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMessage), {}, {
|
|
@@ -1688,10 +1590,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1688
1590
|
logger.error('Channel: Sending file message failed!', {
|
|
1689
1591
|
failedMessage,
|
|
1690
1592
|
err
|
|
1691
|
-
});
|
|
1692
|
-
|
|
1693
|
-
failedMessage.localUrl = URL.createObjectURL(compressedFile);
|
|
1694
|
-
|
|
1593
|
+
});
|
|
1594
|
+
// eslint-disable-next-line no-param-reassign
|
|
1595
|
+
failedMessage.localUrl = URL.createObjectURL(compressedFile);
|
|
1596
|
+
// eslint-disable-next-line no-param-reassign
|
|
1695
1597
|
failedMessage.file = compressedFile;
|
|
1696
1598
|
messagesDispatcher({
|
|
1697
1599
|
type: SEND_MESSAGEGE_FAILURE,
|
|
@@ -1714,11 +1616,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1714
1616
|
if (createCustomParams) {
|
|
1715
1617
|
logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
|
|
1716
1618
|
}
|
|
1717
|
-
|
|
1718
1619
|
const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file, quoteMessage) : createParamsDefault(file);
|
|
1719
1620
|
logger.info('Channel: Uploading file message start!', params);
|
|
1720
1621
|
currentGroupChannel.sendFileMessage(params).onPending(pendingMsg => {
|
|
1721
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1622
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1722
1623
|
/* pubSub is used instead of messagesDispatcher
|
|
1723
1624
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1724
1625
|
message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMsg), {}, {
|
|
@@ -1733,10 +1634,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1733
1634
|
logger.error('Channel: Sending file message failed!', {
|
|
1734
1635
|
message,
|
|
1735
1636
|
error
|
|
1736
|
-
});
|
|
1737
|
-
|
|
1738
|
-
message.localUrl = URL.createObjectURL(file);
|
|
1739
|
-
|
|
1637
|
+
});
|
|
1638
|
+
// eslint-disable-next-line no-param-reassign
|
|
1639
|
+
message.localUrl = URL.createObjectURL(file);
|
|
1640
|
+
// eslint-disable-next-line no-param-reassign
|
|
1740
1641
|
message.file = file;
|
|
1741
1642
|
messagesDispatcher({
|
|
1742
1643
|
type: SEND_MESSAGEGE_FAILURE,
|
|
@@ -1754,64 +1655,6 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1754
1655
|
return [sendMessage];
|
|
1755
1656
|
}
|
|
1756
1657
|
|
|
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
1658
|
function useToggleReactionCallback(_ref, _ref2) {
|
|
1816
1659
|
let {
|
|
1817
1660
|
currentGroupChannel
|
|
@@ -1828,7 +1671,6 @@ function useToggleReactionCallback(_ref, _ref2) {
|
|
|
1828
1671
|
});
|
|
1829
1672
|
return;
|
|
1830
1673
|
}
|
|
1831
|
-
|
|
1832
1674
|
currentGroupChannel.addReaction(message, key).then(res => {
|
|
1833
1675
|
logger.info('Add reaction success', res);
|
|
1834
1676
|
}).catch(err => {
|
|
@@ -1837,20 +1679,24 @@ function useToggleReactionCallback(_ref, _ref2) {
|
|
|
1837
1679
|
}, [currentGroupChannel]);
|
|
1838
1680
|
}
|
|
1839
1681
|
|
|
1840
|
-
function useScrollToMessage(
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1682
|
+
function useScrollToMessage(_ref, _ref2) {
|
|
1683
|
+
let {
|
|
1684
|
+
setInitialTimeStamp,
|
|
1685
|
+
setAnimatedMessageId,
|
|
1686
|
+
allMessages,
|
|
1687
|
+
scrollRef
|
|
1688
|
+
} = _ref;
|
|
1689
|
+
let {
|
|
1690
|
+
logger
|
|
1691
|
+
} = _ref2;
|
|
1692
|
+
return React.useCallback((createdAt, messageId) => {
|
|
1693
|
+
const isPresent = allMessages.find(m => m.messageId === messageId);
|
|
1849
1694
|
setAnimatedMessageId(null);
|
|
1850
|
-
setTimeout(
|
|
1695
|
+
setTimeout(() => {
|
|
1851
1696
|
if (isPresent) {
|
|
1852
1697
|
logger.info('Channel: scroll to message - message is present');
|
|
1853
1698
|
setAnimatedMessageId(messageId);
|
|
1699
|
+
scrollToRenderedMessage(scrollRef, createdAt);
|
|
1854
1700
|
} else {
|
|
1855
1701
|
logger.info('Channel: scroll to message - fetching older messages');
|
|
1856
1702
|
setInitialTimeStamp(null);
|
|
@@ -1861,339 +1707,390 @@ function useScrollToMessage(_a, _b) {
|
|
|
1861
1707
|
}, [setInitialTimeStamp, setAnimatedMessageId, allMessages]);
|
|
1862
1708
|
}
|
|
1863
1709
|
|
|
1864
|
-
|
|
1710
|
+
const useSendVoiceMessageCallback = (_ref, _ref2) => {
|
|
1711
|
+
let {
|
|
1712
|
+
currentGroupChannel,
|
|
1713
|
+
onBeforeSendVoiceMessage
|
|
1714
|
+
} = _ref;
|
|
1715
|
+
let {
|
|
1716
|
+
logger,
|
|
1717
|
+
pubSub,
|
|
1718
|
+
scrollRef,
|
|
1719
|
+
messagesDispatcher
|
|
1720
|
+
} = _ref2;
|
|
1721
|
+
const sendMessage = React.useCallback((file, duration, quoteMessage) => {
|
|
1722
|
+
const messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
|
|
1723
|
+
file,
|
|
1724
|
+
fileName: consts.VOICE_MESSAGE_FILE_NAME,
|
|
1725
|
+
mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
|
|
1726
|
+
metaArrays: [new message.MessageMetaArray({
|
|
1727
|
+
key: consts.META_ARRAY_VOICE_DURATION_KEY,
|
|
1728
|
+
value: [`${duration}`]
|
|
1729
|
+
}), new message.MessageMetaArray({
|
|
1730
|
+
key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
|
|
1731
|
+
value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE]
|
|
1732
|
+
})]
|
|
1733
|
+
};
|
|
1734
|
+
if (quoteMessage) {
|
|
1735
|
+
messageParams.isReplyToChannel = true;
|
|
1736
|
+
messageParams.parentMessageId = quoteMessage.messageId;
|
|
1737
|
+
}
|
|
1738
|
+
logger.info('Channel: Start sending voice message', messageParams);
|
|
1739
|
+
currentGroupChannel.sendFileMessage(messageParams).onPending(pendingMessage => {
|
|
1740
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1741
|
+
/* pubSub is used instead of messagesDispatcher
|
|
1742
|
+
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1743
|
+
message: pendingMessage,
|
|
1744
|
+
channel: currentGroupChannel
|
|
1745
|
+
});
|
|
1746
|
+
setTimeout(() => scrollIntoLast(0, scrollRef), 1000);
|
|
1747
|
+
}).onFailed((err, failedMessage) => {
|
|
1748
|
+
logger.error('Channel: Sending voice message failed!', {
|
|
1749
|
+
failedMessage,
|
|
1750
|
+
err
|
|
1751
|
+
});
|
|
1752
|
+
messagesDispatcher({
|
|
1753
|
+
type: SEND_MESSAGEGE_FAILURE,
|
|
1754
|
+
payload: failedMessage
|
|
1755
|
+
});
|
|
1756
|
+
}).onSucceeded(succeededMessage => {
|
|
1757
|
+
logger.info('Channel: Sending voice message success!', succeededMessage);
|
|
1758
|
+
messagesDispatcher({
|
|
1759
|
+
type: SEND_MESSAGEGE_SUCESS,
|
|
1760
|
+
payload: succeededMessage
|
|
1761
|
+
});
|
|
1762
|
+
});
|
|
1763
|
+
}, [currentGroupChannel, onBeforeSendVoiceMessage]);
|
|
1764
|
+
return [sendMessage];
|
|
1765
|
+
};
|
|
1865
1766
|
|
|
1866
|
-
|
|
1767
|
+
let ThreadReplySelectType = /*#__PURE__*/function (ThreadReplySelectType) {
|
|
1867
1768
|
ThreadReplySelectType["PARENT"] = "PARENT";
|
|
1868
1769
|
ThreadReplySelectType["THREAD"] = "THREAD";
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
var
|
|
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
|
-
|
|
1916
|
-
|
|
1917
|
-
React.
|
|
1770
|
+
return ThreadReplySelectType;
|
|
1771
|
+
}({});
|
|
1772
|
+
const ChannelContext = /*#__PURE__*/React__default["default"].createContext(undefined);
|
|
1773
|
+
const ChannelProvider = props => {
|
|
1774
|
+
var _globalStore$stores, _globalStore$stores$s, _globalStore$stores2, _globalStore$stores2$;
|
|
1775
|
+
const {
|
|
1776
|
+
channelUrl,
|
|
1777
|
+
children,
|
|
1778
|
+
isReactionEnabled,
|
|
1779
|
+
isMessageGroupingEnabled = true,
|
|
1780
|
+
showSearchIcon,
|
|
1781
|
+
animatedMessage,
|
|
1782
|
+
highlightedMessage,
|
|
1783
|
+
startingPoint,
|
|
1784
|
+
onBeforeSendUserMessage,
|
|
1785
|
+
onBeforeSendFileMessage,
|
|
1786
|
+
onBeforeUpdateUserMessage,
|
|
1787
|
+
onBeforeSendVoiceMessage,
|
|
1788
|
+
onChatHeaderActionClick,
|
|
1789
|
+
onSearchClick,
|
|
1790
|
+
onBackClick,
|
|
1791
|
+
replyType,
|
|
1792
|
+
threadReplySelectType = ThreadReplySelectType.THREAD,
|
|
1793
|
+
queries,
|
|
1794
|
+
filterMessageList,
|
|
1795
|
+
disableMarkAsRead = false,
|
|
1796
|
+
onReplyInThread,
|
|
1797
|
+
onQuoteMessageClick,
|
|
1798
|
+
onMessageAnimated,
|
|
1799
|
+
onMessageHighlighted
|
|
1800
|
+
} = props;
|
|
1801
|
+
const globalStore = useSendbirdStateContext();
|
|
1802
|
+
const {
|
|
1803
|
+
config
|
|
1804
|
+
} = globalStore;
|
|
1805
|
+
const {
|
|
1806
|
+
pubSub,
|
|
1807
|
+
logger,
|
|
1808
|
+
userId,
|
|
1809
|
+
isOnline,
|
|
1810
|
+
imageCompression,
|
|
1811
|
+
isMentionEnabled,
|
|
1812
|
+
isVoiceMessageEnabled,
|
|
1813
|
+
onUserProfileMessage,
|
|
1814
|
+
markAsReadScheduler
|
|
1815
|
+
} = config;
|
|
1816
|
+
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;
|
|
1817
|
+
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;
|
|
1818
|
+
const [initialTimeStamp, setInitialTimeStamp] = React.useState(startingPoint);
|
|
1819
|
+
React.useEffect(() => {
|
|
1918
1820
|
setInitialTimeStamp(startingPoint);
|
|
1919
1821
|
}, [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 () {
|
|
1822
|
+
const [animatedMessageId, setAnimatedMessageId] = React.useState(0);
|
|
1823
|
+
const [highLightedMessageId, setHighLightedMessageId] = React.useState(highlightedMessage);
|
|
1824
|
+
React.useEffect(() => {
|
|
1930
1825
|
setHighLightedMessageId(highlightedMessage);
|
|
1931
1826
|
}, [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
|
-
var usingReaction = (appInfo === null || appInfo === void 0 ? void 0 : appInfo.useReaction) && !isBroadcast && !isSuper && ((config === null || config === void 0 ? void 0 : config.isReactionEnabled) || isReactionEnabled);
|
|
1959
|
-
var emojiAllMap = React.useMemo(function () {
|
|
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
|
|
1827
|
+
const userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
|
|
1828
|
+
const [quoteMessage, setQuoteMessage] = React.useState(null);
|
|
1829
|
+
const [messagesStore, messagesDispatcher] = React.useReducer(reducer, messagesInitialState);
|
|
1830
|
+
const scrollRef = React.useRef(null);
|
|
1831
|
+
const {
|
|
1832
|
+
allMessages,
|
|
1833
|
+
loading,
|
|
1834
|
+
initialized,
|
|
1835
|
+
unreadSince,
|
|
1836
|
+
isInvalid,
|
|
1837
|
+
currentGroupChannel,
|
|
1838
|
+
hasMorePrev,
|
|
1839
|
+
oldestMessageTimeStamp,
|
|
1840
|
+
hasMoreNext,
|
|
1841
|
+
latestMessageTimeStamp,
|
|
1842
|
+
emojiContainer,
|
|
1843
|
+
readStatus
|
|
1844
|
+
} = messagesStore;
|
|
1845
|
+
const isSuper = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isSuper) || false;
|
|
1846
|
+
const isBroadcast = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isBroadcast) || false;
|
|
1847
|
+
const {
|
|
1848
|
+
appInfo
|
|
1849
|
+
} = sdk;
|
|
1850
|
+
const usingReaction = (appInfo === null || appInfo === void 0 ? void 0 : appInfo.useReaction) && !isBroadcast && !isSuper && ((config === null || config === void 0 ? void 0 : config.isReactionEnabled) || isReactionEnabled);
|
|
1851
|
+
const emojiAllMap = React.useMemo(() => usingReaction ? getAllEmojisMapFromEmojiContainer(emojiContainer) : new Map(), [emojiContainer]);
|
|
1852
|
+
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
1853
|
|
|
1969
|
-
|
|
1854
|
+
// Animate message
|
|
1855
|
+
React.useEffect(() => {
|
|
1970
1856
|
if (animatedMessage) {
|
|
1971
1857
|
setAnimatedMessageId(animatedMessage);
|
|
1972
1858
|
}
|
|
1973
|
-
}, [animatedMessage]);
|
|
1859
|
+
}, [animatedMessage]);
|
|
1974
1860
|
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1861
|
+
// Scrollup is default scroll for channel
|
|
1862
|
+
const onScrollCallback = useScrollCallback({
|
|
1863
|
+
currentGroupChannel,
|
|
1864
|
+
oldestMessageTimeStamp,
|
|
1865
|
+
userFilledMessageListQuery,
|
|
1866
|
+
replyType,
|
|
1867
|
+
isVoiceMessageEnabled
|
|
1980
1868
|
}, {
|
|
1981
|
-
hasMorePrev
|
|
1982
|
-
logger
|
|
1983
|
-
messagesDispatcher
|
|
1984
|
-
sdk
|
|
1869
|
+
hasMorePrev,
|
|
1870
|
+
logger,
|
|
1871
|
+
messagesDispatcher,
|
|
1872
|
+
sdk
|
|
1985
1873
|
});
|
|
1986
|
-
|
|
1987
|
-
setInitialTimeStamp
|
|
1988
|
-
setAnimatedMessageId
|
|
1989
|
-
allMessages
|
|
1874
|
+
const scrollToMessage = useScrollToMessage({
|
|
1875
|
+
setInitialTimeStamp,
|
|
1876
|
+
setAnimatedMessageId,
|
|
1877
|
+
allMessages,
|
|
1878
|
+
scrollRef
|
|
1990
1879
|
}, {
|
|
1991
|
-
logger
|
|
1992
|
-
});
|
|
1880
|
+
logger
|
|
1881
|
+
});
|
|
1882
|
+
|
|
1883
|
+
// onScrollDownCallback is added for navigation to different timestamps on messageSearch
|
|
1993
1884
|
// hasMorePrev, onScrollCallback -> scroll up(default behavior)
|
|
1994
1885
|
// hasMoreNext, onScrollDownCallback -> scroll down
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
1886
|
+
const onScrollDownCallback = useScrollDownCallback({
|
|
1887
|
+
currentGroupChannel,
|
|
1888
|
+
latestMessageTimeStamp,
|
|
1889
|
+
userFilledMessageListQuery,
|
|
1890
|
+
hasMoreNext,
|
|
1891
|
+
replyType,
|
|
1892
|
+
isVoiceMessageEnabled
|
|
2002
1893
|
}, {
|
|
2003
|
-
logger
|
|
2004
|
-
messagesDispatcher
|
|
2005
|
-
sdk
|
|
1894
|
+
logger,
|
|
1895
|
+
messagesDispatcher,
|
|
1896
|
+
sdk
|
|
2006
1897
|
});
|
|
2007
|
-
|
|
2008
|
-
currentGroupChannel
|
|
1898
|
+
const toggleReaction = useToggleReactionCallback({
|
|
1899
|
+
currentGroupChannel
|
|
2009
1900
|
}, {
|
|
2010
|
-
logger
|
|
1901
|
+
logger
|
|
2011
1902
|
});
|
|
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
1903
|
|
|
1904
|
+
// to create message-datasource
|
|
1905
|
+
// this hook sets currentGroupChannel asynchronously
|
|
2023
1906
|
useSetChannel({
|
|
2024
|
-
channelUrl
|
|
2025
|
-
sdkInit
|
|
2026
|
-
disableMarkAsRead
|
|
1907
|
+
channelUrl,
|
|
1908
|
+
sdkInit,
|
|
1909
|
+
disableMarkAsRead
|
|
2027
1910
|
}, {
|
|
2028
|
-
messagesDispatcher
|
|
2029
|
-
sdk
|
|
2030
|
-
logger
|
|
2031
|
-
|
|
1911
|
+
messagesDispatcher,
|
|
1912
|
+
sdk,
|
|
1913
|
+
logger,
|
|
1914
|
+
markAsReadScheduler
|
|
1915
|
+
});
|
|
2032
1916
|
|
|
2033
|
-
|
|
1917
|
+
// to set quote message as null
|
|
1918
|
+
React.useEffect(() => {
|
|
2034
1919
|
setQuoteMessage(null);
|
|
2035
|
-
}, [channelUrl]);
|
|
1920
|
+
}, [channelUrl]);
|
|
2036
1921
|
|
|
1922
|
+
// Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher
|
|
2037
1923
|
useHandleChannelEvents({
|
|
2038
|
-
currentGroupChannel
|
|
2039
|
-
sdkInit
|
|
1924
|
+
currentGroupChannel,
|
|
1925
|
+
sdkInit,
|
|
2040
1926
|
currentUserId: userId,
|
|
2041
|
-
|
|
2042
|
-
disableMarkAsRead: disableMarkAsRead
|
|
1927
|
+
disableMarkAsRead
|
|
2043
1928
|
}, {
|
|
2044
|
-
messagesDispatcher
|
|
2045
|
-
sdk
|
|
2046
|
-
logger
|
|
2047
|
-
scrollRef
|
|
2048
|
-
setQuoteMessage
|
|
2049
|
-
});
|
|
1929
|
+
messagesDispatcher,
|
|
1930
|
+
sdk,
|
|
1931
|
+
logger,
|
|
1932
|
+
scrollRef,
|
|
1933
|
+
setQuoteMessage
|
|
1934
|
+
});
|
|
1935
|
+
|
|
1936
|
+
// hook that fetches messages when channel changes
|
|
2050
1937
|
// to be clear here useGetChannel sets currentGroupChannel
|
|
2051
1938
|
// and useInitialMessagesFetch executes when currentGroupChannel changes
|
|
2052
1939
|
// p.s This one executes on initialTimeStamp change too
|
|
2053
|
-
|
|
2054
1940
|
useInitialMessagesFetch({
|
|
2055
|
-
currentGroupChannel
|
|
2056
|
-
userFilledMessageListQuery
|
|
2057
|
-
initialTimeStamp
|
|
2058
|
-
latestMessageTimeStamp
|
|
2059
|
-
replyType
|
|
1941
|
+
currentGroupChannel,
|
|
1942
|
+
userFilledMessageListQuery,
|
|
1943
|
+
initialTimeStamp,
|
|
1944
|
+
latestMessageTimeStamp,
|
|
1945
|
+
replyType,
|
|
1946
|
+
isVoiceMessageEnabled
|
|
2060
1947
|
}, {
|
|
2061
|
-
logger
|
|
2062
|
-
scrollRef
|
|
2063
|
-
messagesDispatcher
|
|
2064
|
-
});
|
|
1948
|
+
logger,
|
|
1949
|
+
scrollRef,
|
|
1950
|
+
messagesDispatcher
|
|
1951
|
+
});
|
|
2065
1952
|
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
1953
|
+
// handles API calls from withSendbird
|
|
1954
|
+
React.useEffect(() => {
|
|
1955
|
+
const subscriber = pubSubHandler({
|
|
1956
|
+
channelUrl,
|
|
1957
|
+
pubSub,
|
|
2070
1958
|
dispatcher: messagesDispatcher,
|
|
2071
|
-
scrollRef
|
|
1959
|
+
scrollRef
|
|
2072
1960
|
});
|
|
2073
|
-
return
|
|
1961
|
+
return () => {
|
|
2074
1962
|
pubSubHandleRemover(subscriber);
|
|
2075
1963
|
};
|
|
2076
|
-
}, [channelUrl, sdkInit]);
|
|
1964
|
+
}, [channelUrl, sdkInit]);
|
|
2077
1965
|
|
|
1966
|
+
// handling connection breaks
|
|
2078
1967
|
useHandleReconnect({
|
|
2079
|
-
isOnline
|
|
2080
|
-
replyType
|
|
2081
|
-
disableMarkAsRead
|
|
1968
|
+
isOnline,
|
|
1969
|
+
replyType,
|
|
1970
|
+
disableMarkAsRead
|
|
2082
1971
|
}, {
|
|
2083
|
-
logger
|
|
2084
|
-
sdk
|
|
2085
|
-
scrollRef
|
|
2086
|
-
currentGroupChannel
|
|
2087
|
-
messagesDispatcher
|
|
2088
|
-
userFilledMessageListQuery
|
|
2089
|
-
|
|
1972
|
+
logger,
|
|
1973
|
+
sdk,
|
|
1974
|
+
scrollRef,
|
|
1975
|
+
currentGroupChannel,
|
|
1976
|
+
messagesDispatcher,
|
|
1977
|
+
userFilledMessageListQuery,
|
|
1978
|
+
markAsReadScheduler
|
|
1979
|
+
});
|
|
2090
1980
|
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
1981
|
+
// callbacks for Message CURD actions
|
|
1982
|
+
const deleteMessage = useDeleteMessageCallback({
|
|
1983
|
+
currentGroupChannel,
|
|
1984
|
+
messagesDispatcher
|
|
2094
1985
|
}, {
|
|
2095
|
-
logger
|
|
1986
|
+
logger
|
|
1987
|
+
});
|
|
1988
|
+
const updateMessage = useUpdateMessageCallback({
|
|
1989
|
+
currentGroupChannel,
|
|
1990
|
+
messagesDispatcher,
|
|
1991
|
+
onBeforeUpdateUserMessage,
|
|
1992
|
+
isMentionEnabled
|
|
1993
|
+
}, {
|
|
1994
|
+
logger,
|
|
1995
|
+
pubSub
|
|
2096
1996
|
});
|
|
2097
|
-
|
|
2098
|
-
currentGroupChannel
|
|
2099
|
-
messagesDispatcher
|
|
2100
|
-
onBeforeUpdateUserMessage: onBeforeUpdateUserMessage,
|
|
2101
|
-
isMentionEnabled: isMentionEnabled
|
|
1997
|
+
const resendMessage = useResendMessageCallback({
|
|
1998
|
+
currentGroupChannel,
|
|
1999
|
+
messagesDispatcher
|
|
2102
2000
|
}, {
|
|
2103
|
-
logger
|
|
2104
|
-
pubSub: pubSub
|
|
2001
|
+
logger
|
|
2105
2002
|
});
|
|
2106
|
-
|
|
2107
|
-
currentGroupChannel
|
|
2108
|
-
|
|
2003
|
+
const [messageInputRef, sendMessage] = useSendMessageCallback({
|
|
2004
|
+
currentGroupChannel,
|
|
2005
|
+
onBeforeSendUserMessage,
|
|
2006
|
+
isMentionEnabled
|
|
2109
2007
|
}, {
|
|
2110
|
-
logger
|
|
2008
|
+
logger,
|
|
2009
|
+
pubSub,
|
|
2010
|
+
scrollRef,
|
|
2011
|
+
messagesDispatcher
|
|
2111
2012
|
});
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
isMentionEnabled: isMentionEnabled
|
|
2013
|
+
const [sendFileMessage] = useSendFileMessageCallback({
|
|
2014
|
+
currentGroupChannel,
|
|
2015
|
+
onBeforeSendFileMessage,
|
|
2016
|
+
imageCompression
|
|
2117
2017
|
}, {
|
|
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
|
|
2018
|
+
logger,
|
|
2019
|
+
pubSub,
|
|
2020
|
+
scrollRef,
|
|
2021
|
+
messagesDispatcher
|
|
2022
|
+
});
|
|
2023
|
+
const [sendVoiceMessage] = useSendVoiceMessageCallback({
|
|
2024
|
+
currentGroupChannel,
|
|
2025
|
+
onBeforeSendVoiceMessage
|
|
2130
2026
|
}, {
|
|
2131
|
-
logger
|
|
2132
|
-
pubSub
|
|
2133
|
-
scrollRef
|
|
2134
|
-
messagesDispatcher
|
|
2135
|
-
})
|
|
2027
|
+
logger,
|
|
2028
|
+
pubSub,
|
|
2029
|
+
scrollRef,
|
|
2030
|
+
messagesDispatcher
|
|
2031
|
+
});
|
|
2136
2032
|
return /*#__PURE__*/React__default["default"].createElement(ChannelContext.Provider, {
|
|
2137
2033
|
value: {
|
|
2138
2034
|
// props
|
|
2139
|
-
channelUrl
|
|
2035
|
+
channelUrl,
|
|
2140
2036
|
isReactionEnabled: usingReaction,
|
|
2141
|
-
isMessageGroupingEnabled
|
|
2142
|
-
showSearchIcon
|
|
2143
|
-
highlightedMessage
|
|
2144
|
-
startingPoint
|
|
2145
|
-
onBeforeSendUserMessage
|
|
2146
|
-
onBeforeSendFileMessage
|
|
2147
|
-
onBeforeUpdateUserMessage
|
|
2148
|
-
onChatHeaderActionClick
|
|
2149
|
-
onSearchClick
|
|
2150
|
-
onBackClick
|
|
2151
|
-
replyType
|
|
2152
|
-
threadReplySelectType
|
|
2153
|
-
queries
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2037
|
+
isMessageGroupingEnabled,
|
|
2038
|
+
showSearchIcon,
|
|
2039
|
+
highlightedMessage,
|
|
2040
|
+
startingPoint,
|
|
2041
|
+
onBeforeSendUserMessage,
|
|
2042
|
+
onBeforeSendFileMessage,
|
|
2043
|
+
onBeforeUpdateUserMessage,
|
|
2044
|
+
onChatHeaderActionClick,
|
|
2045
|
+
onSearchClick,
|
|
2046
|
+
onBackClick,
|
|
2047
|
+
replyType,
|
|
2048
|
+
threadReplySelectType,
|
|
2049
|
+
queries,
|
|
2050
|
+
filterMessageList,
|
|
2051
|
+
disableMarkAsRead,
|
|
2052
|
+
onReplyInThread,
|
|
2053
|
+
onQuoteMessageClick,
|
|
2054
|
+
onMessageAnimated,
|
|
2055
|
+
onMessageHighlighted,
|
|
2159
2056
|
// 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
|
|
2057
|
+
allMessages,
|
|
2058
|
+
loading,
|
|
2059
|
+
initialized,
|
|
2060
|
+
unreadSince,
|
|
2061
|
+
isInvalid,
|
|
2062
|
+
currentGroupChannel,
|
|
2063
|
+
hasMorePrev,
|
|
2064
|
+
hasMoreNext,
|
|
2065
|
+
oldestMessageTimeStamp,
|
|
2066
|
+
latestMessageTimeStamp,
|
|
2067
|
+
emojiContainer,
|
|
2068
|
+
readStatus,
|
|
2172
2069
|
// 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
|
|
2070
|
+
scrollToMessage,
|
|
2071
|
+
quoteMessage,
|
|
2072
|
+
setQuoteMessage,
|
|
2073
|
+
deleteMessage,
|
|
2074
|
+
updateMessage,
|
|
2075
|
+
resendMessage,
|
|
2076
|
+
messageInputRef,
|
|
2077
|
+
sendMessage,
|
|
2078
|
+
sendFileMessage,
|
|
2079
|
+
sendVoiceMessage,
|
|
2080
|
+
initialTimeStamp,
|
|
2081
|
+
messageActionTypes,
|
|
2082
|
+
messagesDispatcher,
|
|
2083
|
+
setInitialTimeStamp,
|
|
2084
|
+
setAnimatedMessageId,
|
|
2085
|
+
setHighLightedMessageId,
|
|
2086
|
+
animatedMessageId,
|
|
2087
|
+
highLightedMessageId,
|
|
2088
|
+
nicknamesMap,
|
|
2089
|
+
emojiAllMap,
|
|
2090
|
+
onScrollCallback,
|
|
2091
|
+
onScrollDownCallback,
|
|
2092
|
+
scrollRef,
|
|
2093
|
+
toggleReaction
|
|
2197
2094
|
}
|
|
2198
2095
|
}, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
|
|
2199
2096
|
disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile,
|
|
@@ -2201,17 +2098,14 @@ var ChannelProvider = function (props) {
|
|
|
2201
2098
|
onUserProfileMessage: onUserProfileMessage
|
|
2202
2099
|
}, children));
|
|
2203
2100
|
};
|
|
2204
|
-
|
|
2205
|
-
var useChannelContext = function () {
|
|
2206
|
-
return React__default["default"].useContext(ChannelContext);
|
|
2207
|
-
};
|
|
2101
|
+
const useChannelContext = () => React__default["default"].useContext(ChannelContext);
|
|
2208
2102
|
|
|
2209
2103
|
exports.ChannelProvider = ChannelProvider;
|
|
2210
|
-
exports.
|
|
2104
|
+
exports.ThreadReplySelectType = ThreadReplySelectType;
|
|
2211
2105
|
exports.compareMessagesForGrouping = compareMessagesForGrouping;
|
|
2212
2106
|
exports.isAboutSame = isAboutSame;
|
|
2213
2107
|
exports.isDisabledBecauseFrozen = isDisabledBecauseFrozen;
|
|
2214
2108
|
exports.isDisabledBecauseMuted = isDisabledBecauseMuted;
|
|
2215
2109
|
exports.isOperator = isOperator;
|
|
2216
2110
|
exports.useChannelContext = useChannelContext;
|
|
2217
|
-
//# sourceMappingURL=ChannelProvider-
|
|
2111
|
+
//# sourceMappingURL=ChannelProvider-b6890429.js.map
|