@ethora/chat-component-rn 26.5.11 → 26.5.13
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 +6 -0
- package/README.md +1 -0
- package/lib/commonjs/assets/icons.js +7 -1
- package/lib/commonjs/assets/icons.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatRoom.js +58 -22
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +288 -5
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js +24 -15
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js +23 -3
- package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js +5 -44
- package/lib/commonjs/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +36 -3
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/GViewWebView.js +149 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/GViewWebView.js.map +1 -0
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +4 -17
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +19 -33
- package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/AudioMessage.js +643 -66
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/Button.js +9 -3
- package/lib/commonjs/components/styled/Button.js.map +1 -1
- package/lib/commonjs/components/styled/SendInput.js +239 -40
- package/lib/commonjs/components/styled/SendInput.js.map +1 -1
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +31 -18
- package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +47 -5
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +68 -2
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/keyboardLayout.js +5 -3
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
- package/lib/commonjs/helpers/mimeToExtension.js +70 -3
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js +1 -1
- package/lib/commonjs/hooks/useEventHandlers.js.map +1 -1
- package/lib/commonjs/hooks/useSendMessage.js +6 -3
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +26 -1
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js +10 -10
- package/lib/commonjs/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +65 -4
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/assets/icons.js +7 -1
- package/lib/module/assets/icons.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +59 -23
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +290 -7
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +24 -15
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/MessageBubble/MessageInteractions.js +24 -4
- package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js +5 -45
- package/lib/module/components/Modals/FilePreviewModal/DocumentViewer.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +36 -3
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/GViewWebView.js +144 -0
- package/lib/module/components/Modals/FilePreviewModal/GViewWebView.js.map +1 -0
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +3 -17
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +20 -34
- package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
- package/lib/module/components/styled/AudioMessage.js +644 -67
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/Button.js +9 -3
- package/lib/module/components/styled/Button.js.map +1 -1
- package/lib/module/components/styled/SendInput.js +240 -42
- package/lib/module/components/styled/SendInput.js.map +1 -1
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +31 -18
- package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +47 -5
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/context/xmppProvider.js +70 -4
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/keyboardLayout.js +4 -2
- package/lib/module/helpers/keyboardLayout.js.map +1 -1
- package/lib/module/helpers/mimeToExtension.js +67 -3
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/hooks/useEventHandlers.js +1 -1
- package/lib/module/hooks/useEventHandlers.js.map +1 -1
- package/lib/module/hooks/useSendMessage.js +6 -3
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/networking/xmppClient.js +26 -1
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/Middleware/unreadMidlleware.js +10 -10
- package/lib/module/roomStore/Middleware/unreadMidlleware.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +63 -3
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/assets/icons.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts +0 -7
- package/lib/typescript/components/Modals/FilePreviewModal/DocumentViewer.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/GViewWebView.d.ts +8 -0
- package/lib/typescript/components/Modals/FilePreviewModal/GViewWebView.d.ts.map +1 -0
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/AudioMessage.d.ts +8 -2
- package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/Button.d.ts.map +1 -1
- package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts +5 -1
- package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts +5 -0
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts +3 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts +31 -1
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/Middleware/unreadMidlleware.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +18 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/models/modal.model.d.ts +3 -0
- package/lib/typescript/types/models/modal.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +15 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +5 -1
- package/src/assets/icons.tsx +30 -25
- package/src/components/MainComponents/ChatRoom.tsx +61 -23
- package/src/components/MainComponents/MediaMessage.tsx +295 -5
- package/src/components/MainComponents/ReduxWrapper.tsx +23 -9
- package/src/components/MessageBubble/MessageInteractions.tsx +35 -3
- package/src/components/Modals/FilePreviewModal/DocumentViewer.tsx +3 -40
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +39 -3
- package/src/components/Modals/FilePreviewModal/GViewWebView.tsx +142 -0
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -18
- package/src/components/RoomComponents/styled/LastAudioMessage.tsx +20 -35
- package/src/components/styled/AudioMessage.tsx +724 -59
- package/src/components/styled/Button.tsx +20 -11
- package/src/components/styled/SendInput.tsx +255 -46
- package/src/components/styled/StyledInputComponents/MediaComponents.tsx +29 -18
- package/src/components/styled/UnsupportedType.tsx +60 -6
- package/src/context/xmppProvider.tsx +61 -3
- package/src/helpers/keyboardLayout.ts +5 -1
- package/src/helpers/mimeToExtension.ts +116 -2
- package/src/hooks/useEventHandlers.tsx +1 -1
- package/src/hooks/useSendMessage.tsx +12 -6
- package/src/networking/xmppClient.ts +24 -1
- package/src/roomStore/Middleware/unreadMidlleware.tsx +11 -8
- package/src/roomStore/roomsSlice.ts +66 -2
- package/src/types/models/modal.model.ts +3 -0
- package/src/types/types.ts +32 -0
|
@@ -5,15 +5,22 @@ import { BackgroundFile, FileInformation, FileName, FileSize, FileSizeContainer,
|
|
|
5
5
|
import { useDispatch } from 'react-redux';
|
|
6
6
|
import { MODAL_TYPES } from '../../helpers/constants/MODAL_TYPES';
|
|
7
7
|
import { setActiveFile, setActiveModal } from '../../roomStore/chatSettingsSlice';
|
|
8
|
+
import { ActivityIndicator, View } from 'react-native';
|
|
8
9
|
import { useChatSettingState } from '../../hooks/useChatSettingState';
|
|
9
10
|
import { FileIcon } from '../../assets/icons';
|
|
11
|
+
import { getExtensionForMime } from '../../helpers/mimeToExtension';
|
|
10
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
13
|
const FileDownload = ({
|
|
12
14
|
fileName,
|
|
13
15
|
fileURL,
|
|
14
16
|
mimetype,
|
|
15
17
|
size,
|
|
16
|
-
isUser
|
|
18
|
+
isUser,
|
|
19
|
+
originalName,
|
|
20
|
+
duration,
|
|
21
|
+
waveForm,
|
|
22
|
+
pending = false,
|
|
23
|
+
placeholderIcon
|
|
17
24
|
}) => {
|
|
18
25
|
const dispatch = useDispatch();
|
|
19
26
|
const {
|
|
@@ -45,27 +52,62 @@ const FileDownload = ({
|
|
|
45
52
|
return `${shortenedBaseName}...${extension}`;
|
|
46
53
|
};
|
|
47
54
|
const handleOpen = () => {
|
|
55
|
+
if (!fileURL || pending) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
48
58
|
dispatch(setActiveFile({
|
|
49
59
|
fileName,
|
|
50
60
|
fileURL,
|
|
51
|
-
mimetype
|
|
61
|
+
mimetype,
|
|
62
|
+
originalName,
|
|
63
|
+
duration,
|
|
64
|
+
waveForm
|
|
52
65
|
}));
|
|
53
66
|
dispatch(setActiveModal(MODAL_TYPES.FILE_PREVIEW));
|
|
54
67
|
};
|
|
68
|
+
const extensionLabel = (() => {
|
|
69
|
+
const dotIndex = fileName.lastIndexOf('.');
|
|
70
|
+
if (dotIndex !== -1 && dotIndex < fileName.length - 1) {
|
|
71
|
+
return fileName.slice(dotIndex + 1).toUpperCase();
|
|
72
|
+
}
|
|
73
|
+
return getExtensionForMime(mimetype).replace('.', '').toUpperCase();
|
|
74
|
+
})();
|
|
55
75
|
return /*#__PURE__*/_jsxs(UnsupportedContainer, {
|
|
76
|
+
isUser: isUser,
|
|
56
77
|
onPress: handleOpen,
|
|
78
|
+
activeOpacity: pending ? 1 : 0.7,
|
|
57
79
|
children: [/*#__PURE__*/_jsx(BackgroundFile, {
|
|
58
|
-
children: /*#__PURE__*/_jsx(FileIcon, {
|
|
80
|
+
children: placeholderIcon || /*#__PURE__*/_jsx(FileIcon, {
|
|
81
|
+
width: 36,
|
|
82
|
+
height: 36
|
|
83
|
+
})
|
|
59
84
|
}), /*#__PURE__*/_jsxs(FileInformation, {
|
|
60
85
|
children: [/*#__PURE__*/_jsx(FileName, {
|
|
86
|
+
numberOfLines: 1,
|
|
61
87
|
isUser: isUser,
|
|
62
88
|
colorIsUser: config?.colors?.primary,
|
|
63
89
|
colorUsers: config?.colors?.secondary,
|
|
64
90
|
children: formatFileName(fileName, 20)
|
|
65
|
-
}), size && /*#__PURE__*/_jsx(FileSizeContainer, {
|
|
66
|
-
children: /*#__PURE__*/
|
|
91
|
+
}), (pending || size) && /*#__PURE__*/_jsx(FileSizeContainer, {
|
|
92
|
+
children: pending ? /*#__PURE__*/_jsxs(View, {
|
|
93
|
+
style: {
|
|
94
|
+
flexDirection: 'row',
|
|
95
|
+
alignItems: 'center',
|
|
96
|
+
gap: 6
|
|
97
|
+
},
|
|
98
|
+
children: [/*#__PURE__*/_jsx(ActivityIndicator, {
|
|
99
|
+
size: "small",
|
|
100
|
+
color: "#5B6B8C"
|
|
101
|
+
}), /*#__PURE__*/_jsx(FileSize, {
|
|
102
|
+
children: "Uploading..."
|
|
103
|
+
})]
|
|
104
|
+
}) : /*#__PURE__*/_jsx(FileSize, {
|
|
67
105
|
children: formatFileSize(size)
|
|
68
106
|
})
|
|
107
|
+
}), !pending && !size && /*#__PURE__*/_jsx(FileSizeContainer, {
|
|
108
|
+
children: /*#__PURE__*/_jsx(FileSize, {
|
|
109
|
+
children: extensionLabel
|
|
110
|
+
})
|
|
69
111
|
})]
|
|
70
112
|
})]
|
|
71
113
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","BackgroundFile","FileInformation","FileName","FileSize","FileSizeContainer","UnsupportedContainer","useDispatch","MODAL_TYPES","setActiveFile","setActiveModal","useChatSettingState","FileIcon","jsx","_jsx","jsxs","_jsxs","FileDownload","fileName","fileURL","mimetype","size","isUser","dispatch","config","formatFileSize","sizeInBytes","parseInt","isNaN","toFixed","formatFileName","name","maxLength","dotIndex","lastIndexOf","extension","substring","baseName","length","shortenedBaseName","handleOpen","FILE_PREVIEW","onPress","children","colorIsUser","colors","primary","colorUsers","secondary"],"sourceRoot":"../../../../src","sources":["components/styled/UnsupportedType.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SACEC,cAAc,EACdC,eAAe,EACfC,QAAQ,EACRC,QAAQ,EACRC,iBAAiB,EACjBC,oBAAoB,QACf,yCAAyC;AAChD,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SACEC,aAAa,EACbC,cAAc,QACT,mCAAmC;
|
|
1
|
+
{"version":3,"names":["React","BackgroundFile","FileInformation","FileName","FileSize","FileSizeContainer","UnsupportedContainer","useDispatch","MODAL_TYPES","setActiveFile","setActiveModal","ActivityIndicator","View","useChatSettingState","FileIcon","getExtensionForMime","jsx","_jsx","jsxs","_jsxs","FileDownload","fileName","fileURL","mimetype","size","isUser","originalName","duration","waveForm","pending","placeholderIcon","dispatch","config","formatFileSize","sizeInBytes","parseInt","isNaN","toFixed","formatFileName","name","maxLength","dotIndex","lastIndexOf","extension","substring","baseName","length","shortenedBaseName","handleOpen","FILE_PREVIEW","extensionLabel","slice","toUpperCase","replace","onPress","activeOpacity","children","width","height","numberOfLines","colorIsUser","colors","primary","colorUsers","secondary","style","flexDirection","alignItems","gap","color"],"sourceRoot":"../../../../src","sources":["components/styled/UnsupportedType.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,8 +11,8 @@ import { ensureScopedChatCache } from '../helpers/ensureScopedChatCache';
|
|
|
11
11
|
import { getRooms as prefetchRoomsViaRest } from '../networking/api-requests/rooms.api';
|
|
12
12
|
import { allRoomPresences } from '../networking/xmpp/allRoomPresences.xmpp';
|
|
13
13
|
import { store } from '../roomStore';
|
|
14
|
-
import { logout, setStoreClient } from '../roomStore/chatSettingsSlice';
|
|
15
|
-
import { setLogoutState, setVisibleRoom, clearVisibleRoom, setLastViewedTimestamp, deleteRoomMessage } from '../roomStore/roomsSlice';
|
|
14
|
+
import { logout, setStoreClient, setConfig } from '../roomStore/chatSettingsSlice';
|
|
15
|
+
import { setLogoutState, setVisibleRoom, clearVisibleRoom, setLastViewedTimestamp, deleteRoomMessage, msgSortableMs } from '../roomStore/roomsSlice';
|
|
16
16
|
import { runHistoryPreloadScheduler } from '../helpers/historyPreloadScheduler';
|
|
17
17
|
import { asyncLocalStorage } from '../hooks/useLocalStorage';
|
|
18
18
|
import { localStorageConstants } from '../helpers/constants/LOCAL_STORAGE';
|
|
@@ -257,6 +257,9 @@ export const XmppProvider = ({
|
|
|
257
257
|
}
|
|
258
258
|
devPushLog('rn', `initBeforeLoad: user resolved (${resolved.xmppUsername})`);
|
|
259
259
|
applyResolvedUserToStore(resolved);
|
|
260
|
+
if (config) {
|
|
261
|
+
store.dispatch(setConfig(config));
|
|
262
|
+
}
|
|
260
263
|
|
|
261
264
|
// Kick off REST /chats/my; allRoomPresences below needs the
|
|
262
265
|
// room list to be in redux, otherwise it joins 0 MUCs and the
|
|
@@ -502,6 +505,7 @@ export const XmppProvider = ({
|
|
|
502
505
|
// touch the chat store themselves. (Undefined = host unmounts on hide,
|
|
503
506
|
// nothing to do.)
|
|
504
507
|
// -----------------------------------------------------------
|
|
508
|
+
const chatWasVisibleRef = useRef(false);
|
|
505
509
|
useEffect(() => {
|
|
506
510
|
if (typeof isVisible !== 'boolean') {
|
|
507
511
|
return;
|
|
@@ -509,6 +513,8 @@ export const XmppProvider = ({
|
|
|
509
513
|
const state = store.getState();
|
|
510
514
|
const rooms = state.rooms?.rooms;
|
|
511
515
|
const activeRoomJID = state.rooms?.activeRoomJID || null;
|
|
516
|
+
const wasVisible = chatWasVisibleRef.current;
|
|
517
|
+
chatWasVisibleRef.current = isVisible;
|
|
512
518
|
if (isVisible) {
|
|
513
519
|
if (activeRoomJID) {
|
|
514
520
|
store.dispatch(setVisibleRoom({
|
|
@@ -516,7 +522,7 @@ export const XmppProvider = ({
|
|
|
516
522
|
}));
|
|
517
523
|
}
|
|
518
524
|
} else {
|
|
519
|
-
if (activeRoomJID) {
|
|
525
|
+
if (wasVisible && activeRoomJID) {
|
|
520
526
|
store.dispatch(setLastViewedTimestamp({
|
|
521
527
|
chatJID: activeRoomJID,
|
|
522
528
|
timestamp: Date.now()
|
|
@@ -529,13 +535,73 @@ export const XmppProvider = ({
|
|
|
529
535
|
}));
|
|
530
536
|
}
|
|
531
537
|
store.dispatch(clearVisibleRoom());
|
|
532
|
-
if (client?.flushLastViewedToPrivateStoreStanza) {
|
|
538
|
+
if (wasVisible && client?.flushLastViewedToPrivateStoreStanza) {
|
|
533
539
|
client.flushLastViewedToPrivateStoreStanza(rooms, {
|
|
534
540
|
visibleRoomJID: activeRoomJID
|
|
535
541
|
}).catch(() => {});
|
|
536
542
|
}
|
|
537
543
|
}
|
|
538
544
|
}, [isVisible, client]);
|
|
545
|
+
useEffect(() => {
|
|
546
|
+
if (isVisible !== true) {
|
|
547
|
+
return;
|
|
548
|
+
}
|
|
549
|
+
let lastMessagesRef = null;
|
|
550
|
+
let lastStampedMs = 0;
|
|
551
|
+
let flushTimer = null;
|
|
552
|
+
const advance = () => {
|
|
553
|
+
const s = store.getState();
|
|
554
|
+
const jid = s.rooms?.activeRoomJID;
|
|
555
|
+
if (!jid) {
|
|
556
|
+
return;
|
|
557
|
+
}
|
|
558
|
+
const room = s.rooms?.rooms?.[jid];
|
|
559
|
+
if (!room) {
|
|
560
|
+
return;
|
|
561
|
+
}
|
|
562
|
+
if (room.messages === lastMessagesRef) {
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
lastMessagesRef = room.messages;
|
|
566
|
+
let newest = 0;
|
|
567
|
+
const list = room.messages || [];
|
|
568
|
+
for (const m of list) {
|
|
569
|
+
if (!m || m.id === 'delimiter-new') {
|
|
570
|
+
continue;
|
|
571
|
+
}
|
|
572
|
+
const ms = msgSortableMs(m);
|
|
573
|
+
if (ms > newest) {
|
|
574
|
+
newest = ms;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
if (newest <= lastStampedMs) {
|
|
578
|
+
return;
|
|
579
|
+
}
|
|
580
|
+
lastStampedMs = newest;
|
|
581
|
+
store.dispatch(setLastViewedTimestamp({
|
|
582
|
+
chatJID: jid,
|
|
583
|
+
timestamp: Date.now()
|
|
584
|
+
}));
|
|
585
|
+
if (flushTimer) {
|
|
586
|
+
clearTimeout(flushTimer);
|
|
587
|
+
}
|
|
588
|
+
if (client?.flushLastViewedToPrivateStoreStanza) {
|
|
589
|
+
flushTimer = setTimeout(() => {
|
|
590
|
+
client.flushLastViewedToPrivateStoreStanza(store.getState().rooms?.rooms, {
|
|
591
|
+
visibleRoomJID: jid
|
|
592
|
+
}).catch(() => {});
|
|
593
|
+
}, 2000);
|
|
594
|
+
}
|
|
595
|
+
};
|
|
596
|
+
advance();
|
|
597
|
+
const unsub = store.subscribe(advance);
|
|
598
|
+
return () => {
|
|
599
|
+
unsub();
|
|
600
|
+
if (flushTimer) {
|
|
601
|
+
clearTimeout(flushTimer);
|
|
602
|
+
}
|
|
603
|
+
};
|
|
604
|
+
}, [isVisible, client]);
|
|
539
605
|
|
|
540
606
|
// -----------------------------------------------------------
|
|
541
607
|
// NetInfo → proactive reconnect on network restore. Without this the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","AppState","DeviceEventEmitter","NetInfo","XmppClient","refreshTokens","buildXmppClientKey","getGlobalXmppClient","getReusableXmppClientByKey","isXmppClientReusable","setGlobalXmppClient","withXmppClientInitLock","applyResolvedUserToStore","refreshUserCredentialsForXmpp","resolveInitBeforeLoadUser","ensureScopedChatCache","getRooms","prefetchRoomsViaRest","allRoomPresences","store","logout","setStoreClient","setLogoutState","setVisibleRoom","clearVisibleRoom","setLastViewedTimestamp","deleteRoomMessage","runHistoryPreloadScheduler","asyncLocalStorage","localStorageConstants","clearPersistedState","pushLog","devPushLog","jsx","_jsx","XmppContext","LOGOUT_EVENT","XmppProvider","children","config","isVisible","client","setClient","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","customRefresh","refreshFunction","result","accessToken","dispatch","token","refreshToken","err","fresh","catch","username","xmppUsername","defaultWallet","walletAddress","password","xmppPassword","u","getState","chatSettingStore","user","jwtLogin","enabled","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","xmppSettings","settings","key","reusable","current","created","prevGlobal","close","newClient","setCredentialsProvider","waitForOnline","console","error","setOnOnline","underlying","e","getChatsPrivateStoreRequestStanza","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","ETHORA_USER","remove","undefined","resolved","signal","hasResolved","xmppPasswordPresent","restRoomsPromise","c","getRoomsStanza","roomCount","Object","keys","rooms","length","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","r","jid","filter","Boolean","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","currentState","suppressReconnect","forceReconnect","clearInterval","visibleBeforeBackground","sub","addEventListener","next","roomJID","state","visibleRoomJID","chatJID","timestamp","Date","now","messageId","flushLastViewedToPrivateStoreStanza","unsub","reachable","isConnected","isInternetReachable","addListener","disconnect","Provider","value","useXmppClient","context","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","AppState","DeviceEventEmitter","NetInfo","XmppClient","refreshTokens","buildXmppClientKey","getGlobalXmppClient","getReusableXmppClientByKey","isXmppClientReusable","setGlobalXmppClient","withXmppClientInitLock","applyResolvedUserToStore","refreshUserCredentialsForXmpp","resolveInitBeforeLoadUser","ensureScopedChatCache","getRooms","prefetchRoomsViaRest","allRoomPresences","store","logout","setStoreClient","setConfig","setLogoutState","setVisibleRoom","clearVisibleRoom","setLastViewedTimestamp","deleteRoomMessage","msgSortableMs","runHistoryPreloadScheduler","asyncLocalStorage","localStorageConstants","clearPersistedState","pushLog","devPushLog","jsx","_jsx","XmppContext","LOGOUT_EVENT","XmppProvider","children","config","isVisible","client","setClient","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","customRefresh","refreshFunction","result","accessToken","dispatch","token","refreshToken","err","fresh","catch","username","xmppUsername","defaultWallet","walletAddress","password","xmppPassword","u","getState","chatSettingStore","user","jwtLogin","enabled","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","xmppSettings","settings","key","reusable","current","created","prevGlobal","close","newClient","setCredentialsProvider","waitForOnline","console","error","setOnOnline","underlying","e","getChatsPrivateStoreRequestStanza","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","ETHORA_USER","remove","undefined","resolved","signal","hasResolved","xmppPasswordPresent","restRoomsPromise","c","getRoomsStanza","roomCount","Object","keys","rooms","length","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","r","jid","filter","Boolean","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","currentState","suppressReconnect","forceReconnect","clearInterval","visibleBeforeBackground","sub","addEventListener","next","roomJID","state","visibleRoomJID","chatJID","timestamp","Date","now","messageId","flushLastViewedToPrivateStoreStanza","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","list","m","ms","unsub","subscribe","reachable","isConnected","isInternetReachable","addListener","disconnect","Provider","value","useXmppClient","context","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export const ANDROID_INPUT_DOCK_GAP = 12;
|
|
3
4
|
export const getKeyboardVerticalOffset = ({
|
|
4
5
|
platform,
|
|
5
6
|
configuredOffset = 0,
|
|
@@ -7,6 +8,7 @@ export const getKeyboardVerticalOffset = ({
|
|
|
7
8
|
}) => configuredOffset + (platform === 'ios' ? bottomInset : 0);
|
|
8
9
|
export const getInputDockPaddingBottom = ({
|
|
9
10
|
platform,
|
|
10
|
-
bottomInset = 0
|
|
11
|
-
|
|
11
|
+
bottomInset = 0,
|
|
12
|
+
keyboardVisible = false
|
|
13
|
+
}) => platform === 'ios' ? bottomInset : ANDROID_INPUT_DOCK_GAP;
|
|
12
14
|
//# sourceMappingURL=keyboardLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getKeyboardVerticalOffset","platform","configuredOffset","bottomInset","getInputDockPaddingBottom"],"sourceRoot":"../../../src","sources":["helpers/keyboardLayout.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["ANDROID_INPUT_DOCK_GAP","getKeyboardVerticalOffset","platform","configuredOffset","bottomInset","getInputDockPaddingBottom","keyboardVisible"],"sourceRoot":"../../../src","sources":["helpers/keyboardLayout.ts"],"mappings":";;AAOA,OAAO,MAAMA,sBAAsB,GAAG,EAAE;AAExC,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC,QAAQ;EACRC,gBAAgB,GAAG,CAAC;EACpBC,WAAW,GAAG;AACI,CAAC,KACnBD,gBAAgB,IAAID,QAAQ,KAAK,KAAK,GAAGE,WAAW,GAAG,CAAC,CAAC;AAE3D,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCH,QAAQ;EACRE,WAAW,GAAG,CAAC;EACfE,eAAe,GAAG;AAC0B,CAAC,KAC7CJ,QAAQ,KAAK,KAAK,GAAGE,WAAW,GAAGJ,sBAAsB","ignoreList":[]}
|
|
@@ -67,7 +67,10 @@ const VALID_EXT_RE = /\.[a-z0-9]{1,8}$/i;
|
|
|
67
67
|
// `.bin` is intentionally NOT here: it's our own fallback extension for
|
|
68
68
|
// truly unknown payloads (see getExtensionForMime), not a real format.
|
|
69
69
|
const AUDIO_EXTENSIONS = ['.mp3', '.m4a', '.wav', '.aac', '.ogg', '.flac', '.weba', '.webm', '.opus', '.amr', '.3gp', '.3gpp'];
|
|
70
|
+
const IOS_AUDIO_PLAYBACK_EXTENSIONS = ['.mp3', '.m4a', '.mp4', '.wav', '.aac', '.caf', '.aif', '.aiff', '.amr', '.3gp', '.3gpp'];
|
|
71
|
+
const IOS_AUDIO_UNSUPPORTED_EXTENSIONS = ['.webm', '.weba', '.opus', '.ogg'];
|
|
70
72
|
const AUDIO_EXT_RE = new RegExp(`(${AUDIO_EXTENSIONS.map(e => e.replace('.', '\\.')).join('|')})$`, 'i');
|
|
73
|
+
const IOS_AUDIO_PLAYBACK_EXT_RE = new RegExp(`(${IOS_AUDIO_PLAYBACK_EXTENSIONS.map(e => e.replace('.', '\\.')).join('|')})$`, 'i');
|
|
71
74
|
// Filename / URL substrings that strongly indicate a voice / audio
|
|
72
75
|
// payload even without an explicit audio extension — e.g. a web-app
|
|
73
76
|
// voicemail uploaded as application/octet-stream named "voicemail-…".
|
|
@@ -80,17 +83,25 @@ const AUDIO_NAME_HINT_RE = /(?:^|[_\-./])(voice|voicemail|audio|audio-message|au
|
|
|
80
83
|
* branch is what catches voicemails sent as `application/octet-stream`
|
|
81
84
|
* with a generic `.bin` filename (customer-reported #9 voicemail).
|
|
82
85
|
*/
|
|
83
|
-
export function isLikelyAudio(mime, fileName, url) {
|
|
86
|
+
export function isLikelyAudio(mime, fileName, url, opts) {
|
|
84
87
|
const m = (mime || '').toLowerCase();
|
|
85
88
|
if (m.startsWith('audio/')) {
|
|
86
89
|
return true;
|
|
87
90
|
}
|
|
91
|
+
const durationNum = typeof opts?.duration === 'string' ? Number(opts.duration) : opts?.duration ?? 0;
|
|
92
|
+
if (Number.isFinite(durationNum) && durationNum > 0) {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
if (typeof opts?.waveForm === 'string' && opts.waveForm.trim().length > 0) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
88
98
|
// For octet-stream (and any other non-audio mime) fall through to the
|
|
89
99
|
// filename / URL heuristics. We don't restrict to octet-stream — some
|
|
90
100
|
// backends send no mime at all, or send text/plain by accident.
|
|
91
101
|
const name = (fileName || '').toLowerCase();
|
|
102
|
+
const originalName = (opts?.originalName || '').toLowerCase();
|
|
92
103
|
const urlLast = filenameFromUrl(url).toLowerCase();
|
|
93
|
-
if (AUDIO_EXT_RE.test(name) || AUDIO_EXT_RE.test(urlLast)) {
|
|
104
|
+
if (AUDIO_EXT_RE.test(name) || AUDIO_EXT_RE.test(originalName) || AUDIO_EXT_RE.test(urlLast)) {
|
|
94
105
|
return true;
|
|
95
106
|
}
|
|
96
107
|
// Last resort: voice-message naming hint anywhere in the filename, the
|
|
@@ -108,7 +119,7 @@ export function isLikelyAudio(mime, fileName, url) {
|
|
|
108
119
|
return '';
|
|
109
120
|
}
|
|
110
121
|
})();
|
|
111
|
-
if (AUDIO_NAME_HINT_RE.test(name) || AUDIO_NAME_HINT_RE.test(urlLast) || AUDIO_NAME_HINT_RE.test(urlPath)) {
|
|
122
|
+
if (AUDIO_NAME_HINT_RE.test(name) || AUDIO_NAME_HINT_RE.test(originalName) || AUDIO_NAME_HINT_RE.test(urlLast) || AUDIO_NAME_HINT_RE.test(urlPath)) {
|
|
112
123
|
return true;
|
|
113
124
|
}
|
|
114
125
|
return false;
|
|
@@ -145,6 +156,59 @@ export function filenameFromUrl(url) {
|
|
|
145
156
|
return '';
|
|
146
157
|
}
|
|
147
158
|
}
|
|
159
|
+
const getLowerExtension = value => {
|
|
160
|
+
if (!value) {
|
|
161
|
+
return '';
|
|
162
|
+
}
|
|
163
|
+
const match = value.toLowerCase().match(VALID_EXT_RE);
|
|
164
|
+
return match ? match[0] : '';
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* AVFoundation on iOS is stricter than browsers: a remote URL served as
|
|
169
|
+
* `application/octet-stream` with an opaque `.bin` name may fail before
|
|
170
|
+
* probing the actual audio payload. When the payload already looks like
|
|
171
|
+
* audio, cache it locally with an iOS-playable extension before playback.
|
|
172
|
+
*/
|
|
173
|
+
export function shouldCacheAudioForIosPlayback(opts) {
|
|
174
|
+
const src = opts.src || '';
|
|
175
|
+
if (!/^https?:\/\//i.test(src)) {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
const mime = (opts.mime || '').toLowerCase().split(';')[0].trim();
|
|
179
|
+
const urlName = filenameFromUrl(src);
|
|
180
|
+
const candidates = [urlName, opts.fileName || '', opts.originalName || ''];
|
|
181
|
+
const hasIosPlayableName = candidates.some(value => IOS_AUDIO_PLAYBACK_EXT_RE.test(value));
|
|
182
|
+
if (hasIosPlayableName && mime.startsWith('audio/')) {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
return isLikelyAudio(mime, opts.fileName, src, {
|
|
186
|
+
duration: opts.duration,
|
|
187
|
+
waveForm: opts.waveForm,
|
|
188
|
+
originalName: opts.originalName
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
export function getIosAudioPlaybackCacheExtension(opts) {
|
|
192
|
+
const candidates = [opts.fileName, opts.originalName, filenameFromUrl(opts.url), getExtensionForMime(opts.mime)];
|
|
193
|
+
for (const candidate of candidates) {
|
|
194
|
+
const ext = getLowerExtension(candidate);
|
|
195
|
+
if (ext && IOS_AUDIO_PLAYBACK_EXT_RE.test(ext)) {
|
|
196
|
+
return ext === '.mp4' ? '.m4a' : ext;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return '.m4a';
|
|
200
|
+
}
|
|
201
|
+
export function isUnsupportedAudioForIosPlayback(opts) {
|
|
202
|
+
const mime = (opts.mime || '').toLowerCase().split(';')[0].trim();
|
|
203
|
+
if (mime === 'audio/webm' || mime === 'audio/ogg') {
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
const candidates = [opts.fileName, opts.originalName, filenameFromUrl(opts.url)];
|
|
207
|
+
return candidates.some(candidate => {
|
|
208
|
+
const ext = getLowerExtension(candidate);
|
|
209
|
+
return IOS_AUDIO_UNSUPPORTED_EXTENSIONS.includes(ext);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
148
212
|
|
|
149
213
|
/**
|
|
150
214
|
* Ensures `fileName` ends with a valid extension. Strategy:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MIME_TO_EXT","VALID_EXT_RE","AUDIO_EXTENSIONS","AUDIO_EXT_RE","RegExp","map","e","replace","join","AUDIO_NAME_HINT_RE","isLikelyAudio","mime","fileName","url","m","toLowerCase","startsWith","name","urlLast","filenameFromUrl","test","urlPath","noQuery","split","decodeURIComponent","getExtensionForMime","normalized","
|
|
1
|
+
{"version":3,"names":["MIME_TO_EXT","VALID_EXT_RE","AUDIO_EXTENSIONS","IOS_AUDIO_PLAYBACK_EXTENSIONS","IOS_AUDIO_UNSUPPORTED_EXTENSIONS","AUDIO_EXT_RE","RegExp","map","e","replace","join","IOS_AUDIO_PLAYBACK_EXT_RE","AUDIO_NAME_HINT_RE","isLikelyAudio","mime","fileName","url","opts","m","toLowerCase","startsWith","durationNum","duration","Number","isFinite","waveForm","trim","length","name","originalName","urlLast","filenameFromUrl","test","urlPath","noQuery","split","decodeURIComponent","getExtensionForMime","normalized","last","pop","getLowerExtension","value","match","shouldCacheAudioForIosPlayback","src","urlName","candidates","hasIosPlayableName","some","getIosAudioPlaybackCacheExtension","candidate","ext","isUnsupportedAudioForIosPlayback","includes","ensureFilenameHasExtension","base","Date","now","deriveDisplayFilename"],"sourceRoot":"../../../src","sources":["helpers/mimeToExtension.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@ export const useEventHandlers = config => {
|
|
|
17
17
|
if (config?.eventHandlers?.onMessageFailed) {
|
|
18
18
|
config.eventHandlers.onMessageFailed(event);
|
|
19
19
|
}
|
|
20
|
-
console.
|
|
20
|
+
console.warn('Message failed details:', {
|
|
21
21
|
message: event.message,
|
|
22
22
|
roomJID: event.roomJID,
|
|
23
23
|
messageType: event.messageType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEventHandlers","config","handleMessageSent","event","eventHandlers","onMessageSent","error","console","handleMessageFailed","onMessageFailed","message","roomJID","messageType","timestamp","Date","toISOString","handlerError","handleMessageEdited","onMessageEdited","handleMessageRetry","onMessageRetry"],"sourceRoot":"../../../src","sources":["hooks/useEventHandlers.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAsCnC,OAAO,MAAMC,gBAAgB,GAAIC,MAAgB,IAAwB;EACvE,MAAMC,iBAAiB,GAAGH,WAAW,CACnC,MAAOI,KAAuB,IAAK;IACjC,IAAI;MACF,IAAIF,MAAM,EAAEG,aAAa,EAAEC,aAAa,EAAE;QACxC,MAAMJ,MAAM,CAACG,aAAa,CAACC,aAAa,CAACF,KAAK,CAAC;MACjD;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;MACtD,MAAMA,KAAK;IACb;EACF,CAAC,EACD,CAACL,MAAM,CACT,CAAC;EAED,MAAMO,mBAAmB,GAAGT,WAAW,CACpCI,KAAyB,IAAK;IAC7B,IAAI;MACF,IAAIF,MAAM,EAAEG,aAAa,EAAEK,eAAe,EAAE;QAC1CR,MAAM,CAACG,aAAa,CAACK,eAAe,CAACN,KAAK,CAAC;MAC7C;MACAI,OAAO,
|
|
1
|
+
{"version":3,"names":["useCallback","useEventHandlers","config","handleMessageSent","event","eventHandlers","onMessageSent","error","console","handleMessageFailed","onMessageFailed","warn","message","roomJID","messageType","timestamp","Date","toISOString","handlerError","handleMessageEdited","onMessageEdited","handleMessageRetry","onMessageRetry"],"sourceRoot":"../../../src","sources":["hooks/useEventHandlers.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAsCnC,OAAO,MAAMC,gBAAgB,GAAIC,MAAgB,IAAwB;EACvE,MAAMC,iBAAiB,GAAGH,WAAW,CACnC,MAAOI,KAAuB,IAAK;IACjC,IAAI;MACF,IAAIF,MAAM,EAAEG,aAAa,EAAEC,aAAa,EAAE;QACxC,MAAMJ,MAAM,CAACG,aAAa,CAACC,aAAa,CAACF,KAAK,CAAC;MACjD;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;MACtD,MAAMA,KAAK;IACb;EACF,CAAC,EACD,CAACL,MAAM,CACT,CAAC;EAED,MAAMO,mBAAmB,GAAGT,WAAW,CACpCI,KAAyB,IAAK;IAC7B,IAAI;MACF,IAAIF,MAAM,EAAEG,aAAa,EAAEK,eAAe,EAAE;QAC1CR,MAAM,CAACG,aAAa,CAACK,eAAe,CAACN,KAAK,CAAC;MAC7C;MACAI,OAAO,CAACG,IAAI,CAAC,yBAAyB,EAAE;QACtCC,OAAO,EAAER,KAAK,CAACQ,OAAO;QACtBC,OAAO,EAAET,KAAK,CAACS,OAAO;QACtBC,WAAW,EAAEV,KAAK,CAACU,WAAW;QAC9BP,KAAK,EAAEH,KAAK,CAACG,KAAK,EAAEK,OAAO;QAC3BG,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC;MACpC,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,YAAY,EAAE;MACrBV,OAAO,CAACD,KAAK,CAAC,kCAAkC,EAAEW,YAAY,CAAC;IACjE;EACF,CAAC,EACD,CAAChB,MAAM,CACT,CAAC;EAED,MAAMiB,mBAAmB,GAAGnB,WAAW,CACpCI,KAAyB,IAAK;IAC7B,IAAI;MACF,IAAIF,MAAM,EAAEG,aAAa,EAAEe,eAAe,EAAE;QAC1ClB,MAAM,CAACG,aAAa,CAACe,eAAe,CAAChB,KAAK,CAAC;MAC7C;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;IAC1D;EACF,CAAC,EACD,CAACL,MAAM,CACT,CAAC;EAED,MAAMmB,kBAAkB,GAAGrB,WAAW,CACnCI,KAAwB,IAAK;IAC5B,IAAI;MACFF,MAAM,EAAEG,aAAa,EAAEiB,cAAc,GAAGlB,KAAK,CAAC;IAChD,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD;EACF,CAAC,EACD,CAACL,MAAM,CACT,CAAC;EAED,OAAO;IACLC,iBAAiB;IACjBM,mBAAmB;IACnBU,mBAAmB;IACnBE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -231,6 +231,7 @@ export const useSendMessage = _configOverride => {
|
|
|
231
231
|
const selfId = user?.xmppUsername || user?.walletAddress || '';
|
|
232
232
|
const displayName = `${user?.firstName || ''} ${user?.lastName || ''}`.trim() || selfId;
|
|
233
233
|
const fileSizeStr = data?.size != null ? String(data.size) : '';
|
|
234
|
+
const normalizedFileUri = typeof data?.uri === 'string' ? data.uri.replace(/^assets-library:\/\//, 'file://') : '';
|
|
234
235
|
if (!config?.disableSentLogic && !existingId) {
|
|
235
236
|
dispatch(addRoomMessage({
|
|
236
237
|
roomJID: activeRoomJID,
|
|
@@ -252,8 +253,8 @@ export const useSendMessage = _configOverride => {
|
|
|
252
253
|
isSystemMessage: 'false',
|
|
253
254
|
isMediafile: 'true',
|
|
254
255
|
fileName: data?.name,
|
|
255
|
-
location:
|
|
256
|
-
locationPreview:
|
|
256
|
+
location: normalizedFileUri,
|
|
257
|
+
locationPreview: normalizedFileUri,
|
|
257
258
|
mimetype: type,
|
|
258
259
|
originalName: data?.name,
|
|
259
260
|
size: fileSizeStr,
|
|
@@ -316,7 +317,7 @@ export const useSendMessage = _configOverride => {
|
|
|
316
317
|
// legacy library items — those can't be read as files. Coerce
|
|
317
318
|
// to a file:// scheme when possible so the body is a real blob.
|
|
318
319
|
const fileBlob = {
|
|
319
|
-
uri:
|
|
320
|
+
uri: normalizedFileUri || data?.uri,
|
|
320
321
|
type: data?.type || data?.mimeType || type || 'application/octet-stream',
|
|
321
322
|
name: data?.name || data?.fileName || `media_${Date.now()}`
|
|
322
323
|
};
|
|
@@ -387,6 +388,8 @@ export const useSendMessage = _configOverride => {
|
|
|
387
388
|
// insertMessageWithDelimiter merges in place + flips pending.
|
|
388
389
|
const effectiveMediaClient = client || [getGlobalXmppClient(), store.getState()?.chatSettingStore?.client].find(c => c && c.status === 'online');
|
|
389
390
|
if (effectiveMediaClient) {
|
|
391
|
+
effectiveMediaClient.setActiveRoomJid?.(activeRoomJID);
|
|
392
|
+
await Promise.resolve(effectiveMediaClient.prioritizeRoomPresence?.(activeRoomJID)).catch(() => false);
|
|
390
393
|
effectiveMediaClient.sendMediaMessageStanza(activeRoomJID, messagePayload, id);
|
|
391
394
|
} else {
|
|
392
395
|
const anyMediaClient = client || getGlobalXmppClient() || store.getState()?.chatSettingStore?.client;
|