@ethora/chat-component-rn 26.7.8 → 26.7.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/README.md +10 -0
  3. package/lib/commonjs/assets/icons.js +2 -2
  4. package/lib/commonjs/assets/icons.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/ChatRoom.js +76 -19
  6. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/MediaMessage.js +8 -5
  8. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/MessageContainer.js +5 -1
  10. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/MessageList.js +2 -1
  12. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  13. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +1 -51
  14. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  15. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +51 -12
  16. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  17. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +12 -1
  18. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  19. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +13 -2
  20. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  21. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +13 -2
  22. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  23. package/lib/commonjs/components/styled/MessageImage.js +3 -1
  24. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  25. package/lib/commonjs/components/styled/UnsupportedType.js +14 -4
  26. package/lib/commonjs/components/styled/UnsupportedType.js.map +1 -1
  27. package/lib/commonjs/components/styled/VideoMessage.js +3 -1
  28. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  29. package/lib/commonjs/context/xmppProvider.js +95 -36
  30. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  31. package/lib/commonjs/helpers/createMessageFromXml.js +19 -1
  32. package/lib/commonjs/helpers/createMessageFromXml.js.map +1 -1
  33. package/lib/commonjs/helpers/getDisplayFileName.js +79 -0
  34. package/lib/commonjs/helpers/getDisplayFileName.js.map +1 -0
  35. package/lib/commonjs/helpers/getServerReadTimestamp.js +188 -0
  36. package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -0
  37. package/lib/commonjs/helpers/initXmppRooms.js +9 -7
  38. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  39. package/lib/commonjs/helpers/insertMessageWithDelimiter.js +51 -9
  40. package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
  41. package/lib/commonjs/helpers/isOwnMessage.js +75 -0
  42. package/lib/commonjs/helpers/isOwnMessage.js.map +1 -0
  43. package/lib/commonjs/helpers/keyboardLayout.js +12 -2
  44. package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
  45. package/lib/commonjs/helpers/mimeToExtension.js +6 -14
  46. package/lib/commonjs/helpers/mimeToExtension.js.map +1 -1
  47. package/lib/commonjs/helpers/msgSortableMs.js +37 -0
  48. package/lib/commonjs/helpers/msgSortableMs.js.map +1 -0
  49. package/lib/commonjs/hooks/useChatRoomFocus.js +45 -12
  50. package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
  51. package/lib/commonjs/hooks/useChatWrapperInit.js +12 -7
  52. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  53. package/lib/commonjs/hooks/useLogout.js +8 -0
  54. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  55. package/lib/commonjs/i18n/strings.js +0 -18
  56. package/lib/commonjs/i18n/strings.js.map +1 -1
  57. package/lib/commonjs/networking/api-requests/rooms.api.js +0 -13
  58. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  59. package/lib/commonjs/networking/stanzaHandlers.js +20 -2
  60. package/lib/commonjs/networking/stanzaHandlers.js.map +1 -1
  61. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js +45 -11
  62. package/lib/commonjs/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  63. package/lib/commonjs/networking/xmppClient.js +36 -2
  64. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  65. package/lib/commonjs/roomStore/index.js +35 -2
  66. package/lib/commonjs/roomStore/index.js.map +1 -1
  67. package/lib/commonjs/roomStore/persistence.js +200 -11
  68. package/lib/commonjs/roomStore/persistence.js.map +1 -1
  69. package/lib/commonjs/roomStore/roomsSlice.js +148 -37
  70. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  71. package/lib/module/assets/icons.js +1 -1
  72. package/lib/module/assets/icons.js.map +1 -1
  73. package/lib/module/components/MainComponents/ChatRoom.js +77 -20
  74. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  75. package/lib/module/components/MainComponents/MediaMessage.js +9 -6
  76. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  77. package/lib/module/components/MainComponents/MessageContainer.js +5 -1
  78. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  79. package/lib/module/components/MainComponents/MessageList.js +2 -1
  80. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  81. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +3 -53
  82. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  83. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +52 -13
  84. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  85. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +12 -1
  86. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  87. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +13 -2
  88. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  89. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +13 -2
  90. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  91. package/lib/module/components/styled/MessageImage.js +3 -1
  92. package/lib/module/components/styled/MessageImage.js.map +1 -1
  93. package/lib/module/components/styled/UnsupportedType.js +14 -4
  94. package/lib/module/components/styled/UnsupportedType.js.map +1 -1
  95. package/lib/module/components/styled/VideoMessage.js +3 -1
  96. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  97. package/lib/module/context/xmppProvider.js +96 -37
  98. package/lib/module/context/xmppProvider.js.map +1 -1
  99. package/lib/module/helpers/createMessageFromXml.js +19 -1
  100. package/lib/module/helpers/createMessageFromXml.js.map +1 -1
  101. package/lib/module/helpers/getDisplayFileName.js +73 -0
  102. package/lib/module/helpers/getDisplayFileName.js.map +1 -0
  103. package/lib/module/helpers/getServerReadTimestamp.js +181 -0
  104. package/lib/module/helpers/getServerReadTimestamp.js.map +1 -0
  105. package/lib/module/helpers/initXmppRooms.js +9 -7
  106. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  107. package/lib/module/helpers/insertMessageWithDelimiter.js +52 -9
  108. package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
  109. package/lib/module/helpers/isOwnMessage.js +70 -0
  110. package/lib/module/helpers/isOwnMessage.js.map +1 -0
  111. package/lib/module/helpers/keyboardLayout.js +12 -2
  112. package/lib/module/helpers/keyboardLayout.js.map +1 -1
  113. package/lib/module/helpers/mimeToExtension.js +6 -13
  114. package/lib/module/helpers/mimeToExtension.js.map +1 -1
  115. package/lib/module/helpers/msgSortableMs.js +32 -0
  116. package/lib/module/helpers/msgSortableMs.js.map +1 -0
  117. package/lib/module/hooks/useChatRoomFocus.js +46 -13
  118. package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
  119. package/lib/module/hooks/useChatWrapperInit.js +12 -7
  120. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  121. package/lib/module/hooks/useLogout.js +8 -0
  122. package/lib/module/hooks/useLogout.js.map +1 -1
  123. package/lib/module/i18n/strings.js +0 -18
  124. package/lib/module/i18n/strings.js.map +1 -1
  125. package/lib/module/networking/api-requests/rooms.api.js +0 -12
  126. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  127. package/lib/module/networking/stanzaHandlers.js +20 -2
  128. package/lib/module/networking/stanzaHandlers.js.map +1 -1
  129. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js +45 -11
  130. package/lib/module/networking/xmpp/flushLastViewedToPrivateStore.js.map +1 -1
  131. package/lib/module/networking/xmppClient.js +36 -2
  132. package/lib/module/networking/xmppClient.js.map +1 -1
  133. package/lib/module/roomStore/index.js +37 -4
  134. package/lib/module/roomStore/index.js.map +1 -1
  135. package/lib/module/roomStore/persistence.js +197 -11
  136. package/lib/module/roomStore/persistence.js.map +1 -1
  137. package/lib/module/roomStore/roomsSlice.js +136 -33
  138. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  139. package/lib/typescript/assets/icons.d.ts +0 -8
  140. package/lib/typescript/assets/icons.d.ts.map +1 -1
  141. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  142. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  143. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  144. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  145. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  146. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  147. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts +1 -1
  148. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  149. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts +1 -1
  150. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  151. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts +1 -1
  152. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  153. package/lib/typescript/components/styled/MessageImage.d.ts +6 -0
  154. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  155. package/lib/typescript/components/styled/UnsupportedType.d.ts.map +1 -1
  156. package/lib/typescript/components/styled/VideoMessage.d.ts +6 -0
  157. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  158. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  159. package/lib/typescript/helpers/createMessageFromXml.d.ts.map +1 -1
  160. package/lib/typescript/helpers/getAvatarColor.d.ts +1 -1
  161. package/lib/typescript/helpers/getDisplayFileName.d.ts +49 -0
  162. package/lib/typescript/helpers/getDisplayFileName.d.ts.map +1 -0
  163. package/lib/typescript/helpers/getServerReadTimestamp.d.ts +108 -0
  164. package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -0
  165. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  166. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts +1 -1
  167. package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
  168. package/lib/typescript/helpers/isOwnMessage.d.ts +36 -0
  169. package/lib/typescript/helpers/isOwnMessage.d.ts.map +1 -0
  170. package/lib/typescript/helpers/keyboardLayout.d.ts +5 -1
  171. package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
  172. package/lib/typescript/helpers/mimeToExtension.d.ts +0 -15
  173. package/lib/typescript/helpers/mimeToExtension.d.ts.map +1 -1
  174. package/lib/typescript/helpers/msgSortableMs.d.ts +2 -0
  175. package/lib/typescript/helpers/msgSortableMs.d.ts.map +1 -0
  176. package/lib/typescript/hooks/useChatRoomFocus.d.ts +4 -1
  177. package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
  178. package/lib/typescript/hooks/useChatWrapperInit.d.ts.map +1 -1
  179. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  180. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  181. package/lib/typescript/networking/api-requests/rooms.api.d.ts +0 -1
  182. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  183. package/lib/typescript/networking/stanzaHandlers.d.ts.map +1 -1
  184. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts +9 -2
  185. package/lib/typescript/networking/xmpp/flushLastViewedToPrivateStore.d.ts.map +1 -1
  186. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  187. package/lib/typescript/roomStore/index.d.ts.map +1 -1
  188. package/lib/typescript/roomStore/persistence.d.ts +18 -1
  189. package/lib/typescript/roomStore/persistence.d.ts.map +1 -1
  190. package/lib/typescript/roomStore/roomsSlice.d.ts +42 -3
  191. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  192. package/lib/typescript/types/models/room.model.d.ts +0 -1
  193. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  194. package/lib/typescript/types/types.d.ts +1 -1
  195. package/lib/typescript/types/types.d.ts.map +1 -1
  196. package/package.json +1 -1
  197. package/src/assets/icons.tsx +0 -24
  198. package/src/components/MainComponents/ChatRoom.tsx +81 -19
  199. package/src/components/MainComponents/MediaMessage.tsx +8 -5
  200. package/src/components/MainComponents/MessageContainer.tsx +5 -1
  201. package/src/components/MainComponents/MessageList.tsx +2 -1
  202. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +2 -36
  203. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +63 -26
  204. package/src/components/RoomComponents/styled/LastMessageFile.tsx +14 -2
  205. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +14 -2
  206. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +14 -2
  207. package/src/components/styled/MessageImage.tsx +8 -1
  208. package/src/components/styled/UnsupportedType.tsx +14 -4
  209. package/src/components/styled/VideoMessage.tsx +8 -1
  210. package/src/context/xmppProvider.tsx +122 -30
  211. package/src/helpers/createMessageFromXml.ts +20 -1
  212. package/src/helpers/getDisplayFileName.ts +87 -0
  213. package/src/helpers/getServerReadTimestamp.ts +197 -0
  214. package/src/helpers/initXmppRooms.tsx +9 -9
  215. package/src/helpers/insertMessageWithDelimiter.ts +55 -19
  216. package/src/helpers/isOwnMessage.ts +90 -0
  217. package/src/helpers/keyboardLayout.ts +23 -2
  218. package/src/helpers/mimeToExtension.ts +6 -22
  219. package/src/helpers/msgSortableMs.ts +25 -0
  220. package/src/hooks/useChatRoomFocus.ts +49 -9
  221. package/src/hooks/useChatWrapperInit.ts +12 -7
  222. package/src/hooks/useLogout.tsx +14 -0
  223. package/src/i18n/strings.ts +0 -18
  224. package/src/networking/api-requests/rooms.api.ts +0 -9
  225. package/src/networking/stanzaHandlers.ts +20 -6
  226. package/src/networking/xmpp/flushLastViewedToPrivateStore.ts +65 -18
  227. package/src/networking/xmppClient.ts +41 -2
  228. package/src/roomStore/index.ts +40 -4
  229. package/src/roomStore/persistence.ts +197 -7
  230. package/src/roomStore/roomsSlice.ts +158 -28
  231. package/src/types/models/room.model.ts +0 -1
  232. package/src/types/types.ts +14 -1
@@ -10,6 +10,7 @@ var _secureFileUrl = require("../../../helpers/secureFileUrl");
10
10
  var _native = _interopRequireDefault(require("styled-components/native"));
11
11
  var _StyledRoomComponents = require("./StyledRoomComponents");
12
12
  var _reactNative = require("react-native");
13
+ var _getDisplayFileName = require("../../../helpers/getDisplayFileName");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
16
  const PhotoContainer = _native.default.View`
@@ -26,9 +27,19 @@ const PhotoContainer = _native.default.View`
26
27
  const LastMessagePhoto = ({
27
28
  user,
28
29
  locationPreview,
29
- originalName
30
+ originalName,
31
+ fileName,
32
+ mimetype
30
33
  }) => {
31
34
  const fileToken = (0, _useFileToken.useFileToken)();
35
+ // Bug #40: prefer the sender's original name over the stored hash
36
+ // name; only fall back to the generic "file" label when neither is
37
+ // present at all (avoids a synthetic "media_<timestamp>.bin" here).
38
+ const displayName = originalName || fileName ? (0, _getDisplayFileName.getDisplayFileName)({
39
+ originalName,
40
+ fileName,
41
+ mimetype
42
+ }) : 'file';
32
43
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_StyledRoomComponents.LastRoomMessageContainer, {
33
44
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_StyledRoomComponents.LastRoomMessageName, {
34
45
  children: [user?.name || '', ":"]
@@ -45,7 +56,7 @@ const LastMessagePhoto = ({
45
56
  })
46
57
  })
47
58
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_StyledRoomComponents.LastRoomMessageText, {
48
- children: originalName || 'file'
59
+ children: displayName
49
60
  })]
50
61
  })]
51
62
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_useFileToken","_secureFileUrl","_native","_StyledRoomComponents","_reactNative","_jsxRuntime","e","__esModule","default","PhotoContainer","styled","View","LastMessagePhoto","user","locationPreview","originalName","fileToken","useFileToken","jsxs","LastRoomMessageContainer","children","LastRoomMessageName","name","style","display","flexDirection","gap","jsx","ShadeWrapper","LastMessageImg","src","appendFileToken","LastRoomMessageText","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/RoomComponents/styled/LastMessagePhoto.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AAOA,IAAAK,YAAA,GAAAL,OAAA;AAAoC,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpC,MAAMG,cAAc,GAAGC,eAAM,CAACC,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAKD,MAAMC,gBAA2C,GAAGA,CAAC;EACnDC,IAAI;EACJC,eAAe;EACfC;AACF,CAAC,KAAK;EACJ,MAAMC,SAAS,GAAG,IAAAC,0BAAY,EAAC,CAAC;EAChC,oBACE,IAAAZ,WAAA,CAAAa,IAAA,EAACf,qBAAA,CAAAgB,wBAAwB;IAAAC,QAAA,gBACvB,IAAAf,WAAA,CAAAa,IAAA,EAACf,qBAAA,CAAAkB,mBAAmB;MAAAD,QAAA,GAAEP,IAAI,EAAES,IAAI,IAAI,EAAE,EAAC,GAAC;IAAA,CAAqB,CAAC,eAC9D,IAAAjB,WAAA,CAAAa,IAAA,EAACd,YAAA,CAAAO,IAAI;MACHY,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM;QACfC,aAAa,EAAE,KAAK;QACpBC,GAAG,EAAE;MACP,CAAE;MAAAN,QAAA,gBAEF,IAAAf,WAAA,CAAAsB,GAAA,EAAClB,cAAc;QAAAW,QAAA,eACb,IAAAf,WAAA,CAAAsB,GAAA,EAACxB,qBAAA,CAAAyB,YAAY;UAAAR,QAAA,eACX,IAAAf,WAAA,CAAAsB,GAAA,EAACxB,qBAAA,CAAA0B,cAAc;YAACC,GAAG,EAAE,IAAAC,8BAAe,EAACjB,eAAe,EAAEE,SAAS;UAAE,CAAE;QAAC,CACxD;MAAC,CACD,CAAC,eACjB,IAAAX,WAAA,CAAAsB,GAAA,EAACxB,qBAAA,CAAA6B,mBAAmB;QAAAZ,QAAA,EAAEL,YAAY,IAAI;MAAM,CAAsB,CAAC;IAAA,CAC/D,CAAC;EAAA,CACiB,CAAC;AAE/B,CAAC;AAAC,IAAAkB,QAAA,GAAAC,OAAA,CAAA1B,OAAA,GAEaI,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_useFileToken","_secureFileUrl","_native","_StyledRoomComponents","_reactNative","_getDisplayFileName","_jsxRuntime","e","__esModule","default","PhotoContainer","styled","View","LastMessagePhoto","user","locationPreview","originalName","fileName","mimetype","fileToken","useFileToken","displayName","getDisplayFileName","jsxs","LastRoomMessageContainer","children","LastRoomMessageName","name","style","display","flexDirection","gap","jsx","ShadeWrapper","LastMessageImg","src","appendFileToken","LastRoomMessageText","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/RoomComponents/styled/LastMessagePhoto.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AAOA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAAyE,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzE,MAAMG,cAAc,GAAGC,eAAM,CAACC,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAQD,MAAMC,gBAA2C,GAAGA,CAAC;EACnDC,IAAI;EACJC,eAAe;EACfC,YAAY;EACZC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,MAAMC,SAAS,GAAG,IAAAC,0BAAY,EAAC,CAAC;EAChC;EACA;EACA;EACA,MAAMC,WAAW,GAAGL,YAAY,IAAIC,QAAQ,GACxC,IAAAK,sCAAkB,EAAC;IAAEN,YAAY;IAAEC,QAAQ;IAAEC;EAAS,CAAC,CAAC,GACxD,MAAM;EACV,oBACE,IAAAZ,WAAA,CAAAiB,IAAA,EAACpB,qBAAA,CAAAqB,wBAAwB;IAAAC,QAAA,gBACvB,IAAAnB,WAAA,CAAAiB,IAAA,EAACpB,qBAAA,CAAAuB,mBAAmB;MAAAD,QAAA,GAAEX,IAAI,EAAEa,IAAI,IAAI,EAAE,EAAC,GAAC;IAAA,CAAqB,CAAC,eAC9D,IAAArB,WAAA,CAAAiB,IAAA,EAACnB,YAAA,CAAAQ,IAAI;MACHgB,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM;QACfC,aAAa,EAAE,KAAK;QACpBC,GAAG,EAAE;MACP,CAAE;MAAAN,QAAA,gBAEF,IAAAnB,WAAA,CAAA0B,GAAA,EAACtB,cAAc;QAAAe,QAAA,eACb,IAAAnB,WAAA,CAAA0B,GAAA,EAAC7B,qBAAA,CAAA8B,YAAY;UAAAR,QAAA,eACX,IAAAnB,WAAA,CAAA0B,GAAA,EAAC7B,qBAAA,CAAA+B,cAAc;YAACC,GAAG,EAAE,IAAAC,8BAAe,EAACrB,eAAe,EAAEI,SAAS;UAAE,CAAE;QAAC,CACxD;MAAC,CACD,CAAC,eACjB,IAAAb,WAAA,CAAA0B,GAAA,EAAC7B,qBAAA,CAAAkC,mBAAmB;QAAAZ,QAAA,EAAEJ;MAAW,CAAsB,CAAC;IAAA,CACpD,CAAC;EAAA,CACiB,CAAC;AAE/B,CAAC;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAA9B,OAAA,GAEaI,gBAAgB","ignoreList":[]}
@@ -10,6 +10,7 @@ var _secureFileUrl = require("../../../helpers/secureFileUrl");
10
10
  var _native = _interopRequireDefault(require("styled-components/native"));
11
11
  var _StyledRoomComponents = require("./StyledRoomComponents");
12
12
  var _reactNative = require("react-native");
13
+ var _getDisplayFileName = require("../../../helpers/getDisplayFileName");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
16
  const VideoContainer = _native.default.View`
@@ -40,9 +41,19 @@ const PlayButton = _native.default.View`
40
41
  const LastMessageVideo = ({
41
42
  user,
42
43
  location,
43
- originalName
44
+ originalName,
45
+ fileName,
46
+ mimetype
44
47
  }) => {
45
48
  const fileToken = (0, _useFileToken.useFileToken)();
49
+ // Bug #40: prefer the sender's original name over the stored hash
50
+ // name; only fall back to the generic "file" label when neither is
51
+ // present at all (avoids a synthetic "media_<timestamp>.bin" here).
52
+ const displayName = originalName || fileName ? (0, _getDisplayFileName.getDisplayFileName)({
53
+ originalName,
54
+ fileName,
55
+ mimetype
56
+ }) : 'file';
46
57
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_StyledRoomComponents.LastRoomMessageContainer, {
47
58
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_StyledRoomComponents.LastRoomMessageName, {
48
59
  children: [user?.name || '', ":"]
@@ -63,7 +74,7 @@ const LastMessageVideo = ({
63
74
  })
64
75
  })]
65
76
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_StyledRoomComponents.LastRoomMessageText, {
66
- children: originalName || 'file'
77
+ children: displayName
67
78
  })]
68
79
  })]
69
80
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_useFileToken","_secureFileUrl","_native","_StyledRoomComponents","_reactNative","_jsxRuntime","e","__esModule","default","VideoContainer","styled","View","Thumbnail","Image","PlayButton","LastMessageVideo","user","location","originalName","fileToken","useFileToken","jsxs","LastRoomMessageContainer","children","LastRoomMessageName","name","style","display","flexDirection","gap","jsx","ShadeWrapper","src","appendFileToken","Text","LastRoomMessageText","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/RoomComponents/styled/LastMessageVideo.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AAMA,IAAAK,YAAA,GAAAL,OAAA;AAA0C,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1C,MAAMG,cAAc,GAAGC,eAAM,CAACC,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,SAAS,GAAGF,eAAM,CAACG,KAAK;AAC9B;AACA;AACA;AACA,CAAC;AAED,MAAMC,UAAU,GAAGJ,eAAM,CAACC,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAKD,MAAMI,gBAA2C,GAAGA,CAAC;EACnDC,IAAI;EACJC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,MAAMC,SAAS,GAAG,IAAAC,0BAAY,EAAC,CAAC;EAChC,oBACE,IAAAf,WAAA,CAAAgB,IAAA,EAAClB,qBAAA,CAAAmB,wBAAwB;IAAAC,QAAA,gBACvB,IAAAlB,WAAA,CAAAgB,IAAA,EAAClB,qBAAA,CAAAqB,mBAAmB;MAAAD,QAAA,GAAEP,IAAI,EAAES,IAAI,IAAI,EAAE,EAAC,GAAC;IAAA,CAAqB,CAAC,eAC9D,IAAApB,WAAA,CAAAgB,IAAA,EAACjB,YAAA,CAAAO,IAAI;MACHe,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM;QACfC,aAAa,EAAE,KAAK;QACpBC,GAAG,EAAE;MACP,CAAE;MAAAN,QAAA,gBAEF,IAAAlB,WAAA,CAAAgB,IAAA,EAACZ,cAAc;QAAAc,QAAA,gBACb,IAAAlB,WAAA,CAAAyB,GAAA,EAAC3B,qBAAA,CAAA4B,YAAY;UAAAR,QAAA,eACX,IAAAlB,WAAA,CAAAyB,GAAA,EAAClB,SAAS;YAACoB,GAAG,EAAE,IAAAC,8BAAe,EAAChB,QAAQ,EAAEE,SAAS;UAAE,CAAE;QAAC,CAC5C,CAAC,eACf,IAAAd,WAAA,CAAAyB,GAAA,EAAChB,UAAU;UAAAS,QAAA,eAAC,IAAAlB,WAAA,CAAAyB,GAAA,EAAC1B,YAAA,CAAA8B,IAAI;YAAAX,QAAA,EAAC;UAAC,CAAM;QAAC,CAAY,CAAC;MAAA,CACzB,CAAC,eACjB,IAAAlB,WAAA,CAAAyB,GAAA,EAAC3B,qBAAA,CAAAgC,mBAAmB;QAAAZ,QAAA,EAAEL,YAAY,IAAI;MAAM,CAAsB,CAAC;IAAA,CAC/D,CAAC;EAAA,CACiB,CAAC;AAE/B,CAAC;AAAC,IAAAkB,QAAA,GAAAC,OAAA,CAAA7B,OAAA,GAEaO,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_useFileToken","_secureFileUrl","_native","_StyledRoomComponents","_reactNative","_getDisplayFileName","_jsxRuntime","e","__esModule","default","VideoContainer","styled","View","Thumbnail","Image","PlayButton","LastMessageVideo","user","location","originalName","fileName","mimetype","fileToken","useFileToken","displayName","getDisplayFileName","jsxs","LastRoomMessageContainer","children","LastRoomMessageName","name","style","display","flexDirection","gap","jsx","ShadeWrapper","src","appendFileToken","Text","LastRoomMessageText","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/RoomComponents/styled/LastMessageVideo.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AAMA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAAyE,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzE,MAAMG,cAAc,GAAGC,eAAM,CAACC,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,SAAS,GAAGF,eAAM,CAACG,KAAK;AAC9B;AACA;AACA;AACA,CAAC;AAED,MAAMC,UAAU,GAAGJ,eAAM,CAACC,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAQD,MAAMI,gBAA2C,GAAGA,CAAC;EACnDC,IAAI;EACJC,QAAQ;EACRC,YAAY;EACZC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,MAAMC,SAAS,GAAG,IAAAC,0BAAY,EAAC,CAAC;EAChC;EACA;EACA;EACA,MAAMC,WAAW,GAAGL,YAAY,IAAIC,QAAQ,GACxC,IAAAK,sCAAkB,EAAC;IAAEN,YAAY;IAAEC,QAAQ;IAAEC;EAAS,CAAC,CAAC,GACxD,MAAM;EACV,oBACE,IAAAf,WAAA,CAAAoB,IAAA,EAACvB,qBAAA,CAAAwB,wBAAwB;IAAAC,QAAA,gBACvB,IAAAtB,WAAA,CAAAoB,IAAA,EAACvB,qBAAA,CAAA0B,mBAAmB;MAAAD,QAAA,GAAEX,IAAI,EAAEa,IAAI,IAAI,EAAE,EAAC,GAAC;IAAA,CAAqB,CAAC,eAC9D,IAAAxB,WAAA,CAAAoB,IAAA,EAACtB,YAAA,CAAAQ,IAAI;MACHmB,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM;QACfC,aAAa,EAAE,KAAK;QACpBC,GAAG,EAAE;MACP,CAAE;MAAAN,QAAA,gBAEF,IAAAtB,WAAA,CAAAoB,IAAA,EAAChB,cAAc;QAAAkB,QAAA,gBACb,IAAAtB,WAAA,CAAA6B,GAAA,EAAChC,qBAAA,CAAAiC,YAAY;UAAAR,QAAA,eACX,IAAAtB,WAAA,CAAA6B,GAAA,EAACtB,SAAS;YAACwB,GAAG,EAAE,IAAAC,8BAAe,EAACpB,QAAQ,EAAEI,SAAS;UAAE,CAAE;QAAC,CAC5C,CAAC,eACf,IAAAhB,WAAA,CAAA6B,GAAA,EAACpB,UAAU;UAAAa,QAAA,eAAC,IAAAtB,WAAA,CAAA6B,GAAA,EAAC/B,YAAA,CAAAmC,IAAI;YAAAX,QAAA,EAAC;UAAC,CAAM;QAAC,CAAY,CAAC;MAAA,CACzB,CAAC,eACjB,IAAAtB,WAAA,CAAA6B,GAAA,EAAChC,qBAAA,CAAAqC,mBAAmB;QAAAZ,QAAA,EAAEJ;MAAW,CAAsB,CAAC;IAAA,CACpD,CAAC;EAAA,CACiB,CAAC;AAE/B,CAAC;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAjC,OAAA,GAEaO,gBAAgB","ignoreList":[]}
@@ -21,6 +21,7 @@ const FALLBACK_IMAGE = 'https://as2.ftcdn.net/v2/jpg/02/51/95/53/1000_F_25195535
21
21
  const CustomMessageImage = ({
22
22
  fileURL,
23
23
  fileName,
24
+ originalName,
24
25
  mimetype,
25
26
  locationPreview
26
27
  }) => {
@@ -59,7 +60,8 @@ const CustomMessageImage = ({
59
60
  dispatch((0, _chatSettingsSlice.setActiveFile)({
60
61
  fileName,
61
62
  fileURL,
62
- mimetype
63
+ mimetype,
64
+ originalName
63
65
  }));
64
66
  dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.FILE_PREVIEW));
65
67
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_secureFileUrl","_devLogger","_MediaComponents","_reactRedux","_chatSettingsSlice","_MODAL_TYPES","_reactNative","_mediaDimensions","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","maskToken","url","replace","FALLBACK_IMAGE","CustomMessageImage","fileURL","fileName","mimetype","locationPreview","displayURL","loading","setLoading","useState","dims","setDims","defaultMediaDims","dispatch","useDispatch","useEffect","active","Image","getSize","w","h","fitMediaDimensions","error","pushLog","message","String","handleOpen","setActiveFile","setActiveModal","MODAL_TYPES","FILE_PREVIEW","jsx","Container","style","width","children","jsxs","TouchableOpacity","onPress","activeOpacity","View","position","height","alignItems","justifyContent","zIndex","ActivityIndicator","size","color","source","uri","borderRadius","backgroundColor","onLoadEnd","onError","event","usingPreview","nativeEvent","isSecureFileUrl","requestFileTokenRecovery","resizeMode","_default","exports"],"sourceRoot":"../../../../src","sources":["components/styled/MessageImage.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAIA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAIA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AAIuC,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAD,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAb,uBAAA,YAAAA,CAAAW,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAgBvC;AACA,MAAMkB,SAAS,GAAIC,GAAY,IAC7B,CAACA,GAAG,IAAI,EAAE,EAAEC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC;AAExD,MAAMC,cAAc,GAClB,gGAAgG;AAElG,MAAMC,kBAAqD,GAAGA,CAAC;EAC7DC,OAAO;EACPC,QAAQ;EACRC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ;EACA;EACA;EACA,MAAMC,UAAU,GAAGD,eAAe,IAAIH,OAAO;EAC7C,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAC5C;EACA;EACA,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAF,eAAQ,EAAY,IAAAG,iCAAgB,EAAC,CAAC,CAAC;EAE/D,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;EAE9B,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACT,UAAU,EAAE;MACf;IACF;IACA,IAAIU,MAAM,GAAG,IAAI;IACjBC,kBAAK,CAACC,OAAO,CACXZ,UAAU,EACV,CAACa,CAAC,EAAEC,CAAC,KAAK;MACR,IAAIJ,MAAM,EAAE;QACVL,OAAO,CAAC,IAAAU,mCAAkB,EAACF,CAAC,EAAEC,CAAC,CAAC,CAAC;MACnC;IACF,CAAC,EACAE,KAAK,IAAK;MACT;MACA;MACA;MACA,IAAAC,kBAAO,EAAC,MAAM,EAAE,uBAAuB,EAAE;QACvCzB,GAAG,EAAED,SAAS,CAACS,UAAU,CAAC;QAC1BgB,KAAK,EAAGA,KAAK,EAAUE,OAAO,IAAIC,MAAM,CAACH,KAAK;MAChD,CAAC,CAAC;IACJ,CACF,CAAC;IACD,OAAO,MAAM;MACXN,MAAM,GAAG,KAAK;IAChB,CAAC;EACH,CAAC,EAAE,CAACV,UAAU,CAAC,CAAC;EAEhB,MAAMoB,UAAU,GAAGA,CAAA,KAAM;IACvBb,QAAQ,CAAC,IAAAc,gCAAa,EAAC;MAAExB,QAAQ;MAAED,OAAO;MAAEE;IAAS,CAAC,CAAC,CAAC;IACxDS,QAAQ,CAAC,IAAAe,iCAAc,EAACC,wBAAW,CAACC,YAAY,CAAC,CAAC;EACpD,CAAC;EAED,oBACE,IAAArD,WAAA,CAAAsD,GAAA,EAAC5D,gBAAA,CAAA6D,SAAS;IAACC,KAAK,EAAE;MAAEC,KAAK,EAAExB,IAAI,CAACwB;IAAM,CAAE;IAAAC,QAAA,eACtC,IAAA1D,WAAA,CAAA2D,IAAA,EAAC7D,YAAA,CAAA8D,gBAAgB;MAACC,OAAO,EAAEZ,UAAW;MAACa,aAAa,EAAE,GAAI;MAAAJ,QAAA,GACvD5B,OAAO,iBACN,IAAA9B,WAAA,CAAAsD,GAAA,EAACxD,YAAA,CAAAiE,IAAI;QACHP,KAAK,EAAE;UACLQ,QAAQ,EAAE,UAAU;UACpBP,KAAK,EAAExB,IAAI,CAACwB,KAAK;UACjBQ,MAAM,EAAEhC,IAAI,CAACgC,MAAM;UACnBC,UAAU,EAAE,QAAQ;UACpBC,cAAc,EAAE,QAAQ;UACxBC,MAAM,EAAE;QACV,CAAE;QAAAV,QAAA,eAEF,IAAA1D,WAAA,CAAAsD,GAAA,EAACxD,YAAA,CAAAuE,iBAAiB;UAACC,IAAI,EAAC,OAAO;UAACC,KAAK,EAAC;QAAS,CAAE;MAAC,CAC9C,CACP,eACD,IAAAvE,WAAA,CAAAsD,GAAA,EAACxD,YAAA,CAAA0C,KAAK;QACJgC,MAAM,EAAE;UAAEC,GAAG,EAAE5C,UAAU,IAAIN;QAAe,CAAE;QAC9CiC,KAAK,EAAE;UACLC,KAAK,EAAExB,IAAI,CAACwB,KAAK;UACjBQ,MAAM,EAAEhC,IAAI,CAACgC,MAAM;UACnBS,YAAY,EAAE,EAAE;UAChBC,eAAe,EAAE;QACnB,CAAE;QACFC,SAAS,EAAEA,CAAA,KAAM7C,UAAU,CAAC,KAAK,CAAE;QACnC8C,OAAO,EAAGC,KAAK,IAAK;UAClB/C,UAAU,CAAC,KAAK,CAAC;UACjB,IAAAe,kBAAO,EAAC,MAAM,EAAE,oBAAoB,EAAE;YACpCzB,GAAG,EAAED,SAAS,CAACS,UAAU,CAAC;YAC1BkD,YAAY,EAAE,CAAC,CAACnD,eAAe;YAC/BiB,KAAK,EAAGiC,KAAK,EAAUE,WAAW,EAAEnC;UACtC,CAAC,CAAC;UACF,IAAI,IAAAoC,8BAAe,EAACpD,UAAU,CAAC,EAAE;YAC/B,IAAAqD,uCAAwB,EAAC,CAAC;UAC5B;QACF;QACA;QACA;QAAA;QACAC,UAAU,EAAC;MAAO,CACnB,CAAC;IAAA,CACc;EAAC,CACV,CAAC;AAEhB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA1E,OAAA,GAEaa,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_secureFileUrl","_devLogger","_MediaComponents","_reactRedux","_chatSettingsSlice","_MODAL_TYPES","_reactNative","_mediaDimensions","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","maskToken","url","replace","FALLBACK_IMAGE","CustomMessageImage","fileURL","fileName","originalName","mimetype","locationPreview","displayURL","loading","setLoading","useState","dims","setDims","defaultMediaDims","dispatch","useDispatch","useEffect","active","Image","getSize","w","h","fitMediaDimensions","error","pushLog","message","String","handleOpen","setActiveFile","setActiveModal","MODAL_TYPES","FILE_PREVIEW","jsx","Container","style","width","children","jsxs","TouchableOpacity","onPress","activeOpacity","View","position","height","alignItems","justifyContent","zIndex","ActivityIndicator","size","color","source","uri","borderRadius","backgroundColor","onLoadEnd","onError","event","usingPreview","nativeEvent","isSecureFileUrl","requestFileTokenRecovery","resizeMode","_default","exports"],"sourceRoot":"../../../../src","sources":["components/styled/MessageImage.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@ var _reactNative = require("react-native");
13
13
  var _useChatSettingState = require("../../hooks/useChatSettingState");
14
14
  var _icons = require("../../assets/icons");
15
15
  var _mimeToExtension = require("../../helpers/mimeToExtension");
16
+ var _getDisplayFileName = require("../../helpers/getDisplayFileName");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
19
  const FileDownload = ({
@@ -31,6 +32,15 @@ const FileDownload = ({
31
32
  const {
32
33
  config
33
34
  } = (0, _useChatSettingState.useChatSettingState)();
35
+
36
+ // Bug #40: prefer the sender's original name over the server's stored
37
+ // hash name for both the visible label and the extension badge below.
38
+ const displayName = (0, _getDisplayFileName.getDisplayFileName)({
39
+ originalName,
40
+ fileName,
41
+ location: fileURL,
42
+ mimetype
43
+ });
34
44
  const formatFileSize = sizeInBytes => {
35
45
  const size = parseInt(sizeInBytes, 10);
36
46
  if (isNaN(size)) {
@@ -71,9 +81,9 @@ const FileDownload = ({
71
81
  dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.FILE_PREVIEW));
72
82
  };
73
83
  const extensionLabel = (() => {
74
- const dotIndex = fileName.lastIndexOf('.');
75
- if (dotIndex !== -1 && dotIndex < fileName.length - 1) {
76
- return fileName.slice(dotIndex + 1).toUpperCase();
84
+ const dotIndex = displayName.lastIndexOf('.');
85
+ if (dotIndex !== -1 && dotIndex < displayName.length - 1) {
86
+ return displayName.slice(dotIndex + 1).toUpperCase();
77
87
  }
78
88
  return (0, _mimeToExtension.getExtensionForMime)(mimetype).replace('.', '').toUpperCase();
79
89
  })();
@@ -92,7 +102,7 @@ const FileDownload = ({
92
102
  isUser: isUser,
93
103
  colorIsUser: config?.colors?.primary,
94
104
  colorUsers: config?.colors?.secondary,
95
- children: formatFileName(fileName, 20)
105
+ children: formatFileName(displayName, 20)
96
106
  }), (pending || size) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MediaComponents.FileSizeContainer, {
97
107
  children: pending ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
98
108
  style: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_MediaComponents","_reactRedux","_MODAL_TYPES","_chatSettingsSlice","_reactNative","_useChatSettingState","_icons","_mimeToExtension","_jsxRuntime","e","__esModule","default","FileDownload","fileName","fileURL","mimetype","size","isUser","originalName","duration","waveForm","pending","placeholderIcon","dispatch","useDispatch","config","useChatSettingState","formatFileSize","sizeInBytes","parseInt","isNaN","toFixed","formatFileName","name","maxLength","dotIndex","lastIndexOf","extension","substring","baseName","length","shortenedBaseName","handleOpen","setActiveFile","setActiveModal","MODAL_TYPES","FILE_PREVIEW","extensionLabel","slice","toUpperCase","getExtensionForMime","replace","jsxs","UnsupportedContainer","onPress","activeOpacity","children","jsx","BackgroundFile","FileIcon","width","height","FileInformation","FileName","numberOfLines","colorIsUser","colors","primary","colorUsers","secondary","FileSizeContainer","View","style","flexDirection","alignItems","gap","ActivityIndicator","color","FileSize","_default","exports"],"sourceRoot":"../../../../src","sources":["components/styled/UnsupportedType.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_MediaComponents","_reactRedux","_MODAL_TYPES","_chatSettingsSlice","_reactNative","_useChatSettingState","_icons","_mimeToExtension","_getDisplayFileName","_jsxRuntime","e","__esModule","default","FileDownload","fileName","fileURL","mimetype","size","isUser","originalName","duration","waveForm","pending","placeholderIcon","dispatch","useDispatch","config","useChatSettingState","displayName","getDisplayFileName","location","formatFileSize","sizeInBytes","parseInt","isNaN","toFixed","formatFileName","name","maxLength","dotIndex","lastIndexOf","extension","substring","baseName","length","shortenedBaseName","handleOpen","setActiveFile","setActiveModal","MODAL_TYPES","FILE_PREVIEW","extensionLabel","slice","toUpperCase","getExtensionForMime","replace","jsxs","UnsupportedContainer","onPress","activeOpacity","children","jsx","BackgroundFile","FileIcon","width","height","FileInformation","FileName","numberOfLines","colorIsUser","colors","primary","colorUsers","secondary","FileSizeContainer","View","style","flexDirection","alignItems","gap","ActivityIndicator","color","FileSize","_default","exports"],"sourceRoot":"../../../../src","sources":["components/styled/UnsupportedType.tsx"],"mappings":"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","ignoreList":[]}
@@ -113,6 +113,7 @@ const PlaceholderVideo = ({
113
113
  };
114
114
  const CustomMessageVideo = ({
115
115
  fileName,
116
+ originalName,
116
117
  fileURL,
117
118
  mimetype,
118
119
  previewURL
@@ -123,7 +124,8 @@ const CustomMessageVideo = ({
123
124
  dispatch((0, _chatSettingsSlice.setActiveFile)({
124
125
  fileName,
125
126
  fileURL,
126
- mimetype
127
+ mimetype,
128
+ originalName
127
129
  }));
128
130
  dispatch((0, _chatSettingsSlice.setActiveModal)(_MODAL_TYPES.MODAL_TYPES.FILE_PREVIEW));
129
131
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_secureFileUrl","_reactNative","_reactRedux","_chatSettingsSlice","_MODAL_TYPES","_icons","_mediaDimensions","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PlayBadge","jsx","View","style","styles","overlay","pointerEvents","children","playButton","PlayIcon","width","height","PosterVideo","previewURL","onOpen","onPosterError","dims","setDims","useState","defaultMediaDims","useEffect","active","Image","getSize","w","h","fitMediaDimensions","jsxs","Pressable","onPress","wrapper","accessibilityRole","accessibilityLabel","source","uri","video","resizeMode","onError","PlaceholderVideo","CustomMessageVideo","fileName","fileURL","mimetype","dispatch","useDispatch","posterFailed","setPosterFailed","handleOpen","setActiveFile","setActiveModal","MODAL_TYPES","FILE_PREVIEW","isSecureFileUrl","requestFileTokenRecovery","_default","exports","StyleSheet","create","borderRadius","overflow","backgroundColor","absoluteFill","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["components/styled/VideoMessage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_secureFileUrl","_reactNative","_reactRedux","_chatSettingsSlice","_MODAL_TYPES","_icons","_mediaDimensions","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PlayBadge","jsx","View","style","styles","overlay","pointerEvents","children","playButton","PlayIcon","width","height","PosterVideo","previewURL","onOpen","onPosterError","dims","setDims","useState","defaultMediaDims","useEffect","active","Image","getSize","w","h","fitMediaDimensions","jsxs","Pressable","onPress","wrapper","accessibilityRole","accessibilityLabel","source","uri","video","resizeMode","onError","PlaceholderVideo","CustomMessageVideo","fileName","originalName","fileURL","mimetype","dispatch","useDispatch","posterFailed","setPosterFailed","handleOpen","setActiveFile","setActiveModal","MODAL_TYPES","FILE_PREVIEW","isSecureFileUrl","requestFileTokenRecovery","_default","exports","StyleSheet","create","borderRadius","overflow","backgroundColor","absoluteFill","justifyContent","alignItems"],"sourceRoot":"../../../../src","sources":["components/styled/VideoMessage.tsx"],"mappings":"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","ignoreList":[]}
@@ -21,6 +21,7 @@ var _pushSubscriptionService = require("../services/pushSubscriptionService");
21
21
  var _roomStore = require("../roomStore");
22
22
  var _chatSettingsSlice = require("../roomStore/chatSettingsSlice");
23
23
  var _roomsSlice = require("../roomStore/roomsSlice");
24
+ var _getServerReadTimestamp = require("../helpers/getServerReadTimestamp");
24
25
  var _historyPreloadScheduler = require("../helpers/historyPreloadScheduler");
25
26
  var _updateMessagesTillLast = require("../helpers/updateMessagesTillLast");
26
27
  var _secureUserStorage = require("../helpers/secureUserStorage");
@@ -545,17 +546,40 @@ const XmppProvider = ({
545
546
  // Mark the open room "not visible" while backgrounded so messages
546
547
  // that arrive (or MAM-replay on reconnect) count as unread instead
547
548
  // of being silently treated as read — the "mounted == visible ==
548
- // read" gap. Stamp lastViewed=now as the read baseline, clear
549
- // visibility, then flush that marker to the server private store.
550
- // Restored on the next 'active' transition above. Handled here in
551
- // the provider so consumers using the component as a package get
552
- // correct unread without reaching into the chat store themselves.
549
+ // read" gap. Stamp lastViewed=<the read boundary, if the user left
550
+ // scrolled up, else the newest server-acked message>, not
551
+ // Date.now(), as the read baseline: a device clock running ahead
552
+ // would otherwise write a future marker that the forward-only
553
+ // private-store merge can never correct again (bug #38). Then
554
+ // clear visibility and flush that marker to the server private
555
+ // store. Restored on the next 'active' transition above. Handled
556
+ // here in the provider so consumers using the component as a
557
+ // package get correct unread without reaching into the chat store
558
+ // themselves.
559
+ //
560
+ // The read boundary (rooms.readBoundaries) is deliberately left
561
+ // untouched here - MessageList normally stays mounted through a
562
+ // simple background/foreground cycle, so its own scroll-tracking
563
+ // ref (the only thing that could re-derive this value) is still
564
+ // intact, and clearing the redux copy would desync the two. It's
565
+ // only USED here for the one-shot stamp+flush, matching customer
566
+ // #42: leaving (or backgrounding) a room while scrolled up must not
567
+ // mark messages the user never reached as read.
553
568
  visibleBeforeBackground = visibleRoomJID;
569
+ let boundaryTs = null;
554
570
  if (visibleRoomJID) {
555
- _roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
556
- chatJID: visibleRoomJID,
557
- timestamp: Date.now()
558
- }));
571
+ boundaryTs = state.rooms?.readBoundaries?.[visibleRoomJID] ?? null;
572
+ const readTs = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(rooms?.[visibleRoomJID], state.roomHeapSlice, boundaryTs);
573
+ // Nothing to anchor to yet (no known messages, no prior marker)
574
+ // - skip the local stamp rather than fall back to the device
575
+ // clock. The flush below still runs so the visibility clear
576
+ // isn't blocked on this.
577
+ if (readTs > 0) {
578
+ _roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
579
+ chatJID: visibleRoomJID,
580
+ timestamp: readTs
581
+ }));
582
+ }
559
583
  // Drop the "New messages" divider for the room we're leaving so it
560
584
  // doesn't linger when the user comes back (mirrors ChatRoom's
561
585
  // unmount cleanup, which never runs while the pane stays mounted).
@@ -566,9 +590,14 @@ const XmppProvider = ({
566
590
  _roomStore.store.dispatch((0, _roomsSlice.clearVisibleRoom)());
567
591
  }
568
592
  // Fire-and-forget — we're going to the background and don't
569
- // care about the resolution path.
593
+ // care about the resolution path. `visibleRoomTs` carries the same
594
+ // boundary to the SERVER marker - without it the flush defaults to
595
+ // "everything" for the visible room, overriding a correct smaller
596
+ // local count.
570
597
  c.flushLastViewedToPrivateStoreStanza(rooms, {
571
- visibleRoomJID
598
+ visibleRoomJID,
599
+ // Clamped through the same helper as the local stamp above.
600
+ visibleRoomTs: visibleRoomJID ? (0, _getServerReadTimestamp.getFlushBoundaryTs)(rooms?.[visibleRoomJID], state.roomHeapSlice, boundaryTs) : undefined
572
601
  }).catch(() => {});
573
602
  });
574
603
  return () => sub.remove();
@@ -581,11 +610,11 @@ const XmppProvider = ({
581
610
  // "shown" from "hidden", so the unread middleware would keep the open
582
611
  // room's badge at 0 and messages arriving while you're elsewhere look
583
612
  // already-read. When the host passes `isVisible`, mirror the AppState
584
- // background/foreground handling: hidden → stamp lastViewed=now + clear
585
- // room visibility (so later messages count) + flush; shown → restore
586
- // visibility for the open room. Doing it here means consumers never
587
- // touch the chat store themselves. (Undefined = host unmounts on hide,
588
- // nothing to do.)
613
+ // background/foreground handling: hidden → stamp lastViewed=<newest
614
+ // server-acked message> + clear room visibility (so later messages
615
+ // count) + flush; shown → restore visibility for the open room. Doing
616
+ // it here means consumers never touch the chat store themselves.
617
+ // (Undefined = host unmounts on hide, nothing to do.)
589
618
  // -----------------------------------------------------------
590
619
  const chatWasVisibleRef = (0, _react.useRef)(false);
591
620
  (0, _react.useEffect)(() => {
@@ -604,11 +633,25 @@ const XmppProvider = ({
604
633
  }));
605
634
  }
606
635
  } else {
636
+ // The read boundary (rooms.readBoundaries) is USED for the stamp
637
+ // and flush below but deliberately left in place - a host using
638
+ // `isVisible` keeps <Chat> mounted while hidden, so MessageList's
639
+ // own scroll-tracking ref is still intact and the redux copy must
640
+ // stay in sync with it. Only consumed, never Date.now(): a fast
641
+ // device clock would write a future marker that the forward-only
642
+ // private-store merge could then never correct (bug #38). And
643
+ // never "the newest acked message" unconditionally either - that
644
+ // silently marks messages the user scrolled past and never reached
645
+ // as read (bug #42, a regression of #33).
646
+ const boundaryTs = activeRoomJID ? state.rooms?.readBoundaries?.[activeRoomJID] ?? null : null;
607
647
  if (wasVisible && activeRoomJID) {
608
- _roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
609
- chatJID: activeRoomJID,
610
- timestamp: Date.now()
611
- }));
648
+ const readTs = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(rooms?.[activeRoomJID], state.roomHeapSlice, boundaryTs);
649
+ if (readTs > 0) {
650
+ _roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
651
+ chatJID: activeRoomJID,
652
+ timestamp: readTs
653
+ }));
654
+ }
612
655
  // Drop the "New messages" divider so it's gone when the user
613
656
  // returns to the chat (mirrors ChatRoom's unmount cleanup).
614
657
  _roomStore.store.dispatch((0, _roomsSlice.deleteRoomMessage)({
@@ -619,7 +662,11 @@ const XmppProvider = ({
619
662
  _roomStore.store.dispatch((0, _roomsSlice.clearVisibleRoom)());
620
663
  if (wasVisible && client?.flushLastViewedToPrivateStoreStanza) {
621
664
  client.flushLastViewedToPrivateStoreStanza(rooms, {
622
- visibleRoomJID: activeRoomJID
665
+ visibleRoomJID: activeRoomJID,
666
+ // Carry the same boundary to the SERVER marker - without it
667
+ // the flush defaults to "everything" for the visible room.
668
+ // Clamped exactly like the local stamp above.
669
+ visibleRoomTs: activeRoomJID ? (0, _getServerReadTimestamp.getFlushBoundaryTs)(rooms?.[activeRoomJID], state.roomHeapSlice, boundaryTs) : undefined
623
670
  }).catch(() => {});
624
671
  }
625
672
  }
@@ -645,32 +692,44 @@ const XmppProvider = ({
645
692
  return;
646
693
  }
647
694
  lastMessagesRef = room.messages;
648
- let newest = 0;
649
- const list = room.messages || [];
650
- for (const m of list) {
651
- if (!m || m.id === 'delimiter-new') {
652
- continue;
653
- }
654
- const ms = (0, _roomsSlice.msgSortableMs)(m);
655
- if (ms > newest) {
656
- newest = ms;
657
- }
658
- }
659
- if (newest <= lastStampedMs) {
695
+
696
+ // getReadMarkerTimestamp (not a hand-rolled scan + Date.now()):
697
+ // it excludes pending/optimistic messages, which carry the DEVICE
698
+ // send time via `date` until the server echoes them back - a
699
+ // manual scan without that exclusion could pick up a pending
700
+ // message's device timestamp here and write a future marker the
701
+ // same way a raw Date.now() would (bug #38). And when the user has
702
+ // scrolled up (a boundary is set for this room), it clamps to that
703
+ // boundary instead of the newest message - without this, every
704
+ // incoming message while scrolled up advanced the marker to
705
+ // "newest" regardless of scroll position, and the later, smaller
706
+ // boundary write on leave was rejected by the forward-only
707
+ // private-store merge, leaving 0 unread even after a restart
708
+ // (customer #42, a regression of #33 reintroduced by #38).
709
+ const boundaryTs = s.rooms?.readBoundaries?.[jid] ?? null;
710
+ const newest = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(room, s.roomHeapSlice, boundaryTs);
711
+ if (!newest || newest <= lastStampedMs) {
660
712
  return;
661
713
  }
662
714
  lastStampedMs = newest;
663
715
  _roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
664
716
  chatJID: jid,
665
- timestamp: Date.now()
717
+ timestamp: newest
666
718
  }));
667
719
  if (flushTimer) {
668
720
  clearTimeout(flushTimer);
669
721
  }
670
722
  if (client?.flushLastViewedToPrivateStoreStanza) {
671
723
  flushTimer = setTimeout(() => {
672
- client.flushLastViewedToPrivateStoreStanza(_roomStore.store.getState().rooms?.rooms, {
673
- visibleRoomJID: jid
724
+ // Re-read fresh state rather than closing over `boundaryTs`:
725
+ // the user may have scrolled back to the bottom (clearing the
726
+ // boundary) in the 2s between the stamp and this flush, and
727
+ // the flush should reflect that.
728
+ const freshState = _roomStore.store.getState();
729
+ const freshBoundaryTs = freshState.rooms?.readBoundaries?.[jid] ?? null;
730
+ client.flushLastViewedToPrivateStoreStanza(freshState.rooms?.rooms, {
731
+ visibleRoomJID: jid,
732
+ visibleRoomTs: (0, _getServerReadTimestamp.getFlushBoundaryTs)(freshState.rooms?.rooms?.[jid], freshState.roomHeapSlice, freshBoundaryTs)
674
733
  }).catch(() => {});
675
734
  }, 2000);
676
735
  }