@ethora/chat-component-rn 26.5.7 → 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 +133 -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/ChatRoom.js +64 -38
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +57 -13
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +4 -2
- 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 +165 -28
- 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 +84 -39
- 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 +140 -24
- 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 +77 -47
- 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 +47 -28
- package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +49 -9
- 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 +49 -27
- 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 -14
- 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 +244 -32
- 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/normalizeRoomJid.js +20 -0
- package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
- 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/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 +201 -10
- 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 +67 -0
- 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 +294 -35
- 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/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/ChatRoom.js +65 -39
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +57 -13
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +4 -2
- 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 +166 -29
- 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 +85 -40
- 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 +143 -25
- 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 +79 -49
- 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 +47 -28
- package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +51 -11
- 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 +50 -28
- 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 -15
- 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 +246 -34
- 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/normalizeRoomJid.js +15 -0
- package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/module/hooks/useChatRoomFocus.js +82 -0
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
- 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/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 +203 -12
- 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 +67 -1
- 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 +294 -35
- 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/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/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.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/normalizeRoomJid.d.ts +2 -0
- package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
- package/lib/typescript/hooks/useHeapSender.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.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 +33 -4
- 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/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 +4 -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/ChatRoom.tsx +81 -66
- package/src/components/MainComponents/ChatWrapper.tsx +99 -21
- package/src/components/MainComponents/MediaMessage.tsx +3 -0
- package/src/components/MainComponents/MessageContainer.tsx +4 -2
- package/src/components/MainComponents/MessageList.tsx +175 -28
- package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
- package/src/components/MainComponents/SystemMessage.tsx +38 -26
- package/src/components/MessageBubble/Message.tsx +91 -62
- 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 +152 -25
- 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 +70 -58
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
- package/src/components/Modals/styledModalComponents.tsx +4 -9
- package/src/components/styled/MediaFilePreview.tsx +46 -26
- package/src/components/styled/MessageImage.tsx +58 -13
- package/src/components/styled/NewMessageLabel.tsx +8 -5
- package/src/components/styled/SendInput.tsx +64 -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 -11
- package/src/context/MessageNotificationContext.tsx +8 -8
- package/src/context/xmppProvider.tsx +247 -30
- 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/normalizeRoomJid.ts +6 -0
- package/src/hooks/useChatRoomFocus.ts +95 -0
- package/src/hooks/useHeapSender.tsx +2 -1
- package/src/hooks/useLogout.tsx +3 -3
- package/src/hooks/usePushNotifications.ts +21 -8
- package/src/hooks/useRoomState.tsx +4 -0
- package/src/hooks/useSendMessage.tsx +258 -13
- package/src/hooks/useUnreadMessagesCounter.ts +13 -16
- package/src/main.ts +1 -0
- package/src/networking/api-requests/auth.api.ts +55 -1
- 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 +317 -43
- package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
- 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 +15 -0
- package/src/utils/installPromiseRejectionTracker.ts +91 -0
- package/src/utils/resendMessage.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isDateAfter","isDateBefore","deepMerge","target","source","key","Array","isArray","insertMessageWithDelimiter","roomMessages","message","lastViewedTimestamp","existingIndex","findIndex","msg","id","xmppId","pending","newMessageDate","date","lastMessage","length","firstMessage","toString","index","push","some","delimiterIndex","splice","
|
|
1
|
+
{"version":3,"names":["isDateAfter","isDateBefore","deepMerge","target","source","key","Array","isArray","insertMessageWithDelimiter","roomMessages","message","lastViewedTimestamp","existingIndex","findIndex","msg","id","xmppId","existing","preservedUserId","user","merged","pending","newMessageDate","date","lastMessage","length","firstMessage","toString","index","push","some","delimiterIndex","splice","name","undefined","token","refreshToken","Date","body","roomJid","unshift","i"],"sourceRoot":"../../../src","sources":["helpers/insertMessageWithDelimiter.ts"],"mappings":";;AACA,SAASA,WAAW,EAAEC,YAAY,QAAQ,kBAAkB;AAE5D,SAASC,SAASA,CAACC,MAAW,EAAEC,MAAW,EAAO;EAChD,KAAK,MAAMC,GAAG,IAAID,MAAM,EAAE;IACxB,IACEA,MAAM,CAACC,GAAG,CAAC,IACX,OAAOD,MAAM,CAACC,GAAG,CAAC,KAAK,QAAQ,IAC/B,CAACC,KAAK,CAACC,OAAO,CAACH,MAAM,CAACC,GAAG,CAAC,CAAC,EAC3B;MACAF,MAAM,CAACE,GAAG,CAAC,GAAGH,SAAS,CAACC,MAAM,CAACE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAED,MAAM,CAACC,GAAG,CAAC,CAAC;IACzD,CAAC,MAAM;MACLF,MAAM,CAACE,GAAG,CAAC,GAAGD,MAAM,CAACC,GAAG,CAAC;IAC3B;EACF;EACA,OAAOF,MAAM;AACf;AAEA,OAAO,SAASK,0BAA0BA,CACxCC,YAAiC,EACjCC,OAAiB,EACjBC,mBAAsD,EACtD;EACA,MAAMC,aAAa,GAAGH,YAAY,CAACI,SAAS,CACzCC,GAAG,IACFA,GAAG,CAACC,EAAE,KAAKL,OAAO,CAACK,EAAE,IACpBL,OAAO,CAACM,MAAM,IAAIF,GAAG,CAACC,EAAE,KAAKL,OAAO,CAACM,MAAO,IAC5CF,GAAG,CAACE,MAAM,IAAIF,GAAG,CAACE,MAAM,KAAKN,OAAO,CAACK,EAC1C,CAAC;EAED,IAAIH,aAAa,KAAK,CAAC,CAAC,EAAE;IACxB,MAAMK,QAAQ,GAAGR,YAAY,CAACG,aAAa,CAAC;IAC5C;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMM,eAAe,GAClBD,QAAQ,EAAUE,IAAI,EAAEJ,EAAE,IAAKL,OAAO,EAAUS,IAAI,EAAEJ,EAAE;IAC3D,MAAMK,MAAM,GAAGlB,SAAS,CAAC;MAAE,GAAGe;IAAS,CAAC,EAAE;MAAE,GAAGP,OAAO;MAAEW,OAAO,EAAE;IAAM,CAAC,CAAC;IACzE,IAAID,MAAM,CAACD,IAAI,IAAID,eAAe,EAAE;MAClCE,MAAM,CAACD,IAAI,CAACJ,EAAE,GAAGG,eAAe;IAClC;IACAT,YAAY,CAACG,aAAa,CAAC,GAAGQ,MAAM;IACpC;EACF;EAEA,MAAME,cAAc,GAAGZ,OAAO,CAACa,IAAI;EACnC,MAAMC,WAAW,GAAGf,YAAY,CAACA,YAAY,CAACgB,MAAM,GAAG,CAAC,CAAC;EACzD,MAAMC,YAAY,GAAGjB,YAAY,CAAC,CAAC,CAAC;EAEpC,IAAIT,WAAW,CAACsB,cAAc,CAACK,QAAQ,CAAC,CAAC,EAAEH,WAAW,EAAED,IAAI,EAAEI,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE;IAC/E,MAAMC,KAAK,GAAGnB,YAAY,CAACI,SAAS,CACjCC,GAAG,IAAKA,GAAG,CAACC,EAAE,KAAKL,OAAO,CAACM,MAAM,IAAIF,GAAG,CAACC,EAAE,KAAKL,OAAO,CAACK,EAC3D,CAAC;IAED,IAAIa,KAAK,KAAK,CAAC,CAAC,EAAE;MAChBnB,YAAY,CAACmB,KAAK,CAAC,GAAG;QAAE,GAAGlB,OAAO;QAAEK,EAAE,EAAEL,OAAO,CAACK,EAAE;QAAEM,OAAO,EAAE;MAAM,CAAC;IACtE,CAAC,MAAM;MACLZ,YAAY,CAACoB,IAAI,CAACnB,OAAO,CAAC;IAC5B;IAEA,IACEC,mBAAmB,IACnB,CAACF,YAAY,CAACqB,IAAI,CAAEhB,GAAG,IAAKA,GAAG,CAACC,EAAE,KAAK,eAAe,CAAC,IACvDf,WAAW,CAACsB,cAAc,CAACK,QAAQ,CAAC,CAAC,EAAEhB,mBAAmB,CAACgB,QAAQ,CAAC,CAAC,CAAC,EACtE;MACA,MAAMI,cAAc,GAAGtB,YAAY,CAACI,SAAS,CAAEC,GAAG,IAChDd,WAAW,CAACc,GAAG,CAACS,IAAI,EAAEI,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAEhB,mBAAmB,CAACgB,QAAQ,CAAC,CAAC,CACxE,CAAC;MAEC,IAAII,cAAc,KAAK,CAAC,CAAC,EAAE;QACzBtB,YAAY,CAACuB,MAAM,CAACD,cAAc,EAAE,CAAC,EAAE;UACrChB,EAAE,EAAE,eAAe;UACnBI,IAAI,EAAE;YACNJ,EAAE,EAAE,QAAQ;YACZkB,IAAI,EAAEC,SAAS;YACfC,KAAK,EAAE,EAAE;YACTC,YAAY,EAAE;UAChB,CAAC;UACDb,IAAI,EAAE,IAAIc,IAAI,CAAC,CAAC,CAACV,QAAQ,CAAC,CAAC;UACzBW,IAAI,EAAE,cAAc;UACpBC,OAAO,EAAE;QACX,CAAC,CAAC;MACJ;IACF;EACJ,CAAC,MAAM,IACLtC,YAAY,CAACqB,cAAc,CAACK,QAAQ,CAAC,CAAC,EAAED,YAAY,EAAEH,IAAI,EAAEI,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,EAC7E;IACAlB,YAAY,CAAC+B,OAAO,CAAC9B,OAAO,CAAC;EAC/B,CAAC,MAAM;IACL,KAAK,IAAI+B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhC,YAAY,CAACgB,MAAM,EAAEgB,CAAC,EAAE,EAAE;MAC5C,IACExC,YAAY,CAACqB,cAAc,CAACK,QAAQ,CAAC,CAAC,EAAElB,YAAY,CAACgC,CAAC,CAAC,CAAClB,IAAI,EAAEI,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,EAC/E;QACAlB,YAAY,CAACuB,MAAM,CAACS,CAAC,EAAE,CAAC,EAAE/B,OAAO,CAAC;QAClC;MACF;IACF;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const getKeyboardVerticalOffset = ({
|
|
4
|
+
platform,
|
|
5
|
+
configuredOffset = 0,
|
|
6
|
+
bottomInset = 0
|
|
7
|
+
}) => configuredOffset + (platform === 'ios' ? bottomInset : 0);
|
|
8
|
+
export const getInputDockPaddingBottom = ({
|
|
9
|
+
platform,
|
|
10
|
+
bottomInset = 0
|
|
11
|
+
}) => platform === 'ios' ? bottomInset : 0;
|
|
12
|
+
//# sourceMappingURL=keyboardLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getKeyboardVerticalOffset","platform","configuredOffset","bottomInset","getInputDockPaddingBottom"],"sourceRoot":"../../../src","sources":["helpers/keyboardLayout.ts"],"mappings":";;AAMA,OAAO,MAAMA,yBAAyB,GAAGA,CAAC;EACxCC,QAAQ;EACRC,gBAAgB,GAAG,CAAC;EACpBC,WAAW,GAAG;AACI,CAAC,KACnBD,gBAAgB,IAAID,QAAQ,KAAK,KAAK,GAAGE,WAAW,GAAG,CAAC,CAAC;AAE3D,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCH,QAAQ;EACRE,WAAW,GAAG;AAC8B,CAAC,KAC7CF,QAAQ,KAAK,KAAK,GAAGE,WAAW,GAAG,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Dimensions } from 'react-native';
|
|
4
|
+
|
|
5
|
+
// Shared sizing for inline media bubbles (images + video posters).
|
|
6
|
+
// Goal: show the media UNCROPPED, just scaled, preserving aspect ratio —
|
|
7
|
+
// portrait stays portrait, landscape stays landscape.
|
|
8
|
+
const screenW = Dimensions.get('window').width;
|
|
9
|
+
|
|
10
|
+
// Box the media must fit inside. Width adapts to the screen so it never
|
|
11
|
+
// blows past the bubble's max-width on small phones, but caps on tablets.
|
|
12
|
+
export const MEDIA_MAX_W = Math.min(260, Math.round(screenW * 0.64));
|
|
13
|
+
export const MEDIA_MAX_H = 320;
|
|
14
|
+
// Keep thumbnails from collapsing into a sliver (very wide/tall media).
|
|
15
|
+
const MEDIA_MIN_W = 140;
|
|
16
|
+
const MEDIA_MIN_H = 120;
|
|
17
|
+
// Neutral 4:3 placeholder used before the natural size is known.
|
|
18
|
+
export const defaultMediaDims = () => ({
|
|
19
|
+
width: MEDIA_MAX_W,
|
|
20
|
+
height: Math.round(MEDIA_MAX_W * 0.75)
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// Fit (natW × natH) inside the box, preserving aspect ratio. Never
|
|
24
|
+
// upscales beyond the source resolution (avoids blur), but bumps very
|
|
25
|
+
// small media up to a sensible minimum so it stays tappable.
|
|
26
|
+
export const fitMediaDimensions = (natW, natH) => {
|
|
27
|
+
if (!natW || !natH) {
|
|
28
|
+
return defaultMediaDims();
|
|
29
|
+
}
|
|
30
|
+
let scale = Math.min(MEDIA_MAX_W / natW, MEDIA_MAX_H / natH);
|
|
31
|
+
if (scale > 1) {
|
|
32
|
+
scale = 1;
|
|
33
|
+
}
|
|
34
|
+
let width = Math.round(natW * scale);
|
|
35
|
+
let height = Math.round(natH * scale);
|
|
36
|
+
if (width < MEDIA_MIN_W || height < MEDIA_MIN_H) {
|
|
37
|
+
const up = Math.max(MEDIA_MIN_W / width, MEDIA_MIN_H / height);
|
|
38
|
+
width = Math.min(MEDIA_MAX_W, Math.round(width * up));
|
|
39
|
+
height = Math.min(MEDIA_MAX_H, Math.round(height * up));
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
width,
|
|
43
|
+
height
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=mediaDimensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Dimensions","screenW","get","width","MEDIA_MAX_W","Math","min","round","MEDIA_MAX_H","MEDIA_MIN_W","MEDIA_MIN_H","defaultMediaDims","height","fitMediaDimensions","natW","natH","scale","up","max"],"sourceRoot":"../../../src","sources":["helpers/mediaDimensions.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;;AAEzC;AACA;AACA;AACA,MAAMC,OAAO,GAAGD,UAAU,CAACE,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;;AAE9C;AACA;AACA,OAAO,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAED,IAAI,CAACE,KAAK,CAACN,OAAO,GAAG,IAAI,CAAC,CAAC;AACpE,OAAO,MAAMO,WAAW,GAAG,GAAG;AAC9B;AACA,MAAMC,WAAW,GAAG,GAAG;AACvB,MAAMC,WAAW,GAAG,GAAG;AAOvB;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,MAAkB;EAChDR,KAAK,EAAEC,WAAW;EAClBQ,MAAM,EAAEP,IAAI,CAACE,KAAK,CAACH,WAAW,GAAG,IAAI;AACvC,CAAC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAMS,kBAAkB,GAAGA,CAACC,IAAY,EAAEC,IAAY,KAAgB;EAC3E,IAAI,CAACD,IAAI,IAAI,CAACC,IAAI,EAAE;IAClB,OAAOJ,gBAAgB,CAAC,CAAC;EAC3B;EACA,IAAIK,KAAK,GAAGX,IAAI,CAACC,GAAG,CAACF,WAAW,GAAGU,IAAI,EAAEN,WAAW,GAAGO,IAAI,CAAC;EAC5D,IAAIC,KAAK,GAAG,CAAC,EAAE;IACbA,KAAK,GAAG,CAAC;EACX;EACA,IAAIb,KAAK,GAAGE,IAAI,CAACE,KAAK,CAACO,IAAI,GAAGE,KAAK,CAAC;EACpC,IAAIJ,MAAM,GAAGP,IAAI,CAACE,KAAK,CAACQ,IAAI,GAAGC,KAAK,CAAC;EAErC,IAAIb,KAAK,GAAGM,WAAW,IAAIG,MAAM,GAAGF,WAAW,EAAE;IAC/C,MAAMO,EAAE,GAAGZ,IAAI,CAACa,GAAG,CAACT,WAAW,GAAGN,KAAK,EAAEO,WAAW,GAAGE,MAAM,CAAC;IAC9DT,KAAK,GAAGE,IAAI,CAACC,GAAG,CAACF,WAAW,EAAEC,IAAI,CAACE,KAAK,CAACJ,KAAK,GAAGc,EAAE,CAAC,CAAC;IACrDL,MAAM,GAAGP,IAAI,CAACC,GAAG,CAACE,WAAW,EAAEH,IAAI,CAACE,KAAK,CAACK,MAAM,GAAGK,EAAE,CAAC,CAAC;EACzD;EACA,OAAO;IAAEd,KAAK;IAAES;EAAO,CAAC;AAC1B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const normalizeRoomJid = (roomJID, conference) => {
|
|
4
|
+
if (!roomJID) {
|
|
5
|
+
return roomJID;
|
|
6
|
+
}
|
|
7
|
+
if (roomJID.includes('@')) {
|
|
8
|
+
return roomJID;
|
|
9
|
+
}
|
|
10
|
+
if (!conference) {
|
|
11
|
+
return roomJID;
|
|
12
|
+
}
|
|
13
|
+
return `${roomJID}@${conference}`;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=normalizeRoomJid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizeRoomJid","roomJID","conference","includes"],"sourceRoot":"../../../src","sources":["helpers/normalizeRoomJid.ts"],"mappings":";;AAAA,OAAO,MAAMA,gBAAgB,GAAGA,CAACC,OAAe,EAAEC,UAAmB,KAAK;EACxE,IAAI,CAACD,OAAO,EAAE;IAAC,OAAOA,OAAO;EAAC;EAC9B,IAAIA,OAAO,CAACE,QAAQ,CAAC,GAAG,CAAC,EAAE;IAAC,OAAOF,OAAO;EAAC;EAC3C,IAAI,CAACC,UAAU,EAAE;IAAC,OAAOD,OAAO;EAAC;EACjC,OAAO,GAAGA,OAAO,IAAIC,UAAU,EAAE;AACnC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useRef } from 'react';
|
|
4
|
+
import { useDispatch } from 'react-redux';
|
|
5
|
+
import { clearVisibleRoom, setCurrentRoom, setLastViewedTimestamp, setVisibleRoom } from '../roomStore/roomsSlice';
|
|
6
|
+
import { store } from '../roomStore';
|
|
7
|
+
/**
|
|
8
|
+
* Public hook for consumers embedding `<ChatRoom>` inside a tab-based
|
|
9
|
+
* navigator. Mirrors the mount/unmount unread-tracking that ChatRoom
|
|
10
|
+
* does internally — but driven by an explicit focus signal so the
|
|
11
|
+
* unread counter behaves correctly when the chat tab is not focused
|
|
12
|
+
* but the component is still mounted.
|
|
13
|
+
*
|
|
14
|
+
* Without this hook, `useUnread()` will always return 0 for the chat
|
|
15
|
+
* room because the SDK assumes "mounted == active". With this hook,
|
|
16
|
+
* focus marks the room visible (clearing the badge) and blur stamps
|
|
17
|
+
* `lastViewedTimestamp = Date.now()` so future messages count as unread.
|
|
18
|
+
*
|
|
19
|
+
* Usage with React Navigation:
|
|
20
|
+
*
|
|
21
|
+
* ```tsx
|
|
22
|
+
* import { useIsFocused } from '@react-navigation/native';
|
|
23
|
+
*
|
|
24
|
+
* function ChatTab() {
|
|
25
|
+
* const isFocused = useIsFocused();
|
|
26
|
+
* useChatRoomFocus({ roomJID: 'general@conference.host', isFocused });
|
|
27
|
+
* return <Chat config={...} />;
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* Bug #18-adjacent / unread-tracking bug from sdk-bug-tracker.md.
|
|
32
|
+
*/
|
|
33
|
+
export const useChatRoomFocus = ({
|
|
34
|
+
roomJID,
|
|
35
|
+
isFocused
|
|
36
|
+
}) => {
|
|
37
|
+
const dispatch = useDispatch();
|
|
38
|
+
const prevRef = useRef({
|
|
39
|
+
roomJID: null,
|
|
40
|
+
isFocused: false
|
|
41
|
+
});
|
|
42
|
+
const leaveRoom = jid => {
|
|
43
|
+
const timestamp = Date.now();
|
|
44
|
+
dispatch(setLastViewedTimestamp({
|
|
45
|
+
chatJID: jid,
|
|
46
|
+
timestamp
|
|
47
|
+
}));
|
|
48
|
+
dispatch(clearVisibleRoom());
|
|
49
|
+
const rooms = store.getState().rooms?.rooms;
|
|
50
|
+
store.getState().chatSettingStore?.client?.flushLastViewedToPrivateStoreStanza(rooms, {
|
|
51
|
+
visibleRoomJID: jid
|
|
52
|
+
}).catch(() => {});
|
|
53
|
+
};
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
const prev = prevRef.current;
|
|
56
|
+
if (prev.isFocused && prev.roomJID && (prev.roomJID !== roomJID || !isFocused)) {
|
|
57
|
+
leaveRoom(prev.roomJID);
|
|
58
|
+
}
|
|
59
|
+
if (roomJID && isFocused) {
|
|
60
|
+
dispatch(setCurrentRoom({
|
|
61
|
+
roomJID
|
|
62
|
+
}));
|
|
63
|
+
dispatch(setVisibleRoom({
|
|
64
|
+
roomJID
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
prevRef.current = {
|
|
68
|
+
roomJID: roomJID || null,
|
|
69
|
+
isFocused
|
|
70
|
+
};
|
|
71
|
+
}, [roomJID, isFocused, dispatch]);
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
return () => {
|
|
74
|
+
const prev = prevRef.current;
|
|
75
|
+
if (prev.isFocused && prev.roomJID) {
|
|
76
|
+
leaveRoom(prev.roomJID);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}, []);
|
|
80
|
+
};
|
|
81
|
+
export default useChatRoomFocus;
|
|
82
|
+
//# sourceMappingURL=useChatRoomFocus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useDispatch","clearVisibleRoom","setCurrentRoom","setLastViewedTimestamp","setVisibleRoom","store","useChatRoomFocus","roomJID","isFocused","dispatch","prevRef","leaveRoom","jid","timestamp","Date","now","chatJID","rooms","getState","chatSettingStore","client","flushLastViewedToPrivateStoreStanza","visibleRoomJID","catch","prev","current"],"sourceRoot":"../../../src","sources":["hooks/useChatRoomFocus.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,WAAW,QAAQ,aAAa;AACzC,SACEC,gBAAgB,EAChBC,cAAc,EACdC,sBAAsB,EACtBC,cAAc,QACT,yBAAyB;AAChC,SAASC,KAAK,QAAQ,cAAc;AAgBpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,OAAO;EACPC;AACuB,CAAC,KAAK;EAC7B,MAAMC,QAAQ,GAAGT,WAAW,CAAC,CAAC;EAC9B,MAAMU,OAAO,GAAGX,MAAM,CAAiD;IACrEQ,OAAO,EAAE,IAAI;IACbC,SAAS,EAAE;EACb,CAAC,CAAC;EAEF,MAAMG,SAAS,GAAIC,GAAW,IAAK;IACjC,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC5BN,QAAQ,CAACN,sBAAsB,CAAC;MAAEa,OAAO,EAAEJ,GAAG;MAAEC;IAAU,CAAC,CAAC,CAAC;IAC7DJ,QAAQ,CAACR,gBAAgB,CAAC,CAAC,CAAC;IAC5B,MAAMgB,KAAK,GAAGZ,KAAK,CAACa,QAAQ,CAAC,CAAC,CAACD,KAAK,EAAEA,KAAK;IAC1CZ,KAAK,CAACa,QAAQ,CAAC,CAAC,CAACC,gBAAgB,EAAUC,MAAM,EAC9CC,mCAAmC,CAACJ,KAAK,EAAE;MAAEK,cAAc,EAAEV;IAAI,CAAC,CAAC,CACpEW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACpB,CAAC;EAEDzB,SAAS,CAAC,MAAM;IACd,MAAM0B,IAAI,GAAGd,OAAO,CAACe,OAAO;IAC5B,IAAID,IAAI,CAAChB,SAAS,IAAIgB,IAAI,CAACjB,OAAO,KAAKiB,IAAI,CAACjB,OAAO,KAAKA,OAAO,IAAI,CAACC,SAAS,CAAC,EAAE;MAC9EG,SAAS,CAACa,IAAI,CAACjB,OAAO,CAAC;IACzB;IAEA,IAAIA,OAAO,IAAIC,SAAS,EAAE;MACxBC,QAAQ,CAACP,cAAc,CAAC;QAAEK;MAAQ,CAAC,CAAC,CAAC;MACrCE,QAAQ,CAACL,cAAc,CAAC;QAAEG;MAAQ,CAAC,CAAC,CAAC;IACvC;IAEAG,OAAO,CAACe,OAAO,GAAG;MAAElB,OAAO,EAAEA,OAAO,IAAI,IAAI;MAAEC;IAAU,CAAC;EAC3D,CAAC,EAAE,CAACD,OAAO,EAAEC,SAAS,EAAEC,QAAQ,CAAC,CAAC;EAElCX,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,MAAM0B,IAAI,GAAGd,OAAO,CAACe,OAAO;MAC5B,IAAID,IAAI,CAAChB,SAAS,IAAIgB,IAAI,CAACjB,OAAO,EAAE;QAClCI,SAAS,CAACa,IAAI,CAACjB,OAAO,CAAC;MACzB;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,eAAeD,gBAAgB","ignoreList":[]}
|
|
@@ -31,7 +31,7 @@ export const useHeapSender = client => {
|
|
|
31
31
|
inFlightRef.current.set(msg.id, Date.now());
|
|
32
32
|
try {
|
|
33
33
|
if (msg.langSource) {
|
|
34
|
-
await client.sendTextMessageWithTranslateTagStanza(msg.roomJid, msg.user.firstName || msg.user.name?.split(' ')[0] || '', msg.user.lastName || msg.user.name?.split(' ')[1] || '', '', msg.user.walletAddress || '', msg.body, '', !!msg.isReply, msg.showInChannel === 'true', msg.mainMessage || '', msg.langSource);
|
|
34
|
+
await client.sendTextMessageWithTranslateTagStanza(msg.roomJid, msg.user.firstName || msg.user.name?.split(' ')[0] || '', msg.user.lastName || msg.user.name?.split(' ')[1] || '', '', msg.user.walletAddress || '', msg.body, '', !!msg.isReply, msg.showInChannel === 'true', msg.mainMessage || '', msg.langSource, msg.id);
|
|
35
35
|
} else {
|
|
36
36
|
await client.sendMessage(msg.roomJid, msg.user.firstName || msg.user.name?.split(' ')[0] || '', msg.user.lastName || msg.user.name?.split(' ')[1] || '', '', msg.user.walletAddress || '', msg.body, '', !!msg.isReply, !!msg.showInChannel, msg.mainMessage, msg.id);
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","useDispatch","useMessageHeapState","useHeapSender","client","dispatch","queue","sendingRef","inFlightRef","Map","sendHeapMessages","length","presencesReady","console","warn","current","msg","lastAttempt","get","id","Date","now","set","langSource","sendTextMessageWithTranslateTagStanza","roomJid","user","firstName","name","split","lastName","walletAddress","body","isReply","showInChannel","mainMessage","sendMessage","err","delete","prevReadyRef","nowReady","wasReady","currentIds","Set","map","m","Array","from","keys","has"],"sourceRoot":"../../../src","sources":["hooks/useHeapSender.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,mBAAmB,QAAQ,uBAAuB;AAI3D,OAAO,MAAMC,aAAa,GAAIC,MAAyB,IAAK;EAC1D,MAAMC,QAAQ,GAAGJ,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEK;EAAM,CAAC,GAAGJ,mBAAmB,CAAC,CAAC;EACvC,MAAMK,UAAU,GAAGP,MAAM,CAAC,KAAK,CAAC;EAChC,MAAMQ,WAAW,GAAGR,MAAM,CAAsB,IAAIS,GAAG,CAAC,CAAC,CAAC;EAE1D,MAAMC,gBAAgB,GAAGZ,WAAW,CAAC,YAAY;IAC/C,IAAI,CAACM,MAAM,IAAIE,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE;MAAC;IAAO;IAC3C,IAAI,CAACP,MAAM,CAACQ,cAAc,EAAE;MAC1BC,OAAO,CAACC,IAAI,CAAC,yCAAyC,CAAC;MACvD;IACF;IACA,IAAIP,UAAU,CAACQ,OAAO,EAAE;MAAC;IAAO;IAChCR,UAAU,CAACQ,OAAO,GAAG,IAAI;IACzB,IAAI;MACF,KAAK,MAAMC,GAAG,IAAIV,KAAK,EAAE;QACvB,MAAMW,WAAW,GAAGT,WAAW,CAACO,OAAO,CAACG,GAAG,CAACF,GAAG,CAACG,EAAE,CAAC;QACnD,IAAIF,WAAW,IAAIG,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGJ,WAAW,GAAG,KAAK,EAAE;UACnD;QACF;QACAT,WAAW,CAACO,OAAO,CAACO,GAAG,CAACN,GAAG,CAACG,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI;UACF,IAAIL,GAAG,CAACO,UAAU,EAAE;YAClB,MAAMnB,MAAM,CAACoB,qCAAqC,CAChDR,GAAG,CAACS,OAAO,EACXT,GAAG,CAACU,IAAI,CAACC,SAAS,IAAIX,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACxDb,GAAG,CAACU,IAAI,CAACI,QAAQ,IAAId,GAAG,CAACU,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACvD,EAAE,EACFb,GAAG,CAACU,IAAI,CAACK,aAAa,IAAI,EAAE,EAC5Bf,GAAG,CAACgB,IAAI,EACR,EAAE,EACF,CAAC,CAAChB,GAAG,CAACiB,OAAO,EACbjB,GAAG,CAACkB,aAAa,KAAK,MAAM,EAC5BlB,GAAG,CAACmB,WAAW,IAAI,EAAE,EACrBnB,GAAG,CAACO,
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useDispatch","useMessageHeapState","useHeapSender","client","dispatch","queue","sendingRef","inFlightRef","Map","sendHeapMessages","length","presencesReady","console","warn","current","msg","lastAttempt","get","id","Date","now","set","langSource","sendTextMessageWithTranslateTagStanza","roomJid","user","firstName","name","split","lastName","walletAddress","body","isReply","showInChannel","mainMessage","sendMessage","err","delete","prevReadyRef","nowReady","wasReady","currentIds","Set","map","m","Array","from","keys","has"],"sourceRoot":"../../../src","sources":["hooks/useHeapSender.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,7 +49,7 @@ const logoutService = {
|
|
|
49
49
|
performLogout: async () => {
|
|
50
50
|
// 0. Flush lastViewedTimestamp to the server's private store BEFORE
|
|
51
51
|
// we close XMPP. Only rooms with no outstanding unread (plus the
|
|
52
|
-
//
|
|
52
|
+
// visible room) get their entries updated — rooms with unread
|
|
53
53
|
// keep their old marker so the next login still surfaces those
|
|
54
54
|
// messages as unread. Without this, an active-room view at
|
|
55
55
|
// logout would still appear unread on next login because we
|
|
@@ -58,10 +58,10 @@ const logoutService = {
|
|
|
58
58
|
const state = store.getState();
|
|
59
59
|
const client = state.chatSettingStore?.client;
|
|
60
60
|
const rooms = state.rooms?.rooms;
|
|
61
|
-
const
|
|
61
|
+
const visibleRoomJID = state.rooms?.visibleRoomJID || null;
|
|
62
62
|
if (client?.flushLastViewedToPrivateStoreStanza) {
|
|
63
63
|
await Promise.race([client.flushLastViewedToPrivateStoreStanza(rooms, {
|
|
64
|
-
|
|
64
|
+
visibleRoomJID,
|
|
65
65
|
onlyIfNoUnread: true
|
|
66
66
|
}), new Promise(res => setTimeout(res, 2000))]);
|
|
67
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDispatch","DeviceEventEmitter","AsyncStorage","store","logout","setLogoutState","useCallback","clearHeap","pushSubscriptionService","clearRoomsRestCache","clearPersistedState","localStorageConstants","LIBRARY_STRAY_KEYS","logoutService","performLogout","state","getState","client","chatSettingStore","rooms","
|
|
1
|
+
{"version":3,"names":["useDispatch","DeviceEventEmitter","AsyncStorage","store","logout","setLogoutState","useCallback","clearHeap","pushSubscriptionService","clearRoomsRestCache","clearPersistedState","localStorageConstants","LIBRARY_STRAY_KEYS","logoutService","performLogout","state","getState","client","chatSettingStore","rooms","visibleRoomJID","flushLastViewedToPrivateStoreStanza","Promise","race","onlyIfNoUnread","res","setTimeout","e","console","warn","emit","reset","dispatch","multiRemove","ETHORA_USER","useLogout","handleLogout","catch","err"],"sourceRoot":"../../../src","sources":["hooks/useLogout.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,7 +44,11 @@ export function usePushNotifications() {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
useEffect(() => {
|
|
47
|
-
initToken()
|
|
47
|
+
// initToken is async — `initToken()` without `.catch` leaves any
|
|
48
|
+
// rejection unhandled (showed as `Uncaught (in promise, id: X)` red
|
|
49
|
+
// screen in dev). The inner try/catch covers most paths but any
|
|
50
|
+
// synchronous throw before the try-block ran would still leak.
|
|
51
|
+
initToken().catch(err => console.warn('[usePushNotifications] initToken rejected', err));
|
|
48
52
|
const unsubscribeForeground = onForegroundMessage(message => {
|
|
49
53
|
setNotification(message);
|
|
50
54
|
const {
|
|
@@ -71,7 +75,7 @@ export function usePushNotifications() {
|
|
|
71
75
|
setNotification(message);
|
|
72
76
|
handleNotificationPress(message);
|
|
73
77
|
}
|
|
74
|
-
});
|
|
78
|
+
}).catch(err => console.warn('[usePushNotifications] getInitialNotification failed', err));
|
|
75
79
|
return () => {
|
|
76
80
|
unsubscribeForeground();
|
|
77
81
|
unsubscribeOpened();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","Alert","initPushNotifications","onForegroundMessage","onNotificationOpenedApp","getInitialNotification","pushSubscriptionService","useSelector","useDispatch","useLocalStorage","setPendingNotificationJid","usePushNotifications","fcmToken","setFcmToken","notification","setNotification","user","config","state","chatSettingStore","rooms","dispatch","set","get","handleNotificationPress","remoteMessage","console","log","JSON","stringify","jid","data","chatJid","warn","initToken","token","newToken","error","unsubscribeForeground","message","notif","alert","title","body","text","onPress","unsubscribeOpened","then","xmppPassword","defaultWallet","walletAddress","subscribeToPush","projectName"
|
|
1
|
+
{"version":3,"names":["useEffect","useState","Alert","initPushNotifications","onForegroundMessage","onNotificationOpenedApp","getInitialNotification","pushSubscriptionService","useSelector","useDispatch","useLocalStorage","setPendingNotificationJid","usePushNotifications","fcmToken","setFcmToken","notification","setNotification","user","config","state","chatSettingStore","rooms","dispatch","set","get","handleNotificationPress","remoteMessage","console","log","JSON","stringify","jid","data","chatJid","warn","initToken","token","newToken","error","catch","err","unsubscribeForeground","message","notif","alert","title","body","text","onPress","unsubscribeOpened","then","xmppPassword","defaultWallet","walletAddress","subscribeToPush","projectName"],"sourceRoot":"../../../src","sources":["hooks/usePushNotifications.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ export const useRoomState = roomJID => {
|
|
|
8
8
|
const room = useSelector(state => roomJID ? state.rooms.rooms[roomJID] : undefined);
|
|
9
9
|
const roomsList = useSelector(state => state.rooms.rooms);
|
|
10
10
|
const activeRoomJID = useSelector(state => state.rooms.activeRoomJID);
|
|
11
|
+
const visibleRoomJID = useSelector(state => state.rooms.visibleRoomJID);
|
|
11
12
|
const editAction = useSelector(state => state.rooms.editAction);
|
|
12
13
|
const globalLoading = useSelector(state => state.rooms.isLoading);
|
|
13
14
|
const loading = useSelector(state => {
|
|
@@ -21,6 +22,7 @@ export const useRoomState = roomJID => {
|
|
|
21
22
|
room,
|
|
22
23
|
roomsList,
|
|
23
24
|
activeRoomJID,
|
|
25
|
+
visibleRoomJID,
|
|
24
26
|
editAction,
|
|
25
27
|
globalLoading,
|
|
26
28
|
loadingText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useSelector","useRoomState","roomJID","room","state","rooms","undefined","roomsList","activeRoomJID","editAction","globalLoading","isLoading","loading","activeJID","loadingText","usersSet","roomMessages","messages"],"sourceRoot":"../../../src","sources":["hooks/useRoomState.tsx"],"mappings":";;AAAA;;AAEA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,WAAW,QAAQ,aAAa;AAGzC,OAAO,MAAMC,YAAY,GAAIC,OAAgB,IAAK;EAChD,MAAMC,IAAI,GAAGH,WAAW,CAAEI,KAAgB,IACxCF,OAAO,GAAGE,KAAK,CAACC,KAAK,CAACA,KAAK,CAACH,OAAO,CAAC,GAAGI,SACzC,CAAC;EACD,MAAMC,SAAS,GAAGP,WAAW,CAAEI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACA,KAAK,CAAC;EACtE,MAAMG,aAAa,GAAGR,WAAW,CAC9BI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACG,aACpC,CAAC;EACD,MAAMC,
|
|
1
|
+
{"version":3,"names":["useMemo","useSelector","useRoomState","roomJID","room","state","rooms","undefined","roomsList","activeRoomJID","visibleRoomJID","editAction","globalLoading","isLoading","loading","activeJID","loadingText","usersSet","roomMessages","messages"],"sourceRoot":"../../../src","sources":["hooks/useRoomState.tsx"],"mappings":";;AAAA;;AAEA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,WAAW,QAAQ,aAAa;AAGzC,OAAO,MAAMC,YAAY,GAAIC,OAAgB,IAAK;EAChD,MAAMC,IAAI,GAAGH,WAAW,CAAEI,KAAgB,IACxCF,OAAO,GAAGE,KAAK,CAACC,KAAK,CAACA,KAAK,CAACH,OAAO,CAAC,GAAGI,SACzC,CAAC;EACD,MAAMC,SAAS,GAAGP,WAAW,CAAEI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACA,KAAK,CAAC;EACtE,MAAMG,aAAa,GAAGR,WAAW,CAC9BI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACG,aACpC,CAAC;EACD,MAAMC,cAAc,GAAGT,WAAW,CAC/BI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACI,cACpC,CAAC;EACD,MAAMC,UAAU,GAAGV,WAAW,CAAEI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACK,UAAU,CAAC;EAC5E,MAAMC,aAAa,GAAGX,WAAW,CAC9BI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACO,SACpC,CAAC;EACD,MAAMC,OAAO,GAAGb,WAAW,CAAEI,KAAgB,IAAK;IAChD,MAAMU,SAAS,GAAGV,KAAK,CAACC,KAAK,CAACG,aAAa;IAC3C,OAAOM,SAAS,GAAGV,KAAK,CAACC,KAAK,CAACA,KAAK,CAACS,SAAS,CAAC,EAAEF,SAAS,IAAI,KAAK,GAAG,KAAK;EAC7E,CAAC,CAAC;EACF,MAAMG,WAAW,GAAGf,WAAW,CAC5BI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACU,WACpC,CAAC;EACD,MAAMC,QAAQ,GAAGhB,WAAW,CAAEI,KAAgB,IAAKA,KAAK,CAACC,KAAK,CAACW,QAAQ,CAAC;EAExE,MAAMC,YAAY,GAAGlB,OAAO,CAC1B,MACES,aAAa,IAAID,SAAS,CAACC,aAAa,CAAC,GACrCD,SAAS,CAACC,aAAa,CAAC,CAACU,QAAQ,IAAI,EAAE,GACvC,EAAE,EACR,CAACX,SAAS,EAAEC,aAAa,CAC3B,CAAC;EAED,OAAO;IACLL,IAAI;IACJI,SAAS;IACTC,aAAa;IACbC,cAAc;IACdC,UAAU;IACVC,aAAa;IACbI,WAAW;IACXF,OAAO;IACPI,YAAY;IACZD;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|