@ethora/chat-component-rn 26.5.21 → 26.6.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 +80 -0
- package/README.md +3 -3
- package/index.js +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +20 -8
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +17 -0
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js +62 -0
- package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js.map +1 -0
- package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +253 -0
- package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -0
- package/lib/commonjs/components/MainComponents/RoomList.js +23 -9
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/Message.js +72 -11
- package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageTranslate.js +160 -0
- package/lib/commonjs/components/MessageBubble/MessageTranslate.js.map +1 -0
- package/lib/commonjs/components/MessageBubble/TranslatedMessageBody.js +59 -0
- package/lib/commonjs/components/MessageBubble/TranslatedMessageBody.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +3 -3
- package/lib/commonjs/components/UsersList/UsersList.js +3 -1
- package/lib/commonjs/components/UsersList/UsersList.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/CallButtons.js +159 -0
- package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/CallIcons.js +328 -0
- package/lib/commonjs/components/VideoCalls/CallIcons.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +550 -0
- package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js +636 -0
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/livekitRuntime.js +91 -0
- package/lib/commonjs/components/VideoCalls/livekitRuntime.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/useCallKeep.js +215 -0
- package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -0
- package/lib/commonjs/components/styled/AudioMessage.js +91 -33
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/RoomListComponents/index.js +13 -1
- package/lib/commonjs/components/styled/RoomListComponents/index.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +83 -49
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledComponents.js +9 -4
- package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/Composing.js +2 -0
- package/lib/commonjs/components/styled/StyledInputComponents/Composing.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +10 -3
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/callLogMessage.js +162 -0
- package/lib/commonjs/helpers/callLogMessage.js.map +1 -0
- package/lib/commonjs/helpers/callPush.js +61 -0
- package/lib/commonjs/helpers/callPush.js.map +1 -0
- package/lib/commonjs/helpers/constants/LANGUAGE_OPTIONS.js +24 -12
- package/lib/commonjs/helpers/constants/LANGUAGE_OPTIONS.js.map +1 -1
- package/lib/commonjs/helpers/createUserNameFromSetUser.js +51 -2
- package/lib/commonjs/helpers/createUserNameFromSetUser.js.map +1 -1
- package/lib/commonjs/helpers/getDataFromXml.js +19 -1
- package/lib/commonjs/helpers/getDataFromXml.js.map +1 -1
- package/lib/commonjs/helpers/incomingCallFromPush.js +74 -0
- package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -0
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +13 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/isUnresolvedSenderId.js +32 -0
- package/lib/commonjs/helpers/isUnresolvedSenderId.js.map +1 -0
- package/lib/commonjs/hooks/useChatSettingState.js +2 -0
- package/lib/commonjs/hooks/useChatSettingState.js.map +1 -1
- package/lib/commonjs/hooks/useMessageTranslation.js +51 -0
- package/lib/commonjs/hooks/useMessageTranslation.js.map +1 -0
- package/lib/commonjs/hooks/usePushNotifications.js +13 -3
- package/lib/commonjs/hooks/usePushNotifications.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +12 -2
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/i18n/strings.js +1308 -0
- package/lib/commonjs/i18n/strings.js.map +1 -0
- package/lib/commonjs/i18n/useT.js +60 -0
- package/lib/commonjs/i18n/useT.js.map +1 -0
- package/lib/commonjs/main.js +44 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/push.api.js +34 -5
- package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +108 -0
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/callTokenStanza.js +531 -0
- package/lib/commonjs/networking/callTokenStanza.js.map +1 -0
- package/lib/commonjs/networking/outboundQueue.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +75 -8
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/handleStanzas.xmpp.js +47 -11
- package/lib/commonjs/networking/xmpp/handleStanzas.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/xmpp/sendTextMessageWithTranslateTag.xmpp.js +42 -5
- package/lib/commonjs/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +78 -16
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/callSlice.js +144 -0
- package/lib/commonjs/roomStore/callSlice.js.map +1 -0
- package/lib/commonjs/roomStore/chatSettingsSlice.js +8 -2
- package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +7 -1
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistence.js +69 -5
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +136 -6
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/commonjs/utils/translateModePolicy.js +33 -0
- package/lib/commonjs/utils/translateModePolicy.js.map +1 -0
- package/lib/module/components/MainComponents/ChatHeader.js +20 -8
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +17 -0
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/LanguageSelectorButton.js +57 -0
- package/lib/module/components/MainComponents/LanguageSelectorButton.js.map +1 -0
- package/lib/module/components/MainComponents/LanguageSelectorModal.js +246 -0
- package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -0
- package/lib/module/components/MainComponents/RoomList.js +23 -9
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/MessageBubble/Message.js +73 -12
- package/lib/module/components/MessageBubble/Message.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageTranslate.js +155 -0
- package/lib/module/components/MessageBubble/MessageTranslate.js.map +1 -0
- package/lib/module/components/MessageBubble/TranslatedMessageBody.js +53 -0
- package/lib/module/components/MessageBubble/TranslatedMessageBody.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +3 -3
- package/lib/module/components/UsersList/UsersList.js +3 -1
- package/lib/module/components/UsersList/UsersList.js.map +1 -1
- package/lib/module/components/VideoCalls/CallButtons.js +154 -0
- package/lib/module/components/VideoCalls/CallButtons.js.map +1 -0
- package/lib/module/components/VideoCalls/CallIcons.js +309 -0
- package/lib/module/components/VideoCalls/CallIcons.js.map +1 -0
- package/lib/module/components/VideoCalls/VideoCallOverlay.js +544 -0
- package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -0
- package/lib/module/components/VideoCalls/VideoCallSession.js +630 -0
- package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -0
- package/lib/module/components/VideoCalls/livekitRuntime.js +83 -0
- package/lib/module/components/VideoCalls/livekitRuntime.js.map +1 -0
- package/lib/module/components/VideoCalls/useCallKeep.js +210 -0
- package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -0
- package/lib/module/components/styled/AudioMessage.js +91 -33
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/RoomListComponents/index.js +13 -1
- package/lib/module/components/styled/RoomListComponents/index.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +83 -49
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledComponents.js +9 -4
- package/lib/module/components/styled/StyledComponents.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/Composing.js +2 -0
- package/lib/module/components/styled/StyledInputComponents/Composing.js.map +1 -1
- package/lib/module/context/xmppProvider.js +11 -4
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/callLogMessage.js +152 -0
- package/lib/module/helpers/callLogMessage.js.map +1 -0
- package/lib/module/helpers/callPush.js +55 -0
- package/lib/module/helpers/callPush.js.map +1 -0
- package/lib/module/helpers/constants/LANGUAGE_OPTIONS.js +24 -12
- package/lib/module/helpers/constants/LANGUAGE_OPTIONS.js.map +1 -1
- package/lib/module/helpers/createUserNameFromSetUser.js +49 -1
- package/lib/module/helpers/createUserNameFromSetUser.js.map +1 -1
- package/lib/module/helpers/getDataFromXml.js +20 -1
- package/lib/module/helpers/getDataFromXml.js.map +1 -1
- package/lib/module/helpers/incomingCallFromPush.js +70 -0
- package/lib/module/helpers/incomingCallFromPush.js.map +1 -0
- package/lib/module/helpers/insertMessageWithDelimiter.js +13 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/isUnresolvedSenderId.js +27 -0
- package/lib/module/helpers/isUnresolvedSenderId.js.map +1 -0
- package/lib/module/hooks/useChatSettingState.js +2 -0
- package/lib/module/hooks/useChatSettingState.js.map +1 -1
- package/lib/module/hooks/useMessageTranslation.js +46 -0
- package/lib/module/hooks/useMessageTranslation.js.map +1 -0
- package/lib/module/hooks/usePushNotifications.js +13 -3
- package/lib/module/hooks/usePushNotifications.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +12 -2
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/i18n/strings.js +1300 -0
- package/lib/module/i18n/strings.js.map +1 -0
- package/lib/module/i18n/useT.js +55 -0
- package/lib/module/i18n/useT.js.map +1 -0
- package/lib/module/main.js +7 -1
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/push.api.js +35 -5
- package/lib/module/networking/api-requests/push.api.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +109 -1
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/callTokenStanza.js +526 -0
- package/lib/module/networking/callTokenStanza.js.map +1 -0
- package/lib/module/networking/outboundQueue.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +76 -9
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js +48 -11
- package/lib/module/networking/xmpp/handleStanzas.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js +1 -1
- package/lib/module/networking/xmpp/sendTextMessage.xmpp.js.map +1 -1
- package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js +43 -5
- package/lib/module/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.js.map +1 -1
- package/lib/module/networking/xmppClient.js +78 -16
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/callSlice.js +130 -0
- package/lib/module/roomStore/callSlice.js.map +1 -0
- package/lib/module/roomStore/chatSettingsSlice.js +6 -1
- package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/module/roomStore/index.js +6 -1
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistence.js +69 -5
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +134 -5
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/utils/translateModePolicy.js +27 -0
- package/lib/module/utils/translateModePolicy.js.map +1 -0
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts +12 -0
- package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts +31 -0
- package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -0
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts +44 -0
- package/lib/typescript/components/MessageBubble/MessageTranslate.d.ts.map +1 -0
- package/lib/typescript/components/MessageBubble/TranslatedMessageBody.d.ts +24 -0
- package/lib/typescript/components/MessageBubble/TranslatedMessageBody.d.ts.map +1 -0
- package/lib/typescript/components/UsersList/UsersList.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/CallButtons.d.ts +16 -0
- package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/CallIcons.d.ts +30 -0
- package/lib/typescript/components/VideoCalls/CallIcons.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts +10 -0
- package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +38 -0
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts +52 -0
- package/lib/typescript/components/VideoCalls/livekitRuntime.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/useCallKeep.d.ts +32 -0
- package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -0
- package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/RoomListComponents/index.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/Composing.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/callLogMessage.d.ts +34 -0
- package/lib/typescript/helpers/callLogMessage.d.ts.map +1 -0
- package/lib/typescript/helpers/callPush.d.ts +23 -0
- package/lib/typescript/helpers/callPush.d.ts.map +1 -0
- package/lib/typescript/helpers/constants/LANGUAGE_OPTIONS.d.ts +14 -0
- package/lib/typescript/helpers/constants/LANGUAGE_OPTIONS.d.ts.map +1 -1
- package/lib/typescript/helpers/createUserNameFromSetUser.d.ts +33 -1
- package/lib/typescript/helpers/createUserNameFromSetUser.d.ts.map +1 -1
- package/lib/typescript/helpers/getDataFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/incomingCallFromPush.d.ts +14 -0
- package/lib/typescript/helpers/incomingCallFromPush.d.ts.map +1 -0
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/isUnresolvedSenderId.d.ts +2 -0
- package/lib/typescript/helpers/isUnresolvedSenderId.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatSettingState.d.ts +2 -1
- package/lib/typescript/hooks/useChatSettingState.d.ts.map +1 -1
- package/lib/typescript/hooks/useMessageTranslation.d.ts +25 -0
- package/lib/typescript/hooks/useMessageTranslation.d.ts.map +1 -0
- package/lib/typescript/hooks/usePushNotifications.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/i18n/strings.d.ts +16 -0
- package/lib/typescript/i18n/strings.d.ts.map +1 -0
- package/lib/typescript/i18n/useT.d.ts +34 -0
- package/lib/typescript/i18n/useT.d.ts.map +1 -0
- package/lib/typescript/main.d.ts +6 -1
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts +3 -0
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/networking/callTokenStanza.d.ts +14 -0
- package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -0
- package/lib/typescript/networking/outboundQueue.d.ts +1 -0
- package/lib/typescript/networking/outboundQueue.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/handleStanzas.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts +10 -0
- package/lib/typescript/networking/xmpp/sendTextMessage.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts +16 -1
- package/lib/typescript/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts +1 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/callSlice.d.ts +39 -0
- package/lib/typescript/roomStore/callSlice.d.ts.map +1 -0
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts +10 -1
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts +4 -0
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +6 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/models/language.model.d.ts +1 -1
- package/lib/typescript/types/models/language.model.d.ts.map +1 -1
- package/lib/typescript/types/models/message.model.d.ts +7 -0
- package/lib/typescript/types/models/message.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +135 -1
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/lib/typescript/utils/translateModePolicy.d.ts +20 -0
- package/lib/typescript/utils/translateModePolicy.d.ts.map +1 -0
- package/package.json +20 -4
- package/src/components/MainComponents/ChatHeader.tsx +30 -9
- package/src/components/MainComponents/ChatWrapper.tsx +15 -0
- package/src/components/MainComponents/LanguageSelectorButton.tsx +53 -0
- package/src/components/MainComponents/LanguageSelectorModal.tsx +276 -0
- package/src/components/MainComponents/RoomList.tsx +27 -9
- package/src/components/MessageBubble/Message.tsx +109 -17
- package/src/components/MessageBubble/MessageTranslate.tsx +182 -0
- package/src/components/MessageBubble/TranslatedMessageBody.tsx +59 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +3 -3
- package/src/components/UsersList/UsersList.tsx +3 -1
- package/src/components/VideoCalls/CallButtons.tsx +171 -0
- package/src/components/VideoCalls/CallIcons.tsx +246 -0
- package/src/components/VideoCalls/VideoCallOverlay.tsx +627 -0
- package/src/components/VideoCalls/VideoCallSession.tsx +675 -0
- package/src/components/VideoCalls/livekitRuntime.ts +100 -0
- package/src/components/VideoCalls/useCallKeep.ts +252 -0
- package/src/components/styled/AudioMessage.tsx +97 -37
- package/src/components/styled/RoomListComponents/index.tsx +15 -3
- package/src/components/styled/SendInput.tsx +94 -51
- package/src/components/styled/StyledComponents.ts +9 -6
- package/src/components/styled/StyledInputComponents/Composing.tsx +7 -1
- package/src/context/xmppProvider.tsx +14 -1
- package/src/helpers/callLogMessage.ts +174 -0
- package/src/helpers/callPush.ts +90 -0
- package/src/helpers/constants/LANGUAGE_OPTIONS.ts +20 -5
- package/src/helpers/createUserNameFromSetUser.ts +68 -2
- package/src/helpers/getDataFromXml.ts +40 -4
- package/src/helpers/incomingCallFromPush.ts +83 -0
- package/src/helpers/insertMessageWithDelimiter.ts +27 -9
- package/src/helpers/isUnresolvedSenderId.ts +25 -0
- package/src/hooks/useChatSettingState.tsx +4 -0
- package/src/hooks/useMessageTranslation.ts +70 -0
- package/src/hooks/usePushNotifications.ts +15 -3
- package/src/hooks/useSendMessage.tsx +15 -2
- package/src/i18n/strings.ts +1322 -0
- package/src/i18n/useT.ts +56 -0
- package/src/main.ts +18 -1
- package/src/networking/api-requests/push.api.ts +39 -8
- package/src/networking/api-requests/rooms.api.ts +109 -1
- package/src/networking/callTokenStanza.ts +636 -0
- package/src/networking/outboundQueue.ts +1 -0
- package/src/networking/stanzaHandlers.ts +74 -15
- package/src/networking/xmpp/handleStanzas.xmpp.ts +52 -11
- package/src/networking/xmpp/sendTextMessage.xmpp.ts +1 -1
- package/src/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.ts +41 -5
- package/src/networking/xmppClient.ts +97 -28
- package/src/roomStore/callSlice.ts +190 -0
- package/src/roomStore/chatSettingsSlice.ts +16 -0
- package/src/roomStore/index.ts +5 -0
- package/src/roomStore/persistence.ts +103 -3
- package/src/roomStore/roomsSlice.ts +149 -4
- package/src/types/models/language.model.ts +17 -1
- package/src/types/models/message.model.ts +9 -0
- package/src/types/types.ts +142 -2
- package/src/utils/translateModePolicy.ts +31 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","AppState","DeviceEventEmitter","NetInfo","XmppClient","refreshTokens","buildXmppClientKey","getGlobalXmppClient","getReusableXmppClientByKey","isXmppClientReusable","setGlobalXmppClient","withXmppClientInitLock","applyResolvedUserToStore","refreshUserCredentialsForXmpp","resolveInitBeforeLoadUser","ensureScopedChatCache","getRooms","prefetchRoomsViaRest","allRoomPresences","store","logout","setStoreClient","setConfig","setLogoutState","setVisibleRoom","clearVisibleRoom","setLastViewedTimestamp","deleteRoomMessage","msgSortableMs","setUnreadSyncing","runHistoryPreloadScheduler","asyncLocalStorage","localStorageConstants","clearPersistedState","pushLog","devPushLog","jsx","_jsx","XmppContext","LOGOUT_EVENT","XmppProvider","children","config","isVisible","client","setClient","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","customRefresh","refreshFunction","result","accessToken","dispatch","token","refreshToken","err","fresh","catch","username","xmppUsername","defaultWallet","walletAddress","password","xmppPassword","u","getState","chatSettingStore","user","jwtLogin","enabled","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","xmppSettings","settings","key","reusable","current","created","prevGlobal","close","newClient","setCredentialsProvider","waitForOnline","console","error","setOnOnline","underlying","e","getChatsPrivateStoreRequestStanza","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","ETHORA_USER","remove","undefined","resolved","signal","hasResolved","xmppPasswordPresent","restRoomsPromise","c","getRoomsStanza","roomCount","Object","keys","rooms","length","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","r","jid","filter","Boolean","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","currentState","suppressReconnect","forceReconnect","ensureStreamAlive","clearInterval","visibleBeforeBackground","sub","addEventListener","next","roomJID","state","visibleRoomJID","chatJID","timestamp","Date","now","messageId","flushLastViewedToPrivateStoreStanza","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","list","m","ms","unsub","subscribe","reachable","isConnected","isInternetReachable","addListener","disconnect","Provider","value","useXmppClient","context","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","AppState","DeviceEventEmitter","NetInfo","VideoCallOverlay","XmppClient","refreshTokens","buildXmppClientKey","getGlobalXmppClient","getReusableXmppClientByKey","isXmppClientReusable","setGlobalXmppClient","withXmppClientInitLock","applyResolvedUserToStore","refreshUserCredentialsForXmpp","resolveInitBeforeLoadUser","ensureScopedChatCache","getRooms","prefetchRoomsViaRest","allRoomPresences","store","logout","setStoreClient","setConfig","setLogoutState","setVisibleRoom","clearVisibleRoom","setLastViewedTimestamp","deleteRoomMessage","msgSortableMs","setUnreadSyncing","runHistoryPreloadScheduler","asyncLocalStorage","localStorageConstants","clearPersistedState","pushLog","devPushLog","jsx","_jsx","jsxs","_jsxs","XmppContext","LOGOUT_EVENT","XmppProvider","children","config","isVisible","client","setClient","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","customRefresh","refreshFunction","result","accessToken","dispatch","token","refreshToken","err","fresh","catch","username","xmppUsername","defaultWallet","walletAddress","password","xmppPassword","u","getState","chatSettingStore","user","jwtLogin","enabled","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","xmppSettings","settings","key","reusable","current","created","prevGlobal","close","newClient","setCredentialsProvider","waitForOnline","console","error","setOnOnline","underlying","e","getChatsPrivateStoreRequestStanza","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","ETHORA_USER","remove","undefined","resolved","signal","hasResolved","xmppPasswordPresent","restRoomsPromise","c","getRoomsStanza","roomCount","Object","keys","rooms","length","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","r","jid","filter","Boolean","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","currentState","suppressReconnect","forceReconnect","ensureStreamAlive","clearInterval","visibleBeforeBackground","sub","addEventListener","next","roomJID","state","visibleRoomJID","chatJID","timestamp","Date","now","messageId","flushLastViewedToPrivateStoreStanza","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","list","m","ms","unsub","subscribe","reachable","isConnected","isInternetReachable","addListener","disconnect","Provider","value","useXmppClient","context","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// A server "call-state" stanza is emitted into the room when a call session
|
|
4
|
+
// concludes (someone leaves the LiveKit room). It carries:
|
|
5
|
+
// type="call-state" callId="..." durationMs="<ms>"
|
|
6
|
+
// callerXmppUsername="<who started the call>" isSystemMessage="true"
|
|
7
|
+
// We turn it into a friendly chat-log entry, Telegram/WhatsApp style:
|
|
8
|
+
// - durationMs > 0 -> "Outgoing call · 12 sec" / "Incoming call · 1 min"
|
|
9
|
+
// - durationMs == 0 -> "No answer" (we called) / "Missed call" (they called)
|
|
10
|
+
// Direction is derived from callerXmppUsername vs the logged-in user.
|
|
11
|
+
|
|
12
|
+
export const isCallLogMessage = message => {
|
|
13
|
+
const type = String(message?.type || '').toLowerCase();
|
|
14
|
+
return type === 'call-state';
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
// Only a call-state that actually carries log metadata (a caller and/or a
|
|
18
|
+
// duration) is worth rendering. Bare client-side signaling frames
|
|
19
|
+
// (state=cancelled/declined/ended with no caller/duration) must NOT become
|
|
20
|
+
// chat entries, they're real-time teardown only.
|
|
21
|
+
export const callStateHasLogData = attrs => {
|
|
22
|
+
if (!attrs) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const hasCaller = !!String(attrs.callerXmppUsername || '').trim();
|
|
26
|
+
const hasDuration = attrs.durationMs !== undefined && attrs.durationMs !== null && attrs.durationMs !== '';
|
|
27
|
+
return hasCaller || hasDuration;
|
|
28
|
+
};
|
|
29
|
+
export const formatCallDuration = ms => {
|
|
30
|
+
const totalSeconds = Math.max(0, Math.round(ms / 1000));
|
|
31
|
+
if (totalSeconds < 60) {
|
|
32
|
+
return `${totalSeconds} sec`;
|
|
33
|
+
}
|
|
34
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
35
|
+
const seconds = totalSeconds % 60;
|
|
36
|
+
if (seconds === 0) {
|
|
37
|
+
return `${minutes} min`;
|
|
38
|
+
}
|
|
39
|
+
return `${minutes} min ${seconds} sec`;
|
|
40
|
+
};
|
|
41
|
+
export const transformCallLogMessage = (message, selfXmppUsername) => {
|
|
42
|
+
if (!isCallLogMessage(message)) {
|
|
43
|
+
return message;
|
|
44
|
+
}
|
|
45
|
+
const raw = message;
|
|
46
|
+
const callerLocal = String(raw.callerXmppUsername || '').split('@')[0].trim();
|
|
47
|
+
const selfLocal = String(selfXmppUsername || '').split('@')[0].trim();
|
|
48
|
+
// When we know the caller, "outgoing" means we started it. With no
|
|
49
|
+
// caller info, default to incoming (safer label than claiming we dialed).
|
|
50
|
+
const isOutgoing = !!callerLocal && callerLocal === selfLocal;
|
|
51
|
+
const durationMs = Number(raw.durationMs || 0);
|
|
52
|
+
const kind = String(raw.kind || '').toLowerCase() === 'audio' ? 'audio' : 'video';
|
|
53
|
+
let body;
|
|
54
|
+
if (durationMs > 0) {
|
|
55
|
+
body = `${isOutgoing ? 'Outgoing' : 'Incoming'} call · ${formatCallDuration(durationMs)}`;
|
|
56
|
+
} else {
|
|
57
|
+
body = isOutgoing ? 'No answer' : 'Missed call';
|
|
58
|
+
}
|
|
59
|
+
const callLog = {
|
|
60
|
+
callId: String(raw.callId || raw.callid || '').trim(),
|
|
61
|
+
direction: isOutgoing ? 'outgoing' : 'incoming',
|
|
62
|
+
durationMs,
|
|
63
|
+
missed: durationMs === 0,
|
|
64
|
+
kind
|
|
65
|
+
};
|
|
66
|
+
return {
|
|
67
|
+
...message,
|
|
68
|
+
body,
|
|
69
|
+
// Render through the existing centered SystemMessage pipeline.
|
|
70
|
+
isSystemMessage: 'true',
|
|
71
|
+
callLog
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
// Build a "call ended" log entry locally (client-side) when a call finishes.
|
|
76
|
+
// The authoritative entry is a SERVER `call-state` broadcast, but that isn't
|
|
77
|
+
// guaranteed to arrive (see header comment). This fallback keeps the chat log
|
|
78
|
+
// working regardless. It's deduplicated against any server copy in
|
|
79
|
+
// `addRoomMessage` by `callLog.callId` (the entry with the largest duration
|
|
80
|
+
// wins), so if the server does broadcast, the two collapse into one.
|
|
81
|
+
export const buildLocalCallLogMessage = params => {
|
|
82
|
+
const {
|
|
83
|
+
callId,
|
|
84
|
+
direction,
|
|
85
|
+
durationMs,
|
|
86
|
+
kind,
|
|
87
|
+
selfXmppUsername
|
|
88
|
+
} = params;
|
|
89
|
+
const isOutgoing = direction === 'outgoing';
|
|
90
|
+
const safeDuration = Math.max(0, Math.round(durationMs || 0));
|
|
91
|
+
let body;
|
|
92
|
+
if (safeDuration > 0) {
|
|
93
|
+
body = `${isOutgoing ? 'Outgoing' : 'Incoming'} call · ${formatCallDuration(safeDuration)}`;
|
|
94
|
+
} else {
|
|
95
|
+
body = isOutgoing ? 'No answer' : 'Missed call';
|
|
96
|
+
}
|
|
97
|
+
const callLog = {
|
|
98
|
+
callId,
|
|
99
|
+
direction,
|
|
100
|
+
durationMs: safeDuration,
|
|
101
|
+
missed: safeDuration === 0,
|
|
102
|
+
kind
|
|
103
|
+
};
|
|
104
|
+
return {
|
|
105
|
+
// Deterministic id so a re-fire for the same call collapses in place.
|
|
106
|
+
id: callId ? `calllog-${callId}` : `calllog-${Date.now()}`,
|
|
107
|
+
body,
|
|
108
|
+
date: new Date().toISOString(),
|
|
109
|
+
isSystemMessage: 'true',
|
|
110
|
+
type: 'call-state',
|
|
111
|
+
callLog,
|
|
112
|
+
user: {
|
|
113
|
+
id: selfXmppUsername
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* The label for a call-log entry, built at RENDER time from the callLog
|
|
120
|
+
* meta rather than read off `message.body`.
|
|
121
|
+
*
|
|
122
|
+
* transformCallLogMessage bakes an English sentence into `body` the moment
|
|
123
|
+
* the stanza arrives, which freezes the language: switch to French and
|
|
124
|
+
* every call log you already received stays English forever, because the
|
|
125
|
+
* text is data by then, not a rendering. The meta (direction/duration/
|
|
126
|
+
* missed) is the actual fact, the sentence is a view of it, so it belongs
|
|
127
|
+
* where the view is. `body` stays as the fallback for entries received
|
|
128
|
+
* before this existed, and for the notification/room-list preview paths
|
|
129
|
+
* that only have the raw message.
|
|
130
|
+
*/
|
|
131
|
+
export const formatCallLogLabel = (callLog, t, fallbackBody = '') => {
|
|
132
|
+
if (!callLog) {
|
|
133
|
+
return fallbackBody;
|
|
134
|
+
}
|
|
135
|
+
if (!callLog.durationMs || callLog.durationMs <= 0) {
|
|
136
|
+
return callLog.direction === 'outgoing' ? t('call.noAnswer') : t('call.missed');
|
|
137
|
+
}
|
|
138
|
+
const totalSeconds = Math.max(0, Math.round(callLog.durationMs / 1000));
|
|
139
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
140
|
+
const seconds = totalSeconds % 60;
|
|
141
|
+
const duration = totalSeconds < 60 ? t('call.durationSec', {
|
|
142
|
+
n: totalSeconds
|
|
143
|
+
}) : seconds === 0 ? t('call.durationMin', {
|
|
144
|
+
n: minutes
|
|
145
|
+
}) : t('call.durationMinSec', {
|
|
146
|
+
m: minutes,
|
|
147
|
+
s: seconds
|
|
148
|
+
});
|
|
149
|
+
const direction = callLog.direction === 'outgoing' ? t('call.outgoing') : t('call.incoming');
|
|
150
|
+
return `${direction} · ${duration}`;
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=callLogMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isCallLogMessage","message","type","String","toLowerCase","callStateHasLogData","attrs","hasCaller","callerXmppUsername","trim","hasDuration","durationMs","undefined","formatCallDuration","ms","totalSeconds","Math","max","round","minutes","floor","seconds","transformCallLogMessage","selfXmppUsername","raw","callerLocal","split","selfLocal","isOutgoing","Number","kind","body","callLog","callId","callid","direction","missed","isSystemMessage","buildLocalCallLogMessage","params","safeDuration","id","Date","now","date","toISOString","user","formatCallLogLabel","t","fallbackBody","duration","n","m","s"],"sourceRoot":"../../../src","sources":["helpers/callLogMessage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Recognise and parse an *incoming call* push notification.
|
|
4
|
+
//
|
|
5
|
+
// Calls normally ring via a live XMPP `call-token` stanza, which only arrives
|
|
6
|
+
// while the socket is connected. On mobile the socket is dead whenever the OS
|
|
7
|
+
// backgrounds or kills the app, so the backend also delivers the call over
|
|
8
|
+
// push, in the same `data`-payload format as message pushes. This helper lets
|
|
9
|
+
// the push layer tell a call push apart from a chat push and pull the call
|
|
10
|
+
// fields out, tolerating the field-name variations backends tend to use.
|
|
11
|
+
|
|
12
|
+
const pick = (data, keys) => {
|
|
13
|
+
for (const k of keys) {
|
|
14
|
+
const v = data?.[k];
|
|
15
|
+
if (v !== undefined && v !== null && String(v).trim() !== '') {
|
|
16
|
+
return String(v).trim();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return '';
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* True when a push `data` payload represents an incoming call. Matches on an
|
|
24
|
+
* explicit call marker (`type`/`pushType`/`category`/`event` === "call"-ish)
|
|
25
|
+
* or on a callId paired with a call-specific field, so a normal message push
|
|
26
|
+
* is never misread as a call.
|
|
27
|
+
*/
|
|
28
|
+
export const isCallPush = data => {
|
|
29
|
+
if (!data) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
const marker = pick(data, ['type', 'pushType', 'category', 'messageType', 'event']).toLowerCase();
|
|
33
|
+
if (marker === 'call' || marker === 'incoming-call' || marker === 'call-token' || marker === 'call-invite') {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
const callId = pick(data, ['callId', 'callid', 'callID']);
|
|
37
|
+
const hasCallField = !!pick(data, ['callToken', 'livekitToken']) || !!pick(data, ['callKind']) || pick(data, ['kind']).toLowerCase() === 'audio' || pick(data, ['kind']).toLowerCase() === 'video';
|
|
38
|
+
return !!callId && hasCallField;
|
|
39
|
+
};
|
|
40
|
+
export const parseCallPush = data => {
|
|
41
|
+
const d = data || {};
|
|
42
|
+
const roomRef = pick(d, ['callRoom', 'room', 'roomJid', 'jid', 'chatId']) || null;
|
|
43
|
+
const roomBareName = roomRef ? roomRef.split('@')[0] || roomRef : null;
|
|
44
|
+
const kindRaw = pick(d, ['callKind', 'kind']).toLowerCase();
|
|
45
|
+
return {
|
|
46
|
+
callId: pick(d, ['callId', 'callid', 'callID']) || null,
|
|
47
|
+
token: pick(d, ['callToken', 'livekitToken', 'token']) || null,
|
|
48
|
+
kind: kindRaw === 'audio' ? 'audio' : 'video',
|
|
49
|
+
roomBareName,
|
|
50
|
+
roomRef,
|
|
51
|
+
callerName: pick(d, ['callerName', 'callerDisplayName', 'senderName', 'title']) || null,
|
|
52
|
+
callerXmppUsername: pick(d, ['callerXmppUsername', 'callerUsername', 'userJid', 'senderJid']).split('@')[0] || null
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=callPush.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pick","data","keys","k","v","undefined","String","trim","isCallPush","marker","toLowerCase","callId","hasCallField","parseCallPush","d","roomRef","roomBareName","split","kindRaw","token","kind","callerName","callerXmppUsername"],"sourceRoot":"../../../src","sources":["helpers/callPush.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,19 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Languages the in-chat globe picker offers.
|
|
5
|
+
*
|
|
6
|
+
* Names are AUTONYMS (each language written in itself), which is what
|
|
7
|
+
* every mainstream language picker does: a reader who only speaks French
|
|
8
|
+
* can find "Français" but not "French". Ids carry the region because the
|
|
9
|
+
* deployment's readers are Canadian and US, and the region is forwarded to
|
|
10
|
+
* the translation service so it can tell fr-CA from fr-FR. Base-language
|
|
11
|
+
* lookups (i18n tables, Translate-button visibility) strip it via
|
|
12
|
+
* toBaseLanguage, so both forms interoperate.
|
|
13
|
+
*
|
|
14
|
+
* Commented-out entries still have full string tables in i18n/strings.ts,
|
|
15
|
+
* they're just not offered to readers in the current deployment.
|
|
16
|
+
*/
|
|
3
17
|
export const LANGUAGE_OPTIONS = [{
|
|
4
18
|
name: 'English',
|
|
5
|
-
id: 'en'
|
|
19
|
+
id: 'en-CA'
|
|
6
20
|
}, {
|
|
7
|
-
name: '
|
|
8
|
-
id: 'es'
|
|
21
|
+
name: 'Español',
|
|
22
|
+
id: 'es-US'
|
|
9
23
|
}, {
|
|
10
|
-
name: '
|
|
11
|
-
id: '
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
id: 'zh'
|
|
18
|
-
}];
|
|
24
|
+
name: 'Français',
|
|
25
|
+
id: 'fr-CA'
|
|
26
|
+
}
|
|
27
|
+
// { name: 'Português', id: 'pt' },
|
|
28
|
+
// { name: 'Kreyòl ayisyen', id: 'ht' },
|
|
29
|
+
// { name: '中文', id: 'zh' },
|
|
30
|
+
];
|
|
19
31
|
//# sourceMappingURL=LANGUAGE_OPTIONS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LANGUAGE_OPTIONS","name","id"],"sourceRoot":"../../../../src","sources":["helpers/constants/LANGUAGE_OPTIONS.ts"],"mappings":";;AAOA,OAAO,MAAMA,gBAAkC,GAAG,CAChD;EAAEC,IAAI,EAAE,SAAS;EAAEC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"names":["LANGUAGE_OPTIONS","name","id"],"sourceRoot":"../../../../src","sources":["helpers/constants/LANGUAGE_OPTIONS.ts"],"mappings":";;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,gBAAkC,GAAG,CAChD;EAAEC,IAAI,EAAE,SAAS;EAAEC,EAAE,EAAE;AAAQ,CAAC,EAChC;EAAED,IAAI,EAAE,SAAS;EAAEC,EAAE,EAAE;AAAQ,CAAC,EAChC;EAAED,IAAI,EAAE,UAAU;EAAEC,EAAE,EAAE;AAAQ;AAChC;AACA;AACA;AAAA,CACD","ignoreList":[]}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Cache-only lookup. Returns the literal "Deleted User" as a MISS sentinel
|
|
5
|
+
* when `usersSet` has no entry for `userId` yet, callers that want a
|
|
6
|
+
* better fallback (e.g. resolveSenderDisplayName below) check for that
|
|
7
|
+
* exact string rather than treating it as a real name.
|
|
8
|
+
*/
|
|
3
9
|
export const createUserNameFromSetUser = (usersSet, userId) => {
|
|
4
10
|
const user = usersSet[userId];
|
|
5
11
|
if (!user) {
|
|
@@ -7,6 +13,48 @@ export const createUserNameFromSetUser = (usersSet, userId) => {
|
|
|
7
13
|
}
|
|
8
14
|
const firstName = user.firstName?.trim() || '';
|
|
9
15
|
const lastName = user.lastName?.trim() || '';
|
|
10
|
-
|
|
16
|
+
// REST-loaded members carry firstName/lastName; XMPP-roster-only
|
|
17
|
+
// members (no REST match yet) carry just the roster `name` attr —
|
|
18
|
+
// fall back to that before giving up and returning the raw id.
|
|
19
|
+
const bareName = user.name?.trim() || '';
|
|
20
|
+
return `${firstName} ${lastName}`.trim() || bareName || userId;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The sender's display name, resolved WITHOUT depending on `usersSet`
|
|
25
|
+
* having already been hydrated.
|
|
26
|
+
*
|
|
27
|
+
* `usersSet` is populated by a separate fetch (member list / presence) that
|
|
28
|
+
* can still be in flight when a message arrives, most reliably right after
|
|
29
|
+
* reconnect, when a burst of catch-up messages can land before that fetch
|
|
30
|
+
* resolves. A cache-only lookup shows the literal "Deleted User" for every
|
|
31
|
+
* one of those messages, even though the sender is very much not deleted.
|
|
32
|
+
* On mobile this is the common case, not the rare one: every return from
|
|
33
|
+
* background reconnects.
|
|
34
|
+
*
|
|
35
|
+
* The message itself already carries the sender's name on the wire: every
|
|
36
|
+
* client that sends through this SDK stamps `senderFirstName` /
|
|
37
|
+
* `senderLastName` / `fullName` onto the outgoing stanza's `<data>` element
|
|
38
|
+
* (see sendTextMessage.xmpp.ts / sendTextMessageWithTranslateTag.xmpp.ts),
|
|
39
|
+
* and createMessageFromXml spreads those onto the top-level message object.
|
|
40
|
+
* Preferring that over the cache removes the timing dependency entirely for
|
|
41
|
+
* the common case, and "Deleted User" becomes what it should have always
|
|
42
|
+
* been: a rare last resort, not "usersSet hasn't loaded yet".
|
|
43
|
+
*/
|
|
44
|
+
export const resolveSenderDisplayName = (message, usersSet) => {
|
|
45
|
+
const rawUserId = String(message?.user?.id || '');
|
|
46
|
+
const localUserId = rawUserId.split('@')[0];
|
|
47
|
+
const currentNameRaw = String(message?.user?.name || '').trim();
|
|
48
|
+
// A previously-resolved "Deleted User" is itself a miss sentinel, not a
|
|
49
|
+
// real name, don't let it short-circuit the fallback chain below.
|
|
50
|
+
const currentName = currentNameRaw === 'Deleted User' ? '' : currentNameRaw;
|
|
51
|
+
const dataFullName = String(message?.fullName || '').trim();
|
|
52
|
+
const dataFirst = String(message?.senderFirstName || '').trim();
|
|
53
|
+
const dataLast = String(message?.senderLastName || '').trim();
|
|
54
|
+
const composedFromData = dataFullName || `${dataFirst} ${dataLast}`.trim();
|
|
55
|
+
const usersSetName = createUserNameFromSetUser(usersSet, localUserId);
|
|
56
|
+
const usersSetNameAlt = createUserNameFromSetUser(usersSet, rawUserId);
|
|
57
|
+
const isUsersSetUseful = name => !!name && name !== 'Deleted User';
|
|
58
|
+
return currentName || isUsersSetUseful(usersSetName) && usersSetName || isUsersSetUseful(usersSetNameAlt) && usersSetNameAlt || composedFromData || localUserId || rawUserId || 'Deleted User';
|
|
11
59
|
};
|
|
12
60
|
//# sourceMappingURL=createUserNameFromSetUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createUserNameFromSetUser","usersSet","userId","user","firstName","trim","lastName"],"sourceRoot":"../../../src","sources":["helpers/createUserNameFromSetUser.ts"],"mappings":";;AAEA,OAAO,MAAMA,yBAAyB,GAAGA,CACvCC,QAAoC,EACpCC,MAAc,KACH;EACX,MAAMC,IAAI,GAAGF,QAAQ,CAACC,MAAM,CAAC;EAE7B,IAAI,CAACC,IAAI,EAAE;IAAC,OAAO,cAAc;EAAC;EAElC,MAAMC,SAAS,GAAGD,IAAI,CAACC,SAAS,EAAEC,IAAI,CAAC,CAAC,IAAI,EAAE;EAC9C,MAAMC,QAAQ,GAAGH,IAAI,CAACG,QAAQ,EAAED,IAAI,CAAC,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"names":["createUserNameFromSetUser","usersSet","userId","user","firstName","trim","lastName","bareName","name","resolveSenderDisplayName","message","rawUserId","String","id","localUserId","split","currentNameRaw","currentName","dataFullName","fullName","dataFirst","senderFirstName","dataLast","senderLastName","composedFromData","usersSetName","usersSetNameAlt","isUsersSetUseful"],"sourceRoot":"../../../src","sources":["helpers/createUserNameFromSetUser.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,yBAAyB,GAAGA,CACvCC,QAAoC,EACpCC,MAAc,KACH;EACX,MAAMC,IAAI,GAAGF,QAAQ,CAACC,MAAM,CAAC;EAE7B,IAAI,CAACC,IAAI,EAAE;IAAC,OAAO,cAAc;EAAC;EAElC,MAAMC,SAAS,GAAGD,IAAI,CAACC,SAAS,EAAEC,IAAI,CAAC,CAAC,IAAI,EAAE;EAC9C,MAAMC,QAAQ,GAAGH,IAAI,CAACG,QAAQ,EAAED,IAAI,CAAC,CAAC,IAAI,EAAE;EAC5C;EACA;EACA;EACA,MAAME,QAAQ,GAAGJ,IAAI,CAACK,IAAI,EAAEH,IAAI,CAAC,CAAC,IAAI,EAAE;EAExC,OAAO,GAAGD,SAAS,IAAIE,QAAQ,EAAE,CAACD,IAAI,CAAC,CAAC,IAAIE,QAAQ,IAAIL,MAAM;AAChE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,wBAAwB,GAAGA,CACtCC,OAIC,EACDT,QAAoC,KACzB;EACX,MAAMU,SAAS,GAAGC,MAAM,CAACF,OAAO,EAAEP,IAAI,EAAEU,EAAE,IAAI,EAAE,CAAC;EACjD,MAAMC,WAAW,GAAGH,SAAS,CAACI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAC3C,MAAMC,cAAc,GAAGJ,MAAM,CAACF,OAAO,EAAEP,IAAI,EAAEK,IAAI,IAAI,EAAE,CAAC,CAACH,IAAI,CAAC,CAAC;EAC/D;EACA;EACA,MAAMY,WAAW,GAAGD,cAAc,KAAK,cAAc,GAAG,EAAE,GAAGA,cAAc;EAE3E,MAAME,YAAY,GAAGN,MAAM,CAACF,OAAO,EAAES,QAAQ,IAAI,EAAE,CAAC,CAACd,IAAI,CAAC,CAAC;EAC3D,MAAMe,SAAS,GAAGR,MAAM,CAACF,OAAO,EAAEW,eAAe,IAAI,EAAE,CAAC,CAAChB,IAAI,CAAC,CAAC;EAC/D,MAAMiB,QAAQ,GAAGV,MAAM,CAACF,OAAO,EAAEa,cAAc,IAAI,EAAE,CAAC,CAAClB,IAAI,CAAC,CAAC;EAC7D,MAAMmB,gBAAgB,GAAGN,YAAY,IAAI,GAAGE,SAAS,IAAIE,QAAQ,EAAE,CAACjB,IAAI,CAAC,CAAC;EAE1E,MAAMoB,YAAY,GAAGzB,yBAAyB,CAACC,QAAQ,EAAEa,WAAW,CAAC;EACrE,MAAMY,eAAe,GAAG1B,yBAAyB,CAACC,QAAQ,EAAEU,SAAS,CAAC;EACtE,MAAMgB,gBAAgB,GAAInB,IAAY,IAAK,CAAC,CAACA,IAAI,IAAIA,IAAI,KAAK,cAAc;EAE5E,OACES,WAAW,IACVU,gBAAgB,CAACF,YAAY,CAAC,IAAIA,YAAa,IAC/CE,gBAAgB,CAACD,eAAe,CAAC,IAAIA,eAAgB,IACtDF,gBAAgB,IAChBV,WAAW,IACXH,SAAS,IACT,cAAc;AAElB,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { transformArrayToObject } from './transformTranslatations';
|
|
4
|
+
|
|
5
|
+
// Tolerant JSON parse: a malformed `translations` attr must not reject the
|
|
6
|
+
// whole stanza (which would silently drop the message). Mirrors the web
|
|
7
|
+
// SDK's safeJsonParse.
|
|
8
|
+
const safeJsonParse = (value, fallback) => {
|
|
9
|
+
if (typeof value !== 'string' || !value) {
|
|
10
|
+
return fallback;
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
return JSON.parse(value);
|
|
14
|
+
} catch {
|
|
15
|
+
return fallback;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// Keep only well-formed translation entries (drops partial/garbage items),
|
|
20
|
+
// same shape guard the web SDK applies before transformArrayToObject.
|
|
21
|
+
const normalizeTranslations = value => Array.isArray(value) ? value.filter(item => !!item && typeof item === 'object' && typeof item.translatedText === 'string' && typeof item.language === 'string' && typeof item.languageName === 'string') : [];
|
|
4
22
|
const extractTimestamp = (str, stanza) => {
|
|
5
23
|
if (!str) {
|
|
6
24
|
return null;
|
|
@@ -23,7 +41,8 @@ export const getDataFromXml = async stanza => {
|
|
|
23
41
|
}
|
|
24
42
|
const body = fullData?.getChild('body')?.getText() || undefined;
|
|
25
43
|
const deleted = !!fullData?.getChild('deleted');
|
|
26
|
-
const
|
|
44
|
+
const translationPayload = safeJsonParse(fullData?.getChild('translations')?.attrs?.value, {});
|
|
45
|
+
const translations = fullData?.getChild('translations')?.attrs?.value ? transformArrayToObject(normalizeTranslations(translationPayload.translates)) : undefined;
|
|
27
46
|
const langSource = fullData?.getChild('translate')?.attrs?.source;
|
|
28
47
|
const numericPart = /\d{13,}/.exec(id || '')?.[0];
|
|
29
48
|
const date = numericPart ? new Date(+numericPart.slice(0, 13)).toISOString() : new Date().toISOString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["transformArrayToObject","extractTimestamp","str","stanza","console","log","toString","timestamp","slice","getDataFromXml","fullData","getChild","xmppId","attrs","id","xmppFrom","from","roomJid","userWallet","split","Date","now","body","getText","undefined","deleted","
|
|
1
|
+
{"version":3,"names":["transformArrayToObject","safeJsonParse","value","fallback","JSON","parse","normalizeTranslations","Array","isArray","filter","item","translatedText","language","languageName","extractTimestamp","str","stanza","console","log","toString","timestamp","slice","getDataFromXml","fullData","getChild","xmppId","attrs","id","xmppFrom","from","roomJid","userWallet","split","Date","now","body","getText","undefined","deleted","translationPayload","translations","translates","langSource","source","numericPart","exec","date","toISOString","data","photoURL","photo","user","dataAttrs"],"sourceRoot":"../../../src","sources":["helpers/getDataFromXml.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { store } from '../roomStore';
|
|
4
|
+
import { setIncomingCallToken } from '../roomStore/callSlice';
|
|
5
|
+
import { isCallPush, parseCallPush } from './callPush';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Turn an incoming-call push into a ringing call.
|
|
9
|
+
*
|
|
10
|
+
* On mobile the XMPP socket dies whenever the OS backgrounds or kills the
|
|
11
|
+
* app, and the `call-token` stanza that normally opens the ring screen is
|
|
12
|
+
* lost with it. The backend also delivers the call as a data push, so this
|
|
13
|
+
* is the path every call takes when the app was not in the foreground.
|
|
14
|
+
*
|
|
15
|
+
* Returns true when the payload WAS a call push (whether or not it could
|
|
16
|
+
* be rung), so the caller knows to stop and not also show it as a chat
|
|
17
|
+
* notification. A user should never get a "new message: call-state" toast.
|
|
18
|
+
*/
|
|
19
|
+
export const handleCallPush = data => {
|
|
20
|
+
if (!isCallPush(data)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const parsed = parseCallPush(data);
|
|
24
|
+
const state = store.getState();
|
|
25
|
+
|
|
26
|
+
// Calls off in this deployment: swallow the push rather than ringing a
|
|
27
|
+
// screen the host never opted into.
|
|
28
|
+
if (state.chatSettingStore.config?.videoCalls?.enabled !== true) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Already ringing or in this exact call (the push raced the stanza, or
|
|
33
|
+
// two pushes arrived). Re-dispatching would reset startedAt and restart
|
|
34
|
+
// the ring, so leave the existing call alone.
|
|
35
|
+
const current = state.call;
|
|
36
|
+
if (current.phase !== 'idle') {
|
|
37
|
+
const sameCall = !!parsed.callId && parsed.callId === current.callId || !!parsed.roomBareName && parsed.roomBareName === current.roomBareName;
|
|
38
|
+
if (sameCall || current.phase === 'in-call') {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Without a LiveKit token there is nothing to accept: the push is only
|
|
44
|
+
// an alert. Ringing anyway would give the user an Accept button that
|
|
45
|
+
// cannot work, so treat it as handled and let the stanza (once the
|
|
46
|
+
// socket is back up) open the real ring screen.
|
|
47
|
+
if (!parsed.token) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Resolve the full room JID from the local room map. The push carries
|
|
52
|
+
// the bare name; callSlice and the hangup signal both want the JID.
|
|
53
|
+
const rooms = state.rooms.rooms || {};
|
|
54
|
+
const resolved = Object.values(rooms).find(room => (room?.jid || '').split('@')[0] === parsed.roomBareName || room?.jid === parsed.roomRef);
|
|
55
|
+
const roomJid = resolved?.jid || (parsed.roomRef && parsed.roomRef.includes('@') ? parsed.roomRef : '');
|
|
56
|
+
if (!roomJid) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
store.dispatch(setIncomingCallToken({
|
|
60
|
+
roomJid,
|
|
61
|
+
roomName: parsed.callerName || resolved?.name || null,
|
|
62
|
+
roomBareName: parsed.roomBareName,
|
|
63
|
+
token: parsed.token,
|
|
64
|
+
kind: parsed.kind,
|
|
65
|
+
callId: parsed.callId,
|
|
66
|
+
peerXmppUsername: parsed.callerXmppUsername
|
|
67
|
+
}));
|
|
68
|
+
return true;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=incomingCallFromPush.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["store","setIncomingCallToken","isCallPush","parseCallPush","handleCallPush","data","parsed","state","getState","chatSettingStore","config","videoCalls","enabled","current","call","phase","sameCall","callId","roomBareName","token","rooms","resolved","Object","values","find","room","jid","split","roomRef","roomJid","includes","dispatch","roomName","callerName","name","kind","peerXmppUsername","callerXmppUsername"],"sourceRoot":"../../../src","sources":["helpers/incomingCallFromPush.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AACpC,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,UAAU,EAAEC,aAAa,QAAQ,YAAY;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GACzBC,IAA4C,IAChC;EACZ,IAAI,CAACH,UAAU,CAACG,IAAI,CAAC,EAAE;IACrB,OAAO,KAAK;EACd;EAEA,MAAMC,MAAM,GAAGH,aAAa,CAACE,IAAI,CAAC;EAClC,MAAME,KAAK,GAAGP,KAAK,CAACQ,QAAQ,CAAC,CAAC;;EAE9B;EACA;EACA,IAAID,KAAK,CAACE,gBAAgB,CAACC,MAAM,EAAEC,UAAU,EAAEC,OAAO,KAAK,IAAI,EAAE;IAC/D,OAAO,IAAI;EACb;;EAEA;EACA;EACA;EACA,MAAMC,OAAO,GAAGN,KAAK,CAACO,IAAI;EAC1B,IAAID,OAAO,CAACE,KAAK,KAAK,MAAM,EAAE;IAC5B,MAAMC,QAAQ,GACX,CAAC,CAACV,MAAM,CAACW,MAAM,IAAIX,MAAM,CAACW,MAAM,KAAKJ,OAAO,CAACI,MAAM,IACnD,CAAC,CAACX,MAAM,CAACY,YAAY,IAAIZ,MAAM,CAACY,YAAY,KAAKL,OAAO,CAACK,YAAa;IACzE,IAAIF,QAAQ,IAAIH,OAAO,CAACE,KAAK,KAAK,SAAS,EAAE;MAC3C,OAAO,IAAI;IACb;EACF;;EAEA;EACA;EACA;EACA;EACA,IAAI,CAACT,MAAM,CAACa,KAAK,EAAE;IACjB,OAAO,IAAI;EACb;;EAEA;EACA;EACA,MAAMC,KAAK,GAAGb,KAAK,CAACa,KAAK,CAACA,KAAK,IAAI,CAAC,CAAC;EACrC,MAAMC,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACH,KAAK,CAAC,CAACI,IAAI,CACvCC,IAAS,IACR,CAACA,IAAI,EAAEC,GAAG,IAAI,EAAE,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAKrB,MAAM,CAACY,YAAY,IACvDO,IAAI,EAAEC,GAAG,KAAKpB,MAAM,CAACsB,OACzB,CAAgD;EAEhD,MAAMC,OAAO,GACXR,QAAQ,EAAEK,GAAG,KACZpB,MAAM,CAACsB,OAAO,IAAItB,MAAM,CAACsB,OAAO,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAGxB,MAAM,CAACsB,OAAO,GAAG,EAAE,CAAC;EACxE,IAAI,CAACC,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEA7B,KAAK,CAAC+B,QAAQ,CACZ9B,oBAAoB,CAAC;IACnB4B,OAAO;IACPG,QAAQ,EAAE1B,MAAM,CAAC2B,UAAU,IAAIZ,QAAQ,EAAEa,IAAI,IAAI,IAAI;IACrDhB,YAAY,EAAEZ,MAAM,CAACY,YAAY;IACjCC,KAAK,EAAEb,MAAM,CAACa,KAAK;IACnBgB,IAAI,EAAE7B,MAAM,CAAC6B,IAAI;IACjBlB,MAAM,EAAEX,MAAM,CAACW,MAAM;IACrBmB,gBAAgB,EAAE9B,MAAM,CAAC+B;EAC3B,CAAC,CACH,CAAC;EAED,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
|
|
@@ -52,6 +52,18 @@ export function insertMessageWithDelimiter(roomMessages, message, lastViewedTime
|
|
|
52
52
|
if (lastViewedTimestamp && !roomMessages.some(msg => msg.id === 'delimiter-new') && isDateAfter(newMessageDate.toString(), lastViewedTimestamp.toString())) {
|
|
53
53
|
const delimiterIndex = roomMessages.findIndex(msg => isDateAfter(msg.date?.toString() ?? '', lastViewedTimestamp.toString()));
|
|
54
54
|
if (delimiterIndex !== -1) {
|
|
55
|
+
// The divider's date is what ORDERS it: roomsSlice re-sorts every
|
|
56
|
+
// merged page by timestamp (see `byMs`), so a divider stamped with
|
|
57
|
+
// `new Date()` — i.e. now — sorted past every real message and
|
|
58
|
+
// rendered at the very bottom, BELOW the new messages it is
|
|
59
|
+
// supposed to introduce. Anchor it a hair before the first unread
|
|
60
|
+
// instead, which is where it belongs and where any later sort keeps
|
|
61
|
+
// it. Derived from that message rather than from
|
|
62
|
+
// lastViewedTimestamp so it works whatever format the caller passes.
|
|
63
|
+
const firstUnreadMs = Date.parse(String(roomMessages[delimiterIndex]?.date ?? ''));
|
|
64
|
+
const rawLastViewed = lastViewedTimestamp.toString();
|
|
65
|
+
const lastViewedMs = Date.parse(rawLastViewed) || Number(rawLastViewed) || Date.now();
|
|
66
|
+
const anchorMs = Number.isFinite(firstUnreadMs) ? firstUnreadMs - 1 : lastViewedMs;
|
|
55
67
|
roomMessages.splice(delimiterIndex, 0, {
|
|
56
68
|
id: 'delimiter-new',
|
|
57
69
|
user: {
|
|
@@ -60,7 +72,7 @@ export function insertMessageWithDelimiter(roomMessages, message, lastViewedTime
|
|
|
60
72
|
token: '',
|
|
61
73
|
refreshToken: ''
|
|
62
74
|
},
|
|
63
|
-
date: new Date().
|
|
75
|
+
date: new Date(anchorMs).toISOString(),
|
|
64
76
|
body: 'New Messages',
|
|
65
77
|
roomJid: ''
|
|
66
78
|
});
|