@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
|
@@ -12,6 +12,89 @@ import { insertMessageWithDelimiter } from '../helpers/insertMessageWithDelimite
|
|
|
12
12
|
// page backward arbitrarily far without instantly losing what they
|
|
13
13
|
// just fetched. After cap eviction we drop from the head (oldest).
|
|
14
14
|
const RUNTIME_MESSAGE_LIMIT = 100;
|
|
15
|
+
|
|
16
|
+
// Body strings the server uses for call signaling broadcasts (call-token,
|
|
17
|
+
// call-state ringing/ended, etc). These should never reach the chat
|
|
18
|
+
// transcript or the room-list "last message" preview, they're control
|
|
19
|
+
// frames, not user-visible content. The XMPP handler (onCallTokenMessage)
|
|
20
|
+
// already swallows them in the live stream, but they can still arrive via
|
|
21
|
+
// MAM history, mucsub catchup, or be present in persisted state from
|
|
22
|
+
// before that filter existed. Drop them at the reducer boundary so the
|
|
23
|
+
// transcript stays clean regardless of source.
|
|
24
|
+
const CALL_SIGNAL_BODIES = new Set(['call-token', 'call-state', 'call-ringing', 'call-ended', 'call-declined', 'call-cancelled', 'call-canceled', 'call-timeout', 'call-rejected', 'call-invite']);
|
|
25
|
+
const isCallSignalMessage = message => {
|
|
26
|
+
if (!message) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const body = String(message.body || '').trim().toLowerCase();
|
|
30
|
+
return CALL_SIGNAL_BODIES.has(body);
|
|
31
|
+
};
|
|
32
|
+
const stripCallSignals = messages => Array.isArray(messages) ? messages.filter(message => !isCallSignalMessage(message)) : [];
|
|
33
|
+
|
|
34
|
+
// True for the client-side call-log fallback written at hangup: it exists
|
|
35
|
+
// only in this client's store (id "calllog-<callId>"), never on the server.
|
|
36
|
+
const isLocalCallLogEntry = message => String(message?.id || '').startsWith('calllog-');
|
|
37
|
+
|
|
38
|
+
// Merge two log entries for the SAME callId into one. Identity (id/date/
|
|
39
|
+
// xmppId) comes from the server copy when one side is the local fallback,
|
|
40
|
+
// the server archive id is what MAM pages and the catch-up anchor will
|
|
41
|
+
// match against later. Display (body/callLog) comes from whichever copy
|
|
42
|
+
// saw the larger duration, so partial per-participant call-states don't
|
|
43
|
+
// shrink it.
|
|
44
|
+
const mergeCallLogEntries = (a, b) => {
|
|
45
|
+
const aLocal = isLocalCallLogEntry(a);
|
|
46
|
+
const bLocal = isLocalCallLogEntry(b);
|
|
47
|
+
const identity = aLocal === bLocal ? a : aLocal ? b : a;
|
|
48
|
+
const display = (a.callLog?.durationMs || 0) >= (b.callLog?.durationMs || 0) ? a : b;
|
|
49
|
+
if (identity === display) {
|
|
50
|
+
return identity;
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
...display,
|
|
54
|
+
id: identity.id,
|
|
55
|
+
xmppId: identity.xmppId ?? display.xmppId,
|
|
56
|
+
date: identity.date ?? display.date
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// Collapse call-log duplicates for the same callId inside a merged history
|
|
61
|
+
// list (the live path dedups in addRoomMessage, but a MAM page merged over
|
|
62
|
+
// a persisted local fallback entry would otherwise show the call twice).
|
|
63
|
+
const collapseCallLogDuplicates = messages => {
|
|
64
|
+
const byCallId = new Map();
|
|
65
|
+
let hasDuplicates = false;
|
|
66
|
+
for (const message of messages) {
|
|
67
|
+
const callId = message?.callLog?.callId;
|
|
68
|
+
if (!callId) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const existing = byCallId.get(callId);
|
|
72
|
+
if (existing) {
|
|
73
|
+
hasDuplicates = true;
|
|
74
|
+
byCallId.set(callId, mergeCallLogEntries(existing, message));
|
|
75
|
+
} else {
|
|
76
|
+
byCallId.set(callId, message);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!hasDuplicates) {
|
|
80
|
+
return messages;
|
|
81
|
+
}
|
|
82
|
+
const emitted = new Set();
|
|
83
|
+
return messages.filter(message => {
|
|
84
|
+
const callId = message?.callLog?.callId;
|
|
85
|
+
if (!callId) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
if (emitted.has(callId)) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
emitted.add(callId);
|
|
92
|
+
return true;
|
|
93
|
+
}).map(message => {
|
|
94
|
+
const callId = message?.callLog?.callId;
|
|
95
|
+
return callId ? byCallId.get(callId) || message : message;
|
|
96
|
+
});
|
|
97
|
+
};
|
|
15
98
|
const enforceMessageCap = messages => {
|
|
16
99
|
// Trim oldest until we're at/under the limit. Mutates in place
|
|
17
100
|
// (immer-compatible inside reducers).
|
|
@@ -39,8 +122,11 @@ const enforceMessageCap = messages => {
|
|
|
39
122
|
// where it sits in the file. msgSortableMs (defined below) is referenced
|
|
40
123
|
// at call time, after module init.
|
|
41
124
|
function mergeHistoryIntoCache(existing, fetched) {
|
|
42
|
-
|
|
43
|
-
|
|
125
|
+
// Strip call control frames on BOTH sides before merging: they can be
|
|
126
|
+
// in the cache (persisted from before this filter existed) and in the
|
|
127
|
+
// fetched MAM page (the live-stream swallow doesn't cover history).
|
|
128
|
+
const ex = stripCallSignals(existing);
|
|
129
|
+
const fe = stripCallSignals(fetched);
|
|
44
130
|
const pending = ex.filter(m => m?.pending);
|
|
45
131
|
const realExisting = ex.filter(m => m && !m.pending && m.id !== 'delimiter-new');
|
|
46
132
|
const realFetched = fe.filter(m => m && m.id !== 'delimiter-new');
|
|
@@ -56,7 +142,7 @@ function mergeHistoryIntoCache(existing, fetched) {
|
|
|
56
142
|
|
|
57
143
|
// Cold room, or a gap (no shared id) → can't merge → use the fresh page.
|
|
58
144
|
if (realExisting.length === 0 || !overlaps) {
|
|
59
|
-
return [...capTail(realFetched.slice().sort(byMs)), ...pending];
|
|
145
|
+
return [...capTail(collapseCallLogDuplicates(realFetched.slice().sort(byMs))), ...pending];
|
|
60
146
|
}
|
|
61
147
|
|
|
62
148
|
// Overlap → union + dedupe by id. Fetched wins on collision: it carries
|
|
@@ -76,7 +162,7 @@ function mergeHistoryIntoCache(existing, fetched) {
|
|
|
76
162
|
isEdited: true
|
|
77
163
|
} : m);
|
|
78
164
|
}
|
|
79
|
-
const merged = Array.from(byId.values()).sort(byMs);
|
|
165
|
+
const merged = collapseCallLogDuplicates(Array.from(byId.values()).sort(byMs));
|
|
80
166
|
return [...capTail(merged), ...pending];
|
|
81
167
|
}
|
|
82
168
|
const initialState = {
|
|
@@ -285,6 +371,14 @@ const reducers = {
|
|
|
285
371
|
start
|
|
286
372
|
} = action.payload;
|
|
287
373
|
|
|
374
|
+
// Call signaling broadcasts ("call-token", "call-state", etc.)
|
|
375
|
+
// sometimes slip past the live XMPP filter (MAM history, mucsub
|
|
376
|
+
// catch-up), drop them here so they never land in the transcript
|
|
377
|
+
// or the room-list "last message" preview.
|
|
378
|
+
if (isCallSignalMessage(message)) {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
|
|
288
382
|
// Guard against the "stanza arrived before /chats/my completed"
|
|
289
383
|
// race — without this, the optional-chain `?.messages` falls
|
|
290
384
|
// back to undefined, and the assignment below tries to set
|
|
@@ -298,6 +392,30 @@ const reducers = {
|
|
|
298
392
|
state.rooms[roomJID].messages = [];
|
|
299
393
|
}
|
|
300
394
|
const roomMessages = state.rooms[roomJID].messages;
|
|
395
|
+
|
|
396
|
+
// Collapse multiple call-state events for the same call into a single
|
|
397
|
+
// log entry. Sources: the client-side fallback written at hangup (id
|
|
398
|
+
// "calllog-<callId>", exists only locally) and the server broadcast(s),
|
|
399
|
+
// which can fire once per participant leaving (earlier ones carry a
|
|
400
|
+
// partial durationMs). Rules:
|
|
401
|
+
// - the SERVER copy is canonical for identity (id/date/xmppId): its
|
|
402
|
+
// archive id is what MAM and the catch-up anchor return later, so
|
|
403
|
+
// keeping a local "calllog-" id around breaks anchor matching and
|
|
404
|
+
// duplicates the entry on the next history merge;
|
|
405
|
+
// - the LARGEST duration wins for display, so a 2-minute call doesn't
|
|
406
|
+
// render as "2 sec".
|
|
407
|
+
const incomingCallLog = message.callLog;
|
|
408
|
+
if (incomingCallLog?.callId) {
|
|
409
|
+
const existingCallIdx = roomMessages.findIndex(msg => msg.callLog?.callId === incomingCallLog.callId);
|
|
410
|
+
if (existingCallIdx !== -1) {
|
|
411
|
+
const existing = roomMessages[existingCallIdx];
|
|
412
|
+
const merged = mergeCallLogEntries(existing, message);
|
|
413
|
+
if (merged !== existing) {
|
|
414
|
+
roomMessages[existingCallIdx] = merged;
|
|
415
|
+
}
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
301
419
|
const lengthBefore = roomMessages.length;
|
|
302
420
|
if (roomMessages.length === 0 || start) {
|
|
303
421
|
roomMessages.unshift(message);
|
|
@@ -569,6 +687,16 @@ const reducers = {
|
|
|
569
687
|
room.messages = mergeHistoryIntoCache(room.messages, patch.messages);
|
|
570
688
|
}
|
|
571
689
|
}
|
|
690
|
+
},
|
|
691
|
+
// Merges resolved room members into the identity cache Message.tsx /
|
|
692
|
+
// resolveSenderDisplayName read from. Keyed by BOTH the bare local
|
|
693
|
+
// part and the full jid so either lookup style hits — a message's
|
|
694
|
+
// `user.id` can be either depending on how it was parsed.
|
|
695
|
+
mergeUsersSet(state, action) {
|
|
696
|
+
state.usersSet = {
|
|
697
|
+
...(state.usersSet || {}),
|
|
698
|
+
...action.payload.members
|
|
699
|
+
};
|
|
572
700
|
}
|
|
573
701
|
};
|
|
574
702
|
export const roomsStore = createSlice({
|
|
@@ -672,7 +800,8 @@ export const {
|
|
|
672
800
|
applyRoomsPreloadBatch,
|
|
673
801
|
setPendingNotificationJid,
|
|
674
802
|
clearPendingNotificationJid,
|
|
675
|
-
setReactions
|
|
803
|
+
setReactions,
|
|
804
|
+
mergeUsersSet
|
|
676
805
|
} = roomsStore.actions;
|
|
677
806
|
export default roomsStore.reducer;
|
|
678
807
|
//# sourceMappingURL=roomsSlice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAsyncThunk","createSlice","insertMessageWithDelimiter","RUNTIME_MESSAGE_LIMIT","enforceMessageCap","messages","length","shift","mergeHistoryIntoCache","existing","fetched","ex","Array","isArray","fe","pending","filter","m","realExisting","id","realFetched","byMs","a","b","msgSortableMs","capTail","arr","slice","existingIds","Set","map","String","overlaps","some","has","sort","byId","Map","set","prev","get","isEdited","merged","from","values","initialState","rooms","activeRoomJID","visibleRoomJID","isLoading","isUnreadSyncing","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","privateStoreMarkers","isValidRoomJid","jid","includes","addRoomViaApi","room","xmpp","_xmpp","dispatch","roomsStore","actions","addRoomFromApi","reducers","addRoom","state","action","roomData","payload","lastViewed","serverMarker","lastViewedTimestamp","msgs","newest","t","messageTimestampMs","date","Date","getTime","incomingMessages","existingMessages","unreadMessages","unreadBaselineTimestamp","deleteRoom","updateRoom","updates","existingRoom","setRoomMessages","roomJID","capped","deleteRoomMessage","idx","findIndex","splice","message","isDeleted","setEditAction","editRoomMessage","body","addRoomMessage","start","roomMessages","lengthBefore","unshift","lastViewedValue","deleteAllRooms","setComposing","chatJID","composing","composingList","setIsLoading","loading","loadingText","setUnreadSyncing","setLastViewedTimestamp","timestamp","countNewerMessages","applyPrivateStoreMarkers","markers","Object","keys","ts","Number","isFinite","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setVisibleRoom","clearVisibleRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","msg","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","title","usersCnt","incoming","previous","Math","max","icon","unreadCapped","historyPreloadState","messageStats","historyComplete","applyRoomsPreloadBatch","patch","name","exec","norm","s","v","toLowerCase","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","c","count","ms","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createAsyncThunk","createSlice","insertMessageWithDelimiter","RUNTIME_MESSAGE_LIMIT","CALL_SIGNAL_BODIES","Set","isCallSignalMessage","message","body","String","trim","toLowerCase","has","stripCallSignals","messages","Array","isArray","filter","isLocalCallLogEntry","id","startsWith","mergeCallLogEntries","a","b","aLocal","bLocal","identity","display","callLog","durationMs","xmppId","date","collapseCallLogDuplicates","byCallId","Map","hasDuplicates","callId","existing","get","set","emitted","add","map","enforceMessageCap","length","shift","mergeHistoryIntoCache","fetched","ex","fe","pending","m","realExisting","realFetched","byMs","msgSortableMs","capTail","arr","slice","existingIds","overlaps","some","sort","byId","prev","isEdited","merged","from","values","initialState","rooms","activeRoomJID","visibleRoomJID","isLoading","isUnreadSyncing","editAction","isEdit","roomJid","messageId","text","pendingNotificationJid","privateStoreMarkers","isValidRoomJid","jid","includes","addRoomViaApi","room","xmpp","_xmpp","dispatch","roomsStore","actions","addRoomFromApi","reducers","addRoom","state","action","roomData","payload","lastViewed","serverMarker","lastViewedTimestamp","msgs","newest","t","messageTimestampMs","Date","getTime","incomingMessages","existingMessages","unreadMessages","unreadBaselineTimestamp","deleteRoom","updateRoom","updates","existingRoom","setRoomMessages","roomJID","capped","deleteRoomMessage","idx","findIndex","splice","isDeleted","setEditAction","editRoomMessage","addRoomMessage","start","roomMessages","incomingCallLog","existingCallIdx","msg","lengthBefore","unshift","lastViewedValue","deleteAllRooms","setComposing","chatJID","composing","composingList","setIsLoading","loading","loadingText","setUnreadSyncing","setLastViewedTimestamp","timestamp","countNewerMessages","applyPrivateStoreMarkers","markers","Object","keys","ts","Number","isFinite","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setVisibleRoom","clearVisibleRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","title","usersCnt","incoming","previous","Math","max","icon","unreadCapped","historyPreloadState","messageStats","historyComplete","applyRoomsPreloadBatch","patch","mergeUsersSet","usersSet","members","name","exec","norm","s","v","split","replace","isOwn","selfXmpp","selfWallet","candidates","user","userJID","xmppUsername","xmppFrom","Boolean","self","c","count","ms","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Whether the reader is allowed to pick auto vs manual themselves via the
|
|
5
|
+
* language-selector modal's switcher. `forceType: true` means the host has
|
|
6
|
+
* pinned `translates.mode` as policy, the switcher must not even render,
|
|
7
|
+
* let alone let a reader flip it.
|
|
8
|
+
*/
|
|
9
|
+
export const canReaderChooseTranslateMode = translates => !translates?.forceType;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The mode actually in effect for this reader right now.
|
|
13
|
+
*
|
|
14
|
+
* `forceType` wins unconditionally, even a leftover `readerMode` from
|
|
15
|
+
* before the host turned forcing on must not leak through. Otherwise the
|
|
16
|
+
* reader's own pick (if they've touched the switcher) wins over the host's
|
|
17
|
+
* declared default, and the host's `mode` (defaulting to 'auto') is the
|
|
18
|
+
* fallback for a reader who never has.
|
|
19
|
+
*/
|
|
20
|
+
export const resolveTranslateMode = (translates, readerMode) => {
|
|
21
|
+
const hostDefault = translates?.mode || 'auto';
|
|
22
|
+
if (translates?.forceType) {
|
|
23
|
+
return hostDefault;
|
|
24
|
+
}
|
|
25
|
+
return readerMode || hostDefault;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=translateModePolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["canReaderChooseTranslateMode","translates","forceType","resolveTranslateMode","readerMode","hostDefault","mode"],"sourceRoot":"../../../src","sources":["utils/translateModePolicy.ts"],"mappings":";;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,4BAA4B,GACvCC,UAAkC,IACtB,CAACA,UAAU,EAAEC,SAAS;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAClCF,UAAkC,EAClCG,UAA0B,KACR;EAClB,MAAMC,WAA0B,GAAGJ,UAAU,EAAEK,IAAI,IAAI,MAAM;EAC7D,IAAIL,UAAU,EAAEC,SAAS,EAAE;IAAC,OAAOG,WAAW;EAAC;EAC/C,OAAOD,UAAU,IAAIC,WAAW;AAClC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatHeader.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatHeader.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAyB1C,UAAU,eAAe;IACvB,WAAW,EAAE,KAAK,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsKzC,CAAC;AA8BF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,EAAE,EAA+B,MAAM,OAAO,CAAC;AAa9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAyBhF,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1C,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ChatWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,EAAE,EAA+B,MAAM,OAAO,CAAC;AAa9D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAyBhF,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1C,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAybrC,CAAC;AAEF,OAAO,EAAC,WAAW,EAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Globe button in the chat header that opens the reader's language picker.
|
|
4
|
+
*
|
|
5
|
+
* Renders only when translation is on. A host that drives the reader's
|
|
6
|
+
* language from its own settings screen (via `config.translates
|
|
7
|
+
* .readerLocale`) can hide this with `showLanguageSelector: false` rather
|
|
8
|
+
* than shipping two competing controls.
|
|
9
|
+
*/
|
|
10
|
+
export declare const LanguageSelectorButton: FC;
|
|
11
|
+
export default LanguageSelectorButton;
|
|
12
|
+
//# sourceMappingURL=LanguageSelectorButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageSelectorButton.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/LanguageSelectorButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAO5C;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,EAyBpC,CAAC;AAYF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Ported verbatim from the web SDK's GlobeIcon (src/assets/icons.tsx) so
|
|
4
|
+
* both platforms draw the same mark. The previous RN shape was hand-rolled
|
|
5
|
+
* on a 24-box with two mirrored beziers whose meridian bulged only ~21% of
|
|
6
|
+
* the radius, which collapsed into a thin lens rather than reading as a
|
|
7
|
+
* sphere.
|
|
8
|
+
*/
|
|
9
|
+
export declare const GlobeIcon: FC<{
|
|
10
|
+
color?: string;
|
|
11
|
+
size?: number;
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* The reader's language control.
|
|
15
|
+
*
|
|
16
|
+
* One switch drives two things on purpose: the language messages get
|
|
17
|
+
* translated INTO, and (through useT falling back to `langSource`) the
|
|
18
|
+
* language the interface itself is in. A reader who picks Français expects
|
|
19
|
+
* the whole chat in French, not French messages inside an English UI.
|
|
20
|
+
*
|
|
21
|
+
* The auto/manual switcher only renders when the host hasn't pinned
|
|
22
|
+
* `config.translates.forceType`, and the language list only when
|
|
23
|
+
* `showLanguageList` isn't false, for hosts that drive the reader's
|
|
24
|
+
* language from their own settings screen via `readerLocale`.
|
|
25
|
+
*/
|
|
26
|
+
export declare const LanguageSelectorModal: FC<{
|
|
27
|
+
visible: boolean;
|
|
28
|
+
onClose: () => void;
|
|
29
|
+
}>;
|
|
30
|
+
export default LanguageSelectorModal;
|
|
31
|
+
//# sourceMappingURL=LanguageSelectorModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageSelectorModal.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/LanguageSelectorModal.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AA+B/C;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAe3D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAwHA,CAAC;AAoFF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomList.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/RoomList.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAMN,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"RoomList.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/RoomList.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAMN,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa1C,UAAU,aAAa;IACrB,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;CACrC;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA+LrC,CAAC;AAyCF,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAyBhD,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAyBhD,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAqHxD,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAqcnC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { IConfig, IMessage } from '../../types/types';
|
|
3
|
+
interface MessageTranslateProps {
|
|
4
|
+
message: IMessage;
|
|
5
|
+
isUser: boolean;
|
|
6
|
+
config?: IConfig;
|
|
7
|
+
/**
|
|
8
|
+
* The reader's target language, resolved ONCE by the parent (Message.tsx)
|
|
9
|
+
* and shared with auto mode, so the two can never ask for different
|
|
10
|
+
* languages.
|
|
11
|
+
*/
|
|
12
|
+
readerLocale?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Manual-mode message translation (LinkedIn-style "Translate" link).
|
|
16
|
+
*
|
|
17
|
+
* Manual is AUTO BEHIND A TAP — the same translation, revealed on press,
|
|
18
|
+
* not a second mechanism. Both read what the stanza already carries on
|
|
19
|
+
* `message.translations`; neither calls a translation service.
|
|
20
|
+
*
|
|
21
|
+
* That is enforced by sharing `useMessageTranslation` with auto rather than
|
|
22
|
+
* re-deriving the lookup here. The previous copy (ported verbatim from web,
|
|
23
|
+
* which still has it) drifted in two ways that both pointed the same
|
|
24
|
+
* direction — a link that could not deliver:
|
|
25
|
+
*
|
|
26
|
+
* - its target language ended at the literal `'en'` instead of the
|
|
27
|
+
* reader's own `langSource`, so for every host that lets the reader
|
|
28
|
+
* pick — the normal case — a French reader's tap asked the message for
|
|
29
|
+
* an ENGLISH translation and fell into `translation.failed`;
|
|
30
|
+
* - it offered the link on a source-vs-target language compare alone,
|
|
31
|
+
* without checking a translation was actually attached, so even with
|
|
32
|
+
* the right locale a never-translated message showed a dead link.
|
|
33
|
+
*
|
|
34
|
+
* The link now appears only when there is something to reveal, which makes
|
|
35
|
+
* the failure state unreachable on this path.
|
|
36
|
+
*
|
|
37
|
+
* A host-supplied `config.translates.onTranslate` is the one asynchronous
|
|
38
|
+
* case: it can produce a translation nothing on the stanza predicts, so
|
|
39
|
+
* there the link is offered on the language compare and loading/error still
|
|
40
|
+
* apply.
|
|
41
|
+
*/
|
|
42
|
+
declare const MessageTranslate: FC<MessageTranslateProps>;
|
|
43
|
+
export default MessageTranslate;
|
|
44
|
+
//# sourceMappingURL=MessageTranslate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageTranslate.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble/MessageTranslate.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAyB,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAOtD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,QAAA,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAwH/C,CAAC;AAUF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
interface TranslatedMessageBodyProps {
|
|
3
|
+
/** Text as sent, in the sender's language. */
|
|
4
|
+
originalText: string;
|
|
5
|
+
accentColor?: string;
|
|
6
|
+
/** Renders the translated text (the parsed message body). */
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Whether this message was sent by the current user. The sender already
|
|
10
|
+
* knows what they wrote, so their own messages skip the quote-plus-
|
|
11
|
+
* translation treatment and just show the original (never translated).
|
|
12
|
+
*/
|
|
13
|
+
isUser: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A message body that is showing a translation: the translated text reads
|
|
17
|
+
* as the primary content, with the original quoted above it (accent bar,
|
|
18
|
+
* dimmed) for reference — the same visual language MessageReply uses.
|
|
19
|
+
* Ported from the web SDK's TranslatedMessageBody. Own messages (`isUser`)
|
|
20
|
+
* show only the original.
|
|
21
|
+
*/
|
|
22
|
+
export declare const TranslatedMessageBody: React.FC<TranslatedMessageBodyProps>;
|
|
23
|
+
export default TranslatedMessageBody;
|
|
24
|
+
//# sourceMappingURL=TranslatedMessageBody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TranslatedMessageBody.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble/TranslatedMessageBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,UAAU,0BAA0B;IAClC,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAiBtE,CAAC;AAiBF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsersList.d.ts","sourceRoot":"","sources":["../../../../src/components/UsersList/UsersList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,QAAQ,EACR,cAAc,EAIf,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"UsersList.d.ts","sourceRoot":"","sources":["../../../../src/components/UsersList/UsersList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,QAAQ,EACR,cAAc,EAIf,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,UAAU,cAAc;IACtB,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgFvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The audio / video call entry points for the chat header.
|
|
4
|
+
*
|
|
5
|
+
* Kept as its own component (rather than inlined into ChatHeader like the
|
|
6
|
+
* web SDK does) so the whole call feature stays inside components/VideoCalls
|
|
7
|
+
* and ChatHeader gains exactly one line. It renders nothing at all when
|
|
8
|
+
* calls are off, which is the common case.
|
|
9
|
+
*
|
|
10
|
+
* Gating mirrors the web rules: calls need `config.videoCalls.enabled`, a
|
|
11
|
+
* `livekitUrl`, a 1:1 (private) room, and no other call already running.
|
|
12
|
+
* Audio is a second opt-in on top of that (`enableAudioCalls`).
|
|
13
|
+
*/
|
|
14
|
+
export declare const CallButtons: FC;
|
|
15
|
+
export default CallButtons;
|
|
16
|
+
//# sourceMappingURL=CallButtons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CallButtons.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/CallButtons.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AAY/C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,EAAE,EAiIzB,CAAC;AAiBF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Call-control glyph set, 24px, mirrored from the web SDK's inline icons
|
|
4
|
+
* (components/VideoCalls/VideoCallSession.tsx) so the two platforms read
|
|
5
|
+
* the same. The "off" variants overlay a diagonal slash: a thick `cutColor`
|
|
6
|
+
* line under a thin icon-color line, so the slash stays legible against the
|
|
7
|
+
* glyph on any button background.
|
|
8
|
+
*
|
|
9
|
+
* Hosts can replace any of these through `config.videoCalls.icons`.
|
|
10
|
+
*/
|
|
11
|
+
interface IconProps {
|
|
12
|
+
color?: string;
|
|
13
|
+
cutColor?: string;
|
|
14
|
+
size?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const MicOnIcon: React.FC<IconProps>;
|
|
17
|
+
export declare const MicOffIcon: React.FC<IconProps>;
|
|
18
|
+
export declare const CameraOnIcon: React.FC<IconProps>;
|
|
19
|
+
export declare const CameraOffIcon: React.FC<IconProps>;
|
|
20
|
+
export declare const HangUpIcon: React.FC<IconProps>;
|
|
21
|
+
export declare const AudioCallIcon: React.FC<IconProps>;
|
|
22
|
+
export declare const VideoCallIcon: React.FC<IconProps>;
|
|
23
|
+
export declare const SwitchCameraIcon: React.FC<IconProps>;
|
|
24
|
+
export declare const SpeakerIcon: React.FC<IconProps>;
|
|
25
|
+
export declare const SpeakerOffIcon: React.FC<IconProps>;
|
|
26
|
+
export declare const MinimizeIcon: React.FC<IconProps>;
|
|
27
|
+
export declare const ExpandIcon: React.FC<IconProps>;
|
|
28
|
+
export declare const PersonIcon: React.FC<IconProps>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=CallIcons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CallIcons.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/CallIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;GAQG;AAEH,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA8BD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAuBzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAyB1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAQ5C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAU7C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAU1C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAU7C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAQ7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAqBhD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAc3C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAS9C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAc5C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAc1C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAQ1C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Call orchestration surface. Mounted once, above the chat, by XmppProvider,
|
|
4
|
+
* so an incoming call rings on whatever screen the user happens to be on
|
|
5
|
+
* rather than only inside <Chat>. Renders nothing while `call.phase` is
|
|
6
|
+
* 'idle'.
|
|
7
|
+
*/
|
|
8
|
+
export declare const VideoCallOverlay: FC;
|
|
9
|
+
export default VideoCallOverlay;
|
|
10
|
+
//# sourceMappingURL=VideoCallOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoCallOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/VideoCallOverlay.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMH,MAAM,OAAO,CAAC;AAsPf;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAmP9B,CAAC;AA4HF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { VideoCallIcons } from '../../types/types';
|
|
3
|
+
export interface VideoCallSessionProps {
|
|
4
|
+
token: string;
|
|
5
|
+
livekitUrl: string;
|
|
6
|
+
kind?: 'audio' | 'video';
|
|
7
|
+
/** Display name of the peer, shown on the audio-call canvas. */
|
|
8
|
+
peerName?: string | null;
|
|
9
|
+
primaryColor?: string;
|
|
10
|
+
icons?: VideoCallIcons;
|
|
11
|
+
/** Start with the camera on (video calls). Default true. */
|
|
12
|
+
startWithCameraOn?: boolean;
|
|
13
|
+
/** Start with the microphone on. Default true. */
|
|
14
|
+
startWithMicOn?: boolean;
|
|
15
|
+
/** Render the compact floating-panel layout instead of the full screen. */
|
|
16
|
+
minimized?: boolean;
|
|
17
|
+
/** Toggle between full and minimized layouts (keeps the session mounted). */
|
|
18
|
+
onToggleMinimize?: () => void;
|
|
19
|
+
onConnected?: () => void;
|
|
20
|
+
onError?: (message: string) => void;
|
|
21
|
+
onHangup: () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The LiveKit session, React Native edition.
|
|
25
|
+
*
|
|
26
|
+
* The web SDK builds this on `@livekit/components-react` hooks. That package
|
|
27
|
+
* assumes a DOM, so here we drive `livekit-client`'s imperative `Room` API
|
|
28
|
+
* directly and keep the derived bits (subscribed tracks, mute flags,
|
|
29
|
+
* connection state) in local React state, re-syncing on RoomEvent. Only the
|
|
30
|
+
* actual video surface comes from `@livekit/react-native` (`<VideoTrack />`),
|
|
31
|
+
* which wraps the native renderer.
|
|
32
|
+
*
|
|
33
|
+
* Requires `@livekit/react-native` >= 2.7 for the `trackRef` prop shape used
|
|
34
|
+
* below. Both LiveKit packages are optional peer deps, see livekitRuntime.ts.
|
|
35
|
+
*/
|
|
36
|
+
export declare const VideoCallSession: FC<VideoCallSessionProps>;
|
|
37
|
+
export default VideoCallSession;
|
|
38
|
+
//# sourceMappingURL=VideoCallSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoCallSession.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/VideoCallSession.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMH,MAAM,OAAO,CAAC;AASf,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA6CnD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA+btD,CAAC;AAoIF,eAAe,gBAAgB,CAAC"}
|