@ethora/chat-component-rn 26.7.7 → 26.7.9
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/lib/commonjs/components/MainComponents/ChatRoom.js +17 -8
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +8 -5
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageList.js +2 -1
- package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +51 -12
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +12 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +13 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +13 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +3 -1
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
- package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +3 -1
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +46 -31
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
- package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
- package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
- package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
- package/lib/commonjs/helpers/getServerReadTimestamp.js +125 -0
- package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
- package/lib/commonjs/helpers/initXmppRooms.js +9 -7
- package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
- package/lib/commonjs/helpers/isOwnMessage.js +75 -0
- package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
- package/lib/commonjs/helpers/mimeToExtension.js +6 -14
- package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
- package/lib/commonjs/hooks/useChatRoomFocus.js +17 -8
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/commonjs/hooks/useChatWrapperInit.js +12 -7
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/networking/stanzaHandlers.js +20 -2
- package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +45 -11
- package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +36 -2
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/index.js +35 -2
- package/lib/commonjs/roomStore/index.js.map +1 -1
- package/lib/commonjs/roomStore/persistence.js +200 -11
- package/lib/commonjs/roomStore/persistence.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +83 -6
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +17 -8
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +9 -6
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +5 -1
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/MessageList.js +2 -1
- package/lib/module/components/MainComponents/MessageList.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +52 -13
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js +12 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +13 -2
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +13 -2
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +3 -1
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/UnsupportedType.js +14 -4
- package/lib/module/components/styled/UnsupportedType.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +3 -1
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/xmppProvider.js +47 -32
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/createMessageFromXml.js +19 -1
- package/lib/module/helpers/createMessageFromXml.js.map +1 -1
- package/lib/module/helpers/getDisplayFileName.js +73 -0
- package/lib/module/helpers/getDisplayFileName.js.map +1 -0
- package/lib/module/helpers/getServerReadTimestamp.js +120 -0
- package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
- package/lib/module/helpers/initXmppRooms.js +9 -7
- package/lib/module/helpers/initXmppRooms.js.map +1 -1
- package/lib/module/helpers/isOwnMessage.js +70 -0
- package/lib/module/helpers/isOwnMessage.js.map +1 -0
- package/lib/module/helpers/mimeToExtension.js +6 -13
- package/lib/module/helpers/mimeToExtension.js.map +1 -1
- package/lib/module/hooks/useChatRoomFocus.js +17 -8
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/module/hooks/useChatWrapperInit.js +12 -7
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/networking/stanzaHandlers.js +20 -2
- package/lib/module/networking/stanzaHandlers.js.map +1 -1
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +45 -11
- package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
- package/lib/module/networking/xmppClient.js +36 -2
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/index.js +37 -4
- package/lib/module/roomStore/index.js.map +1 -1
- package/lib/module/roomStore/persistence.js +197 -11
- package/lib/module/roomStore/persistence.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +83 -6
- package/lib/module/roomStore/roomsSlice.js.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/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts +6 -0
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts +6 -0
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
- package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
- package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts +69 -0
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
- package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
- package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
- package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
- package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
- package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
- package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +9 -2
- package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/index.d.ts.map +1 -1
- package/lib/typescript/roomStore/persistence.d.ts +18 -1
- package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +13 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/MainComponents/ChatRoom.tsx +21 -10
- package/src/components/MainComponents/MediaMessage.tsx +8 -5
- package/src/components/MainComponents/MessageContainer.tsx +5 -1
- package/src/components/MainComponents/MessageList.tsx +2 -1
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +63 -26
- package/src/components/RoomComponents/styled/LastMessageFile.tsx +14 -2
- package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +14 -2
- package/src/components/RoomComponents/styled/LastMessageVideo.tsx +14 -2
- package/src/components/styled/MessageImage.tsx +8 -1
- package/src/components/styled/UnsupportedType.tsx +14 -4
- package/src/components/styled/VideoMessage.tsx +8 -1
- package/src/context/xmppProvider.tsx +47 -24
- package/src/helpers/createMessageFromXml.ts +20 -1
- package/src/helpers/getDisplayFileName.ts +87 -0
- package/src/helpers/getServerReadTimestamp.ts +120 -0
- package/src/helpers/initXmppRooms.tsx +9 -9
- package/src/helpers/isOwnMessage.ts +90 -0
- package/src/helpers/mimeToExtension.ts +6 -22
- package/src/hooks/useChatRoomFocus.ts +14 -5
- package/src/hooks/useChatWrapperInit.ts +12 -7
- package/src/networking/stanzaHandlers.ts +20 -6
- package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +65 -18
- package/src/networking/xmppClient.ts +41 -2
- package/src/roomStore/index.ts +40 -4
- package/src/roomStore/persistence.ts +197 -7
- package/src/roomStore/roomsSlice.ts +84 -6
|
@@ -127,7 +127,6 @@ function mergeHistoryIntoCache(existing, fetched) {
|
|
|
127
127
|
// fetched MAM page (the live-stream swallow doesn't cover history).
|
|
128
128
|
const ex = stripCallSignals(existing);
|
|
129
129
|
const fe = stripCallSignals(fetched);
|
|
130
|
-
const pending = ex.filter(m => m?.pending);
|
|
131
130
|
const realExisting = ex.filter(m => m && !m.pending && m.id !== 'delimiter-new');
|
|
132
131
|
const realFetched = fe.filter(m => m && m.id !== 'delimiter-new');
|
|
133
132
|
|
|
@@ -135,6 +134,28 @@ function mergeHistoryIntoCache(existing, fetched) {
|
|
|
135
134
|
if (realFetched.length === 0) {
|
|
136
135
|
return ex;
|
|
137
136
|
}
|
|
137
|
+
|
|
138
|
+
// Optimistic sends are preserved across a history merge - EXCEPT the
|
|
139
|
+
// ones the fetched page proves the server already has. That happens
|
|
140
|
+
// whenever a send reached the server but its echo did not reach us
|
|
141
|
+
// before the process died: the optimistic bubble is restored from disk
|
|
142
|
+
// still `pending: true` (and, since bug #39, flagged failed at boot),
|
|
143
|
+
// while MAM hands back the very same message under its ARCHIVE id.
|
|
144
|
+
// Keying only on `id` never matched those two, so the room ended up
|
|
145
|
+
// showing the message twice - once for real and once as a bubble stuck
|
|
146
|
+
// on "sending…"/"Failed" that nothing could ever clear. The archived
|
|
147
|
+
// copy carries our original stanza id as `xmppId` (getDataFromXml), so
|
|
148
|
+
// match on that too and drop the local ghost.
|
|
149
|
+
const fetchedKeys = new Set();
|
|
150
|
+
for (const m of realFetched) {
|
|
151
|
+
if (m?.id != null) {
|
|
152
|
+
fetchedKeys.add(String(m.id));
|
|
153
|
+
}
|
|
154
|
+
if (m?.xmppId) {
|
|
155
|
+
fetchedKeys.add(String(m.xmppId));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
const pending = ex.filter(m => m?.pending && !fetchedKeys.has(String(m.id)) && !(m.xmppId && fetchedKeys.has(String(m.xmppId))));
|
|
138
159
|
const byMs = (a, b) => msgSortableMs(a) - msgSortableMs(b);
|
|
139
160
|
const capTail = arr => arr.length > RUNTIME_MESSAGE_LIMIT ? arr.slice(-RUNTIME_MESSAGE_LIMIT) : arr;
|
|
140
161
|
const existingIds = new Set(realExisting.map(m => String(m.id)));
|
|
@@ -497,7 +518,19 @@ const reducers = {
|
|
|
497
518
|
*
|
|
498
519
|
* Monotonic: a marker only ever moves a baseline FORWARD, so a stale
|
|
499
520
|
* server value can't resurrect already-read messages and a more-recent
|
|
500
|
-
* local read (tab blur stamping
|
|
521
|
+
* local read (tab blur stamping the server read timestamp) always wins.
|
|
522
|
+
*
|
|
523
|
+
* Bug #38 self-heal: forward-only is correct for a SANE existing
|
|
524
|
+
* value, but a device whose clock was ahead may have already stamped
|
|
525
|
+
* a marker in the future (either persisted locally from a previous
|
|
526
|
+
* session, or fetched from the server before this fix existed). To
|
|
527
|
+
* "only ever move forward" from a corrupt future value is to never
|
|
528
|
+
* move at all - the room would stay stuck at `unreadMessages: 0`
|
|
529
|
+
* forever. When the room is loaded, detect a marker that sits well
|
|
530
|
+
* past the newest message we actually know it has and waive the
|
|
531
|
+
* forward-only check for that one comparison, so the incoming
|
|
532
|
+
* (already-clamped, see xmppClient.getChatsPrivateStoreRequestStanza)
|
|
533
|
+
* value can correct it even though it's numerically smaller.
|
|
501
534
|
*/
|
|
502
535
|
applyPrivateStoreMarkers: (state, action) => {
|
|
503
536
|
const markers = action.payload;
|
|
@@ -512,15 +545,30 @@ const reducers = {
|
|
|
512
545
|
if (!jid || !Number.isFinite(ts) || ts <= 0) {
|
|
513
546
|
continue;
|
|
514
547
|
}
|
|
548
|
+
const room = state.rooms[jid];
|
|
549
|
+
const newestKnownMs = room ? newestAckedMessageMs(room.messages) : 0;
|
|
550
|
+
// Mirrors isCorruptFutureReadMarker in helpers/getServerReadTimestamp.ts
|
|
551
|
+
// (duplicated to avoid a roomStore <-> helpers import cycle):
|
|
552
|
+
// BOTH signals are required. "Further ahead than the newest
|
|
553
|
+
// message this room has locally" happens all the time on a room
|
|
554
|
+
// whose history hasn't synced yet, and healing on that alone
|
|
555
|
+
// would drop a legitimate marker another device wrote after
|
|
556
|
+
// reading newer messages. A real read marker can never be ahead
|
|
557
|
+
// of real time, so that second signal is what distinguishes a
|
|
558
|
+
// stale cache from a wrong clock.
|
|
559
|
+
const nowMs = Date.now();
|
|
560
|
+
const looksCorrupt = existing => newestKnownMs > 0 && existing > newestKnownMs + FUTURE_MARKER_TOLERANCE_MS && existing > nowMs + FUTURE_MARKER_TOLERANCE_MS;
|
|
561
|
+
|
|
515
562
|
// Remember the marker so rooms that load LATER (via addRoom)
|
|
516
563
|
// inherit it even though they don't exist in the store yet.
|
|
517
|
-
|
|
564
|
+
const cachedMarker = state.privateStoreMarkers[jid] || 0;
|
|
565
|
+
if (ts > cachedMarker || looksCorrupt(cachedMarker)) {
|
|
518
566
|
state.privateStoreMarkers[jid] = ts;
|
|
519
567
|
}
|
|
520
568
|
// Upgrade an already-loaded room's baseline + recompute its badge.
|
|
521
|
-
//
|
|
522
|
-
|
|
523
|
-
if (room && ts > (room.lastViewedTimestamp || 0)) {
|
|
569
|
+
// Forward-only, unless the room's CURRENT baseline is itself the
|
|
570
|
+
// corrupt value being corrected.
|
|
571
|
+
if (room && (ts > (room.lastViewedTimestamp || 0) || looksCorrupt(room.lastViewedTimestamp || 0))) {
|
|
524
572
|
room.lastViewedTimestamp = ts;
|
|
525
573
|
room.unreadMessages = countNewerMessages(room.messages, ts);
|
|
526
574
|
}
|
|
@@ -757,6 +805,35 @@ const isOwn = (msg, selfXmpp, selfWallet) => {
|
|
|
757
805
|
}
|
|
758
806
|
return false;
|
|
759
807
|
};
|
|
808
|
+
|
|
809
|
+
// Bug #38 tolerance: a stored read marker more than this far past the
|
|
810
|
+
// newest message a room actually has is not "the user is a little
|
|
811
|
+
// ahead" - it's a leftover from a device whose clock was wrong when it
|
|
812
|
+
// stamped the marker. Kept in sync with (but duplicated from, to avoid
|
|
813
|
+
// a roomStore ↔ helpers import cycle) FUTURE_READ_MARKER_TOLERANCE_MS
|
|
814
|
+
// in helpers/getServerReadTimestamp.ts.
|
|
815
|
+
const FUTURE_MARKER_TOLERANCE_MS = 5 * 60 * 1000;
|
|
816
|
+
|
|
817
|
+
// Newest message in `messages` this room actually has proof the server
|
|
818
|
+
// accepted - used only to sanity-check an already-stored read marker
|
|
819
|
+
// against reality (see applyPrivateStoreMarkers's self-heal). Excludes
|
|
820
|
+
// pending/optimistic sends via the `pending` flag alone: unlike
|
|
821
|
+
// getServerReadTimestamp, this runs inside a reducer and can't reach
|
|
822
|
+
// across to the roomHeapSlice slice, but `pending` already identifies
|
|
823
|
+
// every optimistic send that matters for this comparison.
|
|
824
|
+
const newestAckedMessageMs = messages => {
|
|
825
|
+
let newest = 0;
|
|
826
|
+
for (const m of messages || []) {
|
|
827
|
+
if (!m || m.id === 'delimiter-new' || m.pending) {
|
|
828
|
+
continue;
|
|
829
|
+
}
|
|
830
|
+
const ms = msgSortableMs(m);
|
|
831
|
+
if (ms > newest) {
|
|
832
|
+
newest = ms;
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
return newest;
|
|
836
|
+
};
|
|
760
837
|
const countNewerMessages = (messages, timestamp, selfXmpp = '', selfWallet = '') => {
|
|
761
838
|
if (!messages?.length || !timestamp) {
|
|
762
839
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
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","icon","undefined","roomBg","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","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":[]}
|
|
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","realExisting","m","pending","realFetched","fetchedKeys","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","icon","undefined","roomBg","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","newestKnownMs","newestAckedMessageMs","nowMs","now","looksCorrupt","FUTURE_MARKER_TOLERANCE_MS","cachedMarker","setRoomRole","role","setRoomNoMessages","value","noMessages","setCurrentRoom","setVisibleRoom","clearVisibleRoom","setPendingNotificationJid","clearPendingNotificationJid","setReactions","reactions","setLogoutState","setActiveMessage","activeMessage","setCloseActiveMessage","title","usersCnt","incoming","previous","Math","max","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","ms","count","reducer"],"sourceRoot":"../../../src","sources":["roomStore/roomsSlice.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatRoom.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatRoom.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAmD,MAAM,OAAO,CAAC;AAwBxE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatRoom.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/ChatRoom.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAAmD,MAAM,OAAO,CAAC;AAwBxE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AA8B1D,UAAU,aAAa;IACrB,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAChD,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9C,qBAAqB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CAC1C;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAofrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/MediaMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/MediaMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAoB7C,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAgHD,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+H7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/MessageContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/MessageContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAatD,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAClC,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACvC,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,CAAC;IAClB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA0FtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/MessageList.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAMN,MAAM,OAAO,CAAC;AAYf,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAS,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../src/components/MainComponents/MessageList.tsx"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,KAMN,MAAM,OAAO,CAAC;AAYf,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAS,MAAM,mBAAmB,CAAC;AAanE,UAAU,gBAAgB,CAAC,QAAQ,SAAS,QAAQ;IAClD,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAClC,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACvC,IAAI,EAAE,IAAI,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,CAChB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,KACZ,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AAED,QAAA,MAAM,WAAW,GAAI,QAAQ,SAAS,QAAQ,EAAE,+JAY7C,gBAAgB,CAAC,QAAQ,CAAC,sBA4a5B,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilePreviewModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FilePreviewModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAkH3D,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA6VrD,CAAC;AAkBF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { LastMessage } from '../../../types/types';
|
|
3
|
-
interface LastMessageFileProps extends Pick<LastMessage, 'user' | 'originalName' | 'locationPreview'> {
|
|
3
|
+
interface LastMessageFileProps extends Pick<LastMessage, 'user' | 'originalName' | 'fileName' | 'mimetype' | 'locationPreview'> {
|
|
4
4
|
}
|
|
5
5
|
declare const LastMessageFile: FC<LastMessageFileProps>;
|
|
6
6
|
export default LastMessageFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LastMessageFile.d.ts","sourceRoot":"","sources":["../../../../../src/components/RoomComponents/styled/LastMessageFile.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"LastMessageFile.d.ts","sourceRoot":"","sources":["../../../../../src/components/RoomComponents/styled/LastMessageFile.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAgBnD,UAAU,oBACR,SAAQ,IAAI,CACV,WAAW,EACX,MAAM,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,CACtE;CAAG;AAKN,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAgD7C,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { LastMessage } from '../../../types/types';
|
|
3
|
-
interface LastMessagePhotoProps extends Pick<LastMessage, 'user' | 'originalName' | 'locationPreview'> {
|
|
3
|
+
interface LastMessagePhotoProps extends Pick<LastMessage, 'user' | 'originalName' | 'fileName' | 'mimetype' | 'locationPreview'> {
|
|
4
4
|
}
|
|
5
5
|
declare const LastMessagePhoto: FC<LastMessagePhotoProps>;
|
|
6
6
|
export default LastMessagePhoto;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LastMessagePhoto.d.ts","sourceRoot":"","sources":["../../../../../src/components/RoomComponents/styled/LastMessagePhoto.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"LastMessagePhoto.d.ts","sourceRoot":"","sources":["../../../../../src/components/RoomComponents/styled/LastMessagePhoto.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAuBnD,UAAU,qBACR,SAAQ,IAAI,CACV,WAAW,EACX,MAAM,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,CACtE;CAAG;AAEN,QAAA,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAiC/C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { LastMessage } from '../../../types/types';
|
|
3
|
-
interface LastMessageVideoProps extends Pick<LastMessage, 'user' | 'location' | 'originalName'> {
|
|
3
|
+
interface LastMessageVideoProps extends Pick<LastMessage, 'user' | 'location' | 'originalName' | 'fileName' | 'mimetype'> {
|
|
4
4
|
}
|
|
5
5
|
declare const LastMessageVideo: FC<LastMessageVideoProps>;
|
|
6
6
|
export default LastMessageVideo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LastMessageVideo.d.ts","sourceRoot":"","sources":["../../../../../src/components/RoomComponents/styled/LastMessageVideo.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"LastMessageVideo.d.ts","sourceRoot":"","sources":["../../../../../src/components/RoomComponents/styled/LastMessageVideo.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAsCnD,UAAU,qBACR,SAAQ,IAAI,CACV,WAAW,EACX,MAAM,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,CAC/D;CAAG;AAEN,QAAA,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAkC/C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -3,6 +3,12 @@ interface CustomMessageImageProps {
|
|
|
3
3
|
/** Full-size file. Opened in the preview modal, NOT rendered inline. */
|
|
4
4
|
fileURL: string;
|
|
5
5
|
fileName: string;
|
|
6
|
+
/**
|
|
7
|
+
* The sender's original file name (bug #40) - kept alongside `fileName`
|
|
8
|
+
* so the preview modal's save/share/download logic can prefer it over
|
|
9
|
+
* the server's stored/hashed name.
|
|
10
|
+
*/
|
|
11
|
+
originalName?: string;
|
|
6
12
|
mimetype: string;
|
|
7
13
|
/**
|
|
8
14
|
* Server-generated thumbnail — what the bubble actually renders, same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageImage.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/MessageImage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAoBnD,UAAU,uBAAuB;IAC/B,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"MessageImage.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/MessageImage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAoBnD,UAAU,uBAAuB;IAC/B,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA8FzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnsupportedType.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/UnsupportedType.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"UnsupportedType.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/UnsupportedType.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAsB1B,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACnC;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+H7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
interface CustomMessageVideoProps {
|
|
3
3
|
fileName: string;
|
|
4
|
+
/**
|
|
5
|
+
* The sender's original file name (bug #40) - kept alongside `fileName`
|
|
6
|
+
* so the preview modal's save/share/download logic can prefer it over
|
|
7
|
+
* the server's stored/hashed name.
|
|
8
|
+
*/
|
|
9
|
+
originalName?: string;
|
|
4
10
|
fileURL: string;
|
|
5
11
|
mimetype: string;
|
|
6
12
|
/** The backend-generated poster frame (message.locationPreview). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/VideoMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAmBnD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqGD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"VideoMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/styled/VideoMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAmBnD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqGD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA+BzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xmppProvider.d.ts","sourceRoot":"","sources":["../../../src/context/xmppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAQV,MAAM,OAAO,CAAC;AAIf,OAAO,UAEN,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,OAAO,EACP,uBAAuB,EAEvB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAmCxB,UAAU,QAAQ;IAChB,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;CAC9B;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,gBAAgB,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,qBAAqB,KACjC,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1B;AAID,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IAIjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAcD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"xmppProvider.d.ts","sourceRoot":"","sources":["../../../src/context/xmppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAQV,MAAM,OAAO,CAAC;AAIf,OAAO,UAEN,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,OAAO,EACP,uBAAuB,EAEvB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAmCxB,UAAU,QAAQ;IAChB,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;CAC9B;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,gBAAgB,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,qBAAqB,KACjC,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1B;AAID,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IAIjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAcD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAswBpD,CAAC;AAEF,eAAO,MAAM,aAAa,uBAkBzB,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,cAAc,SAE7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMessageFromXml.d.ts","sourceRoot":"","sources":["../../../src/helpers/createMessageFromXml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,UAAU,mBAAoB,SAAQ,QAAQ;IAC5C,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,mBAAmB,EACxB,SAAS,GAAG,EACZ,eAAe,MAAM,EACrB,iBAAiB,MAAM,EACvB,oBAAoB,OAAO,KAC1B,OAAO,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"createMessageFromXml.d.ts","sourceRoot":"","sources":["../../../src/helpers/createMessageFromXml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,UAAU,mBAAoB,SAAQ,QAAQ;IAC5C,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,mBAAmB,EACxB,SAAS,GAAG,EACZ,eAAe,MAAM,EACrB,iBAAiB,MAAM,EACvB,oBAAoB,OAAO,KAC1B,OAAO,CAAC,QAAQ,CA6GlB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export interface DisplayFileNameOptions {
|
|
2
|
+
originalName?: string | null;
|
|
3
|
+
fileName?: string | null;
|
|
4
|
+
location?: string | null;
|
|
5
|
+
mimetype?: string | null;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Picks the best human-readable filename for a chat attachment - the
|
|
9
|
+
* single source of truth for every place a file name is rendered in the
|
|
10
|
+
* UI, saved to disk, shared, or downloaded.
|
|
11
|
+
*
|
|
12
|
+
* Priority: `originalName` (the sender's own file name, e.g. "test1.pdf")
|
|
13
|
+
* beats `fileName` (the server's stored/hashed name, e.g.
|
|
14
|
+
* "3f9a1c...c2.pdf") beats the last path segment of `location`. The
|
|
15
|
+
* stored hash name is only a fallback of last resort.
|
|
16
|
+
*
|
|
17
|
+
* Bug #40: display and save/share/download logic used to prefer the
|
|
18
|
+
* stored hash name over the original one, so an attachment sent as
|
|
19
|
+
* "test1.pdf" showed up (and got saved to the phone) as something like
|
|
20
|
+
* "3f9a1c...c2.pdf" - both directions (web -> RN and RN -> RN).
|
|
21
|
+
*
|
|
22
|
+
* Always returns a non-empty string with a valid extension: if the
|
|
23
|
+
* chosen candidate has no extension (a hash name can be `<hex>` with no
|
|
24
|
+
* extension at all, or `<hex>.<ext>`), one is appended from `mimetype`
|
|
25
|
+
* (or `.bin` as a last resort when the mime is unknown/missing too).
|
|
26
|
+
*/
|
|
27
|
+
export declare function getDisplayFileName(options: DisplayFileNameOptions): string;
|
|
28
|
+
/**
|
|
29
|
+
* Makes a display name safe to use as an actual path segment when
|
|
30
|
+
* saving/sharing a file to the device: strips path separators (so an
|
|
31
|
+
* odd/hostile server-provided name can't escape the target directory)
|
|
32
|
+
* and control characters. Keeps the rest of the name - including the
|
|
33
|
+
* extension - intact.
|
|
34
|
+
*/
|
|
35
|
+
export declare function sanitizeFileNameForPath(name: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Resolves a filename that is safe to write into a target directory:
|
|
38
|
+
* sanitizes it, then - if `exists` reports a collision - inserts
|
|
39
|
+
* " (1)", " (2)", ... before the extension until a free name is found,
|
|
40
|
+
* so saving two different attachments that share a display name never
|
|
41
|
+
* silently overwrites the first one.
|
|
42
|
+
*
|
|
43
|
+
* `exists` is injected so callers can back it with whatever existence
|
|
44
|
+
* check makes sense for their storage API (expo-file-system,
|
|
45
|
+
* StorageAccessFramework directory listing, ...) - this function stays
|
|
46
|
+
* pure and easy to unit test.
|
|
47
|
+
*/
|
|
48
|
+
export declare function getUniqueFileName(name: string, exists: (candidateName: string) => Promise<boolean>): Promise<string>;
|
|
49
|
+
//# sourceMappingURL=getDisplayFileName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDisplayFileName.d.ts","sourceRoot":"","sources":["../../../src/helpers/getDisplayFileName.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAO1E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { IMessage, IRoom } from '../types/types';
|
|
2
|
+
export declare const FUTURE_READ_MARKER_TOLERANCE_MS: number;
|
|
3
|
+
export interface ReadTimestampHeapState {
|
|
4
|
+
messageHeap?: IMessage[] | null;
|
|
5
|
+
failedMessages?: Record<string, unknown> | null;
|
|
6
|
+
}
|
|
7
|
+
type RoomForReadTimestamp = Pick<IRoom, 'jid' | 'messages' | 'lastViewedTimestamp'>;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the "read up to here" marker for `room` using SERVER time,
|
|
10
|
+
* never the device clock.
|
|
11
|
+
*
|
|
12
|
+
* Bug #38: if the device clock is ahead when the user leaves a room, a
|
|
13
|
+
* `Date.now()` read marker lands in the future. The private-store merge
|
|
14
|
+
* (flushLastViewedToPrivateStore.ts) is forward-only ("if (prevNum >=
|
|
15
|
+
* ts) continue"), so once a future marker is written, no later
|
|
16
|
+
* *correct* write can ever replace it - the room's unread count is
|
|
17
|
+
* stuck wrong forever, on every device, from that point on. Anchoring
|
|
18
|
+
* to the newest SERVER-acknowledged message's own timestamp instead
|
|
19
|
+
* means the marker we write can never be ahead of what the server
|
|
20
|
+
* itself has recorded for the room.
|
|
21
|
+
*
|
|
22
|
+
* "Server-acknowledged" excludes:
|
|
23
|
+
* - a message still marked `pending` (the optimistic bubble shown
|
|
24
|
+
* while a send is in flight - it carries the DEVICE send time via
|
|
25
|
+
* `date`, not a server timestamp, until the server echoes it back
|
|
26
|
+
* and insertMessageWithDelimiter flips `pending` off);
|
|
27
|
+
* - a message id present in `heapState.messageHeap` (queued retry -
|
|
28
|
+
* used for offline media sends, see roomHeapSlice.ts) or
|
|
29
|
+
* `heapState.failedMessages` (a send that never reached the server
|
|
30
|
+
* at all).
|
|
31
|
+
*
|
|
32
|
+
* `msgSortableMs` (roomsSlice.ts) reads the server-assigned microsecond
|
|
33
|
+
* timestamp encoded in the first 13 digits of the message id - the same
|
|
34
|
+
* source already used for message ordering and unread counting - so
|
|
35
|
+
* this stays consistent with the rest of the read/unread pipeline.
|
|
36
|
+
*
|
|
37
|
+
* Falls back to the room's existing `lastViewedTimestamp` (so leaving
|
|
38
|
+
* an empty or never-scrolled room doesn't regress the marker), then to
|
|
39
|
+
* `0` when there's truly nothing to anchor to yet (a brand new room
|
|
40
|
+
* with no history and no prior marker). Callers should treat `0` as
|
|
41
|
+
* "skip the write" rather than substituting a device-clock guess.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getServerReadTimestamp(room: RoomForReadTimestamp | null | undefined, heapState?: ReadTimestampHeapState | null): number;
|
|
44
|
+
/**
|
|
45
|
+
* Is `marker` a leftover from a device whose clock was wrong when it
|
|
46
|
+
* stamped a read marker (bug #38)?
|
|
47
|
+
*
|
|
48
|
+
* TWO independent signals must agree before we're willing to throw a
|
|
49
|
+
* stored marker away, because "waive the forward-only guard" is a
|
|
50
|
+
* destructive operation:
|
|
51
|
+
*
|
|
52
|
+
* 1. it sits well past the newest message we know the room has, AND
|
|
53
|
+
* 2. it sits well past real time.
|
|
54
|
+
*
|
|
55
|
+
* Signal 1 alone is NOT enough, and that is the whole point of this
|
|
56
|
+
* function: a device whose local cache for a room is simply stale (very
|
|
57
|
+
* common - any room whose history hasn't been synced yet this session)
|
|
58
|
+
* sees a perfectly legitimate marker written by another device that HAS
|
|
59
|
+
* seen newer messages, and would happily "heal" it backwards, resurrecting
|
|
60
|
+
* already-read messages as unread on every device. A real timestamp can
|
|
61
|
+
* never be ahead of real time, so requiring signal 2 as well means a
|
|
62
|
+
* stale cache on its own can no longer trigger the self-heal.
|
|
63
|
+
*
|
|
64
|
+
* Signal 2 alone is not used either: it would let a device whose own
|
|
65
|
+
* clock is running SLOW mistake every correct marker for a corrupt one.
|
|
66
|
+
*/
|
|
67
|
+
export declare function isCorruptFutureReadMarker(marker: number, newestAckedMs: number): boolean;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=getServerReadTimestamp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getServerReadTimestamp.d.ts","sourceRoot":"","sources":["../../../src/helpers/getServerReadTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAWtD,eAAO,MAAM,+BAA+B,QAAgB,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjD;AAED,KAAK,oBAAoB,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,qBAAqB,CAAC,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,CAAC,EAAE,sBAAsB,GAAG,IAAI,GACxC,MAAM,CA4BR;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAKT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initXmppRooms.d.ts","sourceRoot":"","sources":["../../../src/helpers/initXmppRooms.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initXmppRooms.d.ts","sourceRoot":"","sources":["../../../src/helpers/initXmppRooms.tsx"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItD,QAAA,MAAM,aAAa,GACjB,MAAM,IAAI,EACV,QAAQ,OAAO,EACf,YAAY,UAAU,EACtB,QAAQ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,EAChC,UAAU,MAAM,kBA4DjB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IMessage } from '../types/types';
|
|
2
|
+
/**
|
|
3
|
+
* Bug #41: during reconnect catch-up (app was backgrounded/offline, then
|
|
4
|
+
* comes back online), messages replayed from MAM could transiently render
|
|
5
|
+
* on the RIGHT (as if sent by the current user) before flipping to the
|
|
6
|
+
* LEFT a moment later. Root cause: `message.user.id === walletAddress`
|
|
7
|
+
* treats `undefined === undefined` (or `'' === ''`) as a match, and the
|
|
8
|
+
* two sides could independently be empty for one frame -- the message's
|
|
9
|
+
* sender id before the MAM-derived value settled, and/or the current
|
|
10
|
+
* user's id before it rehydrated. Two blank ids must never compare equal.
|
|
11
|
+
*
|
|
12
|
+
* A second, related issue: the same logical sender id can show up in
|
|
13
|
+
* different shapes depending on which code path produced it -- a bare
|
|
14
|
+
* id ("wallet123") or a bare JID with an incidental session resource
|
|
15
|
+
* ("wallet123@host/sessionResource", as `senderJID` attrs carry on the
|
|
16
|
+
* wire -- see src/assets/test.xml). In every shape used in this
|
|
17
|
+
* codebase the identifying segment is the part BEFORE the first '@' (or
|
|
18
|
+
* before '/' when there's no '@'); anything after that -- domain,
|
|
19
|
+
* resource -- is noise. Comparing raw strings with `===` fails whenever
|
|
20
|
+
* one side still carries that noise and the other doesn't. Normalizing
|
|
21
|
+
* both sides (strip resource, strip domain, lowercase) before comparing
|
|
22
|
+
* makes the check tolerant of that drift.
|
|
23
|
+
*/
|
|
24
|
+
export interface OwnMessageUserLike {
|
|
25
|
+
id?: string | null;
|
|
26
|
+
xmppUsername?: string | null;
|
|
27
|
+
walletAddress?: string | null;
|
|
28
|
+
}
|
|
29
|
+
export type OwnMessageCurrentUser = OwnMessageUserLike | string | null | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Robustly determine whether `message` was sent by `currentUser`. Never
|
|
32
|
+
* returns true from two blank/undefined ids, and tolerates bare-id vs.
|
|
33
|
+
* full-JID mismatches between the sender id and the current user id.
|
|
34
|
+
*/
|
|
35
|
+
export declare const isOwnMessage: (message: Pick<IMessage, "user"> | null | undefined, currentUser: OwnMessageCurrentUser) => boolean;
|
|
36
|
+
//# sourceMappingURL=isOwnMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isOwnMessage.d.ts","sourceRoot":"","sources":["../../../src/helpers/isOwnMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,MAAM,GACN,IAAI,GACJ,SAAS,CAAC;AAkCd;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EAClD,aAAa,qBAAqB,KACjC,OAYF,CAAC"}
|
|
@@ -57,19 +57,4 @@ export declare function isUnsupportedAudioForIosPlayback(opts: {
|
|
|
57
57
|
* extension is appended so callers always get a usable filename.
|
|
58
58
|
*/
|
|
59
59
|
export declare function ensureFilenameHasExtension(fileName: string | undefined | null, mime: string | undefined | null): string;
|
|
60
|
-
/**
|
|
61
|
-
* Best-effort filename derivation for a message bubble:
|
|
62
|
-
* - server-provided `fileName`
|
|
63
|
-
* - server-provided `originalName`
|
|
64
|
-
* - URL pathname
|
|
65
|
-
* - generic `media_<timestamp>` so we never render an empty label
|
|
66
|
-
*
|
|
67
|
-
* Always returns a string with a valid extension.
|
|
68
|
-
*/
|
|
69
|
-
export declare function deriveDisplayFilename(opts: {
|
|
70
|
-
fileName?: string | null;
|
|
71
|
-
originalName?: string | null;
|
|
72
|
-
url?: string | null;
|
|
73
|
-
mime?: string | null;
|
|
74
|
-
}): string;
|
|
75
60
|
//# sourceMappingURL=mimeToExtension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mimeToExtension.d.ts","sourceRoot":"","sources":["../../../src/helpers/mimeToExtension.ts"],"names":[],"mappings":"AAkGA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EACnB,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GACA,OAAO,CA8CT;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAI3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAWtE;AAQD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,OAAO,CAiBV;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,GAAG,MAAM,CAcT;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,GAAG,OAAO,CAgBV;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACnC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC9B,MAAM,CAKR
|
|
1
|
+
{"version":3,"file":"mimeToExtension.d.ts","sourceRoot":"","sources":["../../../src/helpers/mimeToExtension.ts"],"names":[],"mappings":"AAkGA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EACnB,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GACA,OAAO,CA8CT;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAI3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAWtE;AAQD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,OAAO,CAiBV;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,GAAG,MAAM,CAcT;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,GAAG,OAAO,CAgBV;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACnC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC9B,MAAM,CAKR"}
|