@sendbird/uikit-react 3.5.0-beta.0 → 3.5.0-mobile-web-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +284 -226
- package/App.js.map +1 -1
- package/CHANGELOG.md +470 -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 +150 -129
- 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 +36 -36
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +7 -8
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +31 -31
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-f461d265.js → ChannelListProvider-86b6d956.js} +233 -285
- package/ChannelListProvider-86b6d956.js.map +1 -0
- package/{ChannelProvider-554e7116.js → ChannelProvider-b41fde4c.js} +627 -716
- package/ChannelProvider-b41fde4c.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +33 -46
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +47 -58
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +40 -46
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +522 -605
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +71 -72
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +29 -32
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +53 -57
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +20 -20
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +24 -24
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +102 -124
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +41 -42
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +22 -21
- package/CreateChannel.js.map +1 -1
- package/CreateChannelProvider-2b669e7e.js +44 -0
- package/CreateChannelProvider-2b669e7e.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-57b46f6c.js +20 -0
- package/{LocalizationContext-4df0cc32.js.map → LocalizationContext-57b46f6c.js.map} +1 -1
- package/MediaQueryContext-fbe7af77.js +87 -0
- package/MediaQueryContext-fbe7af77.js.map +1 -0
- package/MemberList-6ff1e7fa.js +401 -0
- package/MemberList-6ff1e7fa.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 +46 -33
- 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-700cf3de.js +429 -0
- package/OpenChannelListProvider-700cf3de.js.map +1 -0
- package/OpenChannelProvider-b634e564.js +1885 -0
- package/OpenChannelProvider-b634e564.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +516 -586
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +15 -16
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +56 -69
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +19 -20
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +62 -13
- package/RemoveMessageModal-625b3778.js +36 -0
- package/RemoveMessageModal-625b3778.js.map +1 -0
- package/SendbirdProvider.js +897 -408
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +235 -217
- 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 +297 -273
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +144 -113
- 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-a3d3b241.js +1695 -0
- package/ThreadProvider-a3d3b241.js.map +1 -0
- package/{UserProfileContext-c58a7b86.js → UserProfileContext-29074346.js} +1 -4
- package/{UserProfileContext-c58a7b86.js.map → UserProfileContext-29074346.js.map} +1 -1
- package/VoiceMessageInputWrapper-bdc53de4.js +169 -0
- package/VoiceMessageInputWrapper-bdc53de4.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-c3ea2db7.js +123 -0
- package/WebAudioUtils-c3ea2db7.js.map +1 -0
- package/{_rollupPluginBabelHelpers-498add61.js → _rollupPluginBabelHelpers-0bc76382.js} +17 -11
- package/_rollupPluginBabelHelpers-0bc76382.js.map +1 -0
- package/actionTypes-45ec82e6.js +8 -0
- package/actionTypes-45ec82e6.js.map +1 -0
- package/cjs/App.js +284 -226
- 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 +149 -128
- 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 +36 -36
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +7 -8
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +31 -31
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-c2148b43.js → ChannelListProvider-46e379c7.js} +232 -284
- package/cjs/ChannelListProvider-46e379c7.js.map +1 -0
- package/cjs/{ChannelProvider-cf5dc7e3.js → ChannelProvider-2bfafa25.js} +626 -714
- package/cjs/ChannelProvider-2bfafa25.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +71 -72
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +29 -32
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +55 -59
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +20 -20
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +102 -124
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +22 -21
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/CreateChannelProvider-ef7e4c91.js +52 -0
- package/cjs/CreateChannelProvider-ef7e4c91.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-b42fa07d.js} +9 -11
- package/cjs/{LocalizationContext-2b3f310d.js.map → LocalizationContext-b42fa07d.js.map} +1 -1
- package/cjs/MediaQueryContext-372b55a6.js +94 -0
- package/cjs/MediaQueryContext-372b55a6.js.map +1 -0
- package/cjs/MemberList-d878307c.js +407 -0
- package/cjs/MemberList-d878307c.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 +46 -33
- 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-d1cbe71b.js +439 -0
- package/cjs/OpenChannelListProvider-d1cbe71b.js.map +1 -0
- package/cjs/OpenChannelProvider-94eb45b4.js +1894 -0
- package/cjs/OpenChannelProvider-94eb45b4.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +57 -70
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +19 -20
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/{RemoveMessageModal-c01eb93b.js → RemoveMessageModal-83d3158a.js} +19 -14
- package/cjs/RemoveMessageModal-83d3158a.js.map +1 -0
- package/cjs/SendbirdProvider.js +897 -409
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +234 -216
- 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 +296 -272
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +144 -113
- 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-3ff0ff63.js +1704 -0
- package/cjs/ThreadProvider-3ff0ff63.js.map +1 -0
- package/cjs/{UserProfileContext-9d60cdc4.js → UserProfileContext-c87514d3.js} +1 -4
- package/cjs/{UserProfileContext-9d60cdc4.js.map → UserProfileContext-c87514d3.js.map} +1 -1
- package/cjs/VoiceMessageInputWrapper-6e1d03d7.js +175 -0
- package/cjs/VoiceMessageInputWrapper-6e1d03d7.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-de98e939.js +126 -0
- package/cjs/WebAudioUtils-de98e939.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-a7254c9d.js → _rollupPluginBabelHelpers-3a9d1641.js} +17 -10
- package/cjs/_rollupPluginBabelHelpers-3a9d1641.js.map +1 -0
- package/cjs/actionTypes-ecb5bef6.js +10 -0
- package/cjs/actionTypes-ecb5bef6.js.map +1 -0
- package/cjs/{color-89f33656.js → color-a4e73e6f.js} +13 -21
- package/cjs/color-a4e73e6f.js.map +1 -0
- package/cjs/{compareIds-ca869c2e.js → compareIds-a7029d6a.js} +5 -6
- package/cjs/compareIds-a7029d6a.js.map +1 -0
- package/cjs/{const-db71e993.js → const-3ab3e45c.js} +4 -4
- package/cjs/const-3ab3e45c.js.map +1 -0
- package/cjs/const-68cf2709.js +20 -0
- package/cjs/const-68cf2709.js.map +1 -0
- package/cjs/consts-26d4668c.js +6 -0
- package/cjs/consts-26d4668c.js.map +1 -0
- package/cjs/consts-ad8ba629.js +6 -0
- package/cjs/consts-ad8ba629.js.map +1 -0
- package/cjs/consts-bb2a67c7.js +6 -0
- package/cjs/consts-bb2a67c7.js.map +1 -0
- package/cjs/consts-f71467c8.js +41 -0
- package/cjs/consts-f71467c8.js.map +1 -0
- package/cjs/{context-2f5d47fd.js → context-b81d493d.js} +6 -5
- package/cjs/{context-2f5d47fd.js.map → context-b81d493d.js.map} +1 -1
- package/cjs/dist/index.css +970 -532
- 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-0b8a1074.js +590 -0
- package/cjs/index-0b8a1074.js.map +1 -0
- package/cjs/index-1c18afa8.js +57 -0
- package/cjs/index-1c18afa8.js.map +1 -0
- package/cjs/index-3f079f3e.js +367 -0
- package/cjs/index-3f079f3e.js.map +1 -0
- package/cjs/{index-d6ef2a60.js → index-72e412f7.js} +11 -25
- package/cjs/index-72e412f7.js.map +1 -0
- package/cjs/{index-0988ab25.js → index-7ec4fe06.js} +57 -3
- package/cjs/index-7ec4fe06.js.map +1 -0
- package/cjs/{index-be9c6237.js → index-811da6ee.js} +55 -63
- package/cjs/index-811da6ee.js.map +1 -0
- package/cjs/{index-73467e1d.js → index-849f44b0.js} +2 -2
- package/cjs/{index-73467e1d.js.map → index-849f44b0.js.map} +1 -1
- package/cjs/{index-de151767.js → index-97005534.js} +1 -1
- package/cjs/{index-de151767.js.map → index-97005534.js.map} +1 -1
- package/cjs/index-9b23b5c2.js +161 -0
- package/cjs/index-9b23b5c2.js.map +1 -0
- package/cjs/{index-621e74bd.js → index-9d9e563e.js} +29 -37
- package/cjs/index-9d9e563e.js.map +1 -0
- package/cjs/index-a401f2b6.js +441 -0
- package/cjs/index-a401f2b6.js.map +1 -0
- package/cjs/{index-2c5dd48c.js → index-afada680.js} +2 -2
- package/cjs/{index-2c5dd48c.js.map → index-afada680.js.map} +1 -1
- package/cjs/index-c38404d2.js +79 -0
- package/cjs/index-c38404d2.js.map +1 -0
- package/cjs/index-cb1d7ac4.js +292 -0
- package/cjs/index-cb1d7ac4.js.map +1 -0
- package/cjs/{index-e240e852.js → index-e1d69370.js} +42 -51
- package/cjs/index-e1d69370.js.map +1 -0
- package/cjs/{index-c4d4ef49.js → index-e8b83547.js} +1 -1
- package/cjs/index-e8b83547.js.map +1 -0
- package/cjs/index-f4f6d794.js +202 -0
- package/cjs/index-f4f6d794.js.map +1 -0
- package/cjs/index.js +77 -58
- package/cjs/index.js.map +1 -1
- package/cjs/index.module-d2876b1c.js +6 -0
- package/cjs/index.module-d2876b1c.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-4f30313f.js} +110 -90
- package/cjs/stringSet-4f30313f.js.map +1 -0
- package/cjs/tokenize-e944d548.js +164 -0
- package/cjs/tokenize-e944d548.js.map +1 -0
- package/cjs/topics-3226c6ee.js +18 -0
- package/cjs/topics-3226c6ee.js.map +1 -0
- package/cjs/types-31174fcc.js +17 -0
- package/cjs/types-31174fcc.js.map +1 -0
- package/cjs/ui/Accordion.js +21 -24
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +10 -13
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +10 -13
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +57 -79
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +16 -15
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +14 -12
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +20 -35
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +38 -41
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js +11 -13
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +7 -5
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +175 -199
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +12 -14
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +299 -107
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +22 -23
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +36 -36
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +447 -623
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +20 -31
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +34 -43
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +16 -16
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +4 -3
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +10 -12
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +58 -65
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +12 -10
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +208 -546
- 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 +83 -83
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +58 -62
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +56 -51
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +42 -41
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +10 -11
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +52 -46
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +10 -10
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +67 -63
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +8 -7
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +18 -17
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +17 -13
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +138 -149
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +204 -233
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +213 -220
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +164 -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 +30 -27
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +14 -18
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +13 -21
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +41 -48
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +25 -22
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +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-97c6e05a.js +77 -0
- package/cjs/useDirtyGetMentions-97c6e05a.js.map +1 -0
- package/cjs/useLongPress-bf1e8eee.js +87 -0
- package/cjs/useLongPress-bf1e8eee.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-1f6c6626.js → utils-146517a9.js} +1 -1
- package/cjs/{utils-1f6c6626.js.map → utils-146517a9.js.map} +1 -1
- package/cjs/utils-411a893e.js +31 -0
- package/cjs/utils-411a893e.js.map +1 -0
- package/cjs/{utils-3714e90e.js → utils-dbaff0d0.js} +3 -7
- package/cjs/{utils-3714e90e.js.map → utils-dbaff0d0.js.map} +1 -1
- package/cjs/utils-de654d3c.js +35 -0
- package/cjs/utils-de654d3c.js.map +1 -0
- package/cjs/uuid-5ab4f88b.js +15 -0
- package/cjs/{uuid-11d4efe8.js.map → uuid-5ab4f88b.js.map} +1 -1
- package/cjs/withSendbird.js +5 -6
- package/cjs/withSendbird.js.map +1 -1
- package/{color-ff5f9069.js → color-2ed716e6.js} +5 -14
- package/{color-ff5f9069.js.map → color-2ed716e6.js.map} +1 -1
- package/{compareIds-9430f9d8.js → compareIds-bc881fe7.js} +5 -6
- package/compareIds-bc881fe7.js.map +1 -0
- package/{const-83764204.js → const-8daee9fc.js} +4 -4
- package/const-8daee9fc.js.map +1 -0
- package/const-e51dda0c.js +13 -0
- package/const-e51dda0c.js.map +1 -0
- package/consts-3c0ff1ed.js +27 -0
- package/consts-3c0ff1ed.js.map +1 -0
- package/consts-7aab5aff.js +4 -0
- package/consts-7aab5aff.js.map +1 -0
- package/consts-d0b365df.js +4 -0
- package/consts-d0b365df.js.map +1 -0
- package/consts-d0cfee49.js +4 -0
- package/consts-d0cfee49.js.map +1 -0
- package/context-cde5c2bf.js +13 -0
- package/{context-9a69e846.js.map → context-cde5c2bf.js.map} +1 -1
- package/dist/index.css +970 -532
- package/dist/index.css.map +1 -1
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js.map +1 -1
- package/{index-134314e2.js → index-0f22e96e.js} +29 -37
- package/index-0f22e96e.js.map +1 -0
- package/index-1e5cf284.js +154 -0
- package/index-1e5cf284.js.map +1 -0
- package/{index-defabece.js → index-1ec11afb.js} +57 -4
- package/index-1ec11afb.js.map +1 -0
- package/{index-d3f6dbb9.js → index-37531f98.js} +2 -2
- package/{index-d3f6dbb9.js.map → index-37531f98.js.map} +1 -1
- package/index-3f1fa3f9.js +76 -0
- package/index-3f1fa3f9.js.map +1 -0
- package/{index-44470dab.js → index-4023d1b2.js} +11 -25
- package/index-4023d1b2.js.map +1 -0
- package/index-5141f766.js +51 -0
- package/index-5141f766.js.map +1 -0
- package/{index-fc4702b7.js → index-5a1c1956.js} +55 -63
- package/index-5a1c1956.js.map +1 -0
- package/index-735cb5a3.js +360 -0
- package/index-735cb5a3.js.map +1 -0
- package/{index-e5b78039.js → index-7bff4ce0.js} +1 -1
- package/index-7bff4ce0.js.map +1 -0
- package/{index-07e060cd.js → index-865112db.js} +1 -1
- package/{index-07e060cd.js.map → index-865112db.js.map} +1 -1
- package/index-ac642e0b.js +435 -0
- package/index-ac642e0b.js.map +1 -0
- package/index-d847a382.js +283 -0
- package/index-d847a382.js.map +1 -0
- package/index-e2601165.js +544 -0
- package/index-e2601165.js.map +1 -0
- package/{index-3f26a31c.js → index-f1701c11.js} +2 -2
- package/{index-3f26a31c.js.map → index-f1701c11.js.map} +1 -1
- package/{index-1b91b116.js → index-fa140763.js} +39 -48
- package/index-fa140763.js.map +1 -0
- package/index-fa37119a.js +187 -0
- package/index-fa37119a.js.map +1 -0
- package/index.d.ts +171 -123
- package/index.js +77 -58
- package/index.js.map +1 -1
- package/index.module-9202ebbd.js +4 -0
- package/index.module-9202ebbd.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-7a8ce1ce.js} +110 -90
- package/stringSet-7a8ce1ce.js.map +1 -0
- package/tokenize-003bf3f7.js +159 -0
- package/tokenize-003bf3f7.js.map +1 -0
- package/topics-5ff88d6f.js +16 -0
- package/topics-5ff88d6f.js.map +1 -0
- package/types-bffbc5f5.js +15 -0
- package/types-bffbc5f5.js.map +1 -0
- package/ui/Accordion.js +21 -24
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +10 -13
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +10 -13
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +57 -79
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +16 -15
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +14 -12
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +20 -35
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +38 -41
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js +11 -13
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +7 -5
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +176 -200
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +12 -14
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +300 -108
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +22 -23
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +36 -36
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +448 -622
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +20 -31
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +34 -43
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +16 -16
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +4 -3
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +10 -12
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +58 -65
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +12 -10
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +211 -549
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +338 -119
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +83 -83
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +58 -62
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +55 -50
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +41 -40
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +10 -11
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +52 -46
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +10 -10
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +68 -64
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +8 -7
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +18 -17
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +17 -13
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +138 -149
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +204 -233
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +213 -220
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +164 -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 +30 -27
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +14 -18
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +13 -21
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +41 -48
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +25 -22
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +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-aac697f4.js +75 -0
- package/useDirtyGetMentions-aac697f4.js.map +1 -0
- package/useLongPress-fbab35a9.js +85 -0
- package/useLongPress-fbab35a9.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-8b11ff42.js → utils-0d88f863.js} +3 -7
- package/{utils-8b11ff42.js.map → utils-0d88f863.js.map} +1 -1
- package/{utils-e720e03a.js → utils-388a790e.js} +1 -1
- package/{utils-e720e03a.js.map → utils-388a790e.js.map} +1 -1
- package/utils-6f2bb331.js +31 -0
- package/utils-6f2bb331.js.map +1 -0
- package/utils-af761f03.js +29 -0
- package/utils-af761f03.js.map +1 -0
- package/uuid-1f1bbd9c.js +13 -0
- package/{uuid-286ed926.js.map → uuid-1f1bbd9c.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-c87514d3.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-849f44b0.js');
|
|
7
|
+
var topics = require('./topics-3226c6ee.js');
|
|
8
|
+
var index = require('./index-0b8a1074.js');
|
|
9
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-3a9d1641.js');
|
|
10
|
+
var compareIds = require('./compareIds-a7029d6a.js');
|
|
11
|
+
var _const = require('./const-68cf2709.js');
|
|
13
12
|
var groupChannel = require('@sendbird/chat/groupChannel');
|
|
14
|
-
var uuid = require('./uuid-
|
|
13
|
+
var uuid = require('./uuid-5ab4f88b.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-f71467c8.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,36 +285,45 @@ 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;
|
|
315
311
|
|
|
312
|
+
/**
|
|
313
|
+
* This function helps consider the every condition
|
|
314
|
+
* related to enabling emoji reaction feature.
|
|
315
|
+
*/
|
|
316
|
+
|
|
317
|
+
function getIsReactionEnabled(_ref) {
|
|
318
|
+
let {
|
|
319
|
+
isBroadcast = false,
|
|
320
|
+
isSuper = false,
|
|
321
|
+
globalLevel = true,
|
|
322
|
+
moduleLevel
|
|
323
|
+
} = _ref;
|
|
324
|
+
return !(isBroadcast || isSuper) && (moduleLevel !== null && moduleLevel !== void 0 ? moduleLevel : globalLevel);
|
|
325
|
+
}
|
|
326
|
+
|
|
316
327
|
var messagesInitialState = {
|
|
317
328
|
initialized: false,
|
|
318
329
|
loading: true,
|
|
@@ -338,22 +349,18 @@ var messagesInitialState = {
|
|
|
338
349
|
const {
|
|
339
350
|
SUCCEEDED
|
|
340
351
|
} = index.getSendingMessageStatus();
|
|
341
|
-
|
|
342
352
|
const getOldestMessageTimeStamp = function () {
|
|
343
353
|
let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
344
354
|
const oldestMessage = messages[0];
|
|
345
355
|
return oldestMessage && oldestMessage.createdAt || null;
|
|
346
356
|
};
|
|
347
|
-
|
|
348
357
|
const getLatestMessageTimeStamp = function () {
|
|
349
358
|
let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
350
359
|
const latestMessage = messages[messages.length - 1];
|
|
351
360
|
return latestMessage && latestMessage.createdAt || null;
|
|
352
361
|
};
|
|
353
|
-
|
|
354
362
|
function reducer(state, action) {
|
|
355
363
|
var _state$currentGroupCh7, _action$payload, _action$payload$chann;
|
|
356
|
-
|
|
357
364
|
switch (action.type) {
|
|
358
365
|
case RESET_MESSAGES:
|
|
359
366
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -363,7 +370,6 @@ function reducer(state, action) {
|
|
|
363
370
|
hasMoreNext: false,
|
|
364
371
|
allMessages: []
|
|
365
372
|
});
|
|
366
|
-
|
|
367
373
|
case FETCH_INITIAL_MESSAGES_START:
|
|
368
374
|
{
|
|
369
375
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -371,20 +377,16 @@ function reducer(state, action) {
|
|
|
371
377
|
allMessages: [...state.allMessages.filter(m => m.sendingStatus !== SUCCEEDED)]
|
|
372
378
|
});
|
|
373
379
|
}
|
|
374
|
-
|
|
375
380
|
case FETCH_INITIAL_MESSAGES_SUCCESS:
|
|
376
381
|
{
|
|
377
382
|
var _state$currentGroupCh;
|
|
378
|
-
|
|
379
383
|
const {
|
|
380
384
|
currentGroupChannel,
|
|
381
385
|
messages
|
|
382
386
|
} = action.payload;
|
|
383
|
-
|
|
384
387
|
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
388
|
return state;
|
|
386
389
|
}
|
|
387
|
-
|
|
388
390
|
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
389
391
|
const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
|
|
390
392
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -397,23 +399,20 @@ function reducer(state, action) {
|
|
|
397
399
|
allMessages: [...messages]
|
|
398
400
|
});
|
|
399
401
|
}
|
|
400
|
-
|
|
401
402
|
case FETCH_PREV_MESSAGES_SUCCESS:
|
|
402
403
|
{
|
|
403
404
|
var _state$currentGroupCh2;
|
|
404
|
-
|
|
405
405
|
const {
|
|
406
406
|
currentGroupChannel,
|
|
407
407
|
messages
|
|
408
408
|
} = action.payload;
|
|
409
|
-
|
|
410
409
|
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
410
|
return state;
|
|
412
411
|
}
|
|
413
|
-
|
|
414
412
|
const hasMorePrev = messages && messages.length === _const.PREV_RESULT_SIZE + 1;
|
|
415
|
-
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
413
|
+
const oldestMessageTimeStamp = getOldestMessageTimeStamp(messages);
|
|
416
414
|
|
|
415
|
+
// Remove duplicated messages
|
|
417
416
|
const duplicatedMessageIds = [];
|
|
418
417
|
const updatedOldMessages = state.allMessages.map(msg => {
|
|
419
418
|
const duplicatedMessage = messages.find(_ref => {
|
|
@@ -422,11 +421,9 @@ function reducer(state, action) {
|
|
|
422
421
|
} = _ref;
|
|
423
422
|
return compareIds.compareIds(messageId, msg.messageId);
|
|
424
423
|
});
|
|
425
|
-
|
|
426
424
|
if (!duplicatedMessage) {
|
|
427
425
|
return msg;
|
|
428
426
|
}
|
|
429
|
-
|
|
430
427
|
duplicatedMessageIds.push(duplicatedMessage.messageId);
|
|
431
428
|
return duplicatedMessage.updatedAt > msg.updatedAt ? duplicatedMessage : msg;
|
|
432
429
|
});
|
|
@@ -437,61 +434,38 @@ function reducer(state, action) {
|
|
|
437
434
|
allMessages: [...filteredNewMessages, ...updatedOldMessages]
|
|
438
435
|
});
|
|
439
436
|
}
|
|
440
|
-
|
|
441
437
|
case FETCH_NEXT_MESSAGES_SUCCESS:
|
|
442
438
|
{
|
|
443
439
|
var _state$currentGroupCh3;
|
|
444
|
-
|
|
445
440
|
const {
|
|
446
441
|
currentGroupChannel,
|
|
447
442
|
messages
|
|
448
443
|
} = action.payload;
|
|
449
|
-
|
|
450
444
|
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
445
|
return state;
|
|
452
446
|
}
|
|
453
|
-
|
|
454
447
|
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
|
-
}
|
|
448
|
+
const latestMessageTimeStamp = getLatestMessageTimeStamp(messages);
|
|
469
449
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
});
|
|
473
|
-
const filteredNewMessages = duplicatedMessageIds.length > 0 ? messages.filter(msg => !duplicatedMessageIds.find(messageId => compareIds.compareIds(messageId, msg.messageId))) : messages;
|
|
450
|
+
// sort ~
|
|
451
|
+
const sortedMessages = mergeAndSortMessages(state.allMessages, messages);
|
|
474
452
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
475
453
|
hasMoreNext,
|
|
476
454
|
latestMessageTimeStamp,
|
|
477
|
-
allMessages:
|
|
455
|
+
allMessages: sortedMessages
|
|
478
456
|
});
|
|
479
457
|
}
|
|
480
|
-
|
|
481
458
|
case FETCH_INITIAL_MESSAGES_FAILURE:
|
|
482
459
|
case FETCH_PREV_MESSAGES_FAILURE:
|
|
483
460
|
case FETCH_NEXT_MESSAGES_FAILURE:
|
|
484
461
|
{
|
|
485
462
|
var _state$currentGroupCh4;
|
|
486
|
-
|
|
487
463
|
const {
|
|
488
464
|
currentGroupChannel
|
|
489
465
|
} = action.payload;
|
|
490
|
-
|
|
491
466
|
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
467
|
return state;
|
|
493
468
|
}
|
|
494
|
-
|
|
495
469
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
496
470
|
loading: false,
|
|
497
471
|
initialized: false,
|
|
@@ -502,12 +476,10 @@ function reducer(state, action) {
|
|
|
502
476
|
latestMessageTimeStamp: null
|
|
503
477
|
});
|
|
504
478
|
}
|
|
505
|
-
|
|
506
479
|
case SEND_MESSAGEGE_START:
|
|
507
480
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
508
481
|
allMessages: [...state.allMessages, _rollupPluginBabelHelpers._objectSpread2({}, action.payload)]
|
|
509
482
|
});
|
|
510
|
-
|
|
511
483
|
case SEND_MESSAGEGE_SUCESS:
|
|
512
484
|
{
|
|
513
485
|
const message = action.payload;
|
|
@@ -517,7 +489,6 @@ function reducer(state, action) {
|
|
|
517
489
|
allMessages: pendingIndex > -1 ? [...filteredMessages.slice(0, pendingIndex), message, ...filteredMessages.slice(pendingIndex)] : [...filteredMessages, message]
|
|
518
490
|
});
|
|
519
491
|
}
|
|
520
|
-
|
|
521
492
|
case SEND_MESSAGEGE_FAILURE:
|
|
522
493
|
{
|
|
523
494
|
// eslint-disable-next-line no-param-reassign
|
|
@@ -526,7 +497,6 @@ function reducer(state, action) {
|
|
|
526
497
|
allMessages: state.allMessages.map(m => compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
|
|
527
498
|
});
|
|
528
499
|
}
|
|
529
|
-
|
|
530
500
|
case SET_CURRENT_CHANNEL:
|
|
531
501
|
{
|
|
532
502
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -534,7 +504,6 @@ function reducer(state, action) {
|
|
|
534
504
|
isInvalid: false
|
|
535
505
|
});
|
|
536
506
|
}
|
|
537
|
-
|
|
538
507
|
case SET_CHANNEL_INVALID:
|
|
539
508
|
{
|
|
540
509
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -542,7 +511,6 @@ function reducer(state, action) {
|
|
|
542
511
|
isInvalid: true
|
|
543
512
|
});
|
|
544
513
|
}
|
|
545
|
-
|
|
546
514
|
case ON_MESSAGE_RECEIVED:
|
|
547
515
|
{
|
|
548
516
|
const {
|
|
@@ -560,57 +528,47 @@ function reducer(state, action) {
|
|
|
560
528
|
unreadSince
|
|
561
529
|
} = state;
|
|
562
530
|
const currentGroupChannelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
|
|
563
|
-
|
|
564
531
|
if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
|
|
565
532
|
return state;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
|
|
533
|
+
}
|
|
534
|
+
// Excluded overlapping messages
|
|
569
535
|
if (state.allMessages.some(msg => msg.messageId === message.messageId)) {
|
|
570
536
|
return state;
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
|
|
537
|
+
}
|
|
538
|
+
// Filter by userFilledQuery
|
|
574
539
|
if (state.messageListParams && !index.filterMessageListParams(state.messageListParams, message)) {
|
|
575
540
|
return state;
|
|
576
541
|
}
|
|
577
|
-
|
|
578
542
|
if (message.isAdminMessage && message.isAdminMessage()) {
|
|
579
543
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
580
544
|
allMessages: passUnsuccessfullMessages(state.allMessages, message)
|
|
581
545
|
});
|
|
582
|
-
}
|
|
583
|
-
|
|
546
|
+
}
|
|
584
547
|
|
|
548
|
+
// Update members when sender profileUrl, nickname, friendName has been changed
|
|
585
549
|
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
550
|
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
551
|
channel.members = members.map(member => {
|
|
589
552
|
if (member.userId === sender.userId) {
|
|
590
553
|
return sender;
|
|
591
554
|
}
|
|
592
|
-
|
|
593
555
|
return member;
|
|
594
556
|
});
|
|
595
557
|
}
|
|
596
|
-
|
|
597
558
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
598
559
|
currentGroupChannel: channel,
|
|
599
560
|
unreadSince: state !== null && state !== void 0 && state.unreadSince ? unreadSince : index$1.format(new Date(), 'p MMM dd'),
|
|
600
561
|
allMessages: passUnsuccessfullMessages(state.allMessages, message)
|
|
601
562
|
});
|
|
602
563
|
}
|
|
603
|
-
|
|
604
564
|
case ON_MESSAGE_UPDATED:
|
|
605
565
|
{
|
|
606
566
|
var _state$currentGroupCh5;
|
|
607
|
-
|
|
608
567
|
const {
|
|
609
568
|
channel,
|
|
610
569
|
message
|
|
611
570
|
} = action.payload;
|
|
612
571
|
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
572
|
if (!compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentGroupChannelUrl)) {
|
|
615
573
|
return state; // Ignore event when it is not for the current channel
|
|
616
574
|
}
|
|
@@ -621,13 +579,11 @@ function reducer(state, action) {
|
|
|
621
579
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.messageId, message === null || message === void 0 ? void 0 : message.messageId))
|
|
622
580
|
});
|
|
623
581
|
}
|
|
624
|
-
|
|
625
582
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
626
583
|
allMessages: state.allMessages.map(m => {
|
|
627
584
|
if (compareIds.compareIds(m.messageId, message.messageId)) {
|
|
628
585
|
return message;
|
|
629
586
|
}
|
|
630
|
-
|
|
631
587
|
if (compareIds.compareIds(m.parentMessageId, message.messageId)) {
|
|
632
588
|
m.parentMessage = message; // eslint-disable-line no-param-reassign
|
|
633
589
|
}
|
|
@@ -636,11 +592,9 @@ function reducer(state, action) {
|
|
|
636
592
|
})
|
|
637
593
|
});
|
|
638
594
|
}
|
|
639
|
-
|
|
640
595
|
case ON_MESSAGE_THREAD_INFO_UPDATED:
|
|
641
596
|
{
|
|
642
597
|
var _state$currentGroupCh6;
|
|
643
|
-
|
|
644
598
|
const {
|
|
645
599
|
channel,
|
|
646
600
|
event
|
|
@@ -651,7 +605,6 @@ function reducer(state, action) {
|
|
|
651
605
|
targetMessageId
|
|
652
606
|
} = event;
|
|
653
607
|
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
608
|
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
609
|
return state; // Ignore event when it is not for the current channel
|
|
657
610
|
}
|
|
@@ -667,38 +620,31 @@ function reducer(state, action) {
|
|
|
667
620
|
})
|
|
668
621
|
});
|
|
669
622
|
}
|
|
670
|
-
|
|
671
623
|
case RESEND_MESSAGEGE_START:
|
|
672
624
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
673
625
|
allMessages: state.allMessages.map(m => compareIds.compareIds(m.reqId, action.payload.reqId) ? action.payload : m)
|
|
674
626
|
});
|
|
675
|
-
|
|
676
627
|
case MARK_AS_READ:
|
|
677
628
|
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
629
|
return state;
|
|
679
630
|
}
|
|
680
|
-
|
|
681
631
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
682
632
|
unreadSince: null
|
|
683
633
|
});
|
|
684
|
-
|
|
685
634
|
case ON_MESSAGE_DELETED:
|
|
686
635
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
687
636
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.messageId, action.payload))
|
|
688
637
|
});
|
|
689
|
-
|
|
690
638
|
case ON_MESSAGE_DELETED_BY_REQ_ID:
|
|
691
639
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
692
640
|
allMessages: state.allMessages.filter(m => !compareIds.compareIds(m.reqId, action.payload))
|
|
693
641
|
});
|
|
694
|
-
|
|
695
642
|
case SET_EMOJI_CONTAINER:
|
|
696
643
|
{
|
|
697
644
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
698
645
|
emojiContainer: action.payload
|
|
699
646
|
});
|
|
700
647
|
}
|
|
701
|
-
|
|
702
648
|
case ON_REACTION_UPDATED:
|
|
703
649
|
{
|
|
704
650
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
@@ -707,86 +653,102 @@ function reducer(state, action) {
|
|
|
707
653
|
if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {
|
|
708
654
|
m.applyReactionEvent(action.payload);
|
|
709
655
|
}
|
|
710
|
-
|
|
711
656
|
return m;
|
|
712
657
|
}
|
|
713
|
-
|
|
714
658
|
return m;
|
|
715
659
|
})
|
|
716
660
|
});
|
|
717
661
|
}
|
|
718
|
-
|
|
719
662
|
case MESSAGE_LIST_PARAMS_CHANGED:
|
|
720
663
|
{
|
|
721
664
|
return _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, state), {}, {
|
|
722
665
|
messageListParams: action.payload
|
|
723
666
|
});
|
|
724
667
|
}
|
|
725
|
-
|
|
726
668
|
default:
|
|
727
669
|
return state;
|
|
728
670
|
}
|
|
729
671
|
}
|
|
730
672
|
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
673
|
+
/**
|
|
674
|
+
* Handles ChannelEvents and send values to dispatcher using messagesDispatcher
|
|
675
|
+
* messagesDispatcher: Dispatcher
|
|
676
|
+
* sdk: sdkInstance
|
|
677
|
+
* logger: loggerInstance
|
|
678
|
+
* channelUrl: string
|
|
679
|
+
* sdkInit: bool
|
|
680
|
+
*/
|
|
681
|
+
|
|
682
|
+
const DELIVERY_RECIPT = 'delivery_receipt';
|
|
683
|
+
function useHandleChannelEvents(_ref, _ref2) {
|
|
684
|
+
var _store$stores$sdkStor, _store$stores$sdkStor2, _store$stores$sdkStor3;
|
|
685
|
+
let {
|
|
686
|
+
sdkInit,
|
|
687
|
+
currentUserId,
|
|
688
|
+
currentGroupChannel,
|
|
689
|
+
disableMarkAsRead
|
|
690
|
+
} = _ref;
|
|
691
|
+
let {
|
|
692
|
+
sdk,
|
|
693
|
+
logger,
|
|
694
|
+
scrollRef,
|
|
695
|
+
setQuoteMessage,
|
|
696
|
+
messagesDispatcher
|
|
697
|
+
} = _ref2;
|
|
698
|
+
const store = useSendbirdStateContext();
|
|
699
|
+
const {
|
|
700
|
+
markAsReadScheduler,
|
|
701
|
+
markAsDeliveredScheduler,
|
|
702
|
+
disableMarkAsDelivered
|
|
703
|
+
} = store.config;
|
|
704
|
+
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);
|
|
705
|
+
React.useEffect(() => {
|
|
706
|
+
const channelUrl = currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url;
|
|
707
|
+
const channelHandlerId = uuid.uuidv4();
|
|
748
708
|
if (channelUrl && sdkInit) {
|
|
749
|
-
var
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)
|
|
753
|
-
var
|
|
754
|
-
|
|
709
|
+
var _sdk$groupChannel;
|
|
710
|
+
const channelHandler = {
|
|
711
|
+
onMessageReceived: (channel, message) => {
|
|
712
|
+
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
713
|
+
var _document$getElementB, _document$getElementB2;
|
|
714
|
+
let scrollToEnd = false;
|
|
755
715
|
try {
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
716
|
+
const {
|
|
717
|
+
current
|
|
718
|
+
} = scrollRef;
|
|
719
|
+
scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight - 10;
|
|
720
|
+
// 10 is a buffer
|
|
721
|
+
} catch (error) {
|
|
722
|
+
//
|
|
759
723
|
}
|
|
760
|
-
|
|
761
724
|
logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);
|
|
762
725
|
messagesDispatcher({
|
|
763
726
|
type: ON_MESSAGE_RECEIVED,
|
|
764
727
|
payload: {
|
|
765
|
-
channel
|
|
766
|
-
message
|
|
728
|
+
channel,
|
|
729
|
+
message
|
|
767
730
|
}
|
|
768
731
|
});
|
|
769
|
-
|
|
770
|
-
|
|
732
|
+
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) {
|
|
733
|
+
// and !openContextMenu
|
|
771
734
|
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
|
-
|
|
735
|
+
setTimeout(() => {
|
|
779
736
|
scrollIntoLast(0, scrollRef);
|
|
780
737
|
});
|
|
738
|
+
if (!disableMarkAsRead) {
|
|
739
|
+
markAsReadScheduler.push(currentGroupChannel);
|
|
740
|
+
}
|
|
741
|
+
if (canSetMarkAsDelivered && !disableMarkAsDelivered) {
|
|
742
|
+
markAsDeliveredScheduler.push(currentGroupChannel);
|
|
743
|
+
}
|
|
781
744
|
} catch (error) {
|
|
782
745
|
logger.warning('Channel | onMessageReceived | scroll to end failed');
|
|
783
746
|
}
|
|
784
747
|
}
|
|
785
748
|
}
|
|
786
749
|
},
|
|
787
|
-
onUnreadMemberStatusUpdated:
|
|
750
|
+
onUnreadMemberStatusUpdated: channel => {
|
|
788
751
|
logger.info('Channel | useHandleChannelEvents: onUnreadMemberStatusUpdated', channel);
|
|
789
|
-
|
|
790
752
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
791
753
|
messagesDispatcher({
|
|
792
754
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -795,7 +757,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
795
757
|
}
|
|
796
758
|
},
|
|
797
759
|
// before(onDeliveryReceiptUpdated)
|
|
798
|
-
onUndeliveredMemberStatusUpdated:
|
|
760
|
+
onUndeliveredMemberStatusUpdated: channel => {
|
|
799
761
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
800
762
|
logger.info('Channel | useHandleChannelEvents: onDeliveryReceiptUpdated', channel);
|
|
801
763
|
messagesDispatcher({
|
|
@@ -804,33 +766,33 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
804
766
|
});
|
|
805
767
|
}
|
|
806
768
|
},
|
|
807
|
-
onMessageUpdated:
|
|
769
|
+
onMessageUpdated: (channel, message) => {
|
|
808
770
|
logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);
|
|
809
771
|
messagesDispatcher({
|
|
810
772
|
type: ON_MESSAGE_UPDATED,
|
|
811
773
|
payload: {
|
|
812
|
-
channel
|
|
813
|
-
message
|
|
774
|
+
channel,
|
|
775
|
+
message
|
|
814
776
|
}
|
|
815
777
|
});
|
|
816
778
|
},
|
|
817
|
-
onThreadInfoUpdated:
|
|
779
|
+
onThreadInfoUpdated: (channel, threadInfoUpdateEvent) => {
|
|
818
780
|
logger.info('Channel | useHandleChannelEvents: onThreadInfoUpdated', {
|
|
819
|
-
channel
|
|
820
|
-
threadInfoUpdateEvent
|
|
781
|
+
channel,
|
|
782
|
+
threadInfoUpdateEvent
|
|
821
783
|
});
|
|
822
784
|
messagesDispatcher({
|
|
823
785
|
type: ON_MESSAGE_THREAD_INFO_UPDATED,
|
|
824
786
|
payload: {
|
|
825
|
-
channel
|
|
787
|
+
channel,
|
|
826
788
|
event: threadInfoUpdateEvent
|
|
827
789
|
}
|
|
828
790
|
});
|
|
829
791
|
},
|
|
830
|
-
onMessageDeleted:
|
|
792
|
+
onMessageDeleted: (channel, messageId) => {
|
|
831
793
|
logger.info('Channel | useHandleChannelEvents: onMessageDeleted', {
|
|
832
|
-
channel
|
|
833
|
-
messageId
|
|
794
|
+
channel,
|
|
795
|
+
messageId
|
|
834
796
|
});
|
|
835
797
|
setQuoteMessage(null);
|
|
836
798
|
messagesDispatcher({
|
|
@@ -838,17 +800,17 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
838
800
|
payload: messageId
|
|
839
801
|
});
|
|
840
802
|
},
|
|
841
|
-
onReactionUpdated:
|
|
803
|
+
onReactionUpdated: (channel, reactionEvent) => {
|
|
842
804
|
logger.info('Channel | useHandleChannelEvents: onReactionUpdated', {
|
|
843
|
-
channel
|
|
844
|
-
reactionEvent
|
|
805
|
+
channel,
|
|
806
|
+
reactionEvent
|
|
845
807
|
});
|
|
846
808
|
messagesDispatcher({
|
|
847
809
|
type: ON_REACTION_UPDATED,
|
|
848
810
|
payload: reactionEvent
|
|
849
811
|
});
|
|
850
812
|
},
|
|
851
|
-
onChannelChanged:
|
|
813
|
+
onChannelChanged: channel => {
|
|
852
814
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
853
815
|
logger.info('Channel | useHandleChannelEvents: onChannelChanged', channel);
|
|
854
816
|
messagesDispatcher({
|
|
@@ -857,7 +819,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
857
819
|
});
|
|
858
820
|
}
|
|
859
821
|
},
|
|
860
|
-
onChannelFrozen:
|
|
822
|
+
onChannelFrozen: channel => {
|
|
861
823
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
862
824
|
logger.info('Channel | useHandleChannelEvents: onChannelFrozen', channel);
|
|
863
825
|
messagesDispatcher({
|
|
@@ -866,7 +828,7 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
866
828
|
});
|
|
867
829
|
}
|
|
868
830
|
},
|
|
869
|
-
onChannelUnfrozen:
|
|
831
|
+
onChannelUnfrozen: channel => {
|
|
870
832
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
871
833
|
logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', channel);
|
|
872
834
|
messagesDispatcher({
|
|
@@ -875,11 +837,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
875
837
|
});
|
|
876
838
|
}
|
|
877
839
|
},
|
|
878
|
-
onUserMuted:
|
|
840
|
+
onUserMuted: (channel, user) => {
|
|
879
841
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
880
842
|
logger.info('Channel | useHandleChannelEvents: onUserMuted', {
|
|
881
|
-
channel
|
|
882
|
-
user
|
|
843
|
+
channel,
|
|
844
|
+
user
|
|
883
845
|
});
|
|
884
846
|
messagesDispatcher({
|
|
885
847
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -887,11 +849,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
887
849
|
});
|
|
888
850
|
}
|
|
889
851
|
},
|
|
890
|
-
onUserUnmuted:
|
|
852
|
+
onUserUnmuted: (channel, user) => {
|
|
891
853
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
892
854
|
logger.info('Channel | useHandleChannelEvents: onUserUnmuted', {
|
|
893
|
-
channel
|
|
894
|
-
user
|
|
855
|
+
channel,
|
|
856
|
+
user
|
|
895
857
|
});
|
|
896
858
|
messagesDispatcher({
|
|
897
859
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -899,13 +861,12 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
899
861
|
});
|
|
900
862
|
}
|
|
901
863
|
},
|
|
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)) {
|
|
864
|
+
onUserBanned: (channel, user) => {
|
|
865
|
+
var _sdk$currentUser;
|
|
866
|
+
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
867
|
logger.info('Channel | useHandleChannelEvents: onUserBanned', {
|
|
907
|
-
channel
|
|
908
|
-
user
|
|
868
|
+
channel,
|
|
869
|
+
user
|
|
909
870
|
});
|
|
910
871
|
messagesDispatcher({
|
|
911
872
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -913,11 +874,11 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
913
874
|
});
|
|
914
875
|
}
|
|
915
876
|
},
|
|
916
|
-
onOperatorUpdated:
|
|
877
|
+
onOperatorUpdated: (channel, users) => {
|
|
917
878
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
918
879
|
logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', {
|
|
919
|
-
channel
|
|
920
|
-
users
|
|
880
|
+
channel,
|
|
881
|
+
users
|
|
921
882
|
});
|
|
922
883
|
messagesDispatcher({
|
|
923
884
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -925,13 +886,12 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
925
886
|
});
|
|
926
887
|
}
|
|
927
888
|
},
|
|
928
|
-
onUserLeft:
|
|
889
|
+
onUserLeft: (channel, user) => {
|
|
929
890
|
if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, channelUrl)) {
|
|
930
891
|
logger.info('Channel | useHandleChannelEvents: onUserLeft', {
|
|
931
|
-
channel
|
|
932
|
-
user
|
|
892
|
+
channel,
|
|
893
|
+
user
|
|
933
894
|
});
|
|
934
|
-
|
|
935
895
|
if ((user === null || user === void 0 ? void 0 : user.userId) === currentUserId) {
|
|
936
896
|
messagesDispatcher({
|
|
937
897
|
type: SET_CURRENT_CHANNEL,
|
|
@@ -942,20 +902,18 @@ function useHandleChannelEvents(_a, _b) {
|
|
|
942
902
|
}
|
|
943
903
|
};
|
|
944
904
|
logger.info('Channel | useHandleChannelEvents: Setup event handler', {
|
|
945
|
-
channelHandlerId
|
|
946
|
-
channelHandler
|
|
947
|
-
});
|
|
948
|
-
|
|
949
|
-
(
|
|
905
|
+
channelHandlerId,
|
|
906
|
+
channelHandler
|
|
907
|
+
});
|
|
908
|
+
// Add this group channel handler to the Sendbird chat instance
|
|
909
|
+
(_sdk$groupChannel = sdk.groupChannel) === null || _sdk$groupChannel === void 0 ? void 0 : _sdk$groupChannel.addGroupChannelHandler(channelHandlerId, new groupChannel.GroupChannelHandler(channelHandler));
|
|
950
910
|
}
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
if ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
|
|
911
|
+
return () => {
|
|
912
|
+
var _sdk$groupChannel2;
|
|
913
|
+
if (sdk !== null && sdk !== void 0 && (_sdk$groupChannel2 = sdk.groupChannel) !== null && _sdk$groupChannel2 !== void 0 && _sdk$groupChannel2.removeGroupChannelHandler) {
|
|
956
914
|
logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', channelHandlerId);
|
|
957
915
|
sdk.groupChannel.removeGroupChannelHandler(channelHandlerId);
|
|
958
|
-
} else if (sdk
|
|
916
|
+
} else if (sdk !== null && sdk !== void 0 && sdk.groupChannel) {
|
|
959
917
|
logger.error('Channel | useHandleChannelEvents: Not found the removeGroupChannelHandler');
|
|
960
918
|
}
|
|
961
919
|
};
|
|
@@ -971,7 +929,8 @@ function useSetChannel(_ref, _ref2) {
|
|
|
971
929
|
let {
|
|
972
930
|
messagesDispatcher,
|
|
973
931
|
sdk,
|
|
974
|
-
logger
|
|
932
|
+
logger,
|
|
933
|
+
markAsReadScheduler
|
|
975
934
|
} = _ref2;
|
|
976
935
|
React.useEffect(() => {
|
|
977
936
|
if (channelUrl && sdkInit && sdk && sdk.groupChannel) {
|
|
@@ -983,13 +942,8 @@ function useSetChannel(_ref, _ref2) {
|
|
|
983
942
|
payload: groupChannel
|
|
984
943
|
});
|
|
985
944
|
logger.info('Channel: Mark as read', groupChannel);
|
|
986
|
-
|
|
987
945
|
if (!disableMarkAsRead) {
|
|
988
|
-
|
|
989
|
-
try {
|
|
990
|
-
groupChannel.markAsRead();
|
|
991
|
-
} catch (_unused) {//
|
|
992
|
-
}
|
|
946
|
+
markAsReadScheduler.push(groupChannel);
|
|
993
947
|
}
|
|
994
948
|
}).catch(e => {
|
|
995
949
|
logger.warning('Channel | useSetChannel fetch channel failed', {
|
|
@@ -1033,30 +987,25 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1033
987
|
type: RESET_MESSAGES,
|
|
1034
988
|
payload: null
|
|
1035
989
|
});
|
|
1036
|
-
|
|
1037
990
|
if (currentGroupChannel && currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.getMessagesByTimestamp) {
|
|
1038
991
|
const messageListParams = {};
|
|
1039
992
|
messageListParams.prevResultSize = _const.PREV_RESULT_SIZE;
|
|
1040
|
-
|
|
1041
993
|
if (initialTimeStamp) {
|
|
1042
994
|
messageListParams.nextResultSize = _const.NEXT_RESULT_SIZE;
|
|
1043
995
|
}
|
|
1044
|
-
|
|
1045
996
|
messageListParams.isInclusive = true;
|
|
1046
997
|
messageListParams.includeReactions = true;
|
|
1047
|
-
|
|
998
|
+
messageListParams.includeMetaArray = true;
|
|
1048
999
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
|
|
1049
1000
|
messageListParams.includeThreadInfo = true;
|
|
1050
1001
|
messageListParams.includeParentMessageInfo = true;
|
|
1051
1002
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1052
1003
|
}
|
|
1053
|
-
|
|
1054
1004
|
if (userFilledMessageListQuery) {
|
|
1055
1005
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1056
1006
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1057
1007
|
});
|
|
1058
1008
|
}
|
|
1059
|
-
|
|
1060
1009
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') || userFilledMessageListQuery) {
|
|
1061
1010
|
logger.info('Channel useInitialMessagesFetch: Setup messageListParams', messageListParams);
|
|
1062
1011
|
messagesDispatcher({
|
|
@@ -1064,7 +1013,6 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1064
1013
|
payload: messageListParams
|
|
1065
1014
|
});
|
|
1066
1015
|
}
|
|
1067
|
-
|
|
1068
1016
|
logger.info('Channel: Fetching messages', {
|
|
1069
1017
|
currentGroupChannel,
|
|
1070
1018
|
userFilledMessageListQuery
|
|
@@ -1092,6 +1040,10 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1092
1040
|
}).finally(() => {
|
|
1093
1041
|
if (!initialTimeStamp) {
|
|
1094
1042
|
setTimeout(() => scrollIntoLast(0, scrollRef));
|
|
1043
|
+
} else {
|
|
1044
|
+
setTimeout(() => {
|
|
1045
|
+
scrollToRenderedMessage(scrollRef, initialTimeStamp);
|
|
1046
|
+
}, 500);
|
|
1095
1047
|
}
|
|
1096
1048
|
});
|
|
1097
1049
|
}
|
|
@@ -1106,82 +1058,75 @@ function useInitialMessagesFetch(_ref, _ref2) {
|
|
|
1106
1058
|
*/
|
|
1107
1059
|
}
|
|
1108
1060
|
|
|
1109
|
-
function useHandleReconnect(
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1061
|
+
function useHandleReconnect(_ref, _ref2) {
|
|
1062
|
+
let {
|
|
1063
|
+
isOnline,
|
|
1064
|
+
replyType,
|
|
1065
|
+
disableMarkAsRead
|
|
1066
|
+
} = _ref;
|
|
1067
|
+
let {
|
|
1068
|
+
logger,
|
|
1069
|
+
sdk,
|
|
1070
|
+
scrollRef,
|
|
1071
|
+
currentGroupChannel,
|
|
1072
|
+
messagesDispatcher,
|
|
1073
|
+
markAsReadScheduler,
|
|
1074
|
+
userFilledMessageListQuery
|
|
1075
|
+
} = _ref2;
|
|
1076
|
+
React.useEffect(() => {
|
|
1077
|
+
const wasOffline = !isOnline;
|
|
1078
|
+
return () => {
|
|
1079
|
+
// state changed from offline to online
|
|
1080
|
+
if (wasOffline && currentGroupChannel !== null && currentGroupChannel !== void 0 && currentGroupChannel.url) {
|
|
1081
|
+
var _sdk$appInfo, _sdk$groupChannel;
|
|
1126
1082
|
logger.info('Refreshing conversation state');
|
|
1127
|
-
|
|
1128
|
-
|
|
1083
|
+
const isReactionEnabled = (sdk === null || sdk === void 0 ? void 0 : (_sdk$appInfo = sdk.appInfo) === null || _sdk$appInfo === void 0 ? void 0 : _sdk$appInfo.useReaction) || false;
|
|
1084
|
+
const messageListParams = {
|
|
1129
1085
|
prevResultSize: _const.PREV_RESULT_SIZE,
|
|
1130
1086
|
isInclusive: true,
|
|
1131
1087
|
includeReactions: isReactionEnabled,
|
|
1132
1088
|
nextResultSize: _const.NEXT_RESULT_SIZE
|
|
1133
1089
|
};
|
|
1134
|
-
|
|
1135
1090
|
if (replyType && replyType === 'QUOTE_REPLY') {
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1091
|
+
messageListParams.includeThreadInfo = true;
|
|
1092
|
+
messageListParams.includeParentMessageInfo = true;
|
|
1093
|
+
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1139
1094
|
}
|
|
1140
|
-
|
|
1141
1095
|
if (userFilledMessageListQuery) {
|
|
1142
|
-
Object.keys(userFilledMessageListQuery).forEach(
|
|
1143
|
-
|
|
1096
|
+
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1097
|
+
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1144
1098
|
});
|
|
1145
1099
|
}
|
|
1146
|
-
|
|
1147
1100
|
logger.info('Channel: Fetching messages', {
|
|
1148
|
-
currentGroupChannel
|
|
1149
|
-
userFilledMessageListQuery
|
|
1101
|
+
currentGroupChannel,
|
|
1102
|
+
userFilledMessageListQuery
|
|
1150
1103
|
});
|
|
1151
1104
|
messagesDispatcher({
|
|
1152
1105
|
type: FETCH_INITIAL_MESSAGES_START,
|
|
1153
1106
|
payload: null
|
|
1154
1107
|
});
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
var lastMessageTime = new Date().getTime();
|
|
1159
|
-
groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams_1).then(function (messages) {
|
|
1108
|
+
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 => {
|
|
1109
|
+
const lastMessageTime = new Date().getTime();
|
|
1110
|
+
groupChannel.getMessagesByTimestamp(lastMessageTime, messageListParams).then(messages => {
|
|
1160
1111
|
messagesDispatcher({
|
|
1161
1112
|
type: FETCH_INITIAL_MESSAGES_SUCCESS,
|
|
1162
1113
|
payload: {
|
|
1163
|
-
currentGroupChannel
|
|
1164
|
-
messages
|
|
1114
|
+
currentGroupChannel,
|
|
1115
|
+
messages
|
|
1165
1116
|
}
|
|
1166
1117
|
});
|
|
1167
|
-
setTimeout(
|
|
1168
|
-
|
|
1169
|
-
});
|
|
1170
|
-
}).catch(function (error) {
|
|
1118
|
+
setTimeout(() => scrollIntoLast(0, scrollRef));
|
|
1119
|
+
}).catch(error => {
|
|
1171
1120
|
logger.error('Channel: Fetching messages failed', error);
|
|
1172
1121
|
messagesDispatcher({
|
|
1173
1122
|
type: FETCH_INITIAL_MESSAGES_FAILURE,
|
|
1174
1123
|
payload: {
|
|
1175
|
-
currentGroupChannel
|
|
1124
|
+
currentGroupChannel
|
|
1176
1125
|
}
|
|
1177
1126
|
});
|
|
1178
1127
|
});
|
|
1179
|
-
|
|
1180
1128
|
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
|
-
}
|
|
1129
|
+
markAsReadScheduler.push(currentGroupChannel);
|
|
1185
1130
|
}
|
|
1186
1131
|
});
|
|
1187
1132
|
}
|
|
@@ -1206,7 +1151,6 @@ function useScrollCallback(_ref, _ref2) {
|
|
|
1206
1151
|
if (!hasMorePrev) {
|
|
1207
1152
|
return;
|
|
1208
1153
|
}
|
|
1209
|
-
|
|
1210
1154
|
const {
|
|
1211
1155
|
appInfo = {}
|
|
1212
1156
|
} = sdk;
|
|
@@ -1216,19 +1160,17 @@ function useScrollCallback(_ref, _ref2) {
|
|
|
1216
1160
|
isInclusive: true,
|
|
1217
1161
|
includeReactions: isReactionEnabled
|
|
1218
1162
|
};
|
|
1219
|
-
|
|
1163
|
+
messageListParams.includeMetaArray = true;
|
|
1220
1164
|
if (replyType === 'QUOTE_REPLY' || replyType === 'THREAD') {
|
|
1221
1165
|
messageListParams.includeThreadInfo = true;
|
|
1222
1166
|
messageListParams.includeParentMessageInfo = true;
|
|
1223
1167
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1224
1168
|
}
|
|
1225
|
-
|
|
1226
1169
|
if (userFilledMessageListQuery) {
|
|
1227
1170
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1228
1171
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1229
1172
|
});
|
|
1230
1173
|
}
|
|
1231
|
-
|
|
1232
1174
|
logger.info('Channel: Fetching messages', {
|
|
1233
1175
|
currentGroupChannel,
|
|
1234
1176
|
userFilledMessageListQuery
|
|
@@ -1272,7 +1214,6 @@ function useScrollDownCallback(_ref, _ref2) {
|
|
|
1272
1214
|
if (!hasMoreNext) {
|
|
1273
1215
|
return;
|
|
1274
1216
|
}
|
|
1275
|
-
|
|
1276
1217
|
const {
|
|
1277
1218
|
appInfo = {}
|
|
1278
1219
|
} = sdk;
|
|
@@ -1282,19 +1223,17 @@ function useScrollDownCallback(_ref, _ref2) {
|
|
|
1282
1223
|
isInclusive: true,
|
|
1283
1224
|
includeReactions: isReactionEnabled
|
|
1284
1225
|
};
|
|
1285
|
-
|
|
1226
|
+
messageListParams.includeMetaArray = true;
|
|
1286
1227
|
if (replyType && (replyType === 'QUOTE_REPLY' || replyType === 'THREAD')) {
|
|
1287
1228
|
messageListParams.includeThreadInfo = true;
|
|
1288
1229
|
messageListParams.includeParentMessageInfo = true;
|
|
1289
1230
|
messageListParams.replyType = message.ReplyType.ONLY_REPLY_TO_CHANNEL;
|
|
1290
1231
|
}
|
|
1291
|
-
|
|
1292
1232
|
if (userFilledMessageListQuery) {
|
|
1293
1233
|
Object.keys(userFilledMessageListQuery).forEach(key => {
|
|
1294
1234
|
messageListParams[key] = userFilledMessageListQuery[key];
|
|
1295
1235
|
});
|
|
1296
1236
|
}
|
|
1297
|
-
|
|
1298
1237
|
logger.info('Channel: Fetching later messages', {
|
|
1299
1238
|
currentGroupChannel,
|
|
1300
1239
|
userFilledMessageListQuery
|
|
@@ -1335,8 +1274,8 @@ function useDeleteMessageCallback(_ref, _ref2) {
|
|
|
1335
1274
|
requestState
|
|
1336
1275
|
} = message;
|
|
1337
1276
|
return new Promise((resolve, reject) => {
|
|
1338
|
-
logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);
|
|
1339
|
-
|
|
1277
|
+
logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);
|
|
1278
|
+
// Message is only on local
|
|
1340
1279
|
if (requestState === 'failed' || requestState === 'pending') {
|
|
1341
1280
|
logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);
|
|
1342
1281
|
messagesDispatcher({
|
|
@@ -1345,7 +1284,6 @@ function useDeleteMessageCallback(_ref, _ref2) {
|
|
|
1345
1284
|
});
|
|
1346
1285
|
resolve(message);
|
|
1347
1286
|
}
|
|
1348
|
-
|
|
1349
1287
|
logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);
|
|
1350
1288
|
currentGroupChannel.deleteMessage(message).then(() => {
|
|
1351
1289
|
logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);
|
|
@@ -1380,37 +1318,29 @@ function useUpdateMessageCallback(_ref, _ref2) {
|
|
|
1380
1318
|
mentionedUsers,
|
|
1381
1319
|
mentionTemplate
|
|
1382
1320
|
} = props;
|
|
1383
|
-
|
|
1384
1321
|
const createParamsDefault = () => {
|
|
1385
1322
|
const params = {};
|
|
1386
1323
|
params.message = message;
|
|
1387
|
-
|
|
1388
1324
|
if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1389
1325
|
params.mentionedUsers = mentionedUsers;
|
|
1390
1326
|
}
|
|
1391
|
-
|
|
1392
1327
|
if (isMentionEnabled && mentionTemplate) {
|
|
1393
1328
|
params.mentionedMessageTemplate = mentionTemplate;
|
|
1394
1329
|
} else {
|
|
1395
1330
|
params.mentionedMessageTemplate = message;
|
|
1396
1331
|
}
|
|
1397
|
-
|
|
1398
1332
|
return params;
|
|
1399
1333
|
};
|
|
1400
|
-
|
|
1401
1334
|
const createCustomPrams = onBeforeUpdateUserMessage && typeof onBeforeUpdateUserMessage === 'function';
|
|
1402
|
-
|
|
1403
1335
|
if (createCustomPrams) {
|
|
1404
1336
|
logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);
|
|
1405
1337
|
}
|
|
1406
|
-
|
|
1407
1338
|
const params = onBeforeUpdateUserMessage ? onBeforeUpdateUserMessage(message) : createParamsDefault();
|
|
1408
1339
|
logger.info('Channel: Updating message!', params);
|
|
1409
1340
|
currentGroupChannel.updateUserMessage(messageId, params).then((msg, err) => {
|
|
1410
1341
|
if (callback) {
|
|
1411
1342
|
callback(err, msg);
|
|
1412
1343
|
}
|
|
1413
|
-
|
|
1414
1344
|
logger.info('Channel: Updating message success!', msg);
|
|
1415
1345
|
messagesDispatcher({
|
|
1416
1346
|
type: ON_MESSAGE_UPDATED,
|
|
@@ -1419,7 +1349,7 @@ function useUpdateMessageCallback(_ref, _ref2) {
|
|
|
1419
1349
|
message: msg
|
|
1420
1350
|
}
|
|
1421
1351
|
});
|
|
1422
|
-
pubSub.publish(topics.UPDATE_USER_MESSAGE, {
|
|
1352
|
+
pubSub.publish(topics.PUBSUB_TOPICS.UPDATE_USER_MESSAGE, {
|
|
1423
1353
|
message: msg,
|
|
1424
1354
|
channel: currentGroupChannel
|
|
1425
1355
|
});
|
|
@@ -1441,18 +1371,18 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1441
1371
|
messageType,
|
|
1442
1372
|
file
|
|
1443
1373
|
} = failedMessage;
|
|
1444
|
-
|
|
1445
1374
|
if (failedMessage !== null && failedMessage !== void 0 && failedMessage.isResendable) {
|
|
1446
1375
|
// Move the logic setting sendingStatus to pending into the reducer
|
|
1447
1376
|
// eslint-disable-next-line no-param-reassign
|
|
1448
|
-
failedMessage.requestState = 'pending';
|
|
1449
|
-
|
|
1377
|
+
failedMessage.requestState = 'pending';
|
|
1378
|
+
// eslint-disable-next-line no-param-reassign
|
|
1450
1379
|
failedMessage.sendingStatus = 'pending';
|
|
1451
1380
|
messagesDispatcher({
|
|
1452
1381
|
type: RESEND_MESSAGEGE_START,
|
|
1453
1382
|
payload: failedMessage
|
|
1454
|
-
});
|
|
1383
|
+
});
|
|
1455
1384
|
|
|
1385
|
+
// userMessage
|
|
1456
1386
|
if (messageType === 'user') {
|
|
1457
1387
|
currentGroupChannel.resendUserMessage(failedMessage).then(message => {
|
|
1458
1388
|
logger.info('Channel: Resending message success!', message);
|
|
@@ -1461,19 +1391,20 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1461
1391
|
payload: message
|
|
1462
1392
|
});
|
|
1463
1393
|
}).catch(e => {
|
|
1464
|
-
logger.warning('Channel: Resending message failed!', e);
|
|
1465
|
-
|
|
1466
|
-
failedMessage.requestState = 'failed';
|
|
1467
|
-
|
|
1394
|
+
logger.warning('Channel: Resending message failed!', e);
|
|
1395
|
+
// eslint-disable-next-line no-param-reassign
|
|
1396
|
+
failedMessage.requestState = 'failed';
|
|
1397
|
+
// eslint-disable-next-line no-param-reassign
|
|
1468
1398
|
failedMessage.sendingStatus = 'failed';
|
|
1469
1399
|
messagesDispatcher({
|
|
1470
1400
|
type: SEND_MESSAGEGE_FAILURE,
|
|
1471
1401
|
payload: failedMessage
|
|
1472
1402
|
});
|
|
1473
|
-
});
|
|
1474
|
-
|
|
1475
|
-
failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
|
|
1403
|
+
});
|
|
1476
1404
|
|
|
1405
|
+
// eslint-disable-next-line no-param-reassign
|
|
1406
|
+
failedMessage.requestState = 'pending';
|
|
1407
|
+
// eslint-disable-next-line no-param-reassign
|
|
1477
1408
|
failedMessage.sendingStatus = 'pending';
|
|
1478
1409
|
messagesDispatcher({
|
|
1479
1410
|
type: RESEND_MESSAGEGE_START,
|
|
@@ -1481,7 +1412,6 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1481
1412
|
});
|
|
1482
1413
|
return;
|
|
1483
1414
|
}
|
|
1484
|
-
|
|
1485
1415
|
if (messageType === 'file') {
|
|
1486
1416
|
currentGroupChannel.resendFileMessage(failedMessage, file).then(message => {
|
|
1487
1417
|
logger.info('Channel: Resending file message success!', message);
|
|
@@ -1490,19 +1420,20 @@ function useResendMessageCallback(_ref, _ref2) {
|
|
|
1490
1420
|
payload: message
|
|
1491
1421
|
});
|
|
1492
1422
|
}).catch(e => {
|
|
1493
|
-
logger.warning('Channel: Resending file message failed!', e);
|
|
1494
|
-
|
|
1495
|
-
failedMessage.requestState = 'failed';
|
|
1496
|
-
|
|
1423
|
+
logger.warning('Channel: Resending file message failed!', e);
|
|
1424
|
+
// eslint-disable-next-line no-param-reassign
|
|
1425
|
+
failedMessage.requestState = 'failed';
|
|
1426
|
+
// eslint-disable-next-line no-param-reassign
|
|
1497
1427
|
failedMessage.sendingStatus = 'failed';
|
|
1498
1428
|
messagesDispatcher({
|
|
1499
1429
|
type: SEND_MESSAGEGE_FAILURE,
|
|
1500
1430
|
payload: failedMessage
|
|
1501
1431
|
});
|
|
1502
|
-
});
|
|
1503
|
-
|
|
1504
|
-
failedMessage.requestState = 'pending'; // eslint-disable-next-line no-param-reassign
|
|
1432
|
+
});
|
|
1505
1433
|
|
|
1434
|
+
// eslint-disable-next-line no-param-reassign
|
|
1435
|
+
failedMessage.requestState = 'pending';
|
|
1436
|
+
// eslint-disable-next-line no-param-reassign
|
|
1506
1437
|
failedMessage.sendingStatus = 'pending';
|
|
1507
1438
|
messagesDispatcher({
|
|
1508
1439
|
type: RESEND_MESSAGEGE_START,
|
|
@@ -1539,39 +1470,32 @@ function useSendMessageCallback(_ref, _ref2) {
|
|
|
1539
1470
|
// mentionedUserIds,
|
|
1540
1471
|
mentionedUsers
|
|
1541
1472
|
} = props;
|
|
1542
|
-
|
|
1543
1473
|
const createParamsDefault = () => {
|
|
1544
1474
|
const params = {};
|
|
1545
|
-
params.message =
|
|
1546
|
-
|
|
1475
|
+
params.message = message;
|
|
1476
|
+
// if (isMentionEnabled && mentionedUserIds?.length > 0) {
|
|
1547
1477
|
if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1548
1478
|
// params.mentionedUserIds = mentionedUserIds;
|
|
1549
1479
|
params.mentionedUsers = mentionedUsers;
|
|
1550
|
-
}
|
|
1551
|
-
|
|
1552
|
-
|
|
1480
|
+
}
|
|
1481
|
+
// if (isMentionEnabled && mentionTemplate && mentionedUserIds?.length > 0) {
|
|
1553
1482
|
if (isMentionEnabled && mentionTemplate && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
|
|
1554
|
-
params.mentionedMessageTemplate =
|
|
1483
|
+
params.mentionedMessageTemplate = mentionTemplate;
|
|
1555
1484
|
}
|
|
1556
|
-
|
|
1557
1485
|
if (quoteMessage) {
|
|
1558
1486
|
params.isReplyToChannel = true;
|
|
1559
1487
|
params.parentMessageId = quoteMessage.messageId;
|
|
1560
1488
|
}
|
|
1561
|
-
|
|
1562
1489
|
return params;
|
|
1563
1490
|
};
|
|
1564
|
-
|
|
1565
1491
|
const createCustomPrams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';
|
|
1566
|
-
|
|
1567
1492
|
if (createCustomPrams) {
|
|
1568
1493
|
logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);
|
|
1569
1494
|
}
|
|
1570
|
-
|
|
1571
1495
|
const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(message, quoteMessage) : createParamsDefault();
|
|
1572
1496
|
logger.info('Channel: Sending message has started', params);
|
|
1573
1497
|
currentGroupChannel.sendUserMessage(params).onPending(pendingMsg => {
|
|
1574
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1498
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1575
1499
|
/* pubSub is used instead of messagesDispatcher
|
|
1576
1500
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1577
1501
|
message: pendingMsg,
|
|
@@ -1619,44 +1543,39 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1619
1543
|
} = imageCompression;
|
|
1620
1544
|
const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';
|
|
1621
1545
|
const compressibleFileType = file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg';
|
|
1622
|
-
const compressibleRatio = compressionRate > 0 && compressionRate < 1;
|
|
1623
|
-
|
|
1546
|
+
const compressibleRatio = compressionRate > 0 && compressionRate < 1;
|
|
1547
|
+
// pxToNumber returns null if values are invalid
|
|
1624
1548
|
const compressibleDiamensions = pxToNumber(resizingWidth) || pxToNumber(resizingHeight);
|
|
1625
1549
|
const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);
|
|
1626
|
-
|
|
1627
1550
|
const createParamsDefault = file_ => {
|
|
1628
1551
|
const params = {};
|
|
1629
1552
|
params.file = file_;
|
|
1630
|
-
|
|
1631
1553
|
if (quoteMessage) {
|
|
1632
1554
|
params.isReplyToChannel = true;
|
|
1633
1555
|
params.parentMessageId = quoteMessage.messageId;
|
|
1634
1556
|
}
|
|
1635
|
-
|
|
1636
1557
|
return params;
|
|
1637
1558
|
};
|
|
1638
|
-
|
|
1639
1559
|
if (canCompressImage) {
|
|
1640
1560
|
// Using image compression
|
|
1641
1561
|
try {
|
|
1642
1562
|
const image = document.createElement('img');
|
|
1643
1563
|
image.src = URL.createObjectURL(file);
|
|
1644
|
-
|
|
1645
1564
|
image.onload = () => {
|
|
1646
1565
|
URL.revokeObjectURL(image.src);
|
|
1647
1566
|
const canvas = document.createElement('canvas');
|
|
1648
1567
|
const imageWdith = image.naturalWidth || image.width;
|
|
1649
1568
|
const imageHeight = image.naturalHeight || image.height;
|
|
1650
1569
|
let targetWidth = pxToNumber(resizingWidth) || imageWdith;
|
|
1651
|
-
let targetHeight = pxToNumber(resizingHeight) || imageHeight;
|
|
1570
|
+
let targetHeight = pxToNumber(resizingHeight) || imageHeight;
|
|
1571
|
+
|
|
1572
|
+
// In canvas.toBlob(callback, mimeType, qualityArgument)
|
|
1652
1573
|
// qualityArgument doesnt work
|
|
1653
1574
|
// so in case compressibleDiamensions are not present, we use ratio
|
|
1654
|
-
|
|
1655
1575
|
if (file.type === 'image/png' && !compressibleDiamensions) {
|
|
1656
1576
|
targetWidth *= compressionRate;
|
|
1657
1577
|
targetHeight *= compressionRate;
|
|
1658
1578
|
}
|
|
1659
|
-
|
|
1660
1579
|
canvas.width = targetWidth;
|
|
1661
1580
|
canvas.height = targetHeight;
|
|
1662
1581
|
const context = canvas.getContext('2d');
|
|
@@ -1665,15 +1584,13 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1665
1584
|
const compressedFile = new File([newImageBlob], file.name, {
|
|
1666
1585
|
type: file.type
|
|
1667
1586
|
});
|
|
1668
|
-
|
|
1669
1587
|
if (createCustomParams) {
|
|
1670
1588
|
logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
|
|
1671
1589
|
}
|
|
1672
|
-
|
|
1673
1590
|
const params = createCustomParams ? onBeforeSendFileMessage(compressedFile, quoteMessage) : createParamsDefault(compressedFile);
|
|
1674
1591
|
logger.info('Channel: Uploading file message start!', params);
|
|
1675
1592
|
currentGroupChannel.sendFileMessage(params).onPending(pendingMessage => {
|
|
1676
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1593
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1677
1594
|
/* pubSub is used instead of messagesDispatcher
|
|
1678
1595
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1679
1596
|
message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMessage), {}, {
|
|
@@ -1688,10 +1605,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1688
1605
|
logger.error('Channel: Sending file message failed!', {
|
|
1689
1606
|
failedMessage,
|
|
1690
1607
|
err
|
|
1691
|
-
});
|
|
1692
|
-
|
|
1693
|
-
failedMessage.localUrl = URL.createObjectURL(compressedFile);
|
|
1694
|
-
|
|
1608
|
+
});
|
|
1609
|
+
// eslint-disable-next-line no-param-reassign
|
|
1610
|
+
failedMessage.localUrl = URL.createObjectURL(compressedFile);
|
|
1611
|
+
// eslint-disable-next-line no-param-reassign
|
|
1695
1612
|
failedMessage.file = compressedFile;
|
|
1696
1613
|
messagesDispatcher({
|
|
1697
1614
|
type: SEND_MESSAGEGE_FAILURE,
|
|
@@ -1714,11 +1631,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1714
1631
|
if (createCustomParams) {
|
|
1715
1632
|
logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);
|
|
1716
1633
|
}
|
|
1717
|
-
|
|
1718
1634
|
const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file, quoteMessage) : createParamsDefault(file);
|
|
1719
1635
|
logger.info('Channel: Uploading file message start!', params);
|
|
1720
1636
|
currentGroupChannel.sendFileMessage(params).onPending(pendingMsg => {
|
|
1721
|
-
pubSub.publish(topics.SEND_MESSAGE_START, {
|
|
1637
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1722
1638
|
/* pubSub is used instead of messagesDispatcher
|
|
1723
1639
|
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1724
1640
|
message: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, pendingMsg), {}, {
|
|
@@ -1733,10 +1649,10 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1733
1649
|
logger.error('Channel: Sending file message failed!', {
|
|
1734
1650
|
message,
|
|
1735
1651
|
error
|
|
1736
|
-
});
|
|
1737
|
-
|
|
1738
|
-
message.localUrl = URL.createObjectURL(file);
|
|
1739
|
-
|
|
1652
|
+
});
|
|
1653
|
+
// eslint-disable-next-line no-param-reassign
|
|
1654
|
+
message.localUrl = URL.createObjectURL(file);
|
|
1655
|
+
// eslint-disable-next-line no-param-reassign
|
|
1740
1656
|
message.file = file;
|
|
1741
1657
|
messagesDispatcher({
|
|
1742
1658
|
type: SEND_MESSAGEGE_FAILURE,
|
|
@@ -1754,64 +1670,6 @@ function useSendFileMessageCallback(_ref, _ref2) {
|
|
|
1754
1670
|
return [sendMessage];
|
|
1755
1671
|
}
|
|
1756
1672
|
|
|
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
1673
|
function useToggleReactionCallback(_ref, _ref2) {
|
|
1816
1674
|
let {
|
|
1817
1675
|
currentGroupChannel
|
|
@@ -1828,7 +1686,6 @@ function useToggleReactionCallback(_ref, _ref2) {
|
|
|
1828
1686
|
});
|
|
1829
1687
|
return;
|
|
1830
1688
|
}
|
|
1831
|
-
|
|
1832
1689
|
currentGroupChannel.addReaction(message, key).then(res => {
|
|
1833
1690
|
logger.info('Add reaction success', res);
|
|
1834
1691
|
}).catch(err => {
|
|
@@ -1837,20 +1694,24 @@ function useToggleReactionCallback(_ref, _ref2) {
|
|
|
1837
1694
|
}, [currentGroupChannel]);
|
|
1838
1695
|
}
|
|
1839
1696
|
|
|
1840
|
-
function useScrollToMessage(
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1697
|
+
function useScrollToMessage(_ref, _ref2) {
|
|
1698
|
+
let {
|
|
1699
|
+
setInitialTimeStamp,
|
|
1700
|
+
setAnimatedMessageId,
|
|
1701
|
+
allMessages,
|
|
1702
|
+
scrollRef
|
|
1703
|
+
} = _ref;
|
|
1704
|
+
let {
|
|
1705
|
+
logger
|
|
1706
|
+
} = _ref2;
|
|
1707
|
+
return React.useCallback((createdAt, messageId) => {
|
|
1708
|
+
const isPresent = allMessages.find(m => m.messageId === messageId);
|
|
1849
1709
|
setAnimatedMessageId(null);
|
|
1850
|
-
setTimeout(
|
|
1710
|
+
setTimeout(() => {
|
|
1851
1711
|
if (isPresent) {
|
|
1852
1712
|
logger.info('Channel: scroll to message - message is present');
|
|
1853
1713
|
setAnimatedMessageId(messageId);
|
|
1714
|
+
scrollToRenderedMessage(scrollRef, createdAt);
|
|
1854
1715
|
} else {
|
|
1855
1716
|
logger.info('Channel: scroll to message - fetching older messages');
|
|
1856
1717
|
setInitialTimeStamp(null);
|
|
@@ -1861,339 +1722,392 @@ function useScrollToMessage(_a, _b) {
|
|
|
1861
1722
|
}, [setInitialTimeStamp, setAnimatedMessageId, allMessages]);
|
|
1862
1723
|
}
|
|
1863
1724
|
|
|
1864
|
-
|
|
1725
|
+
const useSendVoiceMessageCallback = (_ref, _ref2) => {
|
|
1726
|
+
let {
|
|
1727
|
+
currentGroupChannel,
|
|
1728
|
+
onBeforeSendVoiceMessage
|
|
1729
|
+
} = _ref;
|
|
1730
|
+
let {
|
|
1731
|
+
logger,
|
|
1732
|
+
pubSub,
|
|
1733
|
+
scrollRef,
|
|
1734
|
+
messagesDispatcher
|
|
1735
|
+
} = _ref2;
|
|
1736
|
+
const sendMessage = React.useCallback((file, duration, quoteMessage) => {
|
|
1737
|
+
const messageParams = onBeforeSendVoiceMessage && typeof onBeforeSendVoiceMessage === 'function' ? onBeforeSendVoiceMessage(file, quoteMessage) : {
|
|
1738
|
+
file,
|
|
1739
|
+
fileName: consts.VOICE_MESSAGE_FILE_NAME,
|
|
1740
|
+
mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
|
|
1741
|
+
metaArrays: [new message.MessageMetaArray({
|
|
1742
|
+
key: consts.META_ARRAY_VOICE_DURATION_KEY,
|
|
1743
|
+
value: [`${duration}`]
|
|
1744
|
+
}), new message.MessageMetaArray({
|
|
1745
|
+
key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
|
|
1746
|
+
value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE]
|
|
1747
|
+
})]
|
|
1748
|
+
};
|
|
1749
|
+
if (quoteMessage) {
|
|
1750
|
+
messageParams.isReplyToChannel = true;
|
|
1751
|
+
messageParams.parentMessageId = quoteMessage.messageId;
|
|
1752
|
+
}
|
|
1753
|
+
logger.info('Channel: Start sending voice message', messageParams);
|
|
1754
|
+
currentGroupChannel.sendFileMessage(messageParams).onPending(pendingMessage => {
|
|
1755
|
+
pubSub.publish(topics.PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
1756
|
+
/* pubSub is used instead of messagesDispatcher
|
|
1757
|
+
to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */
|
|
1758
|
+
message: pendingMessage,
|
|
1759
|
+
channel: currentGroupChannel
|
|
1760
|
+
});
|
|
1761
|
+
setTimeout(() => scrollIntoLast(0, scrollRef), 1000);
|
|
1762
|
+
}).onFailed((err, failedMessage) => {
|
|
1763
|
+
logger.error('Channel: Sending voice message failed!', {
|
|
1764
|
+
failedMessage,
|
|
1765
|
+
err
|
|
1766
|
+
});
|
|
1767
|
+
messagesDispatcher({
|
|
1768
|
+
type: SEND_MESSAGEGE_FAILURE,
|
|
1769
|
+
payload: failedMessage
|
|
1770
|
+
});
|
|
1771
|
+
}).onSucceeded(succeededMessage => {
|
|
1772
|
+
logger.info('Channel: Sending voice message success!', succeededMessage);
|
|
1773
|
+
messagesDispatcher({
|
|
1774
|
+
type: SEND_MESSAGEGE_SUCESS,
|
|
1775
|
+
payload: succeededMessage
|
|
1776
|
+
});
|
|
1777
|
+
});
|
|
1778
|
+
}, [currentGroupChannel, onBeforeSendVoiceMessage]);
|
|
1779
|
+
return [sendMessage];
|
|
1780
|
+
};
|
|
1865
1781
|
|
|
1866
|
-
|
|
1782
|
+
let ThreadReplySelectType = /*#__PURE__*/function (ThreadReplySelectType) {
|
|
1867
1783
|
ThreadReplySelectType["PARENT"] = "PARENT";
|
|
1868
1784
|
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.
|
|
1785
|
+
return ThreadReplySelectType;
|
|
1786
|
+
}({});
|
|
1787
|
+
const ChannelContext = /*#__PURE__*/React__default["default"].createContext(undefined);
|
|
1788
|
+
const ChannelProvider = props => {
|
|
1789
|
+
var _globalStore$stores, _globalStore$stores$s, _globalStore$stores2, _globalStore$stores2$;
|
|
1790
|
+
const {
|
|
1791
|
+
channelUrl,
|
|
1792
|
+
children,
|
|
1793
|
+
isReactionEnabled,
|
|
1794
|
+
isMessageGroupingEnabled = true,
|
|
1795
|
+
showSearchIcon,
|
|
1796
|
+
animatedMessage,
|
|
1797
|
+
highlightedMessage,
|
|
1798
|
+
startingPoint,
|
|
1799
|
+
onBeforeSendUserMessage,
|
|
1800
|
+
onBeforeSendFileMessage,
|
|
1801
|
+
onBeforeUpdateUserMessage,
|
|
1802
|
+
onBeforeSendVoiceMessage,
|
|
1803
|
+
onChatHeaderActionClick,
|
|
1804
|
+
onSearchClick,
|
|
1805
|
+
onBackClick,
|
|
1806
|
+
replyType,
|
|
1807
|
+
threadReplySelectType = ThreadReplySelectType.THREAD,
|
|
1808
|
+
queries,
|
|
1809
|
+
filterMessageList,
|
|
1810
|
+
disableMarkAsRead = false,
|
|
1811
|
+
onReplyInThread,
|
|
1812
|
+
onQuoteMessageClick,
|
|
1813
|
+
onMessageAnimated,
|
|
1814
|
+
onMessageHighlighted
|
|
1815
|
+
} = props;
|
|
1816
|
+
const globalStore = useSendbirdStateContext();
|
|
1817
|
+
const {
|
|
1818
|
+
config
|
|
1819
|
+
} = globalStore;
|
|
1820
|
+
const {
|
|
1821
|
+
pubSub,
|
|
1822
|
+
logger,
|
|
1823
|
+
userId,
|
|
1824
|
+
isOnline,
|
|
1825
|
+
imageCompression,
|
|
1826
|
+
isMentionEnabled,
|
|
1827
|
+
isVoiceMessageEnabled,
|
|
1828
|
+
onUserProfileMessage,
|
|
1829
|
+
markAsReadScheduler
|
|
1830
|
+
} = config;
|
|
1831
|
+
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;
|
|
1832
|
+
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;
|
|
1833
|
+
const [initialTimeStamp, setInitialTimeStamp] = React.useState(startingPoint);
|
|
1834
|
+
React.useEffect(() => {
|
|
1918
1835
|
setInitialTimeStamp(startingPoint);
|
|
1919
1836
|
}, [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 () {
|
|
1837
|
+
const [animatedMessageId, setAnimatedMessageId] = React.useState(0);
|
|
1838
|
+
const [highLightedMessageId, setHighLightedMessageId] = React.useState(highlightedMessage);
|
|
1839
|
+
React.useEffect(() => {
|
|
1930
1840
|
setHighLightedMessageId(highlightedMessage);
|
|
1931
1841
|
}, [highlightedMessage]);
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
return usingReaction ? getAllEmojisMapFromEmojiContainer(emojiContainer) : new Map();
|
|
1961
|
-
}, [emojiContainer]);
|
|
1962
|
-
var emojiAllList = React.useMemo(function () {
|
|
1963
|
-
return usingReaction ? getAllEmojisFromEmojiContainer(emojiContainer) : [];
|
|
1964
|
-
}, [emojiContainer]);
|
|
1965
|
-
var nicknamesMap = React.useMemo(function () {
|
|
1966
|
-
return usingReaction && currentGroupChannel ? getNicknamesMapFromMembers(currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members) : new Map();
|
|
1967
|
-
}, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.members]); // Animate message
|
|
1842
|
+
const userFilledMessageListQuery = queries === null || queries === void 0 ? void 0 : queries.messageListParams;
|
|
1843
|
+
const [quoteMessage, setQuoteMessage] = React.useState(null);
|
|
1844
|
+
const [messagesStore, messagesDispatcher] = React.useReducer(reducer, messagesInitialState);
|
|
1845
|
+
const scrollRef = React.useRef(null);
|
|
1846
|
+
const {
|
|
1847
|
+
allMessages,
|
|
1848
|
+
loading,
|
|
1849
|
+
initialized,
|
|
1850
|
+
unreadSince,
|
|
1851
|
+
isInvalid,
|
|
1852
|
+
currentGroupChannel,
|
|
1853
|
+
hasMorePrev,
|
|
1854
|
+
oldestMessageTimeStamp,
|
|
1855
|
+
hasMoreNext,
|
|
1856
|
+
latestMessageTimeStamp,
|
|
1857
|
+
emojiContainer,
|
|
1858
|
+
readStatus
|
|
1859
|
+
} = messagesStore;
|
|
1860
|
+
const isSuper = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isSuper) || false;
|
|
1861
|
+
const isBroadcast = (currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.isBroadcast) || false;
|
|
1862
|
+
const usingReaction = getIsReactionEnabled({
|
|
1863
|
+
isBroadcast,
|
|
1864
|
+
isSuper,
|
|
1865
|
+
globalLevel: config === null || config === void 0 ? void 0 : config.isReactionEnabled,
|
|
1866
|
+
moduleLevel: isReactionEnabled
|
|
1867
|
+
});
|
|
1868
|
+
const emojiAllMap = React.useMemo(() => usingReaction ? getAllEmojisMapFromEmojiContainer(emojiContainer) : new Map(), [emojiContainer]);
|
|
1869
|
+
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
1870
|
|
|
1969
|
-
|
|
1871
|
+
// Animate message
|
|
1872
|
+
React.useEffect(() => {
|
|
1970
1873
|
if (animatedMessage) {
|
|
1971
1874
|
setAnimatedMessageId(animatedMessage);
|
|
1972
1875
|
}
|
|
1973
|
-
}, [animatedMessage]);
|
|
1876
|
+
}, [animatedMessage]);
|
|
1974
1877
|
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1878
|
+
// Scrollup is default scroll for channel
|
|
1879
|
+
const onScrollCallback = useScrollCallback({
|
|
1880
|
+
currentGroupChannel,
|
|
1881
|
+
oldestMessageTimeStamp,
|
|
1882
|
+
userFilledMessageListQuery,
|
|
1883
|
+
replyType,
|
|
1884
|
+
isVoiceMessageEnabled
|
|
1980
1885
|
}, {
|
|
1981
|
-
hasMorePrev
|
|
1982
|
-
logger
|
|
1983
|
-
messagesDispatcher
|
|
1984
|
-
sdk
|
|
1886
|
+
hasMorePrev,
|
|
1887
|
+
logger,
|
|
1888
|
+
messagesDispatcher,
|
|
1889
|
+
sdk
|
|
1985
1890
|
});
|
|
1986
|
-
|
|
1987
|
-
setInitialTimeStamp
|
|
1988
|
-
setAnimatedMessageId
|
|
1989
|
-
allMessages
|
|
1891
|
+
const scrollToMessage = useScrollToMessage({
|
|
1892
|
+
setInitialTimeStamp,
|
|
1893
|
+
setAnimatedMessageId,
|
|
1894
|
+
allMessages,
|
|
1895
|
+
scrollRef
|
|
1990
1896
|
}, {
|
|
1991
|
-
logger
|
|
1992
|
-
});
|
|
1897
|
+
logger
|
|
1898
|
+
});
|
|
1899
|
+
|
|
1900
|
+
// onScrollDownCallback is added for navigation to different timestamps on messageSearch
|
|
1993
1901
|
// hasMorePrev, onScrollCallback -> scroll up(default behavior)
|
|
1994
1902
|
// hasMoreNext, onScrollDownCallback -> scroll down
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
1903
|
+
const onScrollDownCallback = useScrollDownCallback({
|
|
1904
|
+
currentGroupChannel,
|
|
1905
|
+
latestMessageTimeStamp,
|
|
1906
|
+
userFilledMessageListQuery,
|
|
1907
|
+
hasMoreNext,
|
|
1908
|
+
replyType,
|
|
1909
|
+
isVoiceMessageEnabled
|
|
2002
1910
|
}, {
|
|
2003
|
-
logger
|
|
2004
|
-
messagesDispatcher
|
|
2005
|
-
sdk
|
|
1911
|
+
logger,
|
|
1912
|
+
messagesDispatcher,
|
|
1913
|
+
sdk
|
|
2006
1914
|
});
|
|
2007
|
-
|
|
2008
|
-
currentGroupChannel
|
|
1915
|
+
const toggleReaction = useToggleReactionCallback({
|
|
1916
|
+
currentGroupChannel
|
|
2009
1917
|
}, {
|
|
2010
|
-
logger
|
|
1918
|
+
logger
|
|
2011
1919
|
});
|
|
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
1920
|
|
|
1921
|
+
// to create message-datasource
|
|
1922
|
+
// this hook sets currentGroupChannel asynchronously
|
|
2023
1923
|
useSetChannel({
|
|
2024
|
-
channelUrl
|
|
2025
|
-
sdkInit
|
|
2026
|
-
disableMarkAsRead
|
|
1924
|
+
channelUrl,
|
|
1925
|
+
sdkInit,
|
|
1926
|
+
disableMarkAsRead
|
|
2027
1927
|
}, {
|
|
2028
|
-
messagesDispatcher
|
|
2029
|
-
sdk
|
|
2030
|
-
logger
|
|
2031
|
-
|
|
1928
|
+
messagesDispatcher,
|
|
1929
|
+
sdk,
|
|
1930
|
+
logger,
|
|
1931
|
+
markAsReadScheduler
|
|
1932
|
+
});
|
|
2032
1933
|
|
|
2033
|
-
|
|
1934
|
+
// to set quote message as null
|
|
1935
|
+
React.useEffect(() => {
|
|
2034
1936
|
setQuoteMessage(null);
|
|
2035
|
-
}, [channelUrl]);
|
|
1937
|
+
}, [channelUrl]);
|
|
2036
1938
|
|
|
1939
|
+
// Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher
|
|
2037
1940
|
useHandleChannelEvents({
|
|
2038
|
-
currentGroupChannel
|
|
2039
|
-
sdkInit
|
|
1941
|
+
currentGroupChannel,
|
|
1942
|
+
sdkInit,
|
|
2040
1943
|
currentUserId: userId,
|
|
2041
|
-
|
|
2042
|
-
disableMarkAsRead: disableMarkAsRead
|
|
1944
|
+
disableMarkAsRead
|
|
2043
1945
|
}, {
|
|
2044
|
-
messagesDispatcher
|
|
2045
|
-
sdk
|
|
2046
|
-
logger
|
|
2047
|
-
scrollRef
|
|
2048
|
-
setQuoteMessage
|
|
2049
|
-
});
|
|
1946
|
+
messagesDispatcher,
|
|
1947
|
+
sdk,
|
|
1948
|
+
logger,
|
|
1949
|
+
scrollRef,
|
|
1950
|
+
setQuoteMessage
|
|
1951
|
+
});
|
|
1952
|
+
|
|
1953
|
+
// hook that fetches messages when channel changes
|
|
2050
1954
|
// to be clear here useGetChannel sets currentGroupChannel
|
|
2051
1955
|
// and useInitialMessagesFetch executes when currentGroupChannel changes
|
|
2052
1956
|
// p.s This one executes on initialTimeStamp change too
|
|
2053
|
-
|
|
2054
1957
|
useInitialMessagesFetch({
|
|
2055
|
-
currentGroupChannel
|
|
2056
|
-
userFilledMessageListQuery
|
|
2057
|
-
initialTimeStamp
|
|
2058
|
-
latestMessageTimeStamp
|
|
2059
|
-
replyType
|
|
1958
|
+
currentGroupChannel,
|
|
1959
|
+
userFilledMessageListQuery,
|
|
1960
|
+
initialTimeStamp,
|
|
1961
|
+
latestMessageTimeStamp,
|
|
1962
|
+
replyType,
|
|
1963
|
+
isVoiceMessageEnabled
|
|
2060
1964
|
}, {
|
|
2061
|
-
logger
|
|
2062
|
-
scrollRef
|
|
2063
|
-
messagesDispatcher
|
|
2064
|
-
});
|
|
1965
|
+
logger,
|
|
1966
|
+
scrollRef,
|
|
1967
|
+
messagesDispatcher
|
|
1968
|
+
});
|
|
2065
1969
|
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
1970
|
+
// handles API calls from withSendbird
|
|
1971
|
+
React.useEffect(() => {
|
|
1972
|
+
const subscriber = pubSubHandler({
|
|
1973
|
+
channelUrl,
|
|
1974
|
+
pubSub,
|
|
2070
1975
|
dispatcher: messagesDispatcher,
|
|
2071
|
-
scrollRef
|
|
1976
|
+
scrollRef
|
|
2072
1977
|
});
|
|
2073
|
-
return
|
|
1978
|
+
return () => {
|
|
2074
1979
|
pubSubHandleRemover(subscriber);
|
|
2075
1980
|
};
|
|
2076
|
-
}, [channelUrl, sdkInit]);
|
|
1981
|
+
}, [channelUrl, sdkInit]);
|
|
2077
1982
|
|
|
1983
|
+
// handling connection breaks
|
|
2078
1984
|
useHandleReconnect({
|
|
2079
|
-
isOnline
|
|
2080
|
-
replyType
|
|
2081
|
-
disableMarkAsRead
|
|
1985
|
+
isOnline,
|
|
1986
|
+
replyType,
|
|
1987
|
+
disableMarkAsRead
|
|
2082
1988
|
}, {
|
|
2083
|
-
logger
|
|
2084
|
-
sdk
|
|
2085
|
-
scrollRef
|
|
2086
|
-
currentGroupChannel
|
|
2087
|
-
messagesDispatcher
|
|
2088
|
-
userFilledMessageListQuery
|
|
2089
|
-
|
|
1989
|
+
logger,
|
|
1990
|
+
sdk,
|
|
1991
|
+
scrollRef,
|
|
1992
|
+
currentGroupChannel,
|
|
1993
|
+
messagesDispatcher,
|
|
1994
|
+
userFilledMessageListQuery,
|
|
1995
|
+
markAsReadScheduler
|
|
1996
|
+
});
|
|
2090
1997
|
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
1998
|
+
// callbacks for Message CURD actions
|
|
1999
|
+
const deleteMessage = useDeleteMessageCallback({
|
|
2000
|
+
currentGroupChannel,
|
|
2001
|
+
messagesDispatcher
|
|
2094
2002
|
}, {
|
|
2095
|
-
logger
|
|
2003
|
+
logger
|
|
2096
2004
|
});
|
|
2097
|
-
|
|
2098
|
-
currentGroupChannel
|
|
2099
|
-
messagesDispatcher
|
|
2100
|
-
onBeforeUpdateUserMessage
|
|
2101
|
-
isMentionEnabled
|
|
2005
|
+
const updateMessage = useUpdateMessageCallback({
|
|
2006
|
+
currentGroupChannel,
|
|
2007
|
+
messagesDispatcher,
|
|
2008
|
+
onBeforeUpdateUserMessage,
|
|
2009
|
+
isMentionEnabled
|
|
2102
2010
|
}, {
|
|
2103
|
-
logger
|
|
2104
|
-
pubSub
|
|
2011
|
+
logger,
|
|
2012
|
+
pubSub
|
|
2105
2013
|
});
|
|
2106
|
-
|
|
2107
|
-
currentGroupChannel
|
|
2108
|
-
messagesDispatcher
|
|
2014
|
+
const resendMessage = useResendMessageCallback({
|
|
2015
|
+
currentGroupChannel,
|
|
2016
|
+
messagesDispatcher
|
|
2109
2017
|
}, {
|
|
2110
|
-
logger
|
|
2018
|
+
logger
|
|
2111
2019
|
});
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
isMentionEnabled: isMentionEnabled
|
|
2020
|
+
const [messageInputRef, sendMessage] = useSendMessageCallback({
|
|
2021
|
+
currentGroupChannel,
|
|
2022
|
+
onBeforeSendUserMessage,
|
|
2023
|
+
isMentionEnabled
|
|
2117
2024
|
}, {
|
|
2118
|
-
logger
|
|
2119
|
-
pubSub
|
|
2120
|
-
scrollRef
|
|
2121
|
-
messagesDispatcher
|
|
2122
|
-
})
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
currentGroupChannel: currentGroupChannel,
|
|
2128
|
-
onBeforeSendFileMessage: onBeforeSendFileMessage,
|
|
2129
|
-
imageCompression: imageCompression
|
|
2025
|
+
logger,
|
|
2026
|
+
pubSub,
|
|
2027
|
+
scrollRef,
|
|
2028
|
+
messagesDispatcher
|
|
2029
|
+
});
|
|
2030
|
+
const [sendFileMessage] = useSendFileMessageCallback({
|
|
2031
|
+
currentGroupChannel,
|
|
2032
|
+
onBeforeSendFileMessage,
|
|
2033
|
+
imageCompression
|
|
2130
2034
|
}, {
|
|
2131
|
-
logger
|
|
2132
|
-
pubSub
|
|
2133
|
-
scrollRef
|
|
2134
|
-
messagesDispatcher
|
|
2135
|
-
})
|
|
2035
|
+
logger,
|
|
2036
|
+
pubSub,
|
|
2037
|
+
scrollRef,
|
|
2038
|
+
messagesDispatcher
|
|
2039
|
+
});
|
|
2040
|
+
const [sendVoiceMessage] = useSendVoiceMessageCallback({
|
|
2041
|
+
currentGroupChannel,
|
|
2042
|
+
onBeforeSendVoiceMessage
|
|
2043
|
+
}, {
|
|
2044
|
+
logger,
|
|
2045
|
+
pubSub,
|
|
2046
|
+
scrollRef,
|
|
2047
|
+
messagesDispatcher
|
|
2048
|
+
});
|
|
2136
2049
|
return /*#__PURE__*/React__default["default"].createElement(ChannelContext.Provider, {
|
|
2137
2050
|
value: {
|
|
2138
2051
|
// props
|
|
2139
|
-
channelUrl
|
|
2052
|
+
channelUrl,
|
|
2140
2053
|
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
|
-
|
|
2054
|
+
isMessageGroupingEnabled,
|
|
2055
|
+
showSearchIcon,
|
|
2056
|
+
highlightedMessage,
|
|
2057
|
+
startingPoint,
|
|
2058
|
+
onBeforeSendUserMessage,
|
|
2059
|
+
onBeforeSendFileMessage,
|
|
2060
|
+
onBeforeUpdateUserMessage,
|
|
2061
|
+
onChatHeaderActionClick,
|
|
2062
|
+
onSearchClick,
|
|
2063
|
+
onBackClick,
|
|
2064
|
+
replyType,
|
|
2065
|
+
threadReplySelectType,
|
|
2066
|
+
queries,
|
|
2067
|
+
filterMessageList,
|
|
2068
|
+
disableMarkAsRead,
|
|
2069
|
+
onReplyInThread,
|
|
2070
|
+
onQuoteMessageClick,
|
|
2071
|
+
onMessageAnimated,
|
|
2072
|
+
onMessageHighlighted,
|
|
2159
2073
|
// 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
|
|
2074
|
+
allMessages,
|
|
2075
|
+
loading,
|
|
2076
|
+
initialized,
|
|
2077
|
+
unreadSince,
|
|
2078
|
+
isInvalid,
|
|
2079
|
+
currentGroupChannel,
|
|
2080
|
+
hasMorePrev,
|
|
2081
|
+
hasMoreNext,
|
|
2082
|
+
oldestMessageTimeStamp,
|
|
2083
|
+
latestMessageTimeStamp,
|
|
2084
|
+
emojiContainer,
|
|
2085
|
+
readStatus,
|
|
2172
2086
|
// 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
|
|
2087
|
+
scrollToMessage,
|
|
2088
|
+
quoteMessage,
|
|
2089
|
+
setQuoteMessage,
|
|
2090
|
+
deleteMessage,
|
|
2091
|
+
updateMessage,
|
|
2092
|
+
resendMessage,
|
|
2093
|
+
messageInputRef,
|
|
2094
|
+
sendMessage,
|
|
2095
|
+
sendFileMessage,
|
|
2096
|
+
sendVoiceMessage,
|
|
2097
|
+
initialTimeStamp,
|
|
2098
|
+
messageActionTypes,
|
|
2099
|
+
messagesDispatcher,
|
|
2100
|
+
setInitialTimeStamp,
|
|
2101
|
+
setAnimatedMessageId,
|
|
2102
|
+
setHighLightedMessageId,
|
|
2103
|
+
animatedMessageId,
|
|
2104
|
+
highLightedMessageId,
|
|
2105
|
+
nicknamesMap,
|
|
2106
|
+
emojiAllMap,
|
|
2107
|
+
onScrollCallback,
|
|
2108
|
+
onScrollDownCallback,
|
|
2109
|
+
scrollRef,
|
|
2110
|
+
toggleReaction
|
|
2197
2111
|
}
|
|
2198
2112
|
}, /*#__PURE__*/React__default["default"].createElement(UserProfileContext.UserProfileProvider, {
|
|
2199
2113
|
disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile,
|
|
@@ -2201,17 +2115,15 @@ var ChannelProvider = function (props) {
|
|
|
2201
2115
|
onUserProfileMessage: onUserProfileMessage
|
|
2202
2116
|
}, children));
|
|
2203
2117
|
};
|
|
2204
|
-
|
|
2205
|
-
var useChannelContext = function () {
|
|
2206
|
-
return React__default["default"].useContext(ChannelContext);
|
|
2207
|
-
};
|
|
2118
|
+
const useChannelContext = () => React__default["default"].useContext(ChannelContext);
|
|
2208
2119
|
|
|
2209
2120
|
exports.ChannelProvider = ChannelProvider;
|
|
2210
|
-
exports.
|
|
2121
|
+
exports.ThreadReplySelectType = ThreadReplySelectType;
|
|
2211
2122
|
exports.compareMessagesForGrouping = compareMessagesForGrouping;
|
|
2123
|
+
exports.getIsReactionEnabled = getIsReactionEnabled;
|
|
2212
2124
|
exports.isAboutSame = isAboutSame;
|
|
2213
2125
|
exports.isDisabledBecauseFrozen = isDisabledBecauseFrozen;
|
|
2214
2126
|
exports.isDisabledBecauseMuted = isDisabledBecauseMuted;
|
|
2215
2127
|
exports.isOperator = isOperator;
|
|
2216
2128
|
exports.useChannelContext = useChannelContext;
|
|
2217
|
-
//# sourceMappingURL=ChannelProvider-
|
|
2129
|
+
//# sourceMappingURL=ChannelProvider-2bfafa25.js.map
|