@ethora/chat-component-rn 26.5.5 → 26.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +177 -0
- package/README.md +67 -10
- package/index.js +24 -0
- package/lib/commonjs/assets/icons.js +5 -1
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +11 -5
- package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +7 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +66 -34
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +59 -14
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +15 -7
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +2 -2
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +175 -30
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +17 -8
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/SystemMessage.js +34 -22
- package/lib/commonjs/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Message.js +117 -19
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +82 -22
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +16 -4
- package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +104 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +175 -40
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +29 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js +5 -1
- package/lib/commonjs/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +78 -39
- package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/styledModalComponents.js +4 -9
- package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/commonjs/components/styled/MediaFilePreview.js +115 -5
- package/lib/commonjs/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +49 -10
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/NewMessageLabel.js +8 -6
- package/lib/commonjs/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +53 -29
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +14 -4
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
- package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +5 -1
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +60 -22
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/MessageNotificationContext.js +7 -7
- package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +315 -34
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/chatAutoEnterer.js +2 -7
- package/lib/commonjs/helpers/chatAutoEnterer.js.map +1 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js +4 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +15 -5
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/keyboardLayout.js +18 -0
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -0
- package/lib/commonjs/helpers/mediaDimensions.js +51 -0
- package/lib/commonjs/helpers/mediaDimensions.js.map +1 -0
- package/lib/commonjs/helpers/mimeToExtension.js +131 -0
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -0
- package/lib/commonjs/helpers/normalizeRoomJid.js +20 -0
- package/lib/commonjs/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +73 -1
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/commonjs/hooks/useChatRoomFocus.js +87 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js +22 -10
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js +9 -1
- package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
- package/lib/commonjs/hooks/useHeapSender.js +1 -1
- package/lib/commonjs/hooks/useHeapSender.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +3 -3
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/hooks/useMessageHeapState.js +6 -2
- package/lib/commonjs/hooks/useMessageHeapState.js.map +1 -1
- package/lib/commonjs/hooks/usePushNotifications.js +6 -2
- package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
- package/lib/commonjs/hooks/useRoomState.js +2 -0
- package/lib/commonjs/hooks/useRoomState.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +249 -14
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +12 -14
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/main.js +7 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +74 -1
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/apiClient.js +2 -1
- package/lib/commonjs/networking/apiClient.js.map +1 -1
- package/lib/commonjs/networking/outboundQueue.js +92 -0
- package/lib/commonjs/networking/outboundQueue.js.map +1 -0
- package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
- package/lib/commonjs/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
- package/lib/commonjs/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js +26 -8
- package/lib/commonjs/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js +2 -1
- package/lib/commonjs/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +371 -26
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +22 -6
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/roomHeapSlice.js +26 -8
- package/lib/commonjs/roomStore/roomHeapSlice.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +157 -23
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/utils/installPromiseRejectionTracker.js +83 -0
- package/lib/commonjs/utils/installPromiseRejectionTracker.js.map +1 -0
- package/lib/commonjs/utils/resendMessage.js +1 -1
- package/lib/commonjs/utils/resendMessage.js.map +1 -1
- package/lib/module/assets/icons.js +5 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/ContextMenu/ContextMenuComponents.js +11 -5
- package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +7 -1
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +67 -35
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +59 -14
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +15 -7
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +2 -2
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +176 -31
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +18 -8
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/SystemMessage.js +33 -21
- package/lib/module/components/MainComponents/SystemMessage.js.map +1 -1
- package/lib/module/components/MessageBubble/Message.js +118 -20
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +84 -24
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js +15 -3
- package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +99 -0
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +179 -42
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +31 -3
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/Modals/Modal/Modal.js +5 -1
- package/lib/module/components/Modals/Modal/Modal.js.map +1 -1
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +80 -41
- package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +3 -3
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/Modals/styledModalComponents.js +4 -9
- package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
- package/lib/module/components/styled/MediaFilePreview.js +116 -6
- package/lib/module/components/styled/MediaFilePreview.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +51 -12
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/NewMessageLabel.js +8 -6
- package/lib/module/components/styled/NewMessageLabel.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +54 -30
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +14 -4
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +7 -2
- package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +5 -1
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +61 -23
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/MessageNotificationContext.js +7 -7
- package/lib/module/context/MessageNotificationContext.js.map +1 -1
- package/lib/module/context/xmppProvider.js +319 -37
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/chatAutoEnterer.js +2 -7
- package/lib/module/helpers/chatAutoEnterer.js.map +1 -1
- package/lib/module/helpers/historyPreloadScheduler.js +4 -1
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +15 -5
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/keyboardLayout.js +12 -0
- package/lib/module/helpers/keyboardLayout.js.map +1 -0
- package/lib/module/helpers/mediaDimensions.js +46 -0
- package/lib/module/helpers/mediaDimensions.js.map +1 -0
- package/lib/module/helpers/mimeToExtension.js +124 -0
- package/lib/module/helpers/mimeToExtension.js.map +1 -0
- package/lib/module/helpers/normalizeRoomJid.js +15 -0
- package/lib/module/helpers/normalizeRoomJid.js.map +1 -0
- package/lib/module/helpers/resolveInitBeforeLoadUser.js +71 -0
- package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/module/hooks/useChatRoomFocus.js +82 -0
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -0
- package/lib/module/hooks/useChatWrapperInit.js +22 -10
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useEventHandlers.js +9 -1
- package/lib/module/hooks/useEventHandlers.js.map +1 -1
- package/lib/module/hooks/useHeapSender.js +1 -1
- package/lib/module/hooks/useHeapSender.js.map +1 -1
- package/lib/module/hooks/useLogout.js +3 -3
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/hooks/useMessageHeapState.js +6 -2
- package/lib/module/hooks/useMessageHeapState.js.map +1 -1
- package/lib/module/hooks/usePushNotifications.js +6 -2
- package/lib/module/hooks/usePushNotifications.js.map +1 -1
- package/lib/module/hooks/useRoomState.js +2 -0
- package/lib/module/hooks/useRoomState.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +252 -17
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useUnreadMessagesCounter.js +12 -14
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/main.js +1 -0
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +74 -2
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/apiClient.js +2 -1
- package/lib/module/networking/apiClient.js.map +1 -1
- package/lib/module/networking/outboundQueue.js +84 -0
- package/lib/module/networking/outboundQueue.js.map +1 -0
- package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js +4 -1
- package/lib/module/networking/xmpp/createTimeoutPromise.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +7 -8
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js +26 -3
- package/lib/module/networking/xmpp/getRoomsPaged.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js +26 -8
- package/lib/module/networking/xmpp/presenceInRoom.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +2 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +371 -26
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +22 -6
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/roomHeapSlice.js +24 -7
- package/lib/module/roomStore/roomHeapSlice.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +154 -22
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/utils/installPromiseRejectionTracker.js +78 -0
- package/lib/module/utils/installPromiseRejectionTracker.js.map +1 -0
- package/lib/module/utils/resendMessage.js +1 -1
- package/lib/module/utils/resendMessage.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts +8 -4
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/ContextMenu/ContextMenuComponents.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts +1 -0
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts +1 -0
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts +0 -7
- package/lib/typescript/components/MainComponents/SystemMessage.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts +4 -2
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +29 -0
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +0 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/Modals/Modal/Modal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts +6 -0
- package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/MediaFilePreview.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/NewMessageLabel.d.ts +1 -5
- package/lib/typescript/components/styled/NewMessageLabel.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +9 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts +1 -0
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts +1 -0
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/chatAutoEnterer.d.ts.map +1 -1
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts +9 -0
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -0
- package/lib/typescript/helpers/mediaDimensions.d.ts +9 -0
- package/lib/typescript/helpers/mediaDimensions.d.ts.map +1 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts +37 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -0
- package/lib/typescript/helpers/normalizeRoomJid.d.ts +2 -0
- package/lib/typescript/helpers/normalizeRoomJid.d.ts.map +1 -0
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts +18 -0
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +42 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/hooks/useEventHandlers.d.ts +6 -0
- package/lib/typescript/hooks/useEventHandlers.d.ts.map +1 -1
- package/lib/typescript/hooks/useHeapSender.d.ts.map +1 -1
- package/lib/typescript/hooks/useMessageHeapState.d.ts +2 -0
- package/lib/typescript/hooks/useMessageHeapState.d.ts.map +1 -1
- package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
- package/lib/typescript/hooks/useRoomState.d.ts +1 -0
- package/lib/typescript/hooks/useRoomState.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts +2 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +1 -0
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -0
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/apiClient.d.ts.map +1 -1
- package/lib/typescript/networking/outboundQueue.d.ts +57 -0
- package/lib/typescript/networking/outboundQueue.d.ts.map +1 -0
- package/lib/typescript/networking/xmpp/createTimeoutPromise.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts +1 -1
- package/lib/typescript/networking/xmpp/getRoomsPaged.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/presenceInRoom.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +58 -5
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomHeapSlice.d.ts +22 -1
- package/lib/typescript/roomStore/roomHeapSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +8 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/models/media.model.d.ts +1 -0
- package/lib/typescript/types/models/media.model.d.ts.map +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts +1 -1
- package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +10 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/installPromiseRejectionTracker.d.ts +20 -0
- package/lib/typescript/utils/installPromiseRejectionTracker.d.ts.map +1 -0
- package/lib/typescript/utils/resendMessage.d.ts.map +1 -1
- package/package.json +18 -2
- package/src/assets/icons.tsx +23 -14
- package/src/components/ContextMenu/ContextMenuComponents.tsx +10 -5
- package/src/components/MainComponents/ChatHeader.tsx +5 -1
- package/src/components/MainComponents/ChatRoom.tsx +81 -61
- package/src/components/MainComponents/ChatWrapper.tsx +100 -21
- package/src/components/MainComponents/MediaMessage.tsx +18 -8
- package/src/components/MainComponents/MessageContainer.tsx +4 -2
- package/src/components/MainComponents/MessageList.tsx +185 -31
- package/src/components/MainComponents/ReduxWrapper.tsx +19 -9
- package/src/components/MainComponents/SystemMessage.tsx +38 -26
- package/src/components/MessageBubble/Message.tsx +110 -27
- package/src/components/MessageBubble/MessageInteractions.tsx +98 -29
- package/src/components/Modals/AttachSheet/AttachSheet.tsx +17 -3
- package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +93 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +182 -37
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +32 -4
- package/src/components/Modals/Modal/Modal.tsx +4 -1
- package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +77 -44
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
- package/src/components/Modals/styledModalComponents.tsx +4 -9
- package/src/components/styled/MediaFilePreview.tsx +111 -5
- package/src/components/styled/MessageImage.tsx +58 -14
- package/src/components/styled/NewMessageLabel.tsx +8 -5
- package/src/components/styled/SendInput.tsx +67 -29
- package/src/components/styled/StyledInputComponents/MediaComponents.tsx +15 -5
- package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +7 -2
- package/src/components/styled/UnsupportedType.tsx +7 -1
- package/src/components/styled/VideoMessage.tsx +59 -18
- package/src/context/MessageNotificationContext.tsx +8 -8
- package/src/context/xmppProvider.tsx +337 -32
- package/src/helpers/chatAutoEnterer.ts +2 -8
- package/src/helpers/historyPreloadScheduler.ts +4 -1
- package/src/helpers/insertMessageWithDelimiter.ts +22 -15
- package/src/helpers/keyboardLayout.ts +18 -0
- package/src/helpers/mediaDimensions.ts +47 -0
- package/src/helpers/mimeToExtension.ts +135 -0
- package/src/helpers/normalizeRoomJid.ts +6 -0
- package/src/helpers/resolveInitBeforeLoadUser.ts +79 -0
- package/src/hooks/useChatRoomFocus.ts +95 -0
- package/src/hooks/useChatWrapperInit.ts +51 -46
- package/src/hooks/useEventHandlers.tsx +24 -1
- package/src/hooks/useHeapSender.tsx +2 -1
- package/src/hooks/useLogout.tsx +3 -3
- package/src/hooks/useMessageHeapState.tsx +6 -2
- package/src/hooks/usePushNotifications.ts +21 -8
- package/src/hooks/useRoomState.tsx +4 -0
- package/src/hooks/useSendMessage.tsx +333 -17
- package/src/hooks/useUnreadMessagesCounter.ts +13 -16
- package/src/main.ts +1 -0
- package/src/networking/api-requests/auth.api.ts +60 -2
- package/src/networking/apiClient.ts +2 -1
- package/src/networking/outboundQueue.ts +98 -0
- package/src/networking/xmpp/createTimeoutPromise.xmpp.ts +5 -1
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +11 -13
- package/src/networking/xmpp/getRoomsPaged.xmpp.ts +27 -3
- package/src/networking/xmpp/presenceInRoom.xmpp.ts +24 -9
- package/src/networking/xmpp/sendTextMessage.xmpp.ts +2 -1
- package/src/networking/xmppClient.ts +399 -31
- package/src/roomStore/Middleware/unreadMidlleware.tsx +23 -5
- package/src/roomStore/roomHeapSlice.ts +47 -4
- package/src/roomStore/roomsSlice.ts +177 -27
- package/src/types/models/media.model.ts +3 -0
- package/src/types/models/xmpp.model.ts +2 -1
- package/src/types/types.ts +25 -0
- package/src/utils/installPromiseRejectionTracker.ts +91 -0
- package/src/utils/resendMessage.ts +2 -1
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.chatAutoEnterer = void 0;
|
|
7
7
|
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
8
|
+
var _normalizeRoomJid = require("./normalizeRoomJid");
|
|
8
9
|
/** @format */
|
|
9
10
|
|
|
10
11
|
const chatAutoEnterer = ({
|
|
@@ -18,14 +19,8 @@ const chatAutoEnterer = ({
|
|
|
18
19
|
wasAutoSelected
|
|
19
20
|
});
|
|
20
21
|
if (roomJID) {
|
|
21
|
-
// If roomJID is already a full JID, use it directly
|
|
22
|
-
// Otherwise, construct it from chatId if needed
|
|
23
22
|
const conferenceDomain = config.xmppSettings?.conference ?? '';
|
|
24
|
-
|
|
25
|
-
if (!roomJID.includes('@') && conferenceDomain) {
|
|
26
|
-
finalRoomJID = `${roomJID}@${conferenceDomain}`;
|
|
27
|
-
console.log('🟡 chatAutoEnterer: Constructed roomJID', finalRoomJID);
|
|
28
|
-
}
|
|
23
|
+
const finalRoomJID = (0, _normalizeRoomJid.normalizeRoomJid)(roomJID, conferenceDomain);
|
|
29
24
|
console.log('🟡 chatAutoEnterer: Setting current room', finalRoomJID);
|
|
30
25
|
dispatch((0, _roomsSlice.setCurrentRoom)({
|
|
31
26
|
roomJID: finalRoomJID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_roomsSlice","require","chatAutoEnterer","roomJID","wasAutoSelected","config","dispatch","console","log","conferenceDomain","xmppSettings","conference","finalRoomJID","
|
|
1
|
+
{"version":3,"names":["_roomsSlice","require","_normalizeRoomJid","chatAutoEnterer","roomJID","wasAutoSelected","config","dispatch","console","log","conferenceDomain","xmppSettings","conference","finalRoomJID","normalizeRoomJid","setCurrentRoom","exports"],"sourceRoot":"../../../src","sources":["helpers/chatAutoEnterer.ts"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAJA;;AAmBO,MAAME,eAAe,GAAGA,CAAC;EAC9BC,OAAO;EACPC,eAAe;EACfC,MAAM;EACNC;AACc,CAAC,KAAW;EAC1BC,OAAO,CAACC,GAAG,CAAC,4BAA4B,EAAE;IAAEL,OAAO;IAAEC;EAAgB,CAAC,CAAC;EAEvE,IAAID,OAAO,EAAE;IACX,MAAMM,gBAAgB,GAAGJ,MAAM,CAACK,YAAY,EAAEC,UAAU,IAAI,EAAE;IAC9D,MAAMC,YAAY,GAAG,IAAAC,kCAAgB,EAACV,OAAO,EAAEM,gBAAgB,CAAC;IAEhEF,OAAO,CAACC,GAAG,CAAC,0CAA0C,EAAEI,YAAY,CAAC;IACrEN,QAAQ,CAAC,IAAAQ,0BAAc,EAAC;MAAEX,OAAO,EAAES;IAAa,CAAC,CAAC,CAAC;IACnD;EACF;EAEAL,OAAO,CAACC,GAAG,CAAC,yCAAyC,CAAC;EACtD;EACA;AACF,CAAC;AAACO,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -8,7 +8,10 @@ var _reactNative = require("react-native");
|
|
|
8
8
|
var _roomStore = require("../roomStore");
|
|
9
9
|
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
10
10
|
const DEFAULT_CONCURRENCY = 3;
|
|
11
|
-
|
|
11
|
+
// Fetch the most recent ~20 on re-entry (mirrors web). A larger first page
|
|
12
|
+
// also means more id-overlap with cache, so the merge in
|
|
13
|
+
// `mergeHistoryIntoCache` rarely has to fall back to clear-and-replace.
|
|
14
|
+
const DEFAULT_PAGE_SIZE = 20;
|
|
12
15
|
const DEFAULT_RETRY_LIMIT = 2;
|
|
13
16
|
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
|
|
14
17
|
const messageTimestamp = m => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_roomStore","_roomsSlice","DEFAULT_CONCURRENCY","DEFAULT_PAGE_SIZE","DEFAULT_RETRY_LIMIT","sleep","ms","Promise","resolve","setTimeout","messageTimestamp","m","t","timestamp","Number","isFinite","id","getRoomLastActivityScore","room","messages","length","reduce","max","Math","computeUnreadCapped","pageSize","historyComplete","countable","filter","msg","pending","lastViewed","lastViewedTimestamp","oldestTs","minTs","ts","min","MAX_SAFE_INTEGER","getRoomPriority","jid","_room","selectedRoomJid","defaultRoomJids","has","shouldPauseForVisibility","AppState","currentState","runHistoryPreloadScheduler","options","client","signal","concurrency","retryLimit","roomLimit","forceReload","aborted","state","store","getState","rooms","defaultSet","Set","sortedQueue","Object","entries","map","priority","activityScore","attempts","readyAt","Date","now","sort","a","b","localeCompare","queue","slice","inFlightByRoom","Map","consecutiveErrorCount","isActiveRoomGateOpen","readyItems","item","batch","preBatchPreloadStateByJid","historyPreloadState","dispatch","applyRoomsPreloadBatch","all","queueIndex","findIndex","queued","splice","task","currentRoom","preState","get","fetchedMessages","getHistoryStanza","undefined","coalesceRoom","skipIfPreloaded","source","Error","nextRoom","unreadCapped","retries","canRetry","jitter","floor","random","backoff","push","set","finally","delete","r","exports","_default","default"],"sourceRoot":"../../../src","sources":["helpers/historyPreloadScheduler.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_roomStore","_roomsSlice","DEFAULT_CONCURRENCY","DEFAULT_PAGE_SIZE","DEFAULT_RETRY_LIMIT","sleep","ms","Promise","resolve","setTimeout","messageTimestamp","m","t","timestamp","Number","isFinite","id","getRoomLastActivityScore","room","messages","length","reduce","max","Math","computeUnreadCapped","pageSize","historyComplete","countable","filter","msg","pending","lastViewed","lastViewedTimestamp","oldestTs","minTs","ts","min","MAX_SAFE_INTEGER","getRoomPriority","jid","_room","selectedRoomJid","defaultRoomJids","has","shouldPauseForVisibility","AppState","currentState","runHistoryPreloadScheduler","options","client","signal","concurrency","retryLimit","roomLimit","forceReload","aborted","state","store","getState","rooms","defaultSet","Set","sortedQueue","Object","entries","map","priority","activityScore","attempts","readyAt","Date","now","sort","a","b","localeCompare","queue","slice","inFlightByRoom","Map","consecutiveErrorCount","isActiveRoomGateOpen","readyItems","item","batch","preBatchPreloadStateByJid","historyPreloadState","dispatch","applyRoomsPreloadBatch","all","queueIndex","findIndex","queued","splice","task","currentRoom","preState","get","fetchedMessages","getHistoryStanza","undefined","coalesceRoom","skipIfPreloaded","source","Error","nextRoom","unreadCapped","retries","canRetry","jitter","floor","random","backoff","push","set","finally","delete","r","exports","_default","default"],"sourceRoot":"../../../src","sources":["helpers/historyPreloadScheduler.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,12 +18,25 @@ function deepMerge(target, source) {
|
|
|
18
18
|
function insertMessageWithDelimiter(roomMessages, message, lastViewedTimestamp) {
|
|
19
19
|
const existingIndex = roomMessages.findIndex(msg => msg.id === message.id || message.xmppId && msg.id === message.xmppId || msg.xmppId && msg.xmppId === message.id);
|
|
20
20
|
if (existingIndex !== -1) {
|
|
21
|
-
roomMessages[existingIndex]
|
|
22
|
-
|
|
21
|
+
const existing = roomMessages[existingIndex];
|
|
22
|
+
// Preserve the sender identity captured on first insert. The MUC echo
|
|
23
|
+
// parses user.id from the stanza's `from`/senderJID (the room nick or
|
|
24
|
+
// bare-jid local part), which often differs from the optimistic
|
|
25
|
+
// sender id (xmppUsername / walletAddress) set when WE sent it.
|
|
26
|
+
// deepMerge would overwrite it, flipping an own message to the "other"
|
|
27
|
+
// side (rendered on the left, "as if someone else wrote it"). Keep the
|
|
28
|
+
// original id so ownership (user.id === self) stays correct.
|
|
29
|
+
const preservedUserId = existing?.user?.id || message?.user?.id;
|
|
30
|
+
const merged = deepMerge({
|
|
31
|
+
...existing
|
|
23
32
|
}, {
|
|
24
33
|
...message,
|
|
25
34
|
pending: false
|
|
26
35
|
});
|
|
36
|
+
if (merged.user && preservedUserId) {
|
|
37
|
+
merged.user.id = preservedUserId;
|
|
38
|
+
}
|
|
39
|
+
roomMessages[existingIndex] = merged;
|
|
27
40
|
return;
|
|
28
41
|
}
|
|
29
42
|
const newMessageDate = message.date;
|
|
@@ -55,9 +68,6 @@ function insertMessageWithDelimiter(roomMessages, message, lastViewedTimestamp)
|
|
|
55
68
|
body: 'New Messages',
|
|
56
69
|
roomJid: ''
|
|
57
70
|
});
|
|
58
|
-
if (lastViewedTimestamp.toString() === '0') {
|
|
59
|
-
roomMessages.splice(delimiterIndex, 1);
|
|
60
|
-
}
|
|
61
71
|
}
|
|
62
72
|
}
|
|
63
73
|
} else if ((0, _dateComparison.isDateBefore)(newMessageDate.toString(), firstMessage?.date?.toString() ?? '')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dateComparison","require","deepMerge","target","source","key","Array","isArray","insertMessageWithDelimiter","roomMessages","message","lastViewedTimestamp","existingIndex","findIndex","msg","id","xmppId","pending","newMessageDate","date","lastMessage","length","firstMessage","isDateAfter","toString","index","push","some","delimiterIndex","splice","
|
|
1
|
+
{"version":3,"names":["_dateComparison","require","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","isDateAfter","toString","index","push","some","delimiterIndex","splice","name","undefined","token","refreshToken","Date","body","roomJid","isDateBefore","unshift","i"],"sourceRoot":"../../../src","sources":["helpers/insertMessageWithDelimiter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getKeyboardVerticalOffset = exports.getInputDockPaddingBottom = void 0;
|
|
7
|
+
const getKeyboardVerticalOffset = ({
|
|
8
|
+
platform,
|
|
9
|
+
configuredOffset = 0,
|
|
10
|
+
bottomInset = 0
|
|
11
|
+
}) => configuredOffset + (platform === 'ios' ? bottomInset : 0);
|
|
12
|
+
exports.getKeyboardVerticalOffset = getKeyboardVerticalOffset;
|
|
13
|
+
const getInputDockPaddingBottom = ({
|
|
14
|
+
platform,
|
|
15
|
+
bottomInset = 0
|
|
16
|
+
}) => platform === 'ios' ? bottomInset : 0;
|
|
17
|
+
exports.getInputDockPaddingBottom = getInputDockPaddingBottom;
|
|
18
|
+
//# sourceMappingURL=keyboardLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getKeyboardVerticalOffset","platform","configuredOffset","bottomInset","exports","getInputDockPaddingBottom"],"sourceRoot":"../../../src","sources":["helpers/keyboardLayout.ts"],"mappings":";;;;;;AAMO,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;AAACC,OAAA,CAAAJ,yBAAA,GAAAA,yBAAA;AAErD,MAAMK,yBAAyB,GAAGA,CAAC;EACxCJ,QAAQ;EACRE,WAAW,GAAG;AAC8B,CAAC,KAC7CF,QAAQ,KAAK,KAAK,GAAGE,WAAW,GAAG,CAAC;AAACC,OAAA,CAAAC,yBAAA,GAAAA,yBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fitMediaDimensions = exports.defaultMediaDims = exports.MEDIA_MAX_W = exports.MEDIA_MAX_H = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
// Shared sizing for inline media bubbles (images + video posters).
|
|
9
|
+
// Goal: show the media UNCROPPED, just scaled, preserving aspect ratio —
|
|
10
|
+
// portrait stays portrait, landscape stays landscape.
|
|
11
|
+
const screenW = _reactNative.Dimensions.get('window').width;
|
|
12
|
+
|
|
13
|
+
// Box the media must fit inside. Width adapts to the screen so it never
|
|
14
|
+
// blows past the bubble's max-width on small phones, but caps on tablets.
|
|
15
|
+
const MEDIA_MAX_W = exports.MEDIA_MAX_W = Math.min(260, Math.round(screenW * 0.64));
|
|
16
|
+
const MEDIA_MAX_H = exports.MEDIA_MAX_H = 320;
|
|
17
|
+
// Keep thumbnails from collapsing into a sliver (very wide/tall media).
|
|
18
|
+
const MEDIA_MIN_W = 140;
|
|
19
|
+
const MEDIA_MIN_H = 120;
|
|
20
|
+
// Neutral 4:3 placeholder used before the natural size is known.
|
|
21
|
+
const defaultMediaDims = () => ({
|
|
22
|
+
width: MEDIA_MAX_W,
|
|
23
|
+
height: Math.round(MEDIA_MAX_W * 0.75)
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
// Fit (natW × natH) inside the box, preserving aspect ratio. Never
|
|
27
|
+
// upscales beyond the source resolution (avoids blur), but bumps very
|
|
28
|
+
// small media up to a sensible minimum so it stays tappable.
|
|
29
|
+
exports.defaultMediaDims = defaultMediaDims;
|
|
30
|
+
const fitMediaDimensions = (natW, natH) => {
|
|
31
|
+
if (!natW || !natH) {
|
|
32
|
+
return defaultMediaDims();
|
|
33
|
+
}
|
|
34
|
+
let scale = Math.min(MEDIA_MAX_W / natW, MEDIA_MAX_H / natH);
|
|
35
|
+
if (scale > 1) {
|
|
36
|
+
scale = 1;
|
|
37
|
+
}
|
|
38
|
+
let width = Math.round(natW * scale);
|
|
39
|
+
let height = Math.round(natH * scale);
|
|
40
|
+
if (width < MEDIA_MIN_W || height < MEDIA_MIN_H) {
|
|
41
|
+
const up = Math.max(MEDIA_MIN_W / width, MEDIA_MIN_H / height);
|
|
42
|
+
width = Math.min(MEDIA_MAX_W, Math.round(width * up));
|
|
43
|
+
height = Math.min(MEDIA_MAX_H, Math.round(height * up));
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
width,
|
|
47
|
+
height
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
exports.fitMediaDimensions = fitMediaDimensions;
|
|
51
|
+
//# sourceMappingURL=mediaDimensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","screenW","Dimensions","get","width","MEDIA_MAX_W","exports","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,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA,MAAMC,OAAO,GAAGC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;;AAE9C;AACA;AACO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,IAAI,CAACC,GAAG,CAAC,GAAG,EAAED,IAAI,CAACE,KAAK,CAACR,OAAO,GAAG,IAAI,CAAC,CAAC;AAC7D,MAAMS,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG,GAAG;AAC9B;AACA,MAAMC,WAAW,GAAG,GAAG;AACvB,MAAMC,WAAW,GAAG,GAAG;AAOvB;AACO,MAAMC,gBAAgB,GAAGA,CAAA,MAAkB;EAChDT,KAAK,EAAEC,WAAW;EAClBS,MAAM,EAAEP,IAAI,CAACE,KAAK,CAACJ,WAAW,GAAG,IAAI;AACvC,CAAC,CAAC;;AAEF;AACA;AACA;AAAAC,OAAA,CAAAO,gBAAA,GAAAA,gBAAA;AACO,MAAME,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,CAACH,WAAW,GAAGW,IAAI,EAAEN,WAAW,GAAGO,IAAI,CAAC;EAC5D,IAAIC,KAAK,GAAG,CAAC,EAAE;IACbA,KAAK,GAAG,CAAC;EACX;EACA,IAAId,KAAK,GAAGG,IAAI,CAACE,KAAK,CAACO,IAAI,GAAGE,KAAK,CAAC;EACpC,IAAIJ,MAAM,GAAGP,IAAI,CAACE,KAAK,CAACQ,IAAI,GAAGC,KAAK,CAAC;EAErC,IAAId,KAAK,GAAGO,WAAW,IAAIG,MAAM,GAAGF,WAAW,EAAE;IAC/C,MAAMO,EAAE,GAAGZ,IAAI,CAACa,GAAG,CAACT,WAAW,GAAGP,KAAK,EAAEQ,WAAW,GAAGE,MAAM,CAAC;IAC9DV,KAAK,GAAGG,IAAI,CAACC,GAAG,CAACH,WAAW,EAAEE,IAAI,CAACE,KAAK,CAACL,KAAK,GAAGe,EAAE,CAAC,CAAC;IACrDL,MAAM,GAAGP,IAAI,CAACC,GAAG,CAACE,WAAW,EAAEH,IAAI,CAACE,KAAK,CAACK,MAAM,GAAGK,EAAE,CAAC,CAAC;EACzD;EACA,OAAO;IAAEf,KAAK;IAAEU;EAAO,CAAC;AAC1B,CAAC;AAACR,OAAA,CAAAS,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.deriveDisplayFilename = deriveDisplayFilename;
|
|
7
|
+
exports.ensureFilenameHasExtension = ensureFilenameHasExtension;
|
|
8
|
+
exports.filenameFromUrl = filenameFromUrl;
|
|
9
|
+
exports.getExtensionForMime = getExtensionForMime;
|
|
10
|
+
// MIME → file extension table for download/preview filename fallbacks.
|
|
11
|
+
// Centralized so FilePreviewModal, MediaMessage, and any future media
|
|
12
|
+
// surface share one source of truth. Keep additions sorted by category.
|
|
13
|
+
|
|
14
|
+
const MIME_TO_EXT = {
|
|
15
|
+
// images
|
|
16
|
+
'image/jpeg': '.jpg',
|
|
17
|
+
'image/jpg': '.jpg',
|
|
18
|
+
'image/png': '.png',
|
|
19
|
+
'image/gif': '.gif',
|
|
20
|
+
'image/webp': '.webp',
|
|
21
|
+
'image/heic': '.heic',
|
|
22
|
+
'image/heif': '.heif',
|
|
23
|
+
'image/bmp': '.bmp',
|
|
24
|
+
'image/svg+xml': '.svg',
|
|
25
|
+
'image/tiff': '.tiff',
|
|
26
|
+
// video
|
|
27
|
+
'video/mp4': '.mp4',
|
|
28
|
+
'video/quicktime': '.mov',
|
|
29
|
+
'video/x-m4v': '.m4v',
|
|
30
|
+
'video/webm': '.webm',
|
|
31
|
+
'video/3gpp': '.3gp',
|
|
32
|
+
'video/x-matroska': '.mkv',
|
|
33
|
+
'video/mpeg': '.mpeg',
|
|
34
|
+
// audio
|
|
35
|
+
'audio/mpeg': '.mp3',
|
|
36
|
+
'audio/mp3': '.mp3',
|
|
37
|
+
'audio/mp4': '.m4a',
|
|
38
|
+
'audio/x-m4a': '.m4a',
|
|
39
|
+
'audio/wav': '.wav',
|
|
40
|
+
'audio/x-wav': '.wav',
|
|
41
|
+
'audio/aac': '.aac',
|
|
42
|
+
'audio/ogg': '.ogg',
|
|
43
|
+
'audio/flac': '.flac',
|
|
44
|
+
'audio/webm': '.weba',
|
|
45
|
+
// documents
|
|
46
|
+
'application/pdf': '.pdf',
|
|
47
|
+
'application/msword': '.doc',
|
|
48
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document': '.docx',
|
|
49
|
+
'application/vnd.ms-excel': '.xls',
|
|
50
|
+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': '.xlsx',
|
|
51
|
+
'application/vnd.ms-powerpoint': '.ppt',
|
|
52
|
+
'application/vnd.openxmlformats-officedocument.presentationml.presentation': '.pptx',
|
|
53
|
+
'text/plain': '.txt',
|
|
54
|
+
'text/csv': '.csv',
|
|
55
|
+
'text/html': '.html',
|
|
56
|
+
'application/json': '.json',
|
|
57
|
+
'application/xml': '.xml',
|
|
58
|
+
'text/xml': '.xml',
|
|
59
|
+
'application/rtf': '.rtf',
|
|
60
|
+
// archives
|
|
61
|
+
'application/zip': '.zip',
|
|
62
|
+
'application/x-rar-compressed': '.rar',
|
|
63
|
+
'application/x-7z-compressed': '.7z',
|
|
64
|
+
'application/gzip': '.gz',
|
|
65
|
+
'application/x-tar': '.tar'
|
|
66
|
+
};
|
|
67
|
+
const VALID_EXT_RE = /\.[a-z0-9]{1,8}$/i;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Returns the conventional extension (including the leading dot) for a
|
|
71
|
+
* MIME type, or `.bin` as a last-resort fallback so callers never end up
|
|
72
|
+
* with an extension-less filename.
|
|
73
|
+
*/
|
|
74
|
+
function getExtensionForMime(mime) {
|
|
75
|
+
if (!mime) {
|
|
76
|
+
return '.bin';
|
|
77
|
+
}
|
|
78
|
+
const normalized = mime.toLowerCase().split(';')[0].trim();
|
|
79
|
+
return MIME_TO_EXT[normalized] || '.bin';
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Parses a URL or file path and returns the last segment, URL-decoded,
|
|
84
|
+
* stripped of query/hash. Returns `''` when nothing usable is present.
|
|
85
|
+
*/
|
|
86
|
+
function filenameFromUrl(url) {
|
|
87
|
+
if (!url) {
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
// Strip query + hash without depending on a real URL parser (some RN
|
|
92
|
+
// URLs from CDNs do not parse cleanly).
|
|
93
|
+
const noQuery = url.split('?')[0].split('#')[0];
|
|
94
|
+
const last = noQuery.split('/').pop() || '';
|
|
95
|
+
return decodeURIComponent(last);
|
|
96
|
+
} catch {
|
|
97
|
+
return '';
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Ensures `fileName` ends with a valid extension. Strategy:
|
|
103
|
+
* 1. If the input already has an extension, return it unchanged.
|
|
104
|
+
* 2. Otherwise, derive the extension from `mime` and append it.
|
|
105
|
+
* 3. If `mime` is unknown, append `.bin`.
|
|
106
|
+
*
|
|
107
|
+
* Empty/falsy filenames get a `media_<timestamp>` base before the
|
|
108
|
+
* extension is appended so callers always get a usable filename.
|
|
109
|
+
*/
|
|
110
|
+
function ensureFilenameHasExtension(fileName, mime) {
|
|
111
|
+
const base = fileName && fileName.trim() || `media_${Date.now()}`;
|
|
112
|
+
if (VALID_EXT_RE.test(base)) {
|
|
113
|
+
return base;
|
|
114
|
+
}
|
|
115
|
+
return `${base}${getExtensionForMime(mime)}`;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Best-effort filename derivation for a message bubble:
|
|
120
|
+
* - server-provided `fileName`
|
|
121
|
+
* - server-provided `originalName`
|
|
122
|
+
* - URL pathname
|
|
123
|
+
* - generic `media_<timestamp>` so we never render an empty label
|
|
124
|
+
*
|
|
125
|
+
* Always returns a string with a valid extension.
|
|
126
|
+
*/
|
|
127
|
+
function deriveDisplayFilename(opts) {
|
|
128
|
+
const candidate = opts.fileName && opts.fileName.trim() || opts.originalName && opts.originalName.trim() || filenameFromUrl(opts.url) || '';
|
|
129
|
+
return ensureFilenameHasExtension(candidate, opts.mime);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=mimeToExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MIME_TO_EXT","VALID_EXT_RE","getExtensionForMime","mime","normalized","toLowerCase","split","trim","filenameFromUrl","url","noQuery","last","pop","decodeURIComponent","ensureFilenameHasExtension","fileName","base","Date","now","test","deriveDisplayFilename","opts","candidate","originalName"],"sourceRoot":"../../../src","sources":["helpers/mimeToExtension.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.normalizeRoomJid = void 0;
|
|
7
|
+
const normalizeRoomJid = (roomJID, conference) => {
|
|
8
|
+
if (!roomJID) {
|
|
9
|
+
return roomJID;
|
|
10
|
+
}
|
|
11
|
+
if (roomJID.includes('@')) {
|
|
12
|
+
return roomJID;
|
|
13
|
+
}
|
|
14
|
+
if (!conference) {
|
|
15
|
+
return roomJID;
|
|
16
|
+
}
|
|
17
|
+
return `${roomJID}@${conference}`;
|
|
18
|
+
};
|
|
19
|
+
exports.normalizeRoomJid = normalizeRoomJid;
|
|
20
|
+
//# sourceMappingURL=normalizeRoomJid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizeRoomJid","roomJID","conference","includes","exports"],"sourceRoot":"../../../src","sources":["helpers/normalizeRoomJid.ts"],"mappings":";;;;;;AAAO,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;AAACE,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.resolveInitBeforeLoadUser = exports.default = exports.applyResolvedUserToStore = void 0;
|
|
6
|
+
exports.resolveInitBeforeLoadUser = exports.refreshUserCredentialsForXmpp = exports.default = exports.applyResolvedUserToStore = void 0;
|
|
7
7
|
var _apiClient = _interopRequireWildcard(require("../networking/apiClient"));
|
|
8
8
|
var _auth = require("../networking/api-requests/auth.api");
|
|
9
9
|
var _user = require("../networking/api-requests/user.api");
|
|
@@ -244,6 +244,78 @@ const applyResolvedUserToStore = user => {
|
|
|
244
244
|
}
|
|
245
245
|
_roomStore.store.dispatch((0, _chatSettingsSlice.setUser)(user));
|
|
246
246
|
};
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Re-mints a User with a fresh xmppPassword for the XMPP credentials-
|
|
250
|
+
* provider path (bug #17). Unlike `resolveInitBeforeLoadUser` this
|
|
251
|
+
* ALWAYS hydrates via the chosen auth path even if the cached user
|
|
252
|
+
* already had xmppCredentials — that's the whole point, the old ones
|
|
253
|
+
* are stale.
|
|
254
|
+
*
|
|
255
|
+
* Selection order:
|
|
256
|
+
* 1. `jwtLogin` — re-exchange the JWT via `/users/client`.
|
|
257
|
+
* 2. Anything else (`userLogin` / `customLogin` / store / persisted)
|
|
258
|
+
* — `tryHydrateViaMy` on the current user, which calls
|
|
259
|
+
* `/users/my` and, on 401, refreshes the access token via
|
|
260
|
+
* `/users/login/refresh` and retries.
|
|
261
|
+
*
|
|
262
|
+
* Returns `null` only when nothing usable is available — the caller
|
|
263
|
+
* (xmppProvider) falls back to the cached creds in that case.
|
|
264
|
+
*/
|
|
247
265
|
exports.applyResolvedUserToStore = applyResolvedUserToStore;
|
|
266
|
+
const refreshUserCredentialsForXmpp = async (config, signal) => {
|
|
267
|
+
if (signal?.aborted) {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// Priority 1: jwtLogin — same path as `resolveInitBeforeLoadUser`
|
|
272
|
+
// priority 3. We always re-exchange because the original JWT may
|
|
273
|
+
// itself have expired (and the consumer is expected to swap
|
|
274
|
+
// `config.jwtLogin.token` for a fresh one before then).
|
|
275
|
+
if (config?.jwtLogin?.enabled && config?.jwtLogin?.token) {
|
|
276
|
+
try {
|
|
277
|
+
const fresh = await (0, _auth.loginViaJwt)(config.jwtLogin.token);
|
|
278
|
+
const normalized = normalizeUserForXmpp(fresh);
|
|
279
|
+
if (normalized && hasXmppCredentials(normalized)) {
|
|
280
|
+
return normalized;
|
|
281
|
+
}
|
|
282
|
+
} catch (error) {
|
|
283
|
+
if (signal?.aborted || isAbortError(error)) {
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
// fall through to /users/my path
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/users/my';
|
|
290
|
+
|
|
291
|
+
// Priority 2: redux store user (covers userLogin + customLogin +
|
|
292
|
+
// anything previously persisted into chatSettingStore.user). The
|
|
293
|
+
// user must have at least a refreshToken for the refresh chain to
|
|
294
|
+
// produce something useful.
|
|
295
|
+
const currentUser = _roomStore.store.getState().chatSettingStore.user;
|
|
296
|
+
if (currentUser?.token || currentUser?.refreshToken) {
|
|
297
|
+
const hydrated = await tryHydrateViaMy(currentUser, myEndpoint, signal).catch(() => null);
|
|
298
|
+
if (hydrated && hasXmppCredentials(hydrated)) {
|
|
299
|
+
return hydrated;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// Priority 3: persisted user in AsyncStorage — defensive; the store
|
|
304
|
+
// should already mirror this, but if the redux state got cleared
|
|
305
|
+
// mid-session (logout race) this gives us one last shot.
|
|
306
|
+
try {
|
|
307
|
+
const storedUser = await (0, _useLocalStorage.asyncLocalStorage)(_LOCAL_STORAGE.localStorageConstants.ETHORA_USER).get();
|
|
308
|
+
if (storedUser && (storedUser.token || storedUser.refreshToken || storedUser.xmppPassword)) {
|
|
309
|
+
const hydrated = await tryHydrateViaMy(storedUser, myEndpoint, signal).catch(() => null);
|
|
310
|
+
if (hydrated && hasXmppCredentials(hydrated)) {
|
|
311
|
+
return hydrated;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
} catch {
|
|
315
|
+
// ignore storage errors
|
|
316
|
+
}
|
|
317
|
+
return null;
|
|
318
|
+
};
|
|
319
|
+
exports.refreshUserCredentialsForXmpp = refreshUserCredentialsForXmpp;
|
|
248
320
|
var _default = exports.default = resolveInitBeforeLoadUser;
|
|
249
321
|
//# sourceMappingURL=resolveInitBeforeLoadUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_apiClient","_interopRequireWildcard","require","_auth","_user","_roomStore","_chatSettingsSlice","_walletUsername","_useLocalStorage","_LOCAL_STORAGE","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getStatusCode","error","status","response","isAuthError","code","isAbortError","message","toLowerCase","includes","hasXmppCredentials","user","Boolean","xmppPassword","xmppUsername","defaultWallet","walletAddress","normalizeUserForXmpp","normalizedXmppUsername","walletToUsername","refreshWithToken","refreshToken","http","post","headers","Authorization","token","data","mergeUsers","base","patch","tryHydrateViaMy","candidate","myEndpoint","signal","aborted","mergedCandidate","workingToken","workingRefresh","candidateWithCurrentTokens","fallbackWithCreds","normalized","myUser","getMyUser","endpoint","merged","fallback","refreshed","myError","resolveInitBeforeLoadUser","options","config","baseUrl","setBaseURL","customAppToken","initBeforeLoadAuth","explicitUser","userLogin","enabled","hydrated","catch","customLogin","loginFunction","customUser","jwtLogin","jwtUser","loginViaJwt","currentUser","store","getState","chatSettingStore","storedUser","asyncLocalStorage","localStorageConstants","ETHORA_USER","remove","exports","applyResolvedUserToStore","dispatch","setUser","_default"],"sourceRoot":"../../../src","sources":["helpers/resolveInitBeforeLoadUser.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_apiClient","_interopRequireWildcard","require","_auth","_user","_roomStore","_chatSettingsSlice","_walletUsername","_useLocalStorage","_LOCAL_STORAGE","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getStatusCode","error","status","response","isAuthError","code","isAbortError","message","toLowerCase","includes","hasXmppCredentials","user","Boolean","xmppPassword","xmppUsername","defaultWallet","walletAddress","normalizeUserForXmpp","normalizedXmppUsername","walletToUsername","refreshWithToken","refreshToken","http","post","headers","Authorization","token","data","mergeUsers","base","patch","tryHydrateViaMy","candidate","myEndpoint","signal","aborted","mergedCandidate","workingToken","workingRefresh","candidateWithCurrentTokens","fallbackWithCreds","normalized","myUser","getMyUser","endpoint","merged","fallback","refreshed","myError","resolveInitBeforeLoadUser","options","config","baseUrl","setBaseURL","customAppToken","initBeforeLoadAuth","explicitUser","userLogin","enabled","hydrated","catch","customLogin","loginFunction","customUser","jwtLogin","jwtUser","loginViaJwt","currentUser","store","getState","chatSettingStore","storedUser","asyncLocalStorage","localStorageConstants","ETHORA_USER","remove","exports","applyResolvedUserToStore","dispatch","setUser","refreshUserCredentialsForXmpp","fresh","_default"],"sourceRoot":"../../../src","sources":["helpers/resolveInitBeforeLoadUser.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useChatRoomFocus = exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactRedux = require("react-redux");
|
|
9
|
+
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
10
|
+
var _roomStore = require("../roomStore");
|
|
11
|
+
/**
|
|
12
|
+
* Public hook for consumers embedding `<ChatRoom>` inside a tab-based
|
|
13
|
+
* navigator. Mirrors the mount/unmount unread-tracking that ChatRoom
|
|
14
|
+
* does internally — but driven by an explicit focus signal so the
|
|
15
|
+
* unread counter behaves correctly when the chat tab is not focused
|
|
16
|
+
* but the component is still mounted.
|
|
17
|
+
*
|
|
18
|
+
* Without this hook, `useUnread()` will always return 0 for the chat
|
|
19
|
+
* room because the SDK assumes "mounted == active". With this hook,
|
|
20
|
+
* focus marks the room visible (clearing the badge) and blur stamps
|
|
21
|
+
* `lastViewedTimestamp = Date.now()` so future messages count as unread.
|
|
22
|
+
*
|
|
23
|
+
* Usage with React Navigation:
|
|
24
|
+
*
|
|
25
|
+
* ```tsx
|
|
26
|
+
* import { useIsFocused } from '@react-navigation/native';
|
|
27
|
+
*
|
|
28
|
+
* function ChatTab() {
|
|
29
|
+
* const isFocused = useIsFocused();
|
|
30
|
+
* useChatRoomFocus({ roomJID: 'general@conference.host', isFocused });
|
|
31
|
+
* return <Chat config={...} />;
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* Bug #18-adjacent / unread-tracking bug from sdk-bug-tracker.md.
|
|
36
|
+
*/
|
|
37
|
+
const useChatRoomFocus = ({
|
|
38
|
+
roomJID,
|
|
39
|
+
isFocused
|
|
40
|
+
}) => {
|
|
41
|
+
const dispatch = (0, _reactRedux.useDispatch)();
|
|
42
|
+
const prevRef = (0, _react.useRef)({
|
|
43
|
+
roomJID: null,
|
|
44
|
+
isFocused: false
|
|
45
|
+
});
|
|
46
|
+
const leaveRoom = jid => {
|
|
47
|
+
const timestamp = Date.now();
|
|
48
|
+
dispatch((0, _roomsSlice.setLastViewedTimestamp)({
|
|
49
|
+
chatJID: jid,
|
|
50
|
+
timestamp
|
|
51
|
+
}));
|
|
52
|
+
dispatch((0, _roomsSlice.clearVisibleRoom)());
|
|
53
|
+
const rooms = _roomStore.store.getState().rooms?.rooms;
|
|
54
|
+
_roomStore.store.getState().chatSettingStore?.client?.flushLastViewedToPrivateStoreStanza(rooms, {
|
|
55
|
+
visibleRoomJID: jid
|
|
56
|
+
}).catch(() => {});
|
|
57
|
+
};
|
|
58
|
+
(0, _react.useEffect)(() => {
|
|
59
|
+
const prev = prevRef.current;
|
|
60
|
+
if (prev.isFocused && prev.roomJID && (prev.roomJID !== roomJID || !isFocused)) {
|
|
61
|
+
leaveRoom(prev.roomJID);
|
|
62
|
+
}
|
|
63
|
+
if (roomJID && isFocused) {
|
|
64
|
+
dispatch((0, _roomsSlice.setCurrentRoom)({
|
|
65
|
+
roomJID
|
|
66
|
+
}));
|
|
67
|
+
dispatch((0, _roomsSlice.setVisibleRoom)({
|
|
68
|
+
roomJID
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
prevRef.current = {
|
|
72
|
+
roomJID: roomJID || null,
|
|
73
|
+
isFocused
|
|
74
|
+
};
|
|
75
|
+
}, [roomJID, isFocused, dispatch]);
|
|
76
|
+
(0, _react.useEffect)(() => {
|
|
77
|
+
return () => {
|
|
78
|
+
const prev = prevRef.current;
|
|
79
|
+
if (prev.isFocused && prev.roomJID) {
|
|
80
|
+
leaveRoom(prev.roomJID);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}, []);
|
|
84
|
+
};
|
|
85
|
+
exports.useChatRoomFocus = useChatRoomFocus;
|
|
86
|
+
var _default = exports.default = useChatRoomFocus;
|
|
87
|
+
//# sourceMappingURL=useChatRoomFocus.js.map
|