@ethora/chat-component-rn 26.5.7 → 26.5.11
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 +191 -0
- package/README.md +95 -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 +31 -16
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +78 -38
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +74 -27
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +16 -11
- 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/InteractionsOverlay.js +119 -0
- package/lib/commonjs/components/MessageBubble/InteractionsOverlay.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/Message.js +122 -41
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +132 -44
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +155 -52
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.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 +144 -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/ModalHeaderComponent.js +10 -0
- package/lib/commonjs/components/Modals/ModalHeaderComponent.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 +17 -13
- 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/StyledComponents.js +6 -3
- package/lib/commonjs/components/styled/StyledComponents.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 +81 -16
- 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/mimeToExtension.js +56 -0
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- 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 +36 -11
- 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/api-requests/rooms.api.js +29 -4
- package/lib/commonjs/networking/api-requests/rooms.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/ChatHeader.js +31 -16
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +80 -40
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +74 -27
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +17 -12
- 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/InteractionsOverlay.js +112 -0
- package/lib/module/components/MessageBubble/InteractionsOverlay.js.map +1 -0
- package/lib/module/components/MessageBubble/Message.js +123 -42
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +134 -46
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +155 -52
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +20 -5
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.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 +148 -26
- 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/ModalHeaderComponent.js +10 -0
- package/lib/module/components/Modals/ModalHeaderComponent.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 +17 -13
- 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/StyledComponents.js +6 -3
- package/lib/module/components/styled/StyledComponents.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 +82 -17
- 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/mimeToExtension.js +55 -0
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- 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 +36 -11
- 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/api-requests/rooms.api.js +29 -4
- package/lib/module/networking/api-requests/rooms.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/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/InteractionsOverlay.d.ts +13 -0
- package/lib/typescript/components/MessageBubble/InteractionsOverlay.d.ts.map +1 -0
- 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/ChatProfileModal/ChatProfileModal.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/ModalHeaderComponent.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/StyledComponents.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 +8 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- 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/useLogout.d.ts +23 -1
- package/lib/typescript/hooks/useLogout.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/api-requests/rooms.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 +20 -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 +23 -4
- package/src/assets/icons.tsx +23 -14
- package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
- package/src/components/MainComponents/ChatHeader.tsx +46 -15
- package/src/components/MainComponents/ChatRoom.tsx +95 -66
- package/src/components/MainComponents/ChatWrapper.tsx +127 -42
- package/src/components/MainComponents/MediaMessage.tsx +14 -8
- 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/InteractionsOverlay.tsx +121 -0
- package/src/components/MessageBubble/Message.tsx +133 -63
- package/src/components/MessageBubble/MessageInteractions.tsx +146 -58
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +146 -39
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +25 -3
- package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +161 -26
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
- package/src/components/Modals/Modal/Modal.tsx +4 -1
- package/src/components/Modals/ModalHeaderComponent.tsx +8 -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 +17 -13
- 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/StyledComponents.ts +6 -3
- 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 +76 -12
- 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/mimeToExtension.ts +64 -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 +36 -13
- 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/api-requests/rooms.api.ts +31 -7
- 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 +31 -0
- package/src/utils/installPromiseRejectionTracker.ts +91 -0
- package/src/utils/resendMessage.ts +2 -1
|
@@ -55,7 +55,12 @@ const isOwnMessage = (msg, selfXmpp, selfWallet) => {
|
|
|
55
55
|
// events, typing-indicator setComposing, etc. — and walked every room's
|
|
56
56
|
// messages array looking for a count delta that almost never came. For
|
|
57
57
|
// 50 rooms × 100 messages that's 5000 Date() parses per modal click.
|
|
58
|
-
const TRIGGER_ACTIONS = new Set(['roomMessages/addRoomMessage', 'roomMessages/setRoomMessages', 'roomMessages/editRoomMessage', 'roomMessages/setLastViewedTimestamp', 'roomMessages/setCurrentRoom', 'roomMessages/addRoom', 'roomMessages/updateRoom'
|
|
58
|
+
const TRIGGER_ACTIONS = new Set(['roomMessages/addRoomMessage', 'roomMessages/setRoomMessages', 'roomMessages/editRoomMessage', 'roomMessages/setLastViewedTimestamp', 'roomMessages/setCurrentRoom', 'roomMessages/setVisibleRoom', 'roomMessages/clearVisibleRoom', 'roomMessages/addRoom', 'roomMessages/updateRoom',
|
|
59
|
+
// The history preload scheduler merges fetched pages via this action on
|
|
60
|
+
// re-entry; recompute so unread reflects messages that arrived while the
|
|
61
|
+
// app was away (the per-room fingerprint cache below skips no-op batches,
|
|
62
|
+
// e.g. the 'loading' marker dispatch that carries no messages).
|
|
63
|
+
'roomMessages/applyRoomsPreloadBatch']);
|
|
59
64
|
export const unreadMiddleware = storeAPI => next => action => {
|
|
60
65
|
if (!action || !action.type) {
|
|
61
66
|
console.error('Invalid action in unreadMiddleware:', action);
|
|
@@ -80,7 +85,7 @@ export const unreadMiddleware = storeAPI => next => action => {
|
|
|
80
85
|
}
|
|
81
86
|
const state = storeAPI.getState();
|
|
82
87
|
const rooms = state.rooms.rooms;
|
|
83
|
-
const
|
|
88
|
+
const visibleRoomJID = state.rooms.visibleRoomJID;
|
|
84
89
|
const selfUser = state.chatSettingStore?.user;
|
|
85
90
|
const selfXmpp = selfUser?.xmppUsername || '';
|
|
86
91
|
const selfWallet = selfUser?.walletAddress || '';
|
|
@@ -90,13 +95,24 @@ export const unreadMiddleware = storeAPI => next => action => {
|
|
|
90
95
|
if (!room) {
|
|
91
96
|
return;
|
|
92
97
|
}
|
|
93
|
-
// Skip rooms the user is currently viewing —
|
|
94
|
-
//
|
|
95
|
-
//
|
|
98
|
+
// Skip rooms the user is currently viewing — visibility clears the
|
|
99
|
+
// badge directly. Skip rooms with no reference point (covers
|
|
100
|
+
// undefined / null / 0) — after logout→login, hydrated rooms
|
|
96
101
|
// come back without lastViewedTimestamp, and treating that as 0
|
|
97
102
|
// made every history message satisfy `date > 0` and incorrectly
|
|
98
103
|
// bumped unread for already-seen content.
|
|
99
|
-
if (
|
|
104
|
+
if (jid === visibleRoomJID) {
|
|
105
|
+
if (room.unreadMessages !== 0) {
|
|
106
|
+
storeAPI.dispatch(updateRoom({
|
|
107
|
+
jid,
|
|
108
|
+
updates: {
|
|
109
|
+
unreadMessages: 0
|
|
110
|
+
}
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (!(room.lastViewedTimestamp > 0)) {
|
|
100
116
|
return;
|
|
101
117
|
}
|
|
102
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["updateRoom","msgSortableMs","triggerCache","norm","s","v","String","toLowerCase","split","replace","isOwnMessage","msg","selfXmpp","selfWallet","candidates","user","id","userJID","xmppUsername","xmppFrom","filter","Boolean","length","self","Set","c","has","TRIGGER_ACTIONS","unreadMiddleware","storeAPI","next","action","type","console","error","result","state","getState","rooms","
|
|
1
|
+
{"version":3,"names":["updateRoom","msgSortableMs","triggerCache","norm","s","v","String","toLowerCase","split","replace","isOwnMessage","msg","selfXmpp","selfWallet","candidates","user","id","userJID","xmppUsername","xmppFrom","filter","Boolean","length","self","Set","c","has","TRIGGER_ACTIONS","unreadMiddleware","storeAPI","next","action","type","console","error","result","state","getState","rooms","visibleRoomJID","selfUser","chatSettingStore","walletAddress","Object","keys","forEach","jid","room","unreadMessages","dispatch","updates","lastViewedTimestamp","currentMessagesLength","messages","fingerprint","unreadMessagesCount","pending"],"sourceRoot":"../../../../src","sources":["roomStore/Middleware/unreadMidlleware.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,9 +19,62 @@ const enforceMessageCap = messages => {
|
|
|
19
19
|
messages.shift();
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
+
|
|
23
|
+
// Merge a freshly-fetched recent history page into a room's cached
|
|
24
|
+
// messages instead of REPLACING them — so re-entering the app no longer
|
|
25
|
+
// wipes older history (and the unread derived from it). Mirrors the web
|
|
26
|
+
// SDK's incremental sync:
|
|
27
|
+
// • union + dedupe by message id (the server-authoritative,
|
|
28
|
+
// microsecond-resolution stanza id) — overlapping messages collapse
|
|
29
|
+
// and older cached history is kept;
|
|
30
|
+
// • if the fetched page shares NO id with the cache, a gap has opened
|
|
31
|
+
// (more than a page of new messages arrived while away) and stitching
|
|
32
|
+
// them would leave a hole — so we clear THIS chat's cache and keep
|
|
33
|
+
// just the fresh page;
|
|
34
|
+
// • locally-pending (optimistic) sends are always preserved;
|
|
35
|
+
// • an empty fetch leaves the cache untouched (the old replace wiped it);
|
|
36
|
+
// • the transient 'delimiter-new' marker is dropped (the realtime insert
|
|
37
|
+
// path re-derives it) so it can't mis-sort.
|
|
38
|
+
// `function` (hoisted) so the reducers above can call it regardless of
|
|
39
|
+
// where it sits in the file. msgSortableMs (defined below) is referenced
|
|
40
|
+
// at call time, after module init.
|
|
41
|
+
function mergeHistoryIntoCache(existing, fetched) {
|
|
42
|
+
const ex = Array.isArray(existing) ? existing : [];
|
|
43
|
+
const fe = Array.isArray(fetched) ? fetched : [];
|
|
44
|
+
const pending = ex.filter(m => m?.pending);
|
|
45
|
+
const realExisting = ex.filter(m => m && !m.pending && m.id !== 'delimiter-new');
|
|
46
|
+
const realFetched = fe.filter(m => m && m.id !== 'delimiter-new');
|
|
47
|
+
|
|
48
|
+
// Nothing usable came back → keep the cache exactly as it was.
|
|
49
|
+
if (realFetched.length === 0) {
|
|
50
|
+
return ex;
|
|
51
|
+
}
|
|
52
|
+
const byMs = (a, b) => msgSortableMs(a) - msgSortableMs(b);
|
|
53
|
+
const capTail = arr => arr.length > RUNTIME_MESSAGE_LIMIT ? arr.slice(-RUNTIME_MESSAGE_LIMIT) : arr;
|
|
54
|
+
const existingIds = new Set(realExisting.map(m => String(m.id)));
|
|
55
|
+
const overlaps = realFetched.some(m => existingIds.has(String(m.id)));
|
|
56
|
+
|
|
57
|
+
// Cold room, or a gap (no shared id) → can't merge → use the fresh page.
|
|
58
|
+
if (realExisting.length === 0 || !overlaps) {
|
|
59
|
+
return [...capTail(realFetched.slice().sort(byMs)), ...pending];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Overlap → union + dedupe by id. Fetched wins on collision: it carries
|
|
63
|
+
// the freshest server state (reactions / edits / deletions).
|
|
64
|
+
const byId = new Map();
|
|
65
|
+
for (const m of realExisting) {
|
|
66
|
+
byId.set(String(m.id), m);
|
|
67
|
+
}
|
|
68
|
+
for (const m of realFetched) {
|
|
69
|
+
byId.set(String(m.id), m);
|
|
70
|
+
}
|
|
71
|
+
const merged = Array.from(byId.values()).sort(byMs);
|
|
72
|
+
return [...capTail(merged), ...pending];
|
|
73
|
+
}
|
|
22
74
|
const initialState = {
|
|
23
75
|
rooms: {},
|
|
24
76
|
activeRoomJID: null,
|
|
77
|
+
visibleRoomJID: null,
|
|
25
78
|
isLoading: false,
|
|
26
79
|
editAction: {
|
|
27
80
|
isEdit: false,
|
|
@@ -58,16 +111,59 @@ const reducers = {
|
|
|
58
111
|
roomData
|
|
59
112
|
} = action.payload;
|
|
60
113
|
const existing = state.rooms[roomData.jid];
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
|
|
114
|
+
// Default-marker resolution (cold-start unread bug):
|
|
115
|
+
// 1. Explicit value on the payload wins.
|
|
116
|
+
// 2. Existing redux value wins (preserves persisted/hydrated
|
|
117
|
+
// markers when the privateStore pull lands before
|
|
118
|
+
// /chats/my).
|
|
119
|
+
// 3. Otherwise, anchor to the *newest known message* in the
|
|
120
|
+
// payload — this marks everything currently in the room
|
|
121
|
+
// as "seen" but lets any NEWER incoming message count as
|
|
122
|
+
// unread. Previously this fell back to `Date.now()`, which
|
|
123
|
+
// stamped a future-leaning marker that hid genuinely-new
|
|
124
|
+
// messages received while the app was closed.
|
|
125
|
+
// 4. If there are no messages at all yet, stamp `0` (=
|
|
126
|
+
// "unknown — let the privateStore hydration set the real
|
|
127
|
+
// marker before any future message arrives").
|
|
128
|
+
let lastViewed;
|
|
129
|
+
// Treat an incoming `0` as "unset". stanzaHandlers' addRoom passes
|
|
130
|
+
// `lastViewedTimestamp: 0` as a placeholder; the old `!= null` check
|
|
131
|
+
// let that 0 win and OVERWROTE the persisted/hydrated marker from
|
|
132
|
+
// the previous session, so cold-start showed no unread badge for
|
|
133
|
+
// messages received while the app was closed (bug #19/#20). A real
|
|
134
|
+
// (non-zero) explicit value still wins; otherwise keep the existing
|
|
135
|
+
// value; otherwise anchor to the newest message in the payload.
|
|
136
|
+
if (roomData.lastViewedTimestamp != null && roomData.lastViewedTimestamp !== 0) {
|
|
137
|
+
lastViewed = roomData.lastViewedTimestamp;
|
|
138
|
+
} else if (existing?.lastViewedTimestamp != null) {
|
|
139
|
+
lastViewed = existing.lastViewedTimestamp;
|
|
140
|
+
} else {
|
|
141
|
+
const msgs = roomData.messages || [];
|
|
142
|
+
let newest = 0;
|
|
143
|
+
for (const m of msgs) {
|
|
144
|
+
const t = m?.messageTimestampMs || (m?.date ? new Date(m.date).getTime() : 0);
|
|
145
|
+
if (t > newest) {
|
|
146
|
+
newest = t;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
lastViewed = newest; // 0 if no messages → cold-start safe
|
|
150
|
+
}
|
|
151
|
+
// Preserve cached messages + unread when the incoming room carries
|
|
152
|
+
// none. The /chats/my fetch (rooms.api) builds rooms with
|
|
153
|
+
// `messages: []` and no unread; without this guard, re-entering the
|
|
154
|
+
// app replaced every cached room with an empty one — wiping history
|
|
155
|
+
// AND the unread badge before the history scheduler could re-merge
|
|
156
|
+
// (the user's "it clears cache, unread and messages" bug). New rooms
|
|
157
|
+
// (no existing) fall through to the incoming values. Mirrors
|
|
158
|
+
// addRoomFromApi's preservation.
|
|
159
|
+
const incomingMessages = Array.isArray(roomData.messages) ? roomData.messages : [];
|
|
160
|
+
const existingMessages = Array.isArray(existing?.messages) ? existing.messages : [];
|
|
68
161
|
state.rooms[roomData.jid] = {
|
|
69
162
|
...roomData,
|
|
70
|
-
|
|
163
|
+
messages: existingMessages.length > 0 ? existingMessages : incomingMessages,
|
|
164
|
+
lastViewedTimestamp: lastViewed,
|
|
165
|
+
unreadMessages: roomData.unreadMessages ?? existing?.unreadMessages ?? 0,
|
|
166
|
+
unreadBaselineTimestamp: existing?.unreadBaselineTimestamp ?? existing?.lastViewedTimestamp ?? roomData.unreadBaselineTimestamp ?? 0
|
|
71
167
|
};
|
|
72
168
|
},
|
|
73
169
|
deleteRoom(state, action) {
|
|
@@ -76,6 +172,9 @@ const reducers = {
|
|
|
76
172
|
} = action.payload;
|
|
77
173
|
if (state.rooms[jid]) {
|
|
78
174
|
delete state.rooms[jid];
|
|
175
|
+
if (state.visibleRoomJID === jid) {
|
|
176
|
+
state.visibleRoomJID = null;
|
|
177
|
+
}
|
|
79
178
|
}
|
|
80
179
|
},
|
|
81
180
|
updateRoom(state, action) {
|
|
@@ -109,13 +208,27 @@ const reducers = {
|
|
|
109
208
|
roomJID,
|
|
110
209
|
messageId
|
|
111
210
|
} = action.payload;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
message.isDeleted = true;
|
|
116
|
-
}
|
|
117
|
-
});
|
|
211
|
+
const room = state.rooms[roomJID];
|
|
212
|
+
if (!room?.messages) {
|
|
213
|
+
return;
|
|
118
214
|
}
|
|
215
|
+
// The "New messages" divider is a transient UI marker, not a real
|
|
216
|
+
// message — SPLICE it out so it can be re-inserted for the next
|
|
217
|
+
// unread batch. Marking it isDeleted (like a real message) left it in
|
|
218
|
+
// the array, where insertMessageWithDelimiter's "already present"
|
|
219
|
+
// guard then blocked every future divider (one-shot bug).
|
|
220
|
+
if (messageId === 'delimiter-new') {
|
|
221
|
+
const idx = room.messages.findIndex(m => m.id === 'delimiter-new');
|
|
222
|
+
if (idx !== -1) {
|
|
223
|
+
room.messages.splice(idx, 1);
|
|
224
|
+
}
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
room.messages.map(message => {
|
|
228
|
+
if (message.id === messageId) {
|
|
229
|
+
message.isDeleted = true;
|
|
230
|
+
}
|
|
231
|
+
});
|
|
119
232
|
},
|
|
120
233
|
setEditAction: (state, action) => {
|
|
121
234
|
if (action.payload?.isEdit) {
|
|
@@ -167,7 +280,8 @@ const reducers = {
|
|
|
167
280
|
if (roomMessages.length === 0 || start) {
|
|
168
281
|
roomMessages.unshift(message);
|
|
169
282
|
} else {
|
|
170
|
-
const
|
|
283
|
+
const lastViewedValue = state.rooms[roomJID].lastViewedTimestamp;
|
|
284
|
+
const lastViewedTimestamp = state.visibleRoomJID === roomJID ? null : lastViewedValue ? new Date(lastViewedValue) : null;
|
|
171
285
|
insertMessageWithDelimiter(roomMessages, message, lastViewedTimestamp);
|
|
172
286
|
}
|
|
173
287
|
|
|
@@ -181,6 +295,7 @@ const reducers = {
|
|
|
181
295
|
},
|
|
182
296
|
deleteAllRooms(state) {
|
|
183
297
|
state.rooms = {};
|
|
298
|
+
state.visibleRoomJID = null;
|
|
184
299
|
},
|
|
185
300
|
setComposing(state, action) {
|
|
186
301
|
const {
|
|
@@ -210,10 +325,12 @@ const reducers = {
|
|
|
210
325
|
} = action.payload;
|
|
211
326
|
if (state.rooms[chatJID]) {
|
|
212
327
|
state.rooms[chatJID].lastViewedTimestamp = timestamp;
|
|
213
|
-
//
|
|
214
|
-
// unread
|
|
215
|
-
//
|
|
216
|
-
|
|
328
|
+
// A non-positive timestamp means "no persisted marker yet" and
|
|
329
|
+
// must not inflate unread from history that predates the first
|
|
330
|
+
// successful private-store hydration. The visible-room state is
|
|
331
|
+
// tracked separately via `visibleRoomJID`; no read/unread meaning
|
|
332
|
+
// is encoded in the timestamp itself anymore.
|
|
333
|
+
if (!(timestamp > 0)) {
|
|
217
334
|
state.rooms[chatJID].unreadMessages = 0;
|
|
218
335
|
} else {
|
|
219
336
|
state.rooms[chatJID].unreadMessages = countNewerMessages(state.rooms[chatJID].messages, timestamp);
|
|
@@ -243,6 +360,16 @@ const reducers = {
|
|
|
243
360
|
// back button from chat → return to RoomList). Mirrors web.
|
|
244
361
|
state.activeRoomJID = action.payload.roomJID || '';
|
|
245
362
|
},
|
|
363
|
+
setVisibleRoom: (state, action) => {
|
|
364
|
+
state.visibleRoomJID = action.payload.roomJID || null;
|
|
365
|
+
const jid = state.visibleRoomJID;
|
|
366
|
+
if (jid && state.rooms[jid]) {
|
|
367
|
+
state.rooms[jid].unreadMessages = 0;
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
clearVisibleRoom: state => {
|
|
371
|
+
state.visibleRoomJID = null;
|
|
372
|
+
},
|
|
246
373
|
/**
|
|
247
374
|
* Stash a JID that a push notification asked us to open before
|
|
248
375
|
* the rooms list has loaded. The Chat component clears this once
|
|
@@ -279,6 +406,7 @@ const reducers = {
|
|
|
279
406
|
setLogoutState: state => {
|
|
280
407
|
state.rooms = {};
|
|
281
408
|
state.activeRoomJID = null;
|
|
409
|
+
state.visibleRoomJID = null;
|
|
282
410
|
state.isLoading = false;
|
|
283
411
|
},
|
|
284
412
|
setActiveMessage: (state, action) => {
|
|
@@ -357,9 +485,11 @@ const reducers = {
|
|
|
357
485
|
room.historyComplete = patch.historyComplete;
|
|
358
486
|
}
|
|
359
487
|
if (Array.isArray(patch.messages)) {
|
|
360
|
-
// Merge
|
|
361
|
-
|
|
362
|
-
|
|
488
|
+
// Merge the fetched page into cache by message id rather than
|
|
489
|
+
// replacing — preserves older history + unread on re-entry. Only
|
|
490
|
+
// a true gap (no overlapping id) clears this chat's cache. See
|
|
491
|
+
// mergeHistoryIntoCache.
|
|
492
|
+
room.messages = mergeHistoryIntoCache(room.messages, patch.messages);
|
|
363
493
|
}
|
|
364
494
|
}
|
|
365
495
|
}
|
|
@@ -452,6 +582,8 @@ export const {
|
|
|
452
582
|
setLastViewedTimestamp,
|
|
453
583
|
setRoomNoMessages,
|
|
454
584
|
setCurrentRoom,
|
|
585
|
+
setVisibleRoom,
|
|
586
|
+
clearVisibleRoom,
|
|
455
587
|
setRoomRole,
|
|
456
588
|
setLogoutState,
|
|
457
589
|
setActiveMessage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAsyncThunk","createSlice","insertMessageWithDelimiter","RUNTIME_MESSAGE_LIMIT","enforceMessageCap","messages","length","shift","initialState","rooms","activeRoomJID","isLoading","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","isValidRoomJid","jid","includes","addRoomViaApi","room","xmpp","_xmpp","dispatch","roomsStore","actions","addRoomFromApi","reducers","addRoom","state","action","roomData","payload","existing","lastViewed","lastViewedTimestamp","Date","now","deleteRoom","updateRoom","updates","existingRoom","setRoomMessages","roomJID","capped","slice","deleteRoomMessage","map","message","id","isDeleted","setEditAction","editRoomMessage","body","addRoomMessage","start","roomMessages","lengthBefore","unshift","deleteAllRooms","setComposing","chatJID","composing","composingList","setIsLoading","loading","loadingText","setLastViewedTimestamp","timestamp","unreadMessages","countNewerMessages","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","msg","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","incomingMessages","Array","isArray","existingMessages","title","usersCnt","incoming","previous","Math","max","icon","unreadBaselineTimestamp","unreadCapped","historyPreloadState","messageStats","historyComplete","applyRoomsPreloadBatch","patch","pending","filter","m","name","msgSortableMs","String","exec","Number","date","t","getTime","isFinite","norm","s","v","toLowerCase","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","Set","c","has","count","ms","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAsyncThunk","createSlice","insertMessageWithDelimiter","RUNTIME_MESSAGE_LIMIT","enforceMessageCap","messages","length","shift","mergeHistoryIntoCache","existing","fetched","ex","Array","isArray","fe","pending","filter","m","realExisting","id","realFetched","byMs","a","b","msgSortableMs","capTail","arr","slice","existingIds","Set","map","String","overlaps","some","has","sort","byId","Map","set","merged","from","values","initialState","rooms","activeRoomJID","visibleRoomJID","isLoading","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","isValidRoomJid","jid","includes","addRoomViaApi","room","xmpp","_xmpp","dispatch","roomsStore","actions","addRoomFromApi","reducers","addRoom","state","action","roomData","payload","lastViewed","lastViewedTimestamp","msgs","newest","t","messageTimestampMs","date","Date","getTime","incomingMessages","existingMessages","unreadMessages","unreadBaselineTimestamp","deleteRoom","updateRoom","updates","existingRoom","setRoomMessages","roomJID","capped","deleteRoomMessage","idx","findIndex","splice","message","isDeleted","setEditAction","editRoomMessage","body","addRoomMessage","start","roomMessages","lengthBefore","unshift","lastViewedValue","deleteAllRooms","setComposing","chatJID","composing","composingList","setIsLoading","loading","loadingText","setLastViewedTimestamp","timestamp","countNewerMessages","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setVisibleRoom","clearVisibleRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","msg","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","title","usersCnt","incoming","previous","Math","max","icon","unreadCapped","historyPreloadState","messageStats","historyComplete","applyRoomsPreloadBatch","patch","name","exec","Number","isFinite","norm","s","v","toLowerCase","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","c","count","ms","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Dev-only unhandled-promise-rejection tracker.
|
|
5
|
+
*
|
|
6
|
+
* RN's red-screen for `Uncaught (in promise, id: N)` famously hides the
|
|
7
|
+
* actual rejection's stack trace — it only shows the promise id. When a
|
|
8
|
+
* leak slips past the SDK's coverage, the integrator gets a useless
|
|
9
|
+
* red box that they can't diagnose.
|
|
10
|
+
*
|
|
11
|
+
* This installer attaches a global `unhandledrejection` listener that
|
|
12
|
+
* prints the rejection value AND a stack trace (best-effort) so the
|
|
13
|
+
* source is visible in Metro logs. It's a no-op in production builds.
|
|
14
|
+
*
|
|
15
|
+
* Installed automatically from `ReduxWrapper` on mount. Safe to call
|
|
16
|
+
* multiple times — guarded by a module-level flag.
|
|
17
|
+
*
|
|
18
|
+
* Bug #4 follow-up.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
let installed = false;
|
|
22
|
+
export function installPromiseRejectionTracker() {
|
|
23
|
+
if (typeof __DEV__ !== 'undefined' && !__DEV__) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (installed) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
installed = true;
|
|
30
|
+
|
|
31
|
+
// RN's RCTPromise polyfill emits `unhandledrejection` on the global
|
|
32
|
+
// (HermesInternal / global). It also forwards through the
|
|
33
|
+
// `process.on('unhandledRejection', ...)` shim on some builds.
|
|
34
|
+
const g = globalThis;
|
|
35
|
+
const onRejection = (eventOrReason, maybePromise) => {
|
|
36
|
+
// Two calling conventions across RN versions:
|
|
37
|
+
// - `(event)` where event has `.reason` / `.promise`
|
|
38
|
+
// - `(reason, promise)` (older)
|
|
39
|
+
const reason = eventOrReason?.reason ?? eventOrReason;
|
|
40
|
+
const promise = eventOrReason?.promise ?? maybePromise;
|
|
41
|
+
const stack = reason && reason.stack || new Error('unhandledrejection (captured at handler)').stack;
|
|
42
|
+
// console.WARN (not error): RN's LogBox turns every console.error into
|
|
43
|
+
// a full-screen red overlay. With `allRejections: true` Hermes reports
|
|
44
|
+
// rejections that get handled a microtask later (false positives, e.g.
|
|
45
|
+
// a bare `undefined` rejection during connect teardown), so escalating
|
|
46
|
+
// to a red box was pure noise. warn keeps the trace in Metro/Logs.
|
|
47
|
+
// eslint-disable-next-line no-console
|
|
48
|
+
console.warn('[ethora-rn] UNHANDLED PROMISE REJECTION:', typeof reason === 'object' ? JSON.stringify(reason, null, 2) : String(reason), '\nstack:', stack, '\npromise:', promise);
|
|
49
|
+
};
|
|
50
|
+
try {
|
|
51
|
+
if (typeof g.addEventListener === 'function') {
|
|
52
|
+
g.addEventListener('unhandledrejection', onRejection);
|
|
53
|
+
}
|
|
54
|
+
} catch {}
|
|
55
|
+
try {
|
|
56
|
+
if (g.process && typeof g.process.on === 'function') {
|
|
57
|
+
g.process.on('unhandledRejection', onRejection);
|
|
58
|
+
}
|
|
59
|
+
} catch {}
|
|
60
|
+
try {
|
|
61
|
+
// Hermes-only hook — newer RN exposes this.
|
|
62
|
+
if (typeof g.HermesInternal?.enablePromiseRejectionTracker === 'function') {
|
|
63
|
+
g.HermesInternal.enablePromiseRejectionTracker({
|
|
64
|
+
allRejections: false,
|
|
65
|
+
onUnhandled: (id, error) => {
|
|
66
|
+
// warn, not error — see note above. `allRejections: true` fires
|
|
67
|
+
// this for rejections handled a tick later, so a red box here
|
|
68
|
+
// was a false alarm. Stays visible in Metro/Logs as a warning.
|
|
69
|
+
// eslint-disable-next-line no-console
|
|
70
|
+
console.warn(`[ethora-rn] Hermes unhandled rejection id=${id}:`, error?.message ?? error, '\nstack:', error?.stack);
|
|
71
|
+
},
|
|
72
|
+
onHandled: () => {}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
} catch {}
|
|
76
|
+
}
|
|
77
|
+
export default installPromiseRejectionTracker;
|
|
78
|
+
//# sourceMappingURL=installPromiseRejectionTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["installed","installPromiseRejectionTracker","__DEV__","g","globalThis","onRejection","eventOrReason","maybePromise","reason","promise","stack","Error","console","warn","JSON","stringify","String","addEventListener","process","on","HermesInternal","enablePromiseRejectionTracker","allRejections","onUnhandled","id","error","message","onHandled"],"sourceRoot":"../../../src","sources":["utils/installPromiseRejectionTracker.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,IAAIA,SAAS,GAAG,KAAK;AAErB,OAAO,SAASC,8BAA8BA,CAAA,EAAG;EAC/C,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAI,CAACA,OAAO,EAAE;IAAC;EAAO;EACxD,IAAIF,SAAS,EAAE;IAAC;EAAO;EACvBA,SAAS,GAAG,IAAI;;EAEhB;EACA;EACA;EACA,MAAMG,CAAM,GAAGC,UAAiB;EAEhC,MAAMC,WAAW,GAAGA,CAACC,aAAkB,EAAEC,YAA2B,KAAK;IACvE;IACA;IACA;IACA,MAAMC,MAAM,GAAGF,aAAa,EAAEE,MAAM,IAAIF,aAAa;IACrD,MAAMG,OAAO,GAAGH,aAAa,EAAEG,OAAO,IAAIF,YAAY;IACtD,MAAMG,KAAK,GACRF,MAAM,IAAIA,MAAM,CAACE,KAAK,IACvB,IAAIC,KAAK,CAAC,0CAA0C,CAAC,CAACD,KAAK;IAC7D;IACA;IACA;IACA;IACA;IACA;IACAE,OAAO,CAACC,IAAI,CACV,0CAA0C,EAC1C,OAAOL,MAAM,KAAK,QAAQ,GAAGM,IAAI,CAACC,SAAS,CAACP,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAGQ,MAAM,CAACR,MAAM,CAAC,EAC7E,UAAU,EACVE,KAAK,EACL,YAAY,EACZD,OACF,CAAC;EACH,CAAC;EAED,IAAI;IACF,IAAI,OAAON,CAAC,CAACc,gBAAgB,KAAK,UAAU,EAAE;MAC5Cd,CAAC,CAACc,gBAAgB,CAAC,oBAAoB,EAAEZ,WAAW,CAAC;IACvD;EACF,CAAC,CAAC,MAAM,CAAC;EACT,IAAI;IACF,IAAIF,CAAC,CAACe,OAAO,IAAI,OAAOf,CAAC,CAACe,OAAO,CAACC,EAAE,KAAK,UAAU,EAAE;MACnDhB,CAAC,CAACe,OAAO,CAACC,EAAE,CAAC,oBAAoB,EAAEd,WAAW,CAAC;IACjD;EACF,CAAC,CAAC,MAAM,CAAC;EACT,IAAI;IACF;IACA,IAAI,OAAOF,CAAC,CAACiB,cAAc,EAAEC,6BAA6B,KAAK,UAAU,EAAE;MACzElB,CAAC,CAACiB,cAAc,CAACC,6BAA6B,CAAC;QAC7CC,aAAa,EAAE,KAAK;QACpBC,WAAW,EAAEA,CAACC,EAAU,EAAEC,KAAU,KAAK;UACvC;UACA;UACA;UACA;UACAb,OAAO,CAACC,IAAI,CACV,6CAA6CW,EAAE,GAAG,EAClDC,KAAK,EAAEC,OAAO,IAAID,KAAK,EACvB,UAAU,EACVA,KAAK,EAAEf,KACT,CAAC;QACH,CAAC;QACDiB,SAAS,EAAEA,CAAA,KAAM,CAAC;MACpB,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,MAAM,CAAC;AACX;AAEA,eAAe1B,8BAA8B","ignoreList":[]}
|
|
@@ -32,7 +32,7 @@ export async function resendMessage(message, options = {}) {
|
|
|
32
32
|
}));
|
|
33
33
|
const useTranslate = !!(options.respectTranslateConfig && config?.translates?.enabled);
|
|
34
34
|
if (useTranslate) {
|
|
35
|
-
client.sendTextMessageWithTranslateTagStanza(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message.body, '', message.isReply || false, message.showInChannel === 'true' || false, message.mainMessage || '', state.chatSettingStore.langSource || 'en');
|
|
35
|
+
client.sendTextMessageWithTranslateTagStanza(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message.body, '', message.isReply || false, message.showInChannel === 'true' || false, message.mainMessage || '', state.chatSettingStore.langSource || 'en', id);
|
|
36
36
|
} else {
|
|
37
37
|
client.sendMessage(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message.body, '', message.isReply || false, message.showInChannel === 'true' || false, message.mainMessage || '', id);
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["requireXmppClient","store","addRoomMessage","v4","uuidv4","resendMessage","message","options","client","state","getState","user","chatSettingStore","config","activeRoomJID","roomJid","id","dispatch","roomJID","xmppUsername","name","firstName","lastName","date","Date","toISOString","body","xmppFrom","pending","isReply","showInChannel","mainMessage","useTranslate","respectTranslateConfig","translates","enabled","sendTextMessageWithTranslateTagStanza","walletAddress","langSource","sendMessage"],"sourceRoot":"../../../src","sources":["utils/resendMessage.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,kBAAkB;AACpD,SAASC,KAAK,QAAQ,cAAc;AACpC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AAOnC,OAAO,eAAeC,aAAaA,CACjCC,OAIC,EACDC,OAAsB,GAAG,CAAC,CAAC,EACV;EACjB,MAAMC,MAAM,GAAGR,iBAAiB,CAAC,CAAC;EAClC,MAAMS,KAAK,GAAGR,KAAK,CAACS,QAAQ,CAAC,CAAC;EAC9B,MAAMC,IAAI,GAAGF,KAAK,CAACG,gBAAgB,CAACD,IAAI;EACxC,MAAME,MAAM,GAAGJ,KAAK,CAACG,gBAAgB,CAACC,MAAM;EAC5C,MAAMC,aAAa,GAAGR,OAAO,CAACS,OAAO;EAErC,MAAMC,EAAE,GAAG,uBAAuBZ,MAAM,CAAC,CAAC,EAAE;EAE5CH,KAAK,CAACgB,QAAQ,CACZf,cAAc,CAAC;IACbgB,OAAO,EAAEJ,aAAa;IACtBR,OAAO,EAAE;MACPU,EAAE;MACFL,IAAI,EAAE;QACJ,GAAGA,IAAI;QACPK,EAAE,EAAEL,IAAI,CAACQ,YAAY,IAAI,EAAE;QAC3BC,IAAI,EAAET,IAAI,CAACU,SAAS,GAAG,GAAG,GAAGV,IAAI,CAACW;MACpC,CAAQ;MACRC,IAAI,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MAC9BC,IAAI,EAAEpB,OAAO,CAACoB,IAAI;MAClBX,OAAO,EAAED,aAAa;MACtBa,QAAQ,EAAE,GAAGb,aAAa,IAAIH,IAAI,CAACQ,YAAY,EAAE;MACjDS,OAAO,EAAE,IAAI;MACbC,OAAO,EAAEvB,OAAO,CAACuB,OAAO,IAAI,KAAK;MACjCC,aAAa,EAAGxB,OAAO,CAACwB,aAAa,IAAa,OAAe;MACjEC,WAAW,EAAEzB,OAAO,CAACyB,WAAW,IAAI;IACtC;EACF,CAAC,CACH,CAAC;EAED,MAAMC,YAAY,GAAG,CAAC,EACpBzB,OAAO,CAAC0B,sBAAsB,IAAIpB,MAAM,EAAEqB,UAAU,EAAEC,OAAO,CAC9D;EAED,IAAIH,YAAY,EAAE;IAChBxB,MAAM,CAAC4B,qCAAqC,CAC1CtB,aAAa,EACbH,IAAI,CAACU,SAAS,EACdV,IAAI,CAACW,QAAQ,EACb,EAAE,EACFX,IAAI,CAAC0B,aAAa,EAClB/B,OAAO,CAACoB,IAAI,EACZ,EAAE,EACFpB,OAAO,CAACuB,OAAO,IAAI,KAAK,EACxBvB,OAAO,CAACwB,aAAa,KAAK,MAAM,IAAI,KAAK,EACzCxB,OAAO,CAACyB,WAAW,IAAI,EAAE,EACxBtB,KAAK,CAACG,gBAAgB,CAAC0B,UAAU,IAAY,
|
|
1
|
+
{"version":3,"names":["requireXmppClient","store","addRoomMessage","v4","uuidv4","resendMessage","message","options","client","state","getState","user","chatSettingStore","config","activeRoomJID","roomJid","id","dispatch","roomJID","xmppUsername","name","firstName","lastName","date","Date","toISOString","body","xmppFrom","pending","isReply","showInChannel","mainMessage","useTranslate","respectTranslateConfig","translates","enabled","sendTextMessageWithTranslateTagStanza","walletAddress","langSource","sendMessage"],"sourceRoot":"../../../src","sources":["utils/resendMessage.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,kBAAkB;AACpD,SAASC,KAAK,QAAQ,cAAc;AACpC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AAOnC,OAAO,eAAeC,aAAaA,CACjCC,OAIC,EACDC,OAAsB,GAAG,CAAC,CAAC,EACV;EACjB,MAAMC,MAAM,GAAGR,iBAAiB,CAAC,CAAC;EAClC,MAAMS,KAAK,GAAGR,KAAK,CAACS,QAAQ,CAAC,CAAC;EAC9B,MAAMC,IAAI,GAAGF,KAAK,CAACG,gBAAgB,CAACD,IAAI;EACxC,MAAME,MAAM,GAAGJ,KAAK,CAACG,gBAAgB,CAACC,MAAM;EAC5C,MAAMC,aAAa,GAAGR,OAAO,CAACS,OAAO;EAErC,MAAMC,EAAE,GAAG,uBAAuBZ,MAAM,CAAC,CAAC,EAAE;EAE5CH,KAAK,CAACgB,QAAQ,CACZf,cAAc,CAAC;IACbgB,OAAO,EAAEJ,aAAa;IACtBR,OAAO,EAAE;MACPU,EAAE;MACFL,IAAI,EAAE;QACJ,GAAGA,IAAI;QACPK,EAAE,EAAEL,IAAI,CAACQ,YAAY,IAAI,EAAE;QAC3BC,IAAI,EAAET,IAAI,CAACU,SAAS,GAAG,GAAG,GAAGV,IAAI,CAACW;MACpC,CAAQ;MACRC,IAAI,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MAC9BC,IAAI,EAAEpB,OAAO,CAACoB,IAAI;MAClBX,OAAO,EAAED,aAAa;MACtBa,QAAQ,EAAE,GAAGb,aAAa,IAAIH,IAAI,CAACQ,YAAY,EAAE;MACjDS,OAAO,EAAE,IAAI;MACbC,OAAO,EAAEvB,OAAO,CAACuB,OAAO,IAAI,KAAK;MACjCC,aAAa,EAAGxB,OAAO,CAACwB,aAAa,IAAa,OAAe;MACjEC,WAAW,EAAEzB,OAAO,CAACyB,WAAW,IAAI;IACtC;EACF,CAAC,CACH,CAAC;EAED,MAAMC,YAAY,GAAG,CAAC,EACpBzB,OAAO,CAAC0B,sBAAsB,IAAIpB,MAAM,EAAEqB,UAAU,EAAEC,OAAO,CAC9D;EAED,IAAIH,YAAY,EAAE;IAChBxB,MAAM,CAAC4B,qCAAqC,CAC1CtB,aAAa,EACbH,IAAI,CAACU,SAAS,EACdV,IAAI,CAACW,QAAQ,EACb,EAAE,EACFX,IAAI,CAAC0B,aAAa,EAClB/B,OAAO,CAACoB,IAAI,EACZ,EAAE,EACFpB,OAAO,CAACuB,OAAO,IAAI,KAAK,EACxBvB,OAAO,CAACwB,aAAa,KAAK,MAAM,IAAI,KAAK,EACzCxB,OAAO,CAACyB,WAAW,IAAI,EAAE,EACxBtB,KAAK,CAACG,gBAAgB,CAAC0B,UAAU,IAAY,IAAI,EAClDtB,EACF,CAAC;EACH,CAAC,MAAM;IACLR,MAAM,CAAC+B,WAAW,CAChBzB,aAAa,EACbH,IAAI,CAACU,SAAS,EACdV,IAAI,CAACW,QAAQ,EACb,EAAE,EACFX,IAAI,CAAC0B,aAAa,EAClB/B,OAAO,CAACoB,IAAI,EACZ,EAAE,EACFpB,OAAO,CAACuB,OAAO,IAAI,KAAK,EACxBvB,OAAO,CAACwB,aAAa,KAAK,MAAM,IAAI,KAAK,EACzCxB,OAAO,CAACyB,WAAW,IAAI,EAAE,EACzBf,EACF,CAAC;EACH;EAEA,OAAOA,EAAE;AACX;AAEA,eAAeX,aAAa","ignoreList":[]}
|
|
@@ -126,25 +126,29 @@ export declare const FileIcon: ({ width, height, ...props }: {
|
|
|
126
126
|
width?: number | undefined;
|
|
127
127
|
height?: number | undefined;
|
|
128
128
|
}) => React.JSX.Element;
|
|
129
|
-
export declare const CameraIcon: ({ width, height, ...props }: {
|
|
129
|
+
export declare const CameraIcon: ({ width, height, color, ...props }: {
|
|
130
130
|
[x: string]: any;
|
|
131
131
|
width?: number | undefined;
|
|
132
132
|
height?: number | undefined;
|
|
133
|
+
color?: string | undefined;
|
|
133
134
|
}) => React.JSX.Element;
|
|
134
|
-
export declare const MediaIcon: ({ width, height, ...props }: {
|
|
135
|
+
export declare const MediaIcon: ({ width, height, color, ...props }: {
|
|
135
136
|
[x: string]: any;
|
|
136
137
|
width?: number | undefined;
|
|
137
138
|
height?: number | undefined;
|
|
139
|
+
color?: string | undefined;
|
|
138
140
|
}) => React.JSX.Element;
|
|
139
|
-
export declare const DocumentIcon: ({ width, height, ...props }: {
|
|
141
|
+
export declare const DocumentIcon: ({ width, height, color, ...props }: {
|
|
140
142
|
[x: string]: any;
|
|
141
143
|
width?: number | undefined;
|
|
142
144
|
height?: number | undefined;
|
|
145
|
+
color?: string | undefined;
|
|
143
146
|
}) => React.JSX.Element;
|
|
144
|
-
export declare const ArowDownIcon: ({ width, height, ...props }: {
|
|
147
|
+
export declare const ArowDownIcon: ({ width, height, color, ...props }: {
|
|
145
148
|
[x: string]: any;
|
|
146
149
|
width?: number | undefined;
|
|
147
150
|
height?: number | undefined;
|
|
151
|
+
color?: string | undefined;
|
|
148
152
|
}) => React.JSX.Element;
|
|
149
153
|
export declare const DoubleTick: ({ fill, color, ...props }: {
|
|
150
154
|
[x: string]: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/assets/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAmBzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAUzD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,GAAG,sBAwBnC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,sBAkBtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,sBAwBpC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,sBAqBpC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAOvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;CAAY,sBA2BtC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAOvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAOzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI;;;CAA+B,sBA6BjE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBAuB3D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBA4BzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAiBzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;;;;CAM1B,sBAOA,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAiBvD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA+B,sBAOxD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBAyB3D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBA+B3D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAOpD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA4B,sBAOrD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA4B,sBAWxD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI;;;CAA4B,sBAW1D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA4B,sBAiBrD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAWpD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI;;;CAA4B,sBAOlD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAWpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAUpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAwBvD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAOpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAUvD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI;;;CAA+B,sBAW1D,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI;;;CAA+B,sBAa1D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;;CAAqC,sBAW7D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/assets/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAmBzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAUzD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,GAAG,sBAwBnC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,sBAkBtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,sBAwBpC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,sBAqBpC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAOvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;CAAY,sBA2BtC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAOvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAOzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI;;;CAA+B,sBA6BjE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBAuB3D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBA4BzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAiBzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;;;;CAM1B,sBAOA,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAiBvD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA+B,sBAOxD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBAyB3D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBA+B3D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAOpD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA4B,sBAOrD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA4B,sBAWxD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI;;;CAA4B,sBAW1D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA4B,sBAiBrD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAWpD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI;;;CAA4B,sBAOlD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAWpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAUpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAwBvD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAOpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAUvD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI;;;CAA+B,sBAW1D,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI;;;CAA+B,sBAa1D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;;CAAqC,sBAW7D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;;;CAAwD,sBAOlF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;;;CAAwD,sBASjF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;;;CAAwD,sBAUpF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;;;CAK5B,sBAcA,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;;CAA8C,sBAgBxE,CAAC;AAEF,wBAAgB,OAAO,CAAC,EAAE,KAAU,EAAE,MAAW,EAAE;;;CAAA,qBAiBlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuComponents.d.ts","sourceRoot":"","sources":["../../../../src/components/ContextMenu/ContextMenuComponents.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,iPAGjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,iPAU7B,CAAC;AAEF,eAAO,MAAM,aAAa,iPAQzB,CAAC;AAEF,eAAO,MAAM,WAAW;eAA4B,OAAO;;eAAP,OAAO;oBAS1D,CAAC;AAEF,eAAO,MAAM,WAAW,iPAavB,CAAC;AAEF,eAAO,MAAM,QAAQ,qXAMpB,CAAC;AAEF,eAAO,MAAM,OAAO,qXAQnB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextMenuComponents.d.ts","sourceRoot":"","sources":["../../../../src/components/ContextMenu/ContextMenuComponents.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,iPAGjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,iPAU7B,CAAC;AAEF,eAAO,MAAM,aAAa,iPAQzB,CAAC;AAEF,eAAO,MAAM,WAAW;eAA4B,OAAO;;eAAP,OAAO;oBAS1D,CAAC;AAEF,eAAO,MAAM,WAAW,iPAavB,CAAC;AAEF,eAAO,MAAM,QAAQ,qXAMpB,CAAC;AAEF,eAAO,MAAM,OAAO,qXAQnB,CAAC;AAOF,eAAO,MAAM,SAAS,iPAMrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatHeader.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAmB1C,UAAU,eAAe;IACvB,WAAW,EAAE,KAAK,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatHeader.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAmB1C,UAAU,eAAe;IACvB,WAAW,EAAE,KAAK,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4IzC,CAAC;AAsBF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatRoom.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatRoom.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAmD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatRoom.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatRoom.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAmD,MAAM,OAAO,CAAC;AAsBxE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAuB1D,UAAU,aAAa;IACrB,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAChD,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9C,qBAAqB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CAC1C;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqXrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,EAAE,EAA+B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,EAAE,EAA+B,MAAM,OAAO,CAAC;AAa9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAuBhF,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1C,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAyZrC,CAAC;AAEF,OAAO,EAAC,WAAW,EAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/MediaMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ7C,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/MediaMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ7C,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0D7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|