@ethora/chat-component-rn 26.7.8 → 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/CHANGELOG.md +0 -2
- package/lib/commonjs/assets/icons.js +2 -2
- package/lib/commonjs/assets/icons.js.map +1 -1
- 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/ChatProfileModal/ChatProfileModal.js +1 -51
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.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/i18n/strings.js +0 -18
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +0 -13
- package/lib/commonjs/networking/api-requests/rooms.api.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/assets/icons.js +1 -1
- package/lib/module/assets/icons.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/ChatProfileModal/ChatProfileModal.js +3 -53
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.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/i18n/strings.js +0 -18
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +0 -12
- package/lib/module/networking/api-requests/rooms.api.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/assets/icons.d.ts +0 -8
- 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/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.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/getAvatarColor.d.ts +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/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts +0 -1
- package/lib/typescript/networking/api-requests/rooms.api.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/lib/typescript/types/models/room.model.d.ts +0 -1
- package/lib/typescript/types/models/room.model.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +0 -1
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/assets/icons.tsx +0 -24
- 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/ChatProfileModal/ChatProfileModal.tsx +2 -36
- 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/i18n/strings.ts +0 -18
- package/src/networking/api-requests/rooms.api.ts +0 -9
- 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
- package/src/types/models/room.model.ts +0 -1
- package/src/types/types.ts +0 -1
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
4
|
import { encryptForPersist, decryptFromPersist } from '../helpers/persistCrypto';
|
|
5
|
-
|
|
6
5
|
// -------------------------------------------------------------------
|
|
7
6
|
// Lightweight RN persistence layer. Mirrors what redux-persist gives
|
|
8
7
|
// the web component:
|
|
@@ -21,11 +20,23 @@ import { encryptForPersist, decryptFromPersist } from '../helpers/persistCrypto'
|
|
|
21
20
|
|
|
22
21
|
const KEY_CHAT = '@ethora/persist:chatSettingStore';
|
|
23
22
|
const KEY_ROOMS = '@ethora/persist:rooms';
|
|
23
|
+
// bug #39: a failed send needs to survive a relaunch as "failed / tap
|
|
24
|
+
// to retry", not silently render as delivered. `roomHeapStore.failedMessages`
|
|
25
|
+
// is the map the bubble reads (`isFailed = failedMessages[id]`, see
|
|
26
|
+
// Message.tsx / useMessageHeapState): it lives in a separate, previously
|
|
27
|
+
// non-persisted slice from `rooms`, so it gets its own key here.
|
|
28
|
+
const KEY_HEAP = '@ethora/persist:roomHeap';
|
|
24
29
|
|
|
25
30
|
// Per-room message cap on disk. Mirror this value in `roomsSlice`'s
|
|
26
31
|
// in-memory cap (see `enforceMessageCap`) so the runtime and persisted
|
|
27
32
|
// shapes stay aligned.
|
|
28
33
|
export const MESSAGE_LIMIT = 100;
|
|
34
|
+
|
|
35
|
+
// Defensive cap on the number of failed-message payloads written to
|
|
36
|
+
// disk. In practice this map only grows while the user is actively
|
|
37
|
+
// sending offline, but a runaway sender (or a bug that never clears an
|
|
38
|
+
// entry) must not turn this key into an unbounded write.
|
|
39
|
+
export const MAX_PERSISTED_FAILED_MESSAGES = 200;
|
|
29
40
|
const sanitizeUser = user => {
|
|
30
41
|
if (!user) {
|
|
31
42
|
return null;
|
|
@@ -50,7 +61,14 @@ const sanitizeUser = user => {
|
|
|
50
61
|
// on reload before MAM catches up. That needs the fields the bubbles and
|
|
51
62
|
// room-list previews actually read, nothing else. Everything outside this
|
|
52
63
|
// list is either re-derived on render or re-fetched from the server.
|
|
53
|
-
const PERSISTED_MESSAGE_FIELDS = ['id', 'xmppId', 'xmppFrom', 'body', 'date', 'timestamp', 'roomJid', 'isSystemMessage', 'isMediafile', 'isDeleted', 'isEdited', 'isReply', 'showInChannel', 'mainMessage', 'mimetype', 'location', 'locationPreview', 'fileName', 'originalName', 'size', 'langSource', 'callLog'
|
|
64
|
+
const PERSISTED_MESSAGE_FIELDS = ['id', 'xmppId', 'xmppFrom', 'body', 'date', 'timestamp', 'roomJid', 'isSystemMessage', 'isMediafile', 'isDeleted', 'isEdited', 'isReply', 'showInChannel', 'mainMessage', 'mimetype', 'location', 'locationPreview', 'fileName', 'originalName', 'size', 'langSource', 'callLog',
|
|
65
|
+
// bug #39: without this, a message that was still in flight (no
|
|
66
|
+
// server echo yet) at kill time comes back from disk indistinguishable
|
|
67
|
+
// from a normal delivered message, so the bubble renders it as sent.
|
|
68
|
+
// Persisting `pending` lets the boot-time scan (see
|
|
69
|
+
// computeBootTimeFailures below) find exactly the messages that never
|
|
70
|
+
// got confirmed and flip them to failed instead.
|
|
71
|
+
'pending'];
|
|
54
72
|
|
|
55
73
|
// The sender identity that rides along on every message over the wire
|
|
56
74
|
// (senderFirstName / senderLastName / photo, which createMessageFromXml
|
|
@@ -141,6 +159,167 @@ const sanitizeRooms = rooms => {
|
|
|
141
159
|
}
|
|
142
160
|
return out;
|
|
143
161
|
};
|
|
162
|
+
|
|
163
|
+
// Only the fields retryMessage actually needs to replay the send (see
|
|
164
|
+
// FailedMessagePayload / useSendMessage.retryMessage). In particular, the
|
|
165
|
+
// media `data` blob is trimmed to `uri/type/name/size` (the picker never
|
|
166
|
+
// hands us auth material, but this stays defensive against a future
|
|
167
|
+
// picker change smuggling extra fields, or a huge inline payload, into
|
|
168
|
+
// `data`).
|
|
169
|
+
const sanitizeMediaData = data => {
|
|
170
|
+
if (!data || typeof data !== 'object') {
|
|
171
|
+
return {};
|
|
172
|
+
}
|
|
173
|
+
const out = {};
|
|
174
|
+
if (typeof data.uri === 'string') {
|
|
175
|
+
out.uri = data.uri;
|
|
176
|
+
}
|
|
177
|
+
if (typeof data.type === 'string') {
|
|
178
|
+
out.type = data.type;
|
|
179
|
+
}
|
|
180
|
+
if (typeof data.name === 'string') {
|
|
181
|
+
out.name = data.name;
|
|
182
|
+
}
|
|
183
|
+
if (typeof data.size === 'number') {
|
|
184
|
+
out.size = data.size;
|
|
185
|
+
}
|
|
186
|
+
return out;
|
|
187
|
+
};
|
|
188
|
+
const sanitizeFailedMessagePayload = payload => {
|
|
189
|
+
if (!payload || typeof payload !== 'object') {
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
if (!payload.id || typeof payload.id !== 'string') {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
if (!payload.roomJID || typeof payload.roomJID !== 'string') {
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
if (payload.kind === 'media') {
|
|
199
|
+
return {
|
|
200
|
+
kind: 'media',
|
|
201
|
+
id: payload.id,
|
|
202
|
+
roomJID: payload.roomJID,
|
|
203
|
+
data: sanitizeMediaData(payload.data),
|
|
204
|
+
type: typeof payload.type === 'string' ? payload.type : '',
|
|
205
|
+
isReply: payload.isReply,
|
|
206
|
+
isChecked: payload.isChecked,
|
|
207
|
+
mainMessage: payload.mainMessage
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
if (payload.kind === 'text') {
|
|
211
|
+
return {
|
|
212
|
+
kind: 'text',
|
|
213
|
+
id: payload.id,
|
|
214
|
+
roomJID: payload.roomJID,
|
|
215
|
+
body: typeof payload.body === 'string' ? payload.body : '',
|
|
216
|
+
isReply: payload.isReply,
|
|
217
|
+
isChecked: payload.isChecked,
|
|
218
|
+
mainMessage: payload.mainMessage
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
return null;
|
|
222
|
+
};
|
|
223
|
+
const sanitizeFailedMessages = failedMessages => {
|
|
224
|
+
if (!failedMessages || typeof failedMessages !== 'object') {
|
|
225
|
+
return {};
|
|
226
|
+
}
|
|
227
|
+
const out = {};
|
|
228
|
+
let count = 0;
|
|
229
|
+
for (const [id, payload] of Object.entries(failedMessages)) {
|
|
230
|
+
if (count >= MAX_PERSISTED_FAILED_MESSAGES) {
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
const clean = sanitizeFailedMessagePayload(payload);
|
|
234
|
+
if (clean) {
|
|
235
|
+
out[id] = clean;
|
|
236
|
+
count++;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return out;
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
// -------------------------------------------------------------------
|
|
243
|
+
// Boot-time pending -> failed conversion (bug #39).
|
|
244
|
+
//
|
|
245
|
+
// `messageHeap` (the "still sending" buffer) is intentionally NOT
|
|
246
|
+
// persisted: it's a process-lifetime thing. That means on a cold start
|
|
247
|
+
// there is no such thing as "still sending": a persisted message that
|
|
248
|
+
// carries `pending: true` never got a server echo NOR got the chance to
|
|
249
|
+
// trip the in-session watchdog (see PENDING_WATCHDOG_MS in
|
|
250
|
+
// useSendMessage.tsx) before the process died. It must render as failed
|
|
251
|
+
// with a working retry, not as delivered and not as stuck "sending...".
|
|
252
|
+
//
|
|
253
|
+
// Reconstructs the same FailedMessagePayload shape the live send path
|
|
254
|
+
// builds in useSendMessage (markMessageFailed calls), from the fields we
|
|
255
|
+
// persist per message.
|
|
256
|
+
// -------------------------------------------------------------------
|
|
257
|
+
|
|
258
|
+
export function reconstructFailedMessagePayload(message, roomJID) {
|
|
259
|
+
if (!message?.id || !roomJID) {
|
|
260
|
+
return null;
|
|
261
|
+
}
|
|
262
|
+
const isReply = !!message.isReply;
|
|
263
|
+
const isChecked = message.showInChannel === 'true';
|
|
264
|
+
const mainMessage = message.mainMessage;
|
|
265
|
+
if (message.isMediafile === 'true') {
|
|
266
|
+
return {
|
|
267
|
+
kind: 'media',
|
|
268
|
+
id: message.id,
|
|
269
|
+
roomJID,
|
|
270
|
+
data: sanitizeMediaData({
|
|
271
|
+
uri: message.location,
|
|
272
|
+
name: message.fileName,
|
|
273
|
+
type: message.mimetype,
|
|
274
|
+
size: message.size !== undefined && message.size !== null ? Number(message.size) : undefined
|
|
275
|
+
}),
|
|
276
|
+
type: message.mimetype || '',
|
|
277
|
+
isReply,
|
|
278
|
+
isChecked,
|
|
279
|
+
mainMessage
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
return {
|
|
283
|
+
kind: 'text',
|
|
284
|
+
id: message.id,
|
|
285
|
+
roomJID,
|
|
286
|
+
body: message.body || '',
|
|
287
|
+
isReply,
|
|
288
|
+
isChecked,
|
|
289
|
+
mainMessage
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Scan every persisted room for messages still `pending: true` that
|
|
295
|
+
* DON'T already have a restored failure entry (those are handled by the
|
|
296
|
+
* caller separately, from the persisted `failedMessages` map), and
|
|
297
|
+
* synthesize a retry-able FailedMessagePayload for each. Pure function:
|
|
298
|
+
* the caller (roomStore/index.ts) is responsible for dispatching
|
|
299
|
+
* `markMessageFailed` for the results.
|
|
300
|
+
*/
|
|
301
|
+
export function computeBootTimeFailures(rooms, alreadyFailed) {
|
|
302
|
+
if (!rooms || typeof rooms !== 'object') {
|
|
303
|
+
return [];
|
|
304
|
+
}
|
|
305
|
+
const out = [];
|
|
306
|
+
for (const [jid, room] of Object.entries(rooms)) {
|
|
307
|
+
const messages = Array.isArray(room?.messages) ? room.messages : [];
|
|
308
|
+
for (const message of messages) {
|
|
309
|
+
if (!message || !message.pending) {
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
if (alreadyFailed && alreadyFailed[message.id]) {
|
|
313
|
+
continue;
|
|
314
|
+
}
|
|
315
|
+
const payload = reconstructFailedMessagePayload(message, jid);
|
|
316
|
+
if (payload) {
|
|
317
|
+
out.push(payload);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return out;
|
|
322
|
+
}
|
|
144
323
|
let writeTimer = null;
|
|
145
324
|
|
|
146
325
|
/**
|
|
@@ -150,7 +329,7 @@ let writeTimer = null;
|
|
|
150
329
|
export const persistenceMiddleware = storeAPI => next => action => {
|
|
151
330
|
const result = next(action);
|
|
152
331
|
const type = action?.type || '';
|
|
153
|
-
if (!type.startsWith('roomMessages/') && !type.startsWith('chat/setUser') && !type.startsWith('chat/updateUser') && !type.startsWith('chat/refreshTokens') && !type.startsWith('chat/logout')) {
|
|
332
|
+
if (!type.startsWith('roomMessages/') && !type.startsWith('roomHeapStore/') && !type.startsWith('chat/setUser') && !type.startsWith('chat/updateUser') && !type.startsWith('chat/refreshTokens') && !type.startsWith('chat/logout')) {
|
|
154
333
|
return result;
|
|
155
334
|
}
|
|
156
335
|
if (writeTimer) {
|
|
@@ -166,8 +345,11 @@ export const persistenceMiddleware = storeAPI => next => action => {
|
|
|
166
345
|
const roomsPayload = {
|
|
167
346
|
rooms: sanitizeRooms(state.rooms?.rooms || {})
|
|
168
347
|
};
|
|
169
|
-
const
|
|
170
|
-
|
|
348
|
+
const heapPayload = {
|
|
349
|
+
failedMessages: sanitizeFailedMessages(state.roomHeapSlice?.failedMessages)
|
|
350
|
+
};
|
|
351
|
+
const [chatCipher, roomsCipher, heapCipher] = await Promise.all([encryptForPersist(JSON.stringify(chatPayload)), encryptForPersist(JSON.stringify(roomsPayload)), encryptForPersist(JSON.stringify(heapPayload))]);
|
|
352
|
+
await AsyncStorage.multiSet([[KEY_CHAT, chatCipher], [KEY_ROOMS, roomsCipher], [KEY_HEAP, heapCipher]]);
|
|
171
353
|
} catch (e) {
|
|
172
354
|
console.warn('persist write failed', e);
|
|
173
355
|
}
|
|
@@ -183,8 +365,8 @@ export const persistenceMiddleware = storeAPI => next => action => {
|
|
|
183
365
|
*/
|
|
184
366
|
export async function readPersistedState() {
|
|
185
367
|
try {
|
|
186
|
-
const [chatRaw, roomsRaw] = await AsyncStorage.multiGet([KEY_CHAT, KEY_ROOMS]);
|
|
187
|
-
const [chatPlain, roomsPlain] = await Promise.all([chatRaw[1] ? decryptFromPersist(chatRaw[1]) : Promise.resolve(null), roomsRaw[1] ? decryptFromPersist(roomsRaw[1]) : Promise.resolve(null)]);
|
|
368
|
+
const [chatRaw, roomsRaw, heapRaw] = await AsyncStorage.multiGet([KEY_CHAT, KEY_ROOMS, KEY_HEAP]);
|
|
369
|
+
const [chatPlain, roomsPlain, heapPlain] = await Promise.all([chatRaw[1] ? decryptFromPersist(chatRaw[1]) : Promise.resolve(null), roomsRaw[1] ? decryptFromPersist(roomsRaw[1]) : Promise.resolve(null), heapRaw[1] ? decryptFromPersist(heapRaw[1]) : Promise.resolve(null)]);
|
|
188
370
|
// `decryptFromPersist` returns null both for "nothing stored" and
|
|
189
371
|
// for "stored value isn't a valid envelope for the current key" —
|
|
190
372
|
// notably a plaintext blob left over from a pre-encryption install.
|
|
@@ -192,27 +374,31 @@ export async function readPersistedState() {
|
|
|
192
374
|
// as a cold start and re-hydrates from the server.
|
|
193
375
|
const chat = chatPlain ? JSON.parse(chatPlain) : null;
|
|
194
376
|
const rooms = roomsPlain ? JSON.parse(roomsPlain) : null;
|
|
377
|
+
const heap = heapPlain ? JSON.parse(heapPlain) : null;
|
|
195
378
|
return {
|
|
196
379
|
chat,
|
|
197
|
-
rooms
|
|
380
|
+
rooms,
|
|
381
|
+
heap
|
|
198
382
|
};
|
|
199
383
|
} catch (e) {
|
|
200
384
|
console.warn('persist read failed', e);
|
|
201
385
|
return {
|
|
202
386
|
chat: null,
|
|
203
|
-
rooms: null
|
|
387
|
+
rooms: null,
|
|
388
|
+
heap: null
|
|
204
389
|
};
|
|
205
390
|
}
|
|
206
391
|
}
|
|
207
392
|
export async function clearPersistedState() {
|
|
208
393
|
try {
|
|
209
|
-
await AsyncStorage.multiRemove([KEY_CHAT, KEY_ROOMS]);
|
|
394
|
+
await AsyncStorage.multiRemove([KEY_CHAT, KEY_ROOMS, KEY_HEAP]);
|
|
210
395
|
} catch (e) {
|
|
211
396
|
console.warn('persist clear failed', e);
|
|
212
397
|
}
|
|
213
398
|
}
|
|
214
399
|
export const PERSIST_KEYS = {
|
|
215
400
|
KEY_CHAT,
|
|
216
|
-
KEY_ROOMS
|
|
401
|
+
KEY_ROOMS,
|
|
402
|
+
KEY_HEAP
|
|
217
403
|
};
|
|
218
404
|
//# sourceMappingURL=persistence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncStorage","encryptForPersist","decryptFromPersist","KEY_CHAT","KEY_ROOMS","MESSAGE_LIMIT","sanitizeUser","user","token","_token","refreshToken","_refreshToken","xmppPassword","_xmppPassword","rest","PERSISTED_MESSAGE_FIELDS","PERSISTED_MESSAGE_USER_FIELDS","REFETCHED_ROOM_FIELDS","pickDefined","source","keys","out","key","value","undefined","compactMessageForPersist","message","compact","sanitizeMessages","messages","Array","isArray","capped","length","slice","map","sanitizeRooms","rooms","jid","room","Object","entries","includes","compactRoom","usersCnt","members","field","composing","composingList","isLoading","historyPreloadState","writeTimer","persistenceMiddleware","storeAPI","next","action","result","type","startsWith","clearTimeout","setTimeout","state","getState","chatPayload","chatSettingStore","roomsPayload","chatCipher","roomsCipher","Promise","all","JSON","stringify","multiSet","e","console","warn","readPersistedState","chatRaw","roomsRaw","multiGet","chatPlain","roomsPlain","resolve","chat","parse","clearPersistedState","multiRemove","PERSIST_KEYS"],"sourceRoot":"../../../src","sources":["roomStore/persistence.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AsyncStorage","encryptForPersist","decryptFromPersist","KEY_CHAT","KEY_ROOMS","KEY_HEAP","MESSAGE_LIMIT","MAX_PERSISTED_FAILED_MESSAGES","sanitizeUser","user","token","_token","refreshToken","_refreshToken","xmppPassword","_xmppPassword","rest","PERSISTED_MESSAGE_FIELDS","PERSISTED_MESSAGE_USER_FIELDS","REFETCHED_ROOM_FIELDS","pickDefined","source","keys","out","key","value","undefined","compactMessageForPersist","message","compact","sanitizeMessages","messages","Array","isArray","capped","length","slice","map","sanitizeRooms","rooms","jid","room","Object","entries","includes","compactRoom","usersCnt","members","field","composing","composingList","isLoading","historyPreloadState","sanitizeMediaData","data","uri","type","name","size","sanitizeFailedMessagePayload","payload","id","roomJID","kind","isReply","isChecked","mainMessage","body","sanitizeFailedMessages","failedMessages","count","clean","reconstructFailedMessagePayload","showInChannel","isMediafile","location","fileName","mimetype","Number","computeBootTimeFailures","alreadyFailed","pending","push","writeTimer","persistenceMiddleware","storeAPI","next","action","result","startsWith","clearTimeout","setTimeout","state","getState","chatPayload","chatSettingStore","roomsPayload","heapPayload","roomHeapSlice","chatCipher","roomsCipher","heapCipher","Promise","all","JSON","stringify","multiSet","e","console","warn","readPersistedState","chatRaw","roomsRaw","heapRaw","multiGet","chatPlain","roomsPlain","heapPlain","resolve","chat","parse","heap","clearPersistedState","multiRemove","PERSIST_KEYS"],"sourceRoot":"../../../src","sources":["roomStore/persistence.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -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":[]}
|
|
@@ -84,14 +84,6 @@ export declare const BurgerMenuIcon: ({ color, ...props }: {
|
|
|
84
84
|
[x: string]: any;
|
|
85
85
|
color?: string | undefined;
|
|
86
86
|
}) => React.JSX.Element;
|
|
87
|
-
export declare const BellIcon: ({ color, ...props }: {
|
|
88
|
-
[x: string]: any;
|
|
89
|
-
color?: string | undefined;
|
|
90
|
-
}) => React.JSX.Element;
|
|
91
|
-
export declare const BellOffIcon: ({ color, ...props }: {
|
|
92
|
-
[x: string]: any;
|
|
93
|
-
color?: string | undefined;
|
|
94
|
-
}) => React.JSX.Element;
|
|
95
87
|
export declare const LeaveIcon: ({ color, ...props }: {
|
|
96
88
|
[x: string]: any;
|
|
97
89
|
color?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/assets/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAmBzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAUzD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,GAAG,sBAwBnC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,sBAkBtC,CAAC;AAQF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,sBAuBpC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,sBAqBpC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAOvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;CAAY,sBA2BtC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAOvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAOzD,CAAC;AAMF,eAAO,MAAM,kBAAkB,GAAI,OAAO,GAAG,sBAS5C,CAAC;AAMF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,sBAStC,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,oCAKxB,GAAG,sBA4BL,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAiBzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;;;;CAM1B,sBAOA,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAiBvD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA+B,sBAOxD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI;;;;;CAAwD,sBAYjF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBAyB3D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBA+B3D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAOpD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA4B,sBAOrD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA4B,sBAWxD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI;;;CAA4B,sBAW1D,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/assets/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAmBzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAUzD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,GAAG,sBAwBnC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,sBAkBtC,CAAC;AAQF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,sBAuBpC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,sBAqBpC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAOvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;CAAY,sBA2BtC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAOvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAOzD,CAAC;AAMF,eAAO,MAAM,kBAAkB,GAAI,OAAO,GAAG,sBAS5C,CAAC;AAMF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,sBAStC,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,oCAKxB,GAAG,sBA4BL,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAiBzD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;;;;CAM1B,sBAOA,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAiBvD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA+B,sBAOxD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI;;;;;CAAwD,sBAYjF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBAyB3D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA+B,sBA+B3D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAOpD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA4B,sBAOrD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;CAA4B,sBAWxD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI;;;CAA4B,sBAW1D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;CAA+B,sBAiBxD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAWvD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI;;;CAA4B,sBAOlD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAWpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAUpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAwBvD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA4B,sBAOpD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;CAA+B,sBAUvD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI;;;CAA+B,sBAW1D,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI;;;CAA+B,sBAa1D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;CAA+B,sBAiBzD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI;;;;CAAqC,sBAW7D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;;;CAAwD,sBAOlF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI;;;;;CAAwD,sBASjF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;;;CAAwD,sBAUpF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI;;;;;CAK5B,sBAcA,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI;;;;CAA8C,sBAgBxE,CAAC;AAEF,wBAAgB,OAAO,CAAC,EAAE,KAAU,EAAE,MAAW,EAAE;;;CAAA,qBAiBlD"}
|
|
@@ -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"}
|