@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
|
@@ -5,6 +5,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getDataFromXml = void 0;
|
|
7
7
|
var _transformTranslatations = require("./transformTranslatations");
|
|
8
|
+
// Tolerant JSON parse: a malformed `translations` attr must not reject the
|
|
9
|
+
// whole stanza (which would silently drop the message). Mirrors the web
|
|
10
|
+
// SDK's safeJsonParse.
|
|
11
|
+
const safeJsonParse = (value, fallback) => {
|
|
12
|
+
if (typeof value !== 'string' || !value) {
|
|
13
|
+
return fallback;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
return JSON.parse(value);
|
|
17
|
+
} catch {
|
|
18
|
+
return fallback;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// Keep only well-formed translation entries (drops partial/garbage items),
|
|
23
|
+
// same shape guard the web SDK applies before transformArrayToObject.
|
|
24
|
+
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') : [];
|
|
8
25
|
const extractTimestamp = (str, stanza) => {
|
|
9
26
|
if (!str) {
|
|
10
27
|
return null;
|
|
@@ -27,7 +44,8 @@ const getDataFromXml = async stanza => {
|
|
|
27
44
|
}
|
|
28
45
|
const body = fullData?.getChild('body')?.getText() || undefined;
|
|
29
46
|
const deleted = !!fullData?.getChild('deleted');
|
|
30
|
-
const
|
|
47
|
+
const translationPayload = safeJsonParse(fullData?.getChild('translations')?.attrs?.value, {});
|
|
48
|
+
const translations = fullData?.getChild('translations')?.attrs?.value ? (0, _transformTranslatations.transformArrayToObject)(normalizeTranslations(translationPayload.translates)) : undefined;
|
|
31
49
|
const langSource = fullData?.getChild('translate')?.attrs?.source;
|
|
32
50
|
const numericPart = /\d{13,}/.exec(id || '')?.[0];
|
|
33
51
|
const date = numericPart ? new Date(+numericPart.slice(0, 13)).toISOString() : new Date().toISOString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_transformTranslatations","require","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":["_transformTranslatations","require","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","transformArrayToObject","translates","langSource","source","numericPart","exec","date","toISOString","data","photoURL","photo","user","dataAttrs","exports"],"sourceRoot":"../../../src","sources":["helpers/getDataFromXml.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.handleCallPush = void 0;
|
|
7
|
+
var _roomStore = require("../roomStore");
|
|
8
|
+
var _callSlice = require("../roomStore/callSlice");
|
|
9
|
+
var _callPush = require("./callPush");
|
|
10
|
+
/**
|
|
11
|
+
* Turn an incoming-call push into a ringing call.
|
|
12
|
+
*
|
|
13
|
+
* On mobile the XMPP socket dies whenever the OS backgrounds or kills the
|
|
14
|
+
* app, and the `call-token` stanza that normally opens the ring screen is
|
|
15
|
+
* lost with it. The backend also delivers the call as a data push, so this
|
|
16
|
+
* is the path every call takes when the app was not in the foreground.
|
|
17
|
+
*
|
|
18
|
+
* Returns true when the payload WAS a call push (whether or not it could
|
|
19
|
+
* be rung), so the caller knows to stop and not also show it as a chat
|
|
20
|
+
* notification. A user should never get a "new message: call-state" toast.
|
|
21
|
+
*/
|
|
22
|
+
const handleCallPush = data => {
|
|
23
|
+
if (!(0, _callPush.isCallPush)(data)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const parsed = (0, _callPush.parseCallPush)(data);
|
|
27
|
+
const state = _roomStore.store.getState();
|
|
28
|
+
|
|
29
|
+
// Calls off in this deployment: swallow the push rather than ringing a
|
|
30
|
+
// screen the host never opted into.
|
|
31
|
+
if (state.chatSettingStore.config?.videoCalls?.enabled !== true) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Already ringing or in this exact call (the push raced the stanza, or
|
|
36
|
+
// two pushes arrived). Re-dispatching would reset startedAt and restart
|
|
37
|
+
// the ring, so leave the existing call alone.
|
|
38
|
+
const current = state.call;
|
|
39
|
+
if (current.phase !== 'idle') {
|
|
40
|
+
const sameCall = !!parsed.callId && parsed.callId === current.callId || !!parsed.roomBareName && parsed.roomBareName === current.roomBareName;
|
|
41
|
+
if (sameCall || current.phase === 'in-call') {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Without a LiveKit token there is nothing to accept: the push is only
|
|
47
|
+
// an alert. Ringing anyway would give the user an Accept button that
|
|
48
|
+
// cannot work, so treat it as handled and let the stanza (once the
|
|
49
|
+
// socket is back up) open the real ring screen.
|
|
50
|
+
if (!parsed.token) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Resolve the full room JID from the local room map. The push carries
|
|
55
|
+
// the bare name; callSlice and the hangup signal both want the JID.
|
|
56
|
+
const rooms = state.rooms.rooms || {};
|
|
57
|
+
const resolved = Object.values(rooms).find(room => (room?.jid || '').split('@')[0] === parsed.roomBareName || room?.jid === parsed.roomRef);
|
|
58
|
+
const roomJid = resolved?.jid || (parsed.roomRef && parsed.roomRef.includes('@') ? parsed.roomRef : '');
|
|
59
|
+
if (!roomJid) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
_roomStore.store.dispatch((0, _callSlice.setIncomingCallToken)({
|
|
63
|
+
roomJid,
|
|
64
|
+
roomName: parsed.callerName || resolved?.name || null,
|
|
65
|
+
roomBareName: parsed.roomBareName,
|
|
66
|
+
token: parsed.token,
|
|
67
|
+
kind: parsed.kind,
|
|
68
|
+
callId: parsed.callId,
|
|
69
|
+
peerXmppUsername: parsed.callerXmppUsername
|
|
70
|
+
}));
|
|
71
|
+
return true;
|
|
72
|
+
};
|
|
73
|
+
exports.handleCallPush = handleCallPush;
|
|
74
|
+
//# sourceMappingURL=incomingCallFromPush.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_roomStore","require","_callSlice","_callPush","handleCallPush","data","isCallPush","parsed","parseCallPush","state","store","getState","chatSettingStore","config","videoCalls","enabled","current","call","phase","sameCall","callId","roomBareName","token","rooms","resolved","Object","values","find","room","jid","split","roomRef","roomJid","includes","dispatch","setIncomingCallToken","roomName","callerName","name","kind","peerXmppUsername","callerXmppUsername","exports"],"sourceRoot":"../../../src","sources":["helpers/incomingCallFromPush.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,cAAc,GACzBC,IAA4C,IAChC;EACZ,IAAI,CAAC,IAAAC,oBAAU,EAACD,IAAI,CAAC,EAAE;IACrB,OAAO,KAAK;EACd;EAEA,MAAME,MAAM,GAAG,IAAAC,uBAAa,EAACH,IAAI,CAAC;EAClC,MAAMI,KAAK,GAAGC,gBAAK,CAACC,QAAQ,CAAC,CAAC;;EAE9B;EACA;EACA,IAAIF,KAAK,CAACG,gBAAgB,CAACC,MAAM,EAAEC,UAAU,EAAEC,OAAO,KAAK,IAAI,EAAE;IAC/D,OAAO,IAAI;EACb;;EAEA;EACA;EACA;EACA,MAAMC,OAAO,GAAGP,KAAK,CAACQ,IAAI;EAC1B,IAAID,OAAO,CAACE,KAAK,KAAK,MAAM,EAAE;IAC5B,MAAMC,QAAQ,GACX,CAAC,CAACZ,MAAM,CAACa,MAAM,IAAIb,MAAM,CAACa,MAAM,KAAKJ,OAAO,CAACI,MAAM,IACnD,CAAC,CAACb,MAAM,CAACc,YAAY,IAAId,MAAM,CAACc,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,CAACX,MAAM,CAACe,KAAK,EAAE;IACjB,OAAO,IAAI;EACb;;EAEA;EACA;EACA,MAAMC,KAAK,GAAGd,KAAK,CAACc,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,KAAKvB,MAAM,CAACc,YAAY,IACvDO,IAAI,EAAEC,GAAG,KAAKtB,MAAM,CAACwB,OACzB,CAAgD;EAEhD,MAAMC,OAAO,GACXR,QAAQ,EAAEK,GAAG,KACZtB,MAAM,CAACwB,OAAO,IAAIxB,MAAM,CAACwB,OAAO,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAG1B,MAAM,CAACwB,OAAO,GAAG,EAAE,CAAC;EACxE,IAAI,CAACC,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEAtB,gBAAK,CAACwB,QAAQ,CACZ,IAAAC,+BAAoB,EAAC;IACnBH,OAAO;IACPI,QAAQ,EAAE7B,MAAM,CAAC8B,UAAU,IAAIb,QAAQ,EAAEc,IAAI,IAAI,IAAI;IACrDjB,YAAY,EAAEd,MAAM,CAACc,YAAY;IACjCC,KAAK,EAAEf,MAAM,CAACe,KAAK;IACnBiB,IAAI,EAAEhC,MAAM,CAACgC,IAAI;IACjBnB,MAAM,EAAEb,MAAM,CAACa,MAAM;IACrBoB,gBAAgB,EAAEjC,MAAM,CAACkC;EAC3B,CAAC,CACH,CAAC;EAED,OAAO,IAAI;AACb,CAAC;AAACC,OAAA,CAAAtC,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -56,6 +56,18 @@ function insertMessageWithDelimiter(roomMessages, message, lastViewedTimestamp)
|
|
|
56
56
|
if (lastViewedTimestamp && !roomMessages.some(msg => msg.id === 'delimiter-new') && (0, _dateComparison.isDateAfter)(newMessageDate.toString(), lastViewedTimestamp.toString())) {
|
|
57
57
|
const delimiterIndex = roomMessages.findIndex(msg => (0, _dateComparison.isDateAfter)(msg.date?.toString() ?? '', lastViewedTimestamp.toString()));
|
|
58
58
|
if (delimiterIndex !== -1) {
|
|
59
|
+
// The divider's date is what ORDERS it: roomsSlice re-sorts every
|
|
60
|
+
// merged page by timestamp (see `byMs`), so a divider stamped with
|
|
61
|
+
// `new Date()` — i.e. now — sorted past every real message and
|
|
62
|
+
// rendered at the very bottom, BELOW the new messages it is
|
|
63
|
+
// supposed to introduce. Anchor it a hair before the first unread
|
|
64
|
+
// instead, which is where it belongs and where any later sort keeps
|
|
65
|
+
// it. Derived from that message rather than from
|
|
66
|
+
// lastViewedTimestamp so it works whatever format the caller passes.
|
|
67
|
+
const firstUnreadMs = Date.parse(String(roomMessages[delimiterIndex]?.date ?? ''));
|
|
68
|
+
const rawLastViewed = lastViewedTimestamp.toString();
|
|
69
|
+
const lastViewedMs = Date.parse(rawLastViewed) || Number(rawLastViewed) || Date.now();
|
|
70
|
+
const anchorMs = Number.isFinite(firstUnreadMs) ? firstUnreadMs - 1 : lastViewedMs;
|
|
59
71
|
roomMessages.splice(delimiterIndex, 0, {
|
|
60
72
|
id: 'delimiter-new',
|
|
61
73
|
user: {
|
|
@@ -64,7 +76,7 @@ function insertMessageWithDelimiter(roomMessages, message, lastViewedTimestamp)
|
|
|
64
76
|
token: '',
|
|
65
77
|
refreshToken: ''
|
|
66
78
|
},
|
|
67
|
-
date: new Date().
|
|
79
|
+
date: new Date(anchorMs).toISOString(),
|
|
68
80
|
body: 'New Messages',
|
|
69
81
|
roomJid: ''
|
|
70
82
|
});
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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","firstUnreadMs","Date","parse","String","rawLastViewed","lastViewedMs","Number","now","anchorMs","isFinite","splice","name","undefined","token","refreshToken","toISOString","body","roomJid","isDateBefore","unshift","i"],"sourceRoot":"../../../src","sources":["helpers/insertMessageWithDelimiter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isUnresolvedSenderId = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Whether a resolved sender "name" is really just an unresolved id.
|
|
9
|
+
*
|
|
10
|
+
* The name chain ends at the sender's JID localpart when `usersSet` has no
|
|
11
|
+
* entry and the wire carried no name. For a real member that never happens
|
|
12
|
+
* for long — the REST roster fills the cache in. But some senders are not
|
|
13
|
+
* members at all: a broadcast posted by the app itself arrives with the
|
|
14
|
+
* ROOM's own id as its occupant resource (e.g.
|
|
15
|
+
* `646cc8dc96d4a4dc8f7b2f2d_67f6823cf5995841ba431f06`), so no roster will
|
|
16
|
+
* ever resolve it and the bubble ends up captioned with 50 characters of
|
|
17
|
+
* hex.
|
|
18
|
+
*
|
|
19
|
+
* Ethora ids are `<24-hex appId>_<24-hex objectId>`, which is what this
|
|
20
|
+
* matches. A raw objectId on its own is matched too, since some senders
|
|
21
|
+
* carry only that half.
|
|
22
|
+
*/
|
|
23
|
+
const ETHORA_ID = /^[0-9a-f]{24}(_[0-9a-f]{24})?$/i;
|
|
24
|
+
const isUnresolvedSenderId = name => {
|
|
25
|
+
const trimmed = String(name || '').trim();
|
|
26
|
+
if (!trimmed) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return ETHORA_ID.test(trimmed);
|
|
30
|
+
};
|
|
31
|
+
exports.isUnresolvedSenderId = isUnresolvedSenderId;
|
|
32
|
+
//# sourceMappingURL=isUnresolvedSenderId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ETHORA_ID","isUnresolvedSenderId","name","trimmed","String","trim","test","exports"],"sourceRoot":"../../../src","sources":["helpers/isUnresolvedSenderId.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,SAAS,GAAG,iCAAiC;AAE5C,MAAMC,oBAAoB,GAAIC,IAAa,IAAc;EAC9D,MAAMC,OAAO,GAAGC,MAAM,CAACF,IAAI,IAAI,EAAE,CAAC,CAACG,IAAI,CAAC,CAAC;EACzC,IAAI,CAACF,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EACA,OAAOH,SAAS,CAACM,IAAI,CAACH,OAAO,CAAC;AAChC,CAAC;AAACI,OAAA,CAAAN,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ const useChatSettingState = () => {
|
|
|
14
14
|
const selectedUser = (0, _reactRedux.useSelector)(state => state.chatSettingStore.selectedUser);
|
|
15
15
|
const langSource = (0, _reactRedux.useSelector)(state => state.chatSettingStore.langSource);
|
|
16
16
|
const client = (0, _reactRedux.useSelector)(state => state.chatSettingStore.client);
|
|
17
|
+
const translateMode = (0, _reactRedux.useSelector)(state => state.chatSettingStore.translateMode);
|
|
17
18
|
return {
|
|
18
19
|
user,
|
|
19
20
|
activeFile,
|
|
@@ -22,6 +23,7 @@ const useChatSettingState = () => {
|
|
|
22
23
|
deleteModal,
|
|
23
24
|
selectedUser,
|
|
24
25
|
langSource,
|
|
26
|
+
translateMode,
|
|
25
27
|
client
|
|
26
28
|
};
|
|
27
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactRedux","require","useChatSettingState","user","useSelector","state","chatSettingStore","activeFile","activeModal","config","deleteModal","selectedUser","langSource","client","exports"],"sourceRoot":"../../../src","sources":["hooks/useChatSettingState.tsx"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGO,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,IAAI,GAAG,IAAAC,uBAAW,EAAEC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACH,IAAI,CAAC;EAC3E,MAAMI,UAAU,GAAG,IAAAH,uBAAW,EAC3BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACC,UAC/C,CAAC;EACD,MAAMC,WAAW,GAAG,IAAAJ,uBAAW,EAC5BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACE,WAC/C,CAAC;EACD,MAAMC,MAAM,GAAG,IAAAL,uBAAW,EACvBC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACG,MAC/C,CAAC;EACD,MAAMC,WAAW,GAAG,IAAAN,uBAAW,EAC5BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACI,WAC/C,CAAC;EACD,MAAMC,YAAY,GAAG,IAAAP,uBAAW,EAC7BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACK,YAC/C,CAAC;EACD,MAAMC,UAAU,GAAG,IAAAR,uBAAW,EAC3BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACM,UAC/C,CAAC;EACD,MAAMC,MAAM,GAAG,IAAAT,uBAAW,EACvBC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACO,MAC/C,CAAC;EAED,OAAO;
|
|
1
|
+
{"version":3,"names":["_reactRedux","require","useChatSettingState","user","useSelector","state","chatSettingStore","activeFile","activeModal","config","deleteModal","selectedUser","langSource","client","translateMode","exports"],"sourceRoot":"../../../src","sources":["hooks/useChatSettingState.tsx"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGO,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,IAAI,GAAG,IAAAC,uBAAW,EAAEC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACH,IAAI,CAAC;EAC3E,MAAMI,UAAU,GAAG,IAAAH,uBAAW,EAC3BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACC,UAC/C,CAAC;EACD,MAAMC,WAAW,GAAG,IAAAJ,uBAAW,EAC5BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACE,WAC/C,CAAC;EACD,MAAMC,MAAM,GAAG,IAAAL,uBAAW,EACvBC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACG,MAC/C,CAAC;EACD,MAAMC,WAAW,GAAG,IAAAN,uBAAW,EAC5BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACI,WAC/C,CAAC;EACD,MAAMC,YAAY,GAAG,IAAAP,uBAAW,EAC7BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACK,YAC/C,CAAC;EACD,MAAMC,UAAU,GAAG,IAAAR,uBAAW,EAC3BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACM,UAC/C,CAAC;EACD,MAAMC,MAAM,GAAG,IAAAT,uBAAW,EACvBC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACO,MAC/C,CAAC;EACD,MAAMC,aAAa,GAAG,IAAAV,uBAAW,EAC9BC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACQ,aAC/C,CAAC;EAED,OAAO;IACLX,IAAI;IACJI,UAAU;IACVC,WAAW;IACXC,MAAM;IACNC,WAAW;IACXC,YAAY;IACZC,UAAU;IACVE,aAAa;IACbD;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAb,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useMessageTranslation = void 0;
|
|
7
|
+
var _strings = require("../i18n/strings");
|
|
8
|
+
// "42", "+1 (555) 123-4567", "3.14159" — text with no actual letters has
|
|
9
|
+
// nothing to translate.
|
|
10
|
+
const hasNoLetters = text => !/\p{L}/u.test(text);
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Translation for ONE message, into the reader's language only. Ported
|
|
14
|
+
* verbatim from the web SDK (src/hooks/useMessageTranslation.ts).
|
|
15
|
+
*
|
|
16
|
+
* Pure and synchronous — no HTTP call. Every translation this client ever
|
|
17
|
+
* shows arrives over XMPP already: the sender tags outgoing messages with
|
|
18
|
+
* `<translate source="xx"/>` (see sendTextMessageWithTranslateTag) and
|
|
19
|
+
* whatever process attaches actual translations does so server-side,
|
|
20
|
+
* landing on `message.translations` when the stanza is parsed (see
|
|
21
|
+
* getDataFromXml). This function only ever reads that — it never calls a
|
|
22
|
+
* translation service itself, so there's nothing to fail when one isn't
|
|
23
|
+
* reachable, and nothing to await.
|
|
24
|
+
*/
|
|
25
|
+
const useMessageTranslation = (message, readerLocale, enabled = true) => {
|
|
26
|
+
const originalText = message?.body || '';
|
|
27
|
+
const source = message?.langSource;
|
|
28
|
+
const targetBase = (0, _strings.toBaseLanguage)(readerLocale || 'en');
|
|
29
|
+
const sourceBase = (0, _strings.toBaseLanguage)(source);
|
|
30
|
+
|
|
31
|
+
// Nothing to do when we don't know the source language, the message is
|
|
32
|
+
// already in the reader's language (region ignored: en-US vs en-CA is the
|
|
33
|
+
// same language, not a translation job), or there's no actual text to
|
|
34
|
+
// translate (a bare number, a phone number, an emoji-only reaction).
|
|
35
|
+
const trimmedText = originalText.trim();
|
|
36
|
+
const needsTranslation = enabled && !!trimmedText && !!source && sourceBase !== targetBase && !hasNoLetters(trimmedText);
|
|
37
|
+
const result = needsTranslation ? message?.translations?.[readerLocale || '']?.translatedText || message?.translations?.[targetBase]?.translatedText : undefined;
|
|
38
|
+
|
|
39
|
+
// A "translation" that's byte-identical to the original (mistagged
|
|
40
|
+
// langSource, a no-op from the source, matching proper nouns/numbers in
|
|
41
|
+
// otherwise-different text) is worse than nothing: it renders the same
|
|
42
|
+
// sentence twice. Treat identical-after-trim as "nothing to show".
|
|
43
|
+
const isRealTranslation = !!result && result.trim() !== originalText.trim();
|
|
44
|
+
return {
|
|
45
|
+
hasTranslation: isRealTranslation,
|
|
46
|
+
originalText,
|
|
47
|
+
displayText: isRealTranslation ? result : originalText
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
exports.useMessageTranslation = useMessageTranslation;
|
|
51
|
+
//# sourceMappingURL=useMessageTranslation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_strings","require","hasNoLetters","text","test","useMessageTranslation","message","readerLocale","enabled","originalText","body","source","langSource","targetBase","toBaseLanguage","sourceBase","trimmedText","trim","needsTranslation","result","translations","translatedText","undefined","isRealTranslation","hasTranslation","displayText","exports"],"sourceRoot":"../../../src","sources":["hooks/useMessageTranslation.ts"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAYA;AACA;AACA,MAAMC,YAAY,GAAIC,IAAY,IAAc,CAAC,QAAQ,CAACC,IAAI,CAACD,IAAI,CAAC;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,qBAAqB,GAAGA,CACnCC,OAA+D,EAC/DC,YAAqB,EACrBC,OAAO,GAAG,IAAI,KACc;EAC5B,MAAMC,YAAY,GAAGH,OAAO,EAAEI,IAAI,IAAI,EAAE;EACxC,MAAMC,MAAM,GAAGL,OAAO,EAAEM,UAAU;EAClC,MAAMC,UAAU,GAAG,IAAAC,uBAAc,EAACP,YAAY,IAAI,IAAI,CAAC;EACvD,MAAMQ,UAAU,GAAG,IAAAD,uBAAc,EAACH,MAAM,CAAC;;EAEzC;EACA;EACA;EACA;EACA,MAAMK,WAAW,GAAGP,YAAY,CAACQ,IAAI,CAAC,CAAC;EACvC,MAAMC,gBAAgB,GACpBV,OAAO,IACP,CAAC,CAACQ,WAAW,IACb,CAAC,CAACL,MAAM,IACRI,UAAU,KAAKF,UAAU,IACzB,CAACX,YAAY,CAACc,WAAW,CAAC;EAE5B,MAAMG,MAAM,GAAGD,gBAAgB,GAC3BZ,OAAO,EAAEc,YAAY,GAAGb,YAAY,IAAI,EAAE,CAAC,EAAEc,cAAc,IAC3Df,OAAO,EAAEc,YAAY,GAAGP,UAAU,CAAC,EAAEQ,cAAc,GACnDC,SAAS;;EAEb;EACA;EACA;EACA;EACA,MAAMC,iBAAiB,GACrB,CAAC,CAACJ,MAAM,IAAIA,MAAM,CAACF,IAAI,CAAC,CAAC,KAAKR,YAAY,CAACQ,IAAI,CAAC,CAAC;EAEnD,OAAO;IACLO,cAAc,EAAED,iBAAiB;IACjCd,YAAY;IACZgB,WAAW,EAAEF,iBAAiB,GAAIJ,MAAM,GAAcV;EACxD,CAAC;AACH,CAAC;AAACiB,OAAA,CAAArB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ var _pushSubscriptionService = require("../services/pushSubscriptionService");
|
|
|
11
11
|
var _reactRedux = require("react-redux");
|
|
12
12
|
var _useLocalStorage = require("./useLocalStorage");
|
|
13
13
|
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
14
|
+
var _incomingCallFromPush = require("../helpers/incomingCallFromPush");
|
|
14
15
|
function usePushNotifications() {
|
|
15
16
|
const [fcmToken, setFcmToken] = (0, _react.useState)(null);
|
|
16
17
|
const [notification, setNotification] = (0, _react.useState)(null);
|
|
@@ -25,7 +26,11 @@ function usePushNotifications() {
|
|
|
25
26
|
get
|
|
26
27
|
} = (0, _useLocalStorage.useLocalStorage)('fcmToken');
|
|
27
28
|
const handleNotificationPress = remoteMessage => {
|
|
28
|
-
|
|
29
|
+
// Tapping a call notification (or launching the app from one) should
|
|
30
|
+
// land on the ring screen, not on the chat room.
|
|
31
|
+
if ((0, _incomingCallFromPush.handleCallPush)(remoteMessage?.data)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
29
34
|
const jid = remoteMessage?.data?.jid || remoteMessage?.data?.chatJid || remoteMessage?.jid;
|
|
30
35
|
if (jid) {
|
|
31
36
|
dispatch((0, _roomsSlice.setPendingNotificationJid)(jid));
|
|
@@ -54,10 +59,15 @@ function usePushNotifications() {
|
|
|
54
59
|
// synchronous throw before the try-block ran would still leak.
|
|
55
60
|
initToken().catch(err => console.warn('[usePushNotifications] initToken rejected', err));
|
|
56
61
|
const unsubscribeForeground = (0, _pushNotifications.onForegroundMessage)(message => {
|
|
62
|
+
// Calls first: a call push must open the ring screen, never an
|
|
63
|
+
// "OK / Open" alert. handleCallPush returns true for anything
|
|
64
|
+
// call-shaped, so we bail before the chat-notification path.
|
|
65
|
+
if ((0, _incomingCallFromPush.handleCallPush)(message?.data)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
57
68
|
setNotification(message);
|
|
58
69
|
const {
|
|
59
|
-
notification: notif
|
|
60
|
-
data
|
|
70
|
+
notification: notif
|
|
61
71
|
} = message;
|
|
62
72
|
if (notif) {
|
|
63
73
|
_reactNative.Alert.alert(notif.title || 'Notification', notif.body || '', [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_pushNotifications","_pushSubscriptionService","_reactRedux","_useLocalStorage","_roomsSlice","usePushNotifications","fcmToken","setFcmToken","useState","notification","setNotification","user","config","useSelector","state","chatSettingStore","rooms","dispatch","useDispatch","set","get","useLocalStorage","handleNotificationPress","remoteMessage","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_pushNotifications","_pushSubscriptionService","_reactRedux","_useLocalStorage","_roomsSlice","_incomingCallFromPush","usePushNotifications","fcmToken","setFcmToken","useState","notification","setNotification","user","config","useSelector","state","chatSettingStore","rooms","dispatch","useDispatch","set","get","useLocalStorage","handleNotificationPress","remoteMessage","handleCallPush","data","jid","chatJid","setPendingNotificationJid","console","warn","initToken","token","newToken","initPushNotifications","error","useEffect","catch","err","unsubscribeForeground","onForegroundMessage","message","notif","Alert","alert","title","body","text","onPress","unsubscribeOpened","onNotificationOpenedApp","log","JSON","stringify","getInitialNotification","then","xmppPassword","defaultWallet","walletAddress","pushSubscriptionService","subscribeToPush","projectName"],"sourceRoot":"../../../src","sources":["hooks/usePushNotifications.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -68,6 +68,12 @@ const useSendMessage = _configOverride => {
|
|
|
68
68
|
// rerenders on every redux update.
|
|
69
69
|
const user = (0, _reactRedux.useSelector)(state => state.chatSettingStore.user);
|
|
70
70
|
const config = (0, _reactRedux.useSelector)(state => state.chatSettingStore.config);
|
|
71
|
+
// The sender's own language, driven by the header globe picker (or the
|
|
72
|
+
// host via config.translates.readerLocale). Declared on every outgoing
|
|
73
|
+
// message as `<translate source>` so the backend can translate it for
|
|
74
|
+
// readers in other languages (see sendTextMessageWithTranslateTagStanza).
|
|
75
|
+
// Mirrors the web SDK, which always sends through the translate-tag path.
|
|
76
|
+
const langSource = (0, _reactRedux.useSelector)(state => state.chatSettingStore.langSource);
|
|
71
77
|
const editAction = (0, _reactRedux.useSelector)(state => state.rooms.editAction);
|
|
72
78
|
const rooms = (0, _reactRedux.useSelector)(state => state.rooms.rooms);
|
|
73
79
|
const {
|
|
@@ -126,6 +132,10 @@ const useSendMessage = _configOverride => {
|
|
|
126
132
|
date: optimisticDate,
|
|
127
133
|
pending: true,
|
|
128
134
|
isDeleted: false,
|
|
135
|
+
// Declare the sender's language on their own optimistic bubble so
|
|
136
|
+
// manual-mode readers see the Translate link on it too (parity with
|
|
137
|
+
// the web SDK, which stamps langSource on the optimistic message).
|
|
138
|
+
langSource: langSource || 'en',
|
|
129
139
|
user: {
|
|
130
140
|
...user,
|
|
131
141
|
id: selfId,
|
|
@@ -177,7 +187,7 @@ const useSendMessage = _configOverride => {
|
|
|
177
187
|
// means the server echoes it back with the same value, so the
|
|
178
188
|
// reducer's dedupe matches and the bubble flips pending → delivered
|
|
179
189
|
// in-place (rather than rendering a second copy).
|
|
180
|
-
const replaySend = c => c.
|
|
190
|
+
const replaySend = c => c.sendTextMessageWithTranslateTagStanza(activeRoomJID, user.firstName, user.lastName, '', user.walletAddress, message, '', isReply || false, isChecked || false, mainMessage || '', langSource || 'en', optimisticId);
|
|
181
191
|
|
|
182
192
|
// Always buffer a copy BEFORE attempting the live send. The WebSocket
|
|
183
193
|
// can still read `status: 'online'` for a beat after the network
|
|
@@ -236,7 +246,7 @@ const useSendMessage = _configOverride => {
|
|
|
236
246
|
messageType: 'text'
|
|
237
247
|
});
|
|
238
248
|
}
|
|
239
|
-
}, [editAction, client, user, dispatch, handleMessageSent, handleMessageEdited, handleMessageFailed, reduxStore]);
|
|
249
|
+
}, [editAction, client, user, langSource, dispatch, handleMessageSent, handleMessageEdited, handleMessageFailed, reduxStore]);
|
|
240
250
|
const sendMedia = (0, _react.useCallback)(async (data, type, activeRoomJID, isReply = false, isChecked = false, mainMessage = '', existingId) => {
|
|
241
251
|
client?.onCriticalSend?.(activeRoomJID);
|
|
242
252
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_uuid","_xmppProvider","_reactRedux","_roomsSlice","_roomHeapSlice","_auth","_outboundQueue","_roomStore","_clientRegistry","_useEventHandlers","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","useXmppClient","dispatch","useDispatch","reduxStore","useStore","user","useSelector","state","chatSettingStore","config","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","useEventHandlers","failedMessages","roomHeapSlice","sendMessage","useCallback","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","setEditAction","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","addRoomMessage","watchdogTimer","setTimeout","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","console","warn","markMessageFailed","kind","Error","replaySend","c","enqueueOutboundSend","enqueuedAt","send","effectiveClient","getGlobalXmppClient","store","status","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","uuidv4","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","addMessageToHeap","mediaWatchdog","fileBlob","mimeType","tryUpload","fd","FormData","append","uploadFileViaFetch","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","Platform","OS","platformVersion","Version","retryMessage","failedId","payload","clearMessageFailure","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last","exports"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_uuid","_xmppProvider","_reactRedux","_roomsSlice","_roomHeapSlice","_auth","_outboundQueue","_roomStore","_clientRegistry","_useEventHandlers","PENDING_WATCHDOG_MS","MEDIA_PENDING_WATCHDOG_MS","__sendIdSeq","nextStanzaId","prefix","Date","now","MAX_MEDIA_BYTES","useSendMessage","_configOverride","client","useXmppClient","dispatch","useDispatch","reduxStore","useStore","user","useSelector","state","chatSettingStore","config","langSource","editAction","rooms","handleMessageSent","handleMessageFailed","handleMessageEdited","handleMessageRetry","useEventHandlers","failedMessages","roomHeapSlice","sendMessage","useCallback","message","activeRoomJID","isReply","isChecked","mainMessage","existingId","isEdit","editMessageStanza","roomJid","messageId","newMessage","roomJID","error","messageType","setEditAction","onCriticalSend","optimisticId","optimisticDate","toISOString","selfId","xmppUsername","walletAddress","optimisticMessage","id","xmppId","body","date","pending","isDeleted","name","firstName","lastName","trim","disableSentLogic","addRoomMessage","watchdogTimer","setTimeout","getState","roomMsgs","messages","stillPending","find","m","alreadyFailed","console","warn","markMessageFailed","kind","Error","replaySend","c","sendTextMessageWithTranslateTagStanza","enqueueOutboundSend","enqueuedAt","send","effectiveClient","getGlobalXmppClient","store","status","anyClient","forceReconnect","ensureStreamAlive","clearTimeout","sendMedia","data","type","size","uuidv4","optimisticTimestamp","displayName","fileSizeStr","String","normalizedFileUri","uri","replace","messageTimestampMs","xmppFrom","isSystemMessage","isMediafile","fileName","location","locationPreview","mimetype","originalName","showInChannel","addMessageToHeap","mediaWatchdog","fileBlob","mimeType","tryUpload","fd","FormData","append","uploadFileViaFetch","err","response","fd2","item","results","messagePayload","createdAt","expiresAt","filename","isVisible","originalname","ownerKey","duration","updatedAt","userId","attachmentId","_id","wrappable","isPrivate","__v","effectiveMediaClient","setActiveRoomJid","Promise","resolve","prioritizeRoomPresence","catch","sendMediaMessageStanza","anyMediaClient","ttlMs","metadata","fileData","fileType","uploadResults","uriStr","uriScheme","match","statusText","serverBody","requestUrl","url","axiosMessage","axiosCode","code","axiosCauseMessage","cause","mime","fileSizeBytes","platformOS","Platform","OS","platformVersion","Version","retryMessage","failedId","payload","clearMessageFailure","sendEditMessage","_activeRoomJID","isLastMessageFromUserAndProcessing","msgs","length","last","exports"],"sourceRoot":"../../../src","sources":["hooks/useSendMessage.tsx"],"mappings":"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","ignoreList":[]}
|