@ethora/chat-component-rn 26.5.5 → 26.5.10
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/CHANGELOG.md +177 -0
- package/README.md +67 -10
- package/index.js +24 -0
- package/lib/commonjs/assets/icons.js +5 -1
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +11 -5
- package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +7 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +66 -34
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +59 -14
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +15 -7
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +175 -30
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
- package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Message.js +117 -19
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +82 -22
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -4
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +175 -40
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +78 -39
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +4 -9
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/styled/MediaFilePreview.js +115 -5
- package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +49 -10
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
- package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +53 -29
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +60 -22
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/MessageNotificationContext.js +7 -7
- package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +315 -34
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
- package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/keyboardLayout.js +18 -0
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
- package/lib/commonjs/helpers/mediaDimensions.js +51 -0
- package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
- package/lib/commonjs/helpers/mimeToExtension.js +131 -0
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -0
- package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
- package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +73 -1
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js +22 -10
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js +9 -1
- package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
- package/lib/commonjs/hooks/useHeapSender.js +1 -1
- package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +3 -3
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/useMessageHeapState.js +6 -2
- package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
- package/lib/commonjs/hooks/usePushNotifications.js +6 -2
- package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
- package/lib/commonjs/hooks/useRoomState.js +2 -0
- package/lib/commonjs/hooks/useRoomState.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +249 -14
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/main.js +7 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +74 -1
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/apiClient.js +2 -1
- package/lib/commonjs/networking/apiClient.js.map +1 -1
- package/lib/commonjs/networking/outboundQueue.js +92 -0
- package/lib/commonjs/networking/outboundQueue.js.map +1 -0
- package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
- package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
- package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +371 -26
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/roomHeapSlice.js +26 -8
- package/lib/commonjs/roomStore/roomHeapSlice.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +157 -23
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
- package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
- package/lib/commonjs/utils/resendMessage.js +1 -1
- package/lib/commonjs/utils/resendMessage.js.map +1 -1
- package/lib/module/assets/icons.js +5 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
- package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +7 -1
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +67 -35
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +59 -14
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +15 -7
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +2 -2
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +176 -31
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/SystemMessage.js +33 -21
- package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/module/components/MessageBubble/Message.js +118 -20
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +84 -24
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +15 -3
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +179 -42
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +5 -1
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +80 -41
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +4 -9
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/styled/MediaFilePreview.js +116 -6
- package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +51 -12
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/NewMessageLabel.js +8 -6
- package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +54 -30
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +5 -1
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +61 -23
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/MessageNotificationContext.js +7 -7
- package/lib/module/context/MessageNotificationContext.js.map +1 -1
- package/lib/module/context/xmppProvider.js +319 -37
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/chatAutoEnterer.js +2 -7
- package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
- package/lib/module/helpers/historyPreloadScheduler.js +4 -1
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/keyboardLayout.js +12 -0
- package/lib/module/helpers/keyboardLayout.js.map +1 -0
- package/lib/module/helpers/mediaDimensions.js +46 -0
- package/lib/module/helpers/mediaDimensions.js.map +1 -0
- package/lib/module/helpers/mimeToExtension.js +124 -0
- package/lib/module/helpers/mimeToExtension.js.map +1 -0
- package/lib/module/helpers/normalizeRoomJid.js +15 -0
- package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/module/helpers/resolveInitBeforeLoadUser.js +71 -0
- package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/module/hooks/useChatRoomFocus.js +82 -0
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
- package/lib/module/hooks/useChatWrapperInit.js +22 -10
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useEventHandlers.js +9 -1
- package/lib/module/hooks/useEventHandlers.js.map +1 -1
- package/lib/module/hooks/useHeapSender.js +1 -1
- package/lib/module/hooks/useHeapSender.js.map +1 -1
- package/lib/module/hooks/useLogout.js +3 -3
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/useMessageHeapState.js +6 -2
- package/lib/module/hooks/useMessageHeapState.js.map +1 -1
- package/lib/module/hooks/usePushNotifications.js +6 -2
- package/lib/module/hooks/usePushNotifications.js.map +1 -1
- package/lib/module/hooks/useRoomState.js +2 -0
- package/lib/module/hooks/useRoomState.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +252 -17
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/main.js +1 -0
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +74 -2
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/apiClient.js +2 -1
- package/lib/module/networking/apiClient.js.map +1 -1
- package/lib/module/networking/outboundQueue.js +84 -0
- package/lib/module/networking/outboundQueue.js.map +1 -0
- package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
- package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
- package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +371 -26
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/roomHeapSlice.js +24 -7
- package/lib/module/roomStore/roomHeapSlice.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +154 -22
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
- package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
- package/lib/module/utils/resendMessage.js +1 -1
- package/lib/module/utils/resendMessage.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +8 -4
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts +6 -0
- package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
- package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts +1 -0
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
- package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
- package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts +37 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -0
- package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
- package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts +18 -0
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useEventHandlers.d.ts +6 -0
- package/lib/typescript/hooks/useEventHandlers.d.ts.map +1 -1
- package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
- package/lib/typescript/hooks/useMessageHeapState.d.ts +2 -0
- package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
- package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
- package/lib/typescript/hooks/useRoomState.d.ts +1 -0
- package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +1 -0
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/apiClient.d.ts.map +1 -1
- package/lib/typescript/networking/outboundQueue.d.ts +57 -0
- package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
- package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +58 -5
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
- package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/models/media.model.d.ts +1 -0
- package/lib/typescript/types/models/media.model.d.ts.map +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +10 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
- package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
- package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
- package/package.json +18 -2
- package/src/assets/icons.tsx +23 -14
- package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
- package/src/components/MainComponents/ChatHeader.tsx +5 -1
- package/src/components/MainComponents/ChatRoom.tsx +81 -61
- package/src/components/MainComponents/ChatWrapper.tsx +100 -21
- package/src/components/MainComponents/MediaMessage.tsx +18 -8
- package/src/components/MainComponents/MessageContainer.tsx +4 -2
- package/src/components/MainComponents/MessageList.tsx +185 -31
- package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
- package/src/components/MainComponents/SystemMessage.tsx +38 -26
- package/src/components/MessageBubble/Message.tsx +110 -27
- package/src/components/MessageBubble/MessageInteractions.tsx +98 -29
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +17 -3
- package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +182 -37
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
- package/src/components/Modals/Modal/Modal.tsx +4 -1
- package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +77 -44
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
- package/src/components/Modals/styledModalComponents.tsx +4 -9
- package/src/components/styled/MediaFilePreview.tsx +111 -5
- package/src/components/styled/MessageImage.tsx +58 -14
- package/src/components/styled/NewMessageLabel.tsx +8 -5
- package/src/components/styled/SendInput.tsx +67 -29
- package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
- package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
- package/src/components/styled/UnsupportedType.tsx +7 -1
- package/src/components/styled/VideoMessage.tsx +59 -18
- package/src/context/MessageNotificationContext.tsx +8 -8
- package/src/context/xmppProvider.tsx +337 -32
- package/src/helpers/chatAutoEnterer.ts +2 -8
- package/src/helpers/historyPreloadScheduler.ts +4 -1
- package/src/helpers/insertMessageWithDelimiter.ts +22 -15
- package/src/helpers/keyboardLayout.ts +18 -0
- package/src/helpers/mediaDimensions.ts +47 -0
- package/src/helpers/mimeToExtension.ts +135 -0
- package/src/helpers/normalizeRoomJid.ts +6 -0
- package/src/helpers/resolveInitBeforeLoadUser.ts +79 -0
- package/src/hooks/useChatRoomFocus.ts +95 -0
- package/src/hooks/useChatWrapperInit.ts +51 -46
- package/src/hooks/useEventHandlers.tsx +24 -1
- package/src/hooks/useHeapSender.tsx +2 -1
- package/src/hooks/useLogout.tsx +3 -3
- package/src/hooks/useMessageHeapState.tsx +6 -2
- package/src/hooks/usePushNotifications.ts +21 -8
- package/src/hooks/useRoomState.tsx +4 -0
- package/src/hooks/useSendMessage.tsx +333 -17
- package/src/hooks/useUnreadMessagesCounter.ts +13 -16
- package/src/main.ts +1 -0
- package/src/networking/api-requests/auth.api.ts +60 -2
- package/src/networking/apiClient.ts +2 -1
- package/src/networking/outboundQueue.ts +98 -0
- package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
- package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
- package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
- package/src/networking/xmppClient.ts +399 -31
- package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
- package/src/roomStore/roomHeapSlice.ts +47 -4
- package/src/roomStore/roomsSlice.ts +177 -27
- package/src/types/models/media.model.ts +3 -0
- package/src/types/models/xmpp.model.ts +2 -1
- package/src/types/types.ts +25 -0
- package/src/utils/installPromiseRejectionTracker.ts +91 -0
- package/src/utils/resendMessage.ts +2 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the conventional extension (including the leading dot) for a
|
|
3
|
+
* MIME type, or `.bin` as a last-resort fallback so callers never end up
|
|
4
|
+
* with an extension-less filename.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getExtensionForMime(mime: string | undefined | null): string;
|
|
7
|
+
/**
|
|
8
|
+
* Parses a URL or file path and returns the last segment, URL-decoded,
|
|
9
|
+
* stripped of query/hash. Returns `''` when nothing usable is present.
|
|
10
|
+
*/
|
|
11
|
+
export declare function filenameFromUrl(url: string | undefined | null): string;
|
|
12
|
+
/**
|
|
13
|
+
* Ensures `fileName` ends with a valid extension. Strategy:
|
|
14
|
+
* 1. If the input already has an extension, return it unchanged.
|
|
15
|
+
* 2. Otherwise, derive the extension from `mime` and append it.
|
|
16
|
+
* 3. If `mime` is unknown, append `.bin`.
|
|
17
|
+
*
|
|
18
|
+
* Empty/falsy filenames get a `media_<timestamp>` base before the
|
|
19
|
+
* extension is appended so callers always get a usable filename.
|
|
20
|
+
*/
|
|
21
|
+
export declare function ensureFilenameHasExtension(fileName: string | undefined | null, mime: string | undefined | null): string;
|
|
22
|
+
/**
|
|
23
|
+
* Best-effort filename derivation for a message bubble:
|
|
24
|
+
* - server-provided `fileName`
|
|
25
|
+
* - server-provided `originalName`
|
|
26
|
+
* - URL pathname
|
|
27
|
+
* - generic `media_<timestamp>` so we never render an empty label
|
|
28
|
+
*
|
|
29
|
+
* Always returns a string with a valid extension.
|
|
30
|
+
*/
|
|
31
|
+
export declare function deriveDisplayFilename(opts: {
|
|
32
|
+
fileName?: string | null;
|
|
33
|
+
originalName?: string | null;
|
|
34
|
+
url?: string | null;
|
|
35
|
+
mime?: string | null;
|
|
36
|
+
}): string;
|
|
37
|
+
//# sourceMappingURL=mimeToExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mimeToExtension.d.ts","sourceRoot":"","sources":["../../../src/helpers/mimeToExtension.ts"],"names":[],"mappings":"AAkEA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAI3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAWtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACnC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC9B,MAAM,CAKR;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,GAAG,MAAM,CAOT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeRoomJid.d.ts","sourceRoot":"","sources":["../../../src/helpers/normalizeRoomJid.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,aAAa,MAAM,WAKpE,CAAC"}
|
|
@@ -5,5 +5,23 @@ interface ResolveInitBeforeLoadUserOptions {
|
|
|
5
5
|
}
|
|
6
6
|
export declare const resolveInitBeforeLoadUser: (options?: ResolveInitBeforeLoadUserOptions) => Promise<User | null>;
|
|
7
7
|
export declare const applyResolvedUserToStore: (user?: User | null) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Re-mints a User with a fresh xmppPassword for the XMPP credentials-
|
|
10
|
+
* provider path (bug #17). Unlike `resolveInitBeforeLoadUser` this
|
|
11
|
+
* ALWAYS hydrates via the chosen auth path even if the cached user
|
|
12
|
+
* already had xmppCredentials — that's the whole point, the old ones
|
|
13
|
+
* are stale.
|
|
14
|
+
*
|
|
15
|
+
* Selection order:
|
|
16
|
+
* 1. `jwtLogin` — re-exchange the JWT via `/users/client`.
|
|
17
|
+
* 2. Anything else (`userLogin` / `customLogin` / store / persisted)
|
|
18
|
+
* — `tryHydrateViaMy` on the current user, which calls
|
|
19
|
+
* `/users/my` and, on 401, refreshes the access token via
|
|
20
|
+
* `/users/login/refresh` and retries.
|
|
21
|
+
*
|
|
22
|
+
* Returns `null` only when nothing usable is available — the caller
|
|
23
|
+
* (xmppProvider) falls back to the cached creds in that case.
|
|
24
|
+
*/
|
|
25
|
+
export declare const refreshUserCredentialsForXmpp: (config?: IConfig, signal?: AbortSignal) => Promise<User | null>;
|
|
8
26
|
export default resolveInitBeforeLoadUser;
|
|
9
27
|
//# sourceMappingURL=resolveInitBeforeLoadUser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveInitBeforeLoadUser.d.ts","sourceRoot":"","sources":["../../../src/helpers/resolveInitBeforeLoadUser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAO/C,UAAU,gCAAgC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AA6ID,eAAO,MAAM,yBAAyB,GACpC,UAAU,gCAAgC,KACzC,OAAO,CAAC,IAAI,GAAG,IAAI,CA4ErB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,IAAI,GAAG,IAAI,SAG1D,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"resolveInitBeforeLoadUser.d.ts","sourceRoot":"","sources":["../../../src/helpers/resolveInitBeforeLoadUser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAO/C,UAAU,gCAAgC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AA6ID,eAAO,MAAM,yBAAyB,GACpC,UAAU,gCAAgC,KACzC,OAAO,CAAC,IAAI,GAAG,IAAI,CA4ErB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,IAAI,GAAG,IAAI,SAG1D,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,GACxC,SAAS,OAAO,EAChB,SAAS,WAAW,KACnB,OAAO,CAAC,IAAI,GAAG,IAAI,CAyDrB,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
interface UseChatRoomFocusOptions {
|
|
2
|
+
/** The room JID that the consumer's tab/screen is currently showing. */
|
|
3
|
+
roomJID: string | null | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Whether the chat tab/screen is currently focused. In tab-based
|
|
6
|
+
* navigators where `<ChatRoom>` never unmounts, the SDK can't tell
|
|
7
|
+
* "user is looking at this tab" from "user is on a different tab"
|
|
8
|
+
* — pass this from `useFocusEffect` (React Navigation) or a similar
|
|
9
|
+
* focus signal so the unread counter clears on focus and starts
|
|
10
|
+
* counting again on blur.
|
|
11
|
+
*/
|
|
12
|
+
isFocused: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Public hook for consumers embedding `<ChatRoom>` inside a tab-based
|
|
16
|
+
* navigator. Mirrors the mount/unmount unread-tracking that ChatRoom
|
|
17
|
+
* does internally — but driven by an explicit focus signal so the
|
|
18
|
+
* unread counter behaves correctly when the chat tab is not focused
|
|
19
|
+
* but the component is still mounted.
|
|
20
|
+
*
|
|
21
|
+
* Without this hook, `useUnread()` will always return 0 for the chat
|
|
22
|
+
* room because the SDK assumes "mounted == active". With this hook,
|
|
23
|
+
* focus marks the room visible (clearing the badge) and blur stamps
|
|
24
|
+
* `lastViewedTimestamp = Date.now()` so future messages count as unread.
|
|
25
|
+
*
|
|
26
|
+
* Usage with React Navigation:
|
|
27
|
+
*
|
|
28
|
+
* ```tsx
|
|
29
|
+
* import { useIsFocused } from '@react-navigation/native';
|
|
30
|
+
*
|
|
31
|
+
* function ChatTab() {
|
|
32
|
+
* const isFocused = useIsFocused();
|
|
33
|
+
* useChatRoomFocus({ roomJID: 'general@conference.host', isFocused });
|
|
34
|
+
* return <Chat config={...} />;
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* Bug #18-adjacent / unread-tracking bug from sdk-bug-tracker.md.
|
|
39
|
+
*/
|
|
40
|
+
export declare const useChatRoomFocus: ({ roomJID, isFocused, }: UseChatRoomFocusOptions) => void;
|
|
41
|
+
export default useChatRoomFocus;
|
|
42
|
+
//# sourceMappingURL=useChatRoomFocus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatRoomFocus.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChatRoomFocus.ts"],"names":[],"mappings":"AAUA,UAAU,uBAAuB;IAC/B,wEAAwE;IACxE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC;;;;;;;OAOG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,gBAAgB,GAAI,yBAG9B,uBAAuB,SAuCzB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatWrapperInit.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChatWrapperInit.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAgBlD,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,wBAAwB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;IACnE,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,kBAAkB,GAAI,uCAIzB,uBAAuB,KAAG,
|
|
1
|
+
{"version":3,"file":"useChatWrapperInit.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChatWrapperInit.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAgBlD,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,wBAAwB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;IACnE,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,kBAAkB,GAAI,uCAIzB,uBAAuB,KAAG,wBAiO5B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -18,10 +18,16 @@ interface MessageEditedEvent {
|
|
|
18
18
|
roomJID: string;
|
|
19
19
|
user: any;
|
|
20
20
|
}
|
|
21
|
+
interface MessageRetryEvent {
|
|
22
|
+
messageId: string;
|
|
23
|
+
roomJID: string;
|
|
24
|
+
messageType: 'text' | 'media';
|
|
25
|
+
}
|
|
21
26
|
export interface EventHandlersHook {
|
|
22
27
|
handleMessageSent: (event: MessageSentEvent) => Promise<void>;
|
|
23
28
|
handleMessageFailed: (event: MessageFailedEvent) => void;
|
|
24
29
|
handleMessageEdited: (event: MessageEditedEvent) => void;
|
|
30
|
+
handleMessageRetry: (event: MessageRetryEvent) => void;
|
|
25
31
|
}
|
|
26
32
|
export declare const useEventHandlers: (config?: IConfig) => EventHandlersHook;
|
|
27
33
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEventHandlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEventHandlers.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,mBAAmB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useEventHandlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEventHandlers.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,mBAAmB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,kBAAkB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACxD;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,KAAG,iBAiEnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeapSender.d.ts","sourceRoot":"","sources":["../../../src/hooks/useHeapSender.tsx"],"names":[],"mappings":"AAIA,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,eAAO,MAAM,aAAa,GAAI,QAAQ,UAAU,GAAG,IAAI;;
|
|
1
|
+
{"version":3,"file":"useHeapSender.d.ts","sourceRoot":"","sources":["../../../src/hooks/useHeapSender.tsx"],"names":[],"mappings":"AAIA,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,eAAO,MAAM,aAAa,GAAI,QAAQ,UAAU,GAAG,IAAI;;CAkFtD,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare const useMessageHeapState: () => {
|
|
2
2
|
queue: import("../main").IMessage[];
|
|
3
3
|
idSet: Set<string>;
|
|
4
|
+
failedMessages: Record<string, import("../roomStore/roomHeapSlice").FailedMessagePayload>;
|
|
5
|
+
failedIdSet: Set<string>;
|
|
4
6
|
};
|
|
5
7
|
//# sourceMappingURL=useMessageHeapState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageHeapState.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMessageHeapState.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"useMessageHeapState.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMessageHeapState.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB;;;;;CAW/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePushNotifications.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePushNotifications.ts"],"names":[],"mappings":"AAcA,wBAAgB,oBAAoB;;;
|
|
1
|
+
{"version":3,"file":"usePushNotifications.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePushNotifications.ts"],"names":[],"mappings":"AAcA,wBAAgB,oBAAoB;;;EAwGnC"}
|
|
@@ -5,6 +5,7 @@ export declare const useRoomState: (roomJID?: string) => {
|
|
|
5
5
|
[jid: string]: import("../main").IRoom;
|
|
6
6
|
};
|
|
7
7
|
activeRoomJID: string | null;
|
|
8
|
+
visibleRoomJID: string | null;
|
|
8
9
|
editAction: import("../types/types").EditAction | undefined;
|
|
9
10
|
globalLoading: boolean;
|
|
10
11
|
loadingText: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRoomState.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRoomState.tsx"],"names":[],"mappings":"AAAA,cAAc;AAMd,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM
|
|
1
|
+
{"version":3,"file":"useRoomState.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRoomState.tsx"],"names":[],"mappings":"AAAA,cAAc;AAMd,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM;;;;;;;;;;;;;CA4C5C,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { IConfig } from '../types/types';
|
|
2
2
|
export declare const useSendMessage: (_configOverride?: IConfig) => {
|
|
3
3
|
sendMessage: (message: string, activeRoomJID: string, isReply?: boolean, isChecked?: boolean, mainMessage?: string) => Promise<void>;
|
|
4
|
-
sendMedia: (data: any, type: string, activeRoomJID: string, isReply?: boolean, isChecked?: boolean, mainMessage?: string) => Promise<void>;
|
|
4
|
+
sendMedia: (data: any, type: string, activeRoomJID: string, isReply?: boolean, isChecked?: boolean, mainMessage?: string, existingId?: string) => Promise<void>;
|
|
5
5
|
sendEditMessage: (message: string, _activeRoomJID?: string) => Promise<void>;
|
|
6
|
+
retryMessage: (failedId: string) => Promise<void>;
|
|
6
7
|
isLastMessageFromUserAndProcessing: (roomJID: string) => boolean;
|
|
7
8
|
};
|
|
8
9
|
//# sourceMappingURL=useSendMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSendMessage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSendMessage.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,gBAAgB,CAAC;AA0BxD,eAAO,MAAM,cAAc,GAAI,kBAAkB,OAAO;2BAgCzC,MAAM,iBACA,MAAM,YACX,OAAO,cACL,OAAO,gBACL,MAAM;sBA4Ld,GAAG,QACH,MAAM,iBACG,MAAM,YACZ,OAAO,cACL,OAAO,gBACL,MAAM,eACN,MAAM;+BA8VL,MAAM,mBAAmB,MAAM;6BApC9B,MAAM;kDAqEb,MAAM,KAAG,OAAO;CAoB7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUnreadMessagesCounter.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUnreadMessagesCounter.ts"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACzB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,eAAO,MAAM,wBAAwB,QAAO,
|
|
1
|
+
{"version":3,"file":"useUnreadMessagesCounter.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUnreadMessagesCounter.ts"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACzB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,eAAO,MAAM,wBAAwB,QAAO,mBAmC3C,CAAC;AAEF,OAAO,EAAE,wBAAwB,IAAI,SAAS,EAAE,CAAC"}
|
package/lib/typescript/main.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ import 'react-native-get-random-values';
|
|
|
23
23
|
export { ReduxWrapper as Chat } from './components/MainComponents/ReduxWrapper';
|
|
24
24
|
export { XmppProvider } from './context/xmppProvider';
|
|
25
25
|
export { useUnread } from './hooks/useUnreadMessagesCounter';
|
|
26
|
+
export { useChatRoomFocus } from './hooks/useChatRoomFocus';
|
|
26
27
|
export { logoutService } from './hooks/useLogout';
|
|
27
28
|
export { useQRCodeChat, handleQRChatId } from './hooks/useQRCodeChatHandler';
|
|
28
29
|
export { resendMessage } from './utils/resendMessage';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,gCAAgC,CAAC;AAGxC,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,YAAY,EACV,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,GACb,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,gCAAgC,CAAC;AAGxC,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,YAAY,EACV,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,GACb,MAAM,eAAe,CAAC"}
|
|
@@ -9,4 +9,7 @@ export declare function registerSocial(idToken: string, accessToken: string, aut
|
|
|
9
9
|
export declare function checkEmailExist(email: string): Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
10
10
|
export declare function loginViaJwt(clientToken: string): Promise<User>;
|
|
11
11
|
export declare function uploadFile(formData: FormData): Promise<import("axios").AxiosResponse<any, any, {}>>;
|
|
12
|
+
export declare function uploadFileViaFetch(formData: FormData): Promise<{
|
|
13
|
+
data: any;
|
|
14
|
+
}>;
|
|
12
15
|
//# sourceMappingURL=auth.api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.api.d.ts","sourceRoot":"","sources":["../../../../src/networking/api-requests/auth.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.api.d.ts","sourceRoot":"","sources":["../../../../src/networking/api-requests/auth.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAezC,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;UAEtD,IAAI;kBACI,MAAM;WACb,MAAM;aAahB;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAoB,wDAYhC;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,wDAapB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,wDAM5C;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BpE;AAuBD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,wDAa5C;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC,CAmDnF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../../src/networking/apiClient.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,IAAI,+BAER,CAAC;AAMH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,QAQ7D;AAED,wBAAgB,kBAAkB,WAEjC;AAED,wBAAgB,iBAAiB,WAEhC;AAED,wBAAgB,OAAO,IAAI,OAAO,CAAC;IACjC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C,CAAC,CAmCD;
|
|
1
|
+
{"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../../src/networking/apiClient.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,IAAI,+BAER,CAAC;AAMH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,QAQ7D;AAED,wBAAgB,kBAAkB,WAEjC;AAED,wBAAgB,iBAAiB,WAEhC;AAED,wBAAgB,OAAO,IAAI,OAAO,CAAC;IACjC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C,CAAC,CAmCD;AA+GD,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Outbound-send queue — buffers message stanzas that can't reach the wire
|
|
3
|
+
* because there is no live XMPP stream at send time, and replays them once
|
|
4
|
+
* a stream comes (back) online.
|
|
5
|
+
*
|
|
6
|
+
* Lives at MODULE scope on purpose, NOT on the XmppClient instance: the
|
|
7
|
+
* exact windows we need to cover are the ones where the instance itself is
|
|
8
|
+
* gone or being swapped —
|
|
9
|
+
* 1. start race — a send fires before the provider's bootstrap has run
|
|
10
|
+
* `setClient(created)`, so `useSendMessage` sees `client === null` and
|
|
11
|
+
* used to throw "No XMPP client".
|
|
12
|
+
* 2. full-reinit race — after 3 failed reconnects the provider does
|
|
13
|
+
* `setClient(null)` then re-`initializeClient`s; sends in that gap
|
|
14
|
+
* also saw `client === null`.
|
|
15
|
+
* 3. reconnect window — the instance survives but its underlying stream
|
|
16
|
+
* is `connecting`/`offline`; a fire-and-forget stanza is silently lost
|
|
17
|
+
* and only the 30s watchdog notices.
|
|
18
|
+
*
|
|
19
|
+
* Each queued item carries a `send(client)` closure that captures the
|
|
20
|
+
* original args (text or media), so flush is type-agnostic.
|
|
21
|
+
*
|
|
22
|
+
* TTL is deliberately aligned with the 30s pending-send watchdog in
|
|
23
|
+
* useSendMessage (PENDING_WATCHDOG_MS): a queued item older than that has
|
|
24
|
+
* already been — or is about to be — flipped to "Failed → tap to retry" by
|
|
25
|
+
* the watchdog, so replaying it on a late reconnect would duplicate the
|
|
26
|
+
* bubble. We drop those on flush and let the watchdog own the failure.
|
|
27
|
+
*/
|
|
28
|
+
export interface OutboundQueueClient {
|
|
29
|
+
sendMessage: (...args: any[]) => any;
|
|
30
|
+
sendMediaMessageStanza: (...args: any[]) => any;
|
|
31
|
+
}
|
|
32
|
+
export interface QueuedSend {
|
|
33
|
+
/** Optimistic/stanza id — used to dedupe re-enqueues (e.g. media retry). */
|
|
34
|
+
optimisticId: string;
|
|
35
|
+
roomJID: string;
|
|
36
|
+
/** Wall-clock ms when first queued; drives the TTL drop on flush. */
|
|
37
|
+
enqueuedAt: number;
|
|
38
|
+
/** Replays the original send against a live, online client. */
|
|
39
|
+
send: (client: OutboundQueueClient) => void;
|
|
40
|
+
}
|
|
41
|
+
export declare const OUTBOUND_QUEUE_TTL_MS = 30000;
|
|
42
|
+
/**
|
|
43
|
+
* Append (or, if the id is already queued, replace in place) a pending
|
|
44
|
+
* send. Order is preserved for FIFO flush.
|
|
45
|
+
*/
|
|
46
|
+
export declare function enqueueOutboundSend(item: QueuedSend): void;
|
|
47
|
+
/**
|
|
48
|
+
* Replay every queued send (in order) against a now-online client. Items
|
|
49
|
+
* older than the TTL are dropped — the send watchdog has already failed
|
|
50
|
+
* them, so re-sending would duplicate. The queue is emptied either way.
|
|
51
|
+
*/
|
|
52
|
+
export declare function flushOutboundSends(client: OutboundQueueClient, now: number): void;
|
|
53
|
+
/** Drop everything — called on permanent teardown (logout / close). */
|
|
54
|
+
export declare function clearOutboundSends(): void;
|
|
55
|
+
/** Current depth — for tests and diagnostics. */
|
|
56
|
+
export declare function outboundQueueLength(): number;
|
|
57
|
+
//# sourceMappingURL=outboundQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outboundQueue.d.ts","sourceRoot":"","sources":["../../../src/networking/outboundQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACrC,sBAAsB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,IAAI,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC7C;AAGD,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAI5C;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAS1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,MAAM,GACV,IAAI,CAgBN;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTimeoutPromise.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/createTimeoutPromise.xmpp.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,WAAW,CAAC,EAAE,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"createTimeoutPromise.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/createTimeoutPromise.xmpp.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,WAAW,CAAC,EAAE,MAAM,IAAI,oBAgBzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flushLastViewedToPrivateStore.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/flushLastViewedToPrivateStore.ts"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,SAAS;
|
|
1
|
+
{"version":3,"file":"flushLastViewedToPrivateStore.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/flushLastViewedToPrivateStore.ts"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,SAAS;IAIjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAI/B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,EAClD,IAAI,GAAE,SAAc,GACnB,OAAO,CAAC,OAAO,CAAC,CAiDlB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Client } from '@xmpp/client';
|
|
2
|
-
export declare const getRoomsPaged: (client: Client, maxResults?: number, before?: null) => Promise<
|
|
2
|
+
export declare const getRoomsPaged: (client: Client, maxResults?: number, before?: null) => Promise<any>;
|
|
3
3
|
//# sourceMappingURL=getRoomsPaged.xmpp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRoomsPaged.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/getRoomsPaged.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAI3C,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,EACd,mBAAc,EACd,aAAa,
|
|
1
|
+
{"version":3,"file":"getRoomsPaged.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/getRoomsPaged.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAI3C,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,EACd,mBAAc,EACd,aAAa,iBA2Ed,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presenceInRoom.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/presenceInRoom.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,cAAY,KACX,OAAO,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"presenceInRoom.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/presenceInRoom.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,cAAY,KACX,OAAO,CAAC,OAAO,CAgEjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendTextMessage.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/sendTextMessage.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AA2B3C,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,oBAAoB,MAAM,EAC1B,UAAU,OAAO,EACjB,gBAAgB,OAAO,EACvB,cAAc,MAAM,EACpB,YAAY,MAAM,EAClB,WAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"sendTextMessage.xmpp.d.ts","sourceRoot":"","sources":["../../../../src/networking/xmpp/sendTextMessage.xmpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,cAAc,CAAC;AA2B3C,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,oBAAoB,MAAM,EAC1B,UAAU,OAAO,EACjB,gBAAgB,OAAO,EACvB,cAAc,MAAM,EACpB,YAAY,MAAM,EAClB,WAAW,MAAM,SA2DlB,CAAC"}
|
|
@@ -6,6 +6,10 @@ interface HistoryOptions {
|
|
|
6
6
|
skipIfPreloaded?: boolean;
|
|
7
7
|
source?: HistorySource;
|
|
8
8
|
}
|
|
9
|
+
export type XmppCredentialsProvider = () => Promise<{
|
|
10
|
+
username: string;
|
|
11
|
+
password: string;
|
|
12
|
+
}>;
|
|
9
13
|
export declare class XmppClient {
|
|
10
14
|
client: Client;
|
|
11
15
|
xmppSettings?: xmppSettingsInterface;
|
|
@@ -19,7 +23,15 @@ export declare class XmppClient {
|
|
|
19
23
|
reconnectAttempts: number;
|
|
20
24
|
maxReconnectAttempts: number;
|
|
21
25
|
reconnectDelay: number;
|
|
26
|
+
maxReconnectDelay: number;
|
|
27
|
+
private lastReconnectAt;
|
|
22
28
|
suppressReconnect: boolean;
|
|
29
|
+
private reconnectTimer;
|
|
30
|
+
private reconnecting;
|
|
31
|
+
lastAuthError: 'not-authorized' | null;
|
|
32
|
+
private credentialsProvider;
|
|
33
|
+
private credentialsRefreshInFlight;
|
|
34
|
+
private onOnlineCallback;
|
|
23
35
|
presencesReady: boolean;
|
|
24
36
|
disableLastRead: boolean;
|
|
25
37
|
private activeRoomJID;
|
|
@@ -31,6 +43,19 @@ export declare class XmppClient {
|
|
|
31
43
|
private activeRoomBoostTtlMs;
|
|
32
44
|
private alwaysPrioritizeActiveRoom;
|
|
33
45
|
checkOnline(): any;
|
|
46
|
+
/**
|
|
47
|
+
* Inject (or replace) the callback used by reconnect() to fetch fresh
|
|
48
|
+
* XMPP credentials after a `not-authorized` SASL failure. The provider
|
|
49
|
+
* is responsible for refreshing whatever upstream token is needed
|
|
50
|
+
* (REST JWT, /users/client, etc.) and returning the resulting
|
|
51
|
+
* username + password.
|
|
52
|
+
*/
|
|
53
|
+
setCredentialsProvider(provider: XmppCredentialsProvider | null): void;
|
|
54
|
+
/** Install a callback invoked on every successful 'online'. The provider
|
|
55
|
+
* uses it to re-join MUC rooms after a reconnect. */
|
|
56
|
+
setOnOnline(cb: (() => void) | null): void;
|
|
57
|
+
/** Swap in fresh credentials before the next reconnect. */
|
|
58
|
+
updateCredentials(username: string, password: string): void;
|
|
34
59
|
constructor(username: string, password: string, xmppSettings?: xmppSettingsInterface | string);
|
|
35
60
|
setActiveRoomJid(roomJID: string | null): void;
|
|
36
61
|
promoteRoomHistory(_roomJID: string): void;
|
|
@@ -61,7 +86,12 @@ export declare class XmppClient {
|
|
|
61
86
|
}): Promise<any>;
|
|
62
87
|
private sourceRank;
|
|
63
88
|
initializeClient(): void;
|
|
89
|
+
private onDisconnect?;
|
|
90
|
+
private onOnline?;
|
|
91
|
+
private onError?;
|
|
92
|
+
private onStanza?;
|
|
64
93
|
attachEventListeners(): void;
|
|
94
|
+
detachEventListeners(): void;
|
|
65
95
|
/**
|
|
66
96
|
* Resolves once status === 'online' or rejects when status === 'error'.
|
|
67
97
|
* Mirrors the web client's `ensureConnected` helper.
|
|
@@ -69,7 +99,21 @@ export declare class XmppClient {
|
|
|
69
99
|
waitForOnline(timeoutMs?: number): Promise<void>;
|
|
70
100
|
ensureConnected(timeout?: number): Promise<void>;
|
|
71
101
|
scheduleReconnect(): void;
|
|
72
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Force an immediate reconnect, resetting the backoff counter. Called
|
|
104
|
+
* by the provider when NetInfo reports the network came back or the app
|
|
105
|
+
* returned to the foreground — we don't want to wait out the existing
|
|
106
|
+
* exponential delay (or a maxed-out attempt count) in those cases.
|
|
107
|
+
*/
|
|
108
|
+
forceReconnect(): void;
|
|
109
|
+
reconnect(): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Single-flight wrapper around credentialsProvider. Multiple concurrent
|
|
112
|
+
* reconnect() calls (e.g. from the provider's reconnect effect firing
|
|
113
|
+
* twice quickly) share one in-flight request and update `this.password`
|
|
114
|
+
* exactly once.
|
|
115
|
+
*/
|
|
116
|
+
private refreshCredentialsOnce;
|
|
73
117
|
disconnect(options?: {
|
|
74
118
|
suppressReconnect?: boolean;
|
|
75
119
|
}): Promise<void>;
|
|
@@ -84,21 +128,30 @@ export declare class XmppClient {
|
|
|
84
128
|
setRoomImageStanza: (roomJid: string, roomThumbnail: string, type: string, roomBackground?: string) => void;
|
|
85
129
|
getRoomInfoStanza: (roomJID: string) => void;
|
|
86
130
|
getRoomMembersStanza: (roomJID: string) => void;
|
|
87
|
-
|
|
131
|
+
/**
|
|
132
|
+
* True when the underlying stream is live enough to actually put a
|
|
133
|
+
* stanza on the wire. Used to gate sends: when false we buffer instead
|
|
134
|
+
* of firing a fire-and-forget stanza into a dead/half-open socket
|
|
135
|
+
* (which is silently dropped and only caught by the 30s watchdog).
|
|
136
|
+
*/
|
|
137
|
+
private isStreamReady;
|
|
138
|
+
/** Replay buffered sends against this (now-online) client, in order. */
|
|
139
|
+
flushPendingSends(): void;
|
|
140
|
+
sendMessage: (roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string, customId?: string) => boolean;
|
|
88
141
|
deleteMessageStanza(room: string, msgId: string): void;
|
|
89
142
|
editMessageStanza(room: string, msgId: string, text: string): void;
|
|
90
143
|
sendTypingRequestStanza(chatId: string, fullName: string, start: boolean): void;
|
|
91
144
|
getChatsPrivateStoreRequestStanza: () => Promise<unknown>;
|
|
92
145
|
actionSetTimestampToPrivateStoreStanza(chatId: string, timestamp: number, chats?: string[]): Promise<void>;
|
|
93
146
|
flushLastViewedToPrivateStoreStanza(rooms: Record<string, any> | null | undefined, opts?: {
|
|
94
|
-
|
|
147
|
+
visibleRoomJID?: string | null;
|
|
95
148
|
onlyIfNoUnread?: boolean;
|
|
96
149
|
}): Promise<boolean>;
|
|
97
|
-
sendMediaMessageStanza(roomJID: string, data: any, customId?: string): string;
|
|
150
|
+
sendMediaMessageStanza(roomJID: string, data: any, customId?: string): string | undefined;
|
|
98
151
|
setVCardStanza(_xmppUsername: string): void;
|
|
99
152
|
createPrivateRoomStanza(title: string, description: string, to: string): Promise<string>;
|
|
100
153
|
sendMessageReactionStanza(_messageId: string, _roomJid: string, _reactionsList: string[], _reactionSymbol?: string): void;
|
|
101
|
-
sendTextMessageWithTranslateTagStanza(roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string, _langSource?: string): void;
|
|
154
|
+
sendTextMessageWithTranslateTagStanza(roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string, _langSource?: string, customId?: string): void;
|
|
102
155
|
}
|
|
103
156
|
export default XmppClient;
|
|
104
157
|
//# sourceMappingURL=xmppClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xmppClient.d.ts","sourceRoot":"","sources":["../../../src/networking/xmppClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"xmppClient.d.ts","sourceRoot":"","sources":["../../../src/networking/xmppClient.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAmDvD,KAAK,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAEtE,UAAU,cAAc;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAQD,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,qBAAa,UAAU;IACrB,MAAM,EAAG,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAM;IAClB,OAAO,EAAE,MAAM,CAAM;IACrB,UAAU,EAAE,MAAM,CAAM;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAa;IAElE,QAAQ,SAAM;IACd,iBAAiB,SAAK;IACtB,oBAAoB,SAAK;IACzB,cAAc,SAAQ;IAItB,iBAAiB,SAAS;IAI1B,OAAO,CAAC,eAAe,CAAK;IAC5B,iBAAiB,UAAS;IAI1B,OAAO,CAAC,cAAc,CAA8C;IAMpE,OAAO,CAAC,YAAY,CAAS;IAK7B,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAC9C,OAAO,CAAC,mBAAmB,CAAwC;IACnE,OAAO,CAAC,0BAA0B,CAA8B;IAGhE,OAAO,CAAC,gBAAgB,CAA6B;IAGrD,cAAc,UAAS;IACvB,eAAe,UAAS;IACxB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,oBAAoB,CAAQ;IACpC,OAAO,CAAC,0BAA0B,CAAQ;IAI1C,WAAW;IAIX;;;;;;OAMG;IACH,sBAAsB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAI/D;yDACqD;IACrD,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI;IAInC,2DAA2D;IAC3D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;gBAMlD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,qBAAqB,GAAG,MAAM;IAgC/C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAInC;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAM/B,uEAAuE;IACvE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAKnD;;;;OAIG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,GAAG,CAAC;IA8ChB,OAAO,CAAC,UAAU;IAalB,gBAAgB;IAoHhB,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAwB;IAEzC,oBAAoB;IAkGpB,oBAAoB;IAepB;;;OAGG;IACH,aAAa,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvD,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,iBAAiB;IA4BjB;;;;;OAKG;IACH,cAAc;IAkBR,SAAS;IA8Cf;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAyBxB,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,KAAK;IA2BX,cAAc,sBAEZ;IAII,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;IAIhE,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIzD,kBAAkB,GAAI,SAAS,MAAM,UAEnC;IAEF,oBAAoB,GAAI,SAAS,MAAM,UAErC;IAEF,gBAAgB,GACd,SAAS,MAAM,EACf,KAAK,MAAM,EACX,SAAS,MAAM,EACf,KAAK,MAAM,EACX,UAAU,cAAc,kBAYxB;IAEF,2BAA2B,CAAC,OAAO,EAAE,MAAM;IAI3C,kBAAkB,GAChB,SAAS,MAAM,EACf,eAAe,MAAM,EACrB,MAAM,MAAM,EACZ,iBAAiB,MAAM,UAGvB;IAEF,iBAAiB,GAAI,SAAS,MAAM,UAElC;IAEF,oBAAoB,GAAI,SAAS,MAAM,UAErC;IAEF;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAIrB,wEAAwE;IACxE,iBAAiB;IAKjB,WAAW,GACT,SAAS,MAAM,EACf,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,oBAAoB,MAAM,EAC1B,UAAU,OAAO,EACjB,gBAAgB,OAAO,EACvB,cAAc,MAAM,EACpB,WAAW,MAAM,KAChB,OAAO,CA0CR;IAEF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAI3D,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAIxE,iCAAiC,yBAQ/B;IAEI,sCAAsC,CAC1C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EAAE;IAgBZ,mCAAmC,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC7C,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO;IAUzE,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM;IA8BpE,cAAc,CAAC,aAAa,EAAE,MAAM;IAI9B,uBAAuB,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC;IAMlB,yBAAyB,CACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EAAE,EACxB,eAAe,CAAC,EAAE,MAAM;IAK1B,qCAAqC,CACnC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,OAAO,EACjB,aAAa,CAAC,EAAE,OAAO,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM;CAsBpB;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unreadMidlleware.d.ts","sourceRoot":"","sources":["../../../../src/roomStore/Middleware/unreadMidlleware.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"unreadMidlleware.d.ts","sourceRoot":"","sources":["../../../../src/roomStore/Middleware/unreadMidlleware.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA8E9C,eAAO,MAAM,gBAAgB,EAAE,UA2F5B,CAAC"}
|
|
@@ -1,16 +1,37 @@
|
|
|
1
1
|
import { PayloadAction, type Slice } from '@reduxjs/toolkit';
|
|
2
2
|
import type { WritableDraft } from 'immer';
|
|
3
3
|
import { IMessage } from '../types/types';
|
|
4
|
+
export type FailedMessagePayload = {
|
|
5
|
+
kind: 'text';
|
|
6
|
+
id: string;
|
|
7
|
+
roomJID: string;
|
|
8
|
+
body: string;
|
|
9
|
+
isReply?: boolean;
|
|
10
|
+
isChecked?: boolean;
|
|
11
|
+
mainMessage?: string;
|
|
12
|
+
} | {
|
|
13
|
+
kind: 'media';
|
|
14
|
+
id: string;
|
|
15
|
+
roomJID: string;
|
|
16
|
+
data: any;
|
|
17
|
+
type: string;
|
|
18
|
+
isReply?: boolean;
|
|
19
|
+
isChecked?: boolean;
|
|
20
|
+
mainMessage?: string;
|
|
21
|
+
};
|
|
4
22
|
export interface roomHeapSliceState {
|
|
5
23
|
messageHeap: IMessage[];
|
|
24
|
+
failedMessages: Record<string, FailedMessagePayload>;
|
|
6
25
|
}
|
|
7
26
|
declare const reducers: {
|
|
8
27
|
addMessageToHeap: (state: WritableDraft<roomHeapSliceState>, action: PayloadAction<IMessage>) => void;
|
|
9
28
|
removeMessageFromHeapById: (state: WritableDraft<roomHeapSliceState>, action: PayloadAction<string>) => void;
|
|
10
29
|
clearHeap: (state: WritableDraft<roomHeapSliceState>) => void;
|
|
30
|
+
markMessageFailed: (state: WritableDraft<roomHeapSliceState>, action: PayloadAction<FailedMessagePayload>) => void;
|
|
31
|
+
clearMessageFailure: (state: WritableDraft<roomHeapSliceState>, action: PayloadAction<string>) => void;
|
|
11
32
|
};
|
|
12
33
|
export declare const roomHeapSlice: Slice<roomHeapSliceState, typeof reducers, 'roomHeapStore'>;
|
|
13
|
-
export declare const addMessageToHeap: import("@reduxjs/toolkit").ActionCreatorWithPayload<IMessage, "roomHeapStore/addMessageToHeap">, clearHeap: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"roomHeapStore/clearHeap">, removeMessageFromHeapById: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "roomHeapStore/removeMessageFromHeapById">;
|
|
34
|
+
export declare const addMessageToHeap: import("@reduxjs/toolkit").ActionCreatorWithPayload<IMessage, "roomHeapStore/addMessageToHeap">, clearHeap: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"roomHeapStore/clearHeap">, removeMessageFromHeapById: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "roomHeapStore/removeMessageFromHeapById">, markMessageFailed: import("@reduxjs/toolkit").ActionCreatorWithPayload<FailedMessagePayload, "roomHeapStore/markMessageFailed">, clearMessageFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "roomHeapStore/clearMessageFailure">;
|
|
14
35
|
declare const _default: import("redux").Reducer<roomHeapSliceState>;
|
|
15
36
|
export default _default;
|
|
16
37
|
//# sourceMappingURL=roomHeapSlice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roomHeapSlice.d.ts","sourceRoot":"","sources":["../../../src/roomStore/roomHeapSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"roomHeapSlice.d.ts","sourceRoot":"","sources":["../../../src/roomStore/roomHeapSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C,MAAM,MAAM,oBAAoB,GAC5B;IACE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,QAAQ,EAAE,CAAC;IAGxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACtD;AAOD,QAAA,MAAM,QAAQ;8BACc,aAAa,CAAC,kBAAkB,CAAC,UAAU,aAAa,CAAC,QAAQ,CAAC;uCAGzD,aAAa,CAAC,kBAAkB,CAAC,UAAU,aAAa,CAAC,MAAM,CAAC;uBAMhF,aAAa,CAAC,kBAAkB,CAAC;+BAK3C,aAAa,CAAC,kBAAkB,CAAC,UAChC,aAAa,CAAC,oBAAoB,CAAC;iCAUhB,aAAa,CAAC,kBAAkB,CAAC,UAAU,aAAa,CAAC,MAAM,CAAC;CAG9F,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,QAAQ,EAAE,eAAe,CAIpF,CAAC;AAEH,eAAO,MACL,gBAAgB,mGAChB,SAAS,qFACT,yBAAyB,0GACzB,iBAAiB,gHACjB,mBAAmB,kGACI,CAAC;;AAE1B,wBAAqC"}
|
|
@@ -14,6 +14,7 @@ export interface RoomMessagesState {
|
|
|
14
14
|
[jid: string]: IRoom;
|
|
15
15
|
};
|
|
16
16
|
activeRoomJID: string | null;
|
|
17
|
+
visibleRoomJID: string | null;
|
|
17
18
|
editAction?: EditAction;
|
|
18
19
|
isLoading: boolean;
|
|
19
20
|
loadingText?: string;
|
|
@@ -80,6 +81,10 @@ declare const reducers: {
|
|
|
80
81
|
setCurrentRoom: (state: WritableDraft<RoomMessagesState>, action: PayloadAction<{
|
|
81
82
|
roomJID: string | null;
|
|
82
83
|
}>) => void;
|
|
84
|
+
setVisibleRoom: (state: WritableDraft<RoomMessagesState>, action: PayloadAction<{
|
|
85
|
+
roomJID: string | null;
|
|
86
|
+
}>) => void;
|
|
87
|
+
clearVisibleRoom: (state: WritableDraft<RoomMessagesState>) => void;
|
|
83
88
|
/**
|
|
84
89
|
* Stash a JID that a push notification asked us to open before
|
|
85
90
|
* the rooms list has loaded. The Chat component clears this once
|
|
@@ -154,7 +159,9 @@ export declare const addRoom: import("@reduxjs/toolkit").ActionCreatorWithPayloa
|
|
|
154
159
|
chatJID?: string;
|
|
155
160
|
}, "roomMessages/setRoomNoMessages">, setCurrentRoom: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
156
161
|
roomJID: string | null;
|
|
157
|
-
}, "roomMessages/setCurrentRoom">,
|
|
162
|
+
}, "roomMessages/setCurrentRoom">, setVisibleRoom: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
163
|
+
roomJID: string | null;
|
|
164
|
+
}, "roomMessages/setVisibleRoom">, clearVisibleRoom: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"roomMessages/clearVisibleRoom">, setRoomRole: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
158
165
|
chatJID: string;
|
|
159
166
|
role: string;
|
|
160
167
|
}, "roomMessages/setRoomRole">, setLogoutState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"roomMessages/setLogoutState">, setActiveMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|