@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.
Files changed (204) hide show
  1. package/CHANGELOG.md +0 -2
  2. package/lib/commonjs/assets/icons.js +2 -2
  3. package/lib/commonjs/assets/icons.js.map +1 -1
  4. package/lib/commonjs/components/MainComponents/ChatRoom.js +17 -8
  5. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  6. package/lib/commonjs/components/MainComponents/MediaMessage.js +8 -5
  7. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  8. package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
  9. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  10. package/lib/commonjs/components/MainComponents/MessageList.js +2 -1
  11. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  12. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +1 -51
  13. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  14. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +51 -12
  15. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  16. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +12 -1
  17. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  18. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +13 -2
  19. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  20. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +13 -2
  21. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  22. package/lib/commonjs/components/styled/MessageImage.js +3 -1
  23. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  24. package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
  25. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  26. package/lib/commonjs/components/styled/VideoMessage.js +3 -1
  27. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  28. package/lib/commonjs/context/xmppProvider.js +46 -31
  29. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  30. package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
  31. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  32. package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
  33. package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
  34. package/lib/commonjs/helpers/getServerReadTimestamp.js +125 -0
  35. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
  36. package/lib/commonjs/helpers/initXmppRooms.js +9 -7
  37. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  38. package/lib/commonjs/helpers/isOwnMessage.js +75 -0
  39. package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
  40. package/lib/commonjs/helpers/mimeToExtension.js +6 -14
  41. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  42. package/lib/commonjs/hooks/useChatRoomFocus.js +17 -8
  43. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  44. package/lib/commonjs/hooks/useChatWrapperInit.js +12 -7
  45. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  46. package/lib/commonjs/i18n/strings.js +0 -18
  47. package/lib/commonjs/i18n/strings.js.map +1 -1
  48. package/lib/commonjs/networking/api-requests/rooms.api.js +0 -13
  49. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  50. package/lib/commonjs/networking/stanzaHandlers.js +20 -2
  51. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  52. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +45 -11
  53. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  54. package/lib/commonjs/networking/xmppClient.js +36 -2
  55. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  56. package/lib/commonjs/roomStore/index.js +35 -2
  57. package/lib/commonjs/roomStore/index.js.map +1 -1
  58. package/lib/commonjs/roomStore/persistence.js +200 -11
  59. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  60. package/lib/commonjs/roomStore/roomsSlice.js +83 -6
  61. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  62. package/lib/module/assets/icons.js +1 -1
  63. package/lib/module/assets/icons.js.map +1 -1
  64. package/lib/module/components/MainComponents/ChatRoom.js +17 -8
  65. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  66. package/lib/module/components/MainComponents/MediaMessage.js +9 -6
  67. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  68. package/lib/module/components/MainComponents/MessageContainer.js +5 -1
  69. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  70. package/lib/module/components/MainComponents/MessageList.js +2 -1
  71. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  72. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +3 -53
  73. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  74. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +52 -13
  75. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  76. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +12 -1
  77. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  78. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +13 -2
  79. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  80. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +13 -2
  81. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  82. package/lib/module/components/styled/MessageImage.js +3 -1
  83. package/lib/module/components/styled/MessageImage.js.map +1 -1
  84. package/lib/module/components/styled/UnsupportedType.js +14 -4
  85. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  86. package/lib/module/components/styled/VideoMessage.js +3 -1
  87. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  88. package/lib/module/context/xmppProvider.js +47 -32
  89. package/lib/module/context/xmppProvider.js.map +1 -1
  90. package/lib/module/helpers/createMessageFromXml.js +19 -1
  91. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  92. package/lib/module/helpers/getDisplayFileName.js +73 -0
  93. package/lib/module/helpers/getDisplayFileName.js.map +1 -0
  94. package/lib/module/helpers/getServerReadTimestamp.js +120 -0
  95. package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
  96. package/lib/module/helpers/initXmppRooms.js +9 -7
  97. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  98. package/lib/module/helpers/isOwnMessage.js +70 -0
  99. package/lib/module/helpers/isOwnMessage.js.map +1 -0
  100. package/lib/module/helpers/mimeToExtension.js +6 -13
  101. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  102. package/lib/module/hooks/useChatRoomFocus.js +17 -8
  103. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  104. package/lib/module/hooks/useChatWrapperInit.js +12 -7
  105. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  106. package/lib/module/i18n/strings.js +0 -18
  107. package/lib/module/i18n/strings.js.map +1 -1
  108. package/lib/module/networking/api-requests/rooms.api.js +0 -12
  109. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  110. package/lib/module/networking/stanzaHandlers.js +20 -2
  111. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  112. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +45 -11
  113. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  114. package/lib/module/networking/xmppClient.js +36 -2
  115. package/lib/module/networking/xmppClient.js.map +1 -1
  116. package/lib/module/roomStore/index.js +37 -4
  117. package/lib/module/roomStore/index.js.map +1 -1
  118. package/lib/module/roomStore/persistence.js +197 -11
  119. package/lib/module/roomStore/persistence.js.map +1 -1
  120. package/lib/module/roomStore/roomsSlice.js +83 -6
  121. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  122. package/lib/typescript/assets/icons.d.ts +0 -8
  123. package/lib/typescript/assets/icons.d.ts.map +1 -1
  124. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  125. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  126. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  127. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  128. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  129. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  130. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  131. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  132. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  133. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  134. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  135. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  136. package/lib/typescript/components/styled/MessageImage.d.ts +6 -0
  137. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  138. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  139. package/lib/typescript/components/styled/VideoMessage.d.ts +6 -0
  140. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  141. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  142. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  143. package/lib/typescript/helpers/getAvatarColor.d.ts +1 -1
  144. package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
  145. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
  146. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +69 -0
  147. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
  148. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  149. package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
  150. package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
  151. package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
  152. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  153. package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
  154. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  155. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  156. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  157. package/lib/typescript/networking/api-requests/rooms.api.d.ts +0 -1
  158. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  159. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  160. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +9 -2
  161. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  162. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  163. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  164. package/lib/typescript/roomStore/persistence.d.ts +18 -1
  165. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  166. package/lib/typescript/roomStore/roomsSlice.d.ts +13 -1
  167. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  168. package/lib/typescript/types/models/room.model.d.ts +0 -1
  169. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  170. package/lib/typescript/types/types.d.ts +0 -1
  171. package/lib/typescript/types/types.d.ts.map +1 -1
  172. package/package.json +1 -1
  173. package/src/assets/icons.tsx +0 -24
  174. package/src/components/MainComponents/ChatRoom.tsx +21 -10
  175. package/src/components/MainComponents/MediaMessage.tsx +8 -5
  176. package/src/components/MainComponents/MessageContainer.tsx +5 -1
  177. package/src/components/MainComponents/MessageList.tsx +2 -1
  178. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +2 -36
  179. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +63 -26
  180. package/src/components/RoomComponents/styled/LastMessageFile.tsx +14 -2
  181. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +14 -2
  182. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +14 -2
  183. package/src/components/styled/MessageImage.tsx +8 -1
  184. package/src/components/styled/UnsupportedType.tsx +14 -4
  185. package/src/components/styled/VideoMessage.tsx +8 -1
  186. package/src/context/xmppProvider.tsx +47 -24
  187. package/src/helpers/createMessageFromXml.ts +20 -1
  188. package/src/helpers/getDisplayFileName.ts +87 -0
  189. package/src/helpers/getServerReadTimestamp.ts +120 -0
  190. package/src/helpers/initXmppRooms.tsx +9 -9
  191. package/src/helpers/isOwnMessage.ts +90 -0
  192. package/src/helpers/mimeToExtension.ts +6 -22
  193. package/src/hooks/useChatRoomFocus.ts +14 -5
  194. package/src/hooks/useChatWrapperInit.ts +12 -7
  195. package/src/i18n/strings.ts +0 -18
  196. package/src/networking/api-requests/rooms.api.ts +0 -9
  197. package/src/networking/stanzaHandlers.ts +20 -6
  198. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +65 -18
  199. package/src/networking/xmppClient.ts +41 -2
  200. package/src/roomStore/index.ts +40 -4
  201. package/src/roomStore/persistence.ts +197 -7
  202. package/src/roomStore/roomsSlice.ts +84 -6
  203. package/src/types/models/room.model.ts +0 -1
  204. 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 [chatCipher, roomsCipher] = await Promise.all([encryptForPersist(JSON.stringify(chatPayload)), encryptForPersist(JSON.stringify(roomsPayload))]);
170
- await AsyncStorage.multiSet([[KEY_CHAT, chatCipher], [KEY_ROOMS, roomsCipher]]);
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 Date.now()) always wins.
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
- if (ts > (state.privateStoreMarkers[jid] || 0)) {
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
- // Only ever forward, so a later local read isn't clobbered.
522
- const room = state.rooms[jid];
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":"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"}
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;AA4B1D,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,CA2erC,CAAC;AAEF,eAAe,QAAQ,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;AAmB7C,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,CA6H7C,CAAC;AAEF,eAAe,YAAY,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;AAYtD,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,CAuFtD,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"}