@ethora/chat-component-rn 26.6.12 → 26.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +2 -2
  3. package/lib/commonjs/components/AuthForms/Login.js +2 -1
  4. package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
  5. package/lib/commonjs/components/MainComponents/ChatHeader.js +4 -1
  6. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  7. package/lib/commonjs/components/MainComponents/ChatWrapper.js +14 -13
  8. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  9. package/lib/commonjs/components/MainComponents/LoginWrapper.js +2 -1
  10. package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
  11. package/lib/commonjs/components/MainComponents/MediaMessage.js +17 -6
  12. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  13. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +4 -1
  14. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  15. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +8 -7
  16. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  17. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +2 -1
  18. package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  19. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +5 -1
  20. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  21. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +10 -2
  22. package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  23. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +4 -1
  24. package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  25. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +4 -1
  26. package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  27. package/lib/commonjs/components/styled/AudioMessage.js +2 -1
  28. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  29. package/lib/commonjs/components/styled/MessageImage.js +34 -8
  30. package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
  31. package/lib/commonjs/components/styled/VideoMessage.js +7 -1
  32. package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
  33. package/lib/commonjs/context/xmppProvider.js +44 -18
  34. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  35. package/lib/commonjs/helpers/initXmppRooms.js +5 -1
  36. package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
  37. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +126 -12
  38. package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  39. package/lib/commonjs/helpers/secureFileUrl.js +101 -0
  40. package/lib/commonjs/helpers/secureFileUrl.js.map +1 -0
  41. package/lib/commonjs/hooks/useChatWrapperInit.js +3 -3
  42. package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
  43. package/lib/commonjs/hooks/useFileToken.js +10 -0
  44. package/lib/commonjs/hooks/useFileToken.js.map +1 -0
  45. package/lib/commonjs/hooks/useSendMessage.js +23 -13
  46. package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
  47. package/lib/commonjs/main.js +25 -0
  48. package/lib/commonjs/main.js.map +1 -1
  49. package/lib/commonjs/networking/api-requests/auth.api.js +99 -54
  50. package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
  51. package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
  52. package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
  53. package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
  54. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  55. package/lib/commonjs/networking/api-requests/user.api.js +9 -9
  56. package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
  57. package/lib/commonjs/networking/apiClient.js +62 -112
  58. package/lib/commonjs/networking/apiClient.js.map +1 -1
  59. package/lib/commonjs/networking/authRefresh.js +323 -0
  60. package/lib/commonjs/networking/authRefresh.js.map +1 -0
  61. package/lib/commonjs/networking/xmppClient.js +33 -5
  62. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  63. package/lib/commonjs/roomStore/chatSettingsSlice.js +20 -2
  64. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  65. package/lib/module/components/AuthForms/Login.js +2 -1
  66. package/lib/module/components/AuthForms/Login.js.map +1 -1
  67. package/lib/module/components/MainComponents/ChatHeader.js +4 -1
  68. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  69. package/lib/module/components/MainComponents/ChatWrapper.js +14 -13
  70. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  71. package/lib/module/components/MainComponents/LoginWrapper.js +2 -1
  72. package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
  73. package/lib/module/components/MainComponents/MediaMessage.js +17 -6
  74. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  75. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +4 -1
  76. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  77. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +8 -7
  78. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  79. package/lib/module/components/Modals/FilePreviewModal/PdfView.js +2 -1
  80. package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
  81. package/lib/module/components/RoomComponents/ChatRoomItem.js +5 -1
  82. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  83. package/lib/module/components/RoomComponents/styled/LastMessageFile.js +10 -2
  84. package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
  85. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +4 -1
  86. package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
  87. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +4 -1
  88. package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
  89. package/lib/module/components/styled/AudioMessage.js +2 -1
  90. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  91. package/lib/module/components/styled/MessageImage.js +34 -8
  92. package/lib/module/components/styled/MessageImage.js.map +1 -1
  93. package/lib/module/components/styled/VideoMessage.js +7 -1
  94. package/lib/module/components/styled/VideoMessage.js.map +1 -1
  95. package/lib/module/context/xmppProvider.js +43 -18
  96. package/lib/module/context/xmppProvider.js.map +1 -1
  97. package/lib/module/helpers/initXmppRooms.js +5 -1
  98. package/lib/module/helpers/initXmppRooms.js.map +1 -1
  99. package/lib/module/helpers/resolveInitBeforeLoadUser.js +126 -11
  100. package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
  101. package/lib/module/helpers/secureFileUrl.js +91 -0
  102. package/lib/module/helpers/secureFileUrl.js.map +1 -0
  103. package/lib/module/hooks/useChatWrapperInit.js +3 -3
  104. package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
  105. package/lib/module/hooks/useFileToken.js +5 -0
  106. package/lib/module/hooks/useFileToken.js.map +1 -0
  107. package/lib/module/hooks/useSendMessage.js +24 -14
  108. package/lib/module/hooks/useSendMessage.js.map +1 -1
  109. package/lib/module/main.js +12 -1
  110. package/lib/module/main.js.map +1 -1
  111. package/lib/module/networking/api-requests/auth.api.js +96 -53
  112. package/lib/module/networking/api-requests/auth.api.js.map +1 -1
  113. package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
  114. package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
  115. package/lib/module/networking/api-requests/rooms.api.js +9 -9
  116. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  117. package/lib/module/networking/api-requests/user.api.js +8 -7
  118. package/lib/module/networking/api-requests/user.api.js.map +1 -1
  119. package/lib/module/networking/apiClient.js +61 -113
  120. package/lib/module/networking/apiClient.js.map +1 -1
  121. package/lib/module/networking/authRefresh.js +312 -0
  122. package/lib/module/networking/authRefresh.js.map +1 -0
  123. package/lib/module/networking/xmppClient.js +33 -5
  124. package/lib/module/networking/xmppClient.js.map +1 -1
  125. package/lib/module/roomStore/chatSettingsSlice.js +20 -2
  126. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  127. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  128. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  129. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  130. package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
  131. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  132. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  133. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  134. package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
  135. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  136. package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
  137. package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
  138. package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
  139. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  140. package/lib/typescript/components/styled/MessageImage.d.ts +8 -0
  141. package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
  142. package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
  143. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  144. package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
  145. package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
  146. package/lib/typescript/helpers/secureFileUrl.d.ts +7 -0
  147. package/lib/typescript/helpers/secureFileUrl.d.ts.map +1 -0
  148. package/lib/typescript/hooks/useFileToken.d.ts +2 -0
  149. package/lib/typescript/hooks/useFileToken.d.ts.map +1 -0
  150. package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
  151. package/lib/typescript/main.d.ts +6 -1
  152. package/lib/typescript/main.d.ts.map +1 -1
  153. package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -27
  154. package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
  155. package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
  156. package/lib/typescript/networking/apiClient.d.ts +12 -6
  157. package/lib/typescript/networking/apiClient.d.ts.map +1 -1
  158. package/lib/typescript/networking/authRefresh.d.ts +92 -0
  159. package/lib/typescript/networking/authRefresh.d.ts.map +1 -0
  160. package/lib/typescript/networking/xmppClient.d.ts +6 -0
  161. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  162. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +16 -0
  163. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  164. package/lib/typescript/types/types.d.ts +17 -0
  165. package/lib/typescript/types/types.d.ts.map +1 -1
  166. package/package.json +1 -1
  167. package/src/components/AuthForms/Login.tsx +1 -0
  168. package/src/components/MainComponents/ChatHeader.tsx +4 -1
  169. package/src/components/MainComponents/ChatWrapper.tsx +14 -19
  170. package/src/components/MainComponents/LoginWrapper.tsx +1 -0
  171. package/src/components/MainComponents/MediaMessage.tsx +14 -4
  172. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +4 -1
  173. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +8 -7
  174. package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -1
  175. package/src/components/RoomComponents/ChatRoomItem.tsx +9 -1
  176. package/src/components/RoomComponents/styled/LastMessageFile.tsx +14 -2
  177. package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +4 -1
  178. package/src/components/RoomComponents/styled/LastMessageVideo.tsx +4 -1
  179. package/src/components/styled/AudioMessage.tsx +2 -1
  180. package/src/components/styled/MessageImage.tsx +45 -6
  181. package/src/components/styled/VideoMessage.tsx +10 -1
  182. package/src/context/xmppProvider.tsx +45 -20
  183. package/src/helpers/initXmppRooms.tsx +5 -1
  184. package/src/helpers/resolveInitBeforeLoadUser.ts +123 -11
  185. package/src/helpers/secureFileUrl.ts +103 -0
  186. package/src/hooks/useChatWrapperInit.ts +3 -3
  187. package/src/hooks/useFileToken.ts +7 -0
  188. package/src/hooks/useSendMessage.tsx +28 -13
  189. package/src/main.ts +22 -1
  190. package/src/networking/api-requests/auth.api.ts +125 -52
  191. package/src/networking/api-requests/roomMembers.api.ts +1 -1
  192. package/src/networking/api-requests/rooms.api.ts +9 -9
  193. package/src/networking/api-requests/user.api.ts +8 -7
  194. package/src/networking/apiClient.ts +68 -123
  195. package/src/networking/authRefresh.ts +435 -0
  196. package/src/networking/xmppClient.ts +37 -5
  197. package/src/roomStore/chatSettingsSlice.ts +28 -3
  198. package/src/types/types.ts +17 -0
@@ -5,7 +5,7 @@ import { AppState, DeviceEventEmitter } from 'react-native';
5
5
  import NetInfo from '@react-native-community/netinfo';
6
6
  import { VideoCallOverlay } from '../components/VideoCalls/VideoCallOverlay';
7
7
  import XmppClient from '../networking/xmppClient';
8
- import { refreshTokens } from '../roomStore/chatSettingsSlice';
8
+ import { refreshAuthTokensQuietly } from '../networking/authRefresh';
9
9
  import { buildXmppClientKey, getGlobalXmppClient, getReusableXmppClientByKey, isXmppClientReusable, setGlobalXmppClient, withXmppClientInitLock } from '../utils/clientRegistry';
10
10
  import { applyResolvedUserToStore, refreshUserCredentialsForXmpp, resolveInitBeforeLoadUser } from '../helpers/resolveInitBeforeLoadUser';
11
11
  import { ensureScopedChatCache } from '../helpers/ensureScopedChatCache';
@@ -48,21 +48,21 @@ export const XmppProvider = ({
48
48
  // the XmppClient at least doesn't crash on `undefined.password`.
49
49
  const credentialsProvider = useMemo(() => {
50
50
  return async () => {
51
- // 1. Consumer-supplied REST refresh (when wired). This runs
52
- // before the SDK's own refresh chain so non-Ethora backends
53
- // can keep auth state in sync with their own token endpoint.
54
- const customRefresh = config?.refreshTokens?.refreshFunction;
55
- if (customRefresh) {
56
- try {
57
- const result = await customRefresh();
58
- if (result?.accessToken) {
59
- store.dispatch(refreshTokens({
60
- token: result.accessToken,
61
- refreshToken: result.refreshToken || ''
62
- }));
63
- }
64
- } catch (err) {
65
- devPushLog('warn', 'XMPP creds refresh: customRefresh failed', err);
51
+ // 1. Make sure the REST tokens are fresh before re-minting XMPP
52
+ // creds. This used to call `config.refreshTokens.refreshFunction`
53
+ // directly and then fall into step 2, which refreshes again —
54
+ // two rotations back to back, which the new backend scheme
55
+ // reads as a race at best and token reuse at worst. One call to
56
+ // the shared rotation point covers both the consumer-supplied
57
+ // function and the built-in endpoint.
58
+ if (config?.refreshTokens?.enabled) {
59
+ const rotated = await refreshAuthTokensQuietly();
60
+ if (rotated?.xmppPassword) {
61
+ const rotatedUser = store.getState().chatSettingStore.user;
62
+ return {
63
+ username: rotatedUser?.xmppUsername || rotatedUser?.defaultWallet?.walletAddress || '',
64
+ password: rotated.xmppPassword
65
+ };
66
66
  }
67
67
  }
68
68
 
@@ -94,7 +94,7 @@ export const XmppProvider = ({
94
94
  password: u?.xmppPassword || ''
95
95
  };
96
96
  };
97
- }, [config?.jwtLogin?.enabled, config?.jwtLogin?.token, config?.refreshTokens?.refreshFunction, config?.userLogin?.enabled, config?.customLogin?.enabled, config?.initBeforeLoadAuth?.myEndpoint]);
97
+ }, [config?.jwtLogin?.enabled, config?.jwtLogin?.token, config?.refreshTokens?.enabled, config?.userLogin?.enabled, config?.customLogin?.enabled, config?.initBeforeLoadAuth?.myEndpoint]);
98
98
  const initializeClient = useCallback(async (username, password, xmppSettings) => {
99
99
  const settings = xmppSettings || config?.xmppSettings;
100
100
  const key = buildXmppClientKey(username, settings);
@@ -265,13 +265,38 @@ export const XmppProvider = ({
265
265
  store.dispatch(setConfig(config));
266
266
  }
267
267
 
268
+ // Rotate BEFORE the first XMPP connect. On the rotating backend
269
+ // the xmpp password is a short-lived JWT that only the newest
270
+ // rotation knows, and each rotation invalidates its predecessors
271
+ // — so a snapshot's password (a host's cached `userLogin.user`,
272
+ // a persisted session) is usually already dead at boot. Without
273
+ // this, the first SASL attempt fails `not-authorized`, all three
274
+ // bootstrap retries re-present the same dead password, and the
275
+ // user dead-ends on the Connection error modal even though one
276
+ // rotation away a perfectly good session existed. The rotation
277
+ // also lands the fileToken pre-render, so secure media never
278
+ // paints blank first. Quiet + deduped; when it can't rotate
279
+ // (no refresh material, non-rotating backend) we just connect
280
+ // with what the snapshot has, exactly as before.
281
+ // jwtLogin is skipped: /users/client just minted fresh creds.
282
+ let connectPassword = resolved.xmppPassword;
283
+ if (config?.refreshTokens?.enabled && !config?.jwtLogin?.enabled) {
284
+ const rotated = await refreshAuthTokensQuietly();
285
+ if (cancelled) {
286
+ return;
287
+ }
288
+ if (rotated?.xmppPassword) {
289
+ connectPassword = rotated.xmppPassword;
290
+ }
291
+ }
292
+
268
293
  // Kick off REST /chats/my; allRoomPresences below needs the
269
294
  // room list to be in redux, otherwise it joins 0 MUCs and the
270
295
  // user receives zero realtime messages until they manually tap
271
296
  // into each room. Track the promise so we can await it before
272
297
  // joining presences.
273
298
  const restRoomsPromise = prefetchRoomsViaRest().catch(() => undefined);
274
- const c = await initializeClient(resolved.xmppUsername, resolved.xmppPassword, config?.xmppSettings);
299
+ const c = await initializeClient(resolved.xmppUsername, connectPassword, config?.xmppSettings);
275
300
  if (cancelled) {
276
301
  return;
277
302
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","AppState","DeviceEventEmitter","NetInfo","VideoCallOverlay","XmppClient","refreshTokens","buildXmppClientKey","getGlobalXmppClient","getReusableXmppClientByKey","isXmppClientReusable","setGlobalXmppClient","withXmppClientInitLock","applyResolvedUserToStore","refreshUserCredentialsForXmpp","resolveInitBeforeLoadUser","ensureScopedChatCache","getRooms","prefetchRoomsViaRest","allRoomPresences","store","logout","setStoreClient","setConfig","setLogoutState","setVisibleRoom","clearVisibleRoom","setLastViewedTimestamp","deleteRoomMessage","msgSortableMs","setUnreadSyncing","runHistoryPreloadScheduler","asyncLocalStorage","localStorageConstants","clearPersistedState","pushLog","devPushLog","jsx","_jsx","jsxs","_jsxs","XmppContext","LOGOUT_EVENT","XmppProvider","children","config","isVisible","client","setClient","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","customRefresh","refreshFunction","result","accessToken","dispatch","token","refreshToken","err","fresh","catch","username","xmppUsername","defaultWallet","walletAddress","password","xmppPassword","u","getState","chatSettingStore","user","jwtLogin","enabled","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","xmppSettings","settings","key","reusable","current","created","prevGlobal","close","newClient","setCredentialsProvider","waitForOnline","console","error","setOnOnline","underlying","e","getChatsPrivateStoreRequestStanza","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","ETHORA_USER","remove","undefined","resolved","signal","hasResolved","xmppPasswordPresent","restRoomsPromise","c","getRoomsStanza","roomCount","Object","keys","rooms","length","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","r","jid","filter","Boolean","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","currentState","suppressReconnect","forceReconnect","ensureStreamAlive","clearInterval","visibleBeforeBackground","sub","addEventListener","next","roomJID","state","visibleRoomJID","chatJID","timestamp","Date","now","messageId","flushLastViewedToPrivateStoreStanza","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","list","m","ms","unsub","subscribe","reachable","isConnected","isInternetReachable","addListener","disconnect","Provider","value","useXmppClient","context","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","AppState","DeviceEventEmitter","NetInfo","VideoCallOverlay","XmppClient","refreshAuthTokensQuietly","buildXmppClientKey","getGlobalXmppClient","getReusableXmppClientByKey","isXmppClientReusable","setGlobalXmppClient","withXmppClientInitLock","applyResolvedUserToStore","refreshUserCredentialsForXmpp","resolveInitBeforeLoadUser","ensureScopedChatCache","getRooms","prefetchRoomsViaRest","allRoomPresences","store","logout","setStoreClient","setConfig","setLogoutState","setVisibleRoom","clearVisibleRoom","setLastViewedTimestamp","deleteRoomMessage","msgSortableMs","setUnreadSyncing","runHistoryPreloadScheduler","asyncLocalStorage","localStorageConstants","clearPersistedState","pushLog","devPushLog","jsx","_jsx","jsxs","_jsxs","XmppContext","LOGOUT_EVENT","XmppProvider","children","config","isVisible","client","setClient","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","refreshTokens","enabled","rotated","xmppPassword","rotatedUser","getState","chatSettingStore","user","username","xmppUsername","defaultWallet","walletAddress","password","fresh","catch","err","u","jwtLogin","token","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","xmppSettings","settings","key","reusable","current","created","prevGlobal","close","newClient","setCredentialsProvider","waitForOnline","console","error","setOnOnline","underlying","e","getChatsPrivateStoreRequestStanza","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","dispatch","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","ETHORA_USER","remove","undefined","resolved","signal","hasResolved","xmppPasswordPresent","connectPassword","restRoomsPromise","c","getRoomsStanza","roomCount","Object","keys","rooms","length","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","r","jid","filter","Boolean","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","currentState","suppressReconnect","forceReconnect","ensureStreamAlive","clearInterval","visibleBeforeBackground","sub","addEventListener","next","roomJID","state","visibleRoomJID","chatJID","timestamp","Date","now","messageId","flushLastViewedToPrivateStoreStanza","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","list","m","ms","unsub","subscribe","reachable","isConnected","isInternetReachable","addListener","disconnect","Provider","value","useXmppClient","context","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import { setCurrentRoom, setIsLoading } from '../roomStore/roomsSlice';
4
4
  import { updatedChatLastTimestamps } from './updatedChatLastTimestamps';
5
5
  import { initRoomsPresence } from './initRoomsPresence';
6
6
  import { store } from '../roomStore';
7
+ import { refreshAuthTokensQuietly } from '../networking/authRefresh';
7
8
  const initXmppRooms = async (user, config, xmmpClient, rooms, roomJID) => {
8
9
  if (roomJID) {
9
10
  store.dispatch(setCurrentRoom({
@@ -48,7 +49,10 @@ const initXmppRooms = async (user, config, xmmpClient, rooms, roomJID) => {
48
49
  updatedChatLastTimestamps(roomTimestampObject, store.dispatch);
49
50
  }
50
51
  if (config?.refreshTokens?.enabled) {
51
- config?.refreshTokens?.refreshFunction?.();
52
+ // Was a bare call to the consumer-supplied refreshFunction, i.e. a
53
+ // rotation completely outside the SDK's lock. Routed through the
54
+ // one rotation point, which calls that same function internally.
55
+ refreshAuthTokensQuietly();
52
56
  }
53
57
  } catch (error) {
54
58
  console.error(error);
@@ -1 +1 @@
1
- {"version":3,"names":["setCurrentRoom","setIsLoading","updatedChatLastTimestamps","initRoomsPresence","store","initXmppRooms","user","config","xmmpClient","rooms","roomJID","dispatch","defaultWallet","walletAddress","console","log","Object","keys","length","newArch","res","getRoomsStanza","roomTimestampObject","getChatsPrivateStoreRequestStanza","refreshTokens","enabled","refreshFunction","error","loading"],"sourceRoot":"../../../src","sources":["helpers/initXmppRooms.tsx"],"mappings":";;AAAA,SAASA,cAAc,EAAEC,YAAY,QAAQ,yBAAyB;AACtE,SAASC,yBAAyB,QAAQ,6BAA6B;AACvE,SAASC,iBAAiB,QAAQ,qBAAqB;AAGvD,SAASC,KAAK,QAAQ,cAAc;AAEpC,MAAMC,aAAa,GAAG,MAAAA,CACpBC,IAAU,EACVC,MAAe,EACfC,UAAsB,EACtBC,KAAgC,EAChCC,OAAgB,KACb;EACH,IAAIA,OAAO,EAAE;IACXN,KAAK,CAACO,QAAQ,CAACX,cAAc,CAAC;MAAEU,OAAO,EAAEA;IAAQ,CAAC,CAAC,CAAC;EACtD;EAEA,IAAI;IACF,IAAI,CAACJ,IAAI,CAACM,aAAa,IAAI,CAACN,IAAI,CAACM,aAAa,CAACC,aAAa,EAAE;MAC5DC,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;MAC7B;IACF;IAEA,IAAI,CAACP,UAAU,EAAE;MACfM,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;MAE9C,IAAIN,KAAK,IAAIO,MAAM,CAACC,IAAI,CAACR,KAAK,CAAC,CAACS,MAAM,GAAG,CAAC,EAAE;QAC1C,MAAMf,iBAAiB,CAACK,UAAU,EAAEC,KAAK,CAAC;MAC5C,CAAC,MAAM;QACL,IAAIF,MAAM,EAAEY,OAAO,EAAE;UACnB;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;QACF;QACA,MAAMC,GAAG,GAAG,MAAOZ,UAAU,CAAuBa,cAAc,CAAC,CAAC;QACpEP,OAAO,CAACC,GAAG,CAACK,GAAG,CAAC;MAClB;;MAEA;MACA,MAAME,mBAAqD,GACzD,MAAOd,UAAU,CAAuBe,iCAAiC,CAAC,CAAC;MAC7ErB,yBAAyB,CAACoB,mBAAmB,EAAElB,KAAK,CAACO,QAAQ,CAAC;IAChE,CAAC,MAAM;MACL;MACA,MAAMW,mBAAqD,GACzD,MAAMd,UAAU,CAACe,iCAAiC,CAAC,CAAC;MACtDrB,yBAAyB,CAACoB,mBAAmB,EAAElB,KAAK,CAACO,QAAQ,CAAC;IAChE;IAEA,IAAIJ,MAAM,EAAEiB,aAAa,EAAEC,OAAO,EAAE;MAClClB,MAAM,EAAEiB,aAAa,EAAEE,eAAe,GAAG,CAAC;IAC5C;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdb,OAAO,CAACa,KAAK,CAACA,KAAK,CAAC;EACtB,CAAC,SAAS;IACRvB,KAAK,CAACO,QAAQ,CAACV,YAAY,CAAC;MAAE2B,OAAO,EAAE;IAAM,CAAC,CAAC,CAAC;EAClD;AACF,CAAC;AAED,eAAevB,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["setCurrentRoom","setIsLoading","updatedChatLastTimestamps","initRoomsPresence","store","refreshAuthTokensQuietly","initXmppRooms","user","config","xmmpClient","rooms","roomJID","dispatch","defaultWallet","walletAddress","console","log","Object","keys","length","newArch","res","getRoomsStanza","roomTimestampObject","getChatsPrivateStoreRequestStanza","refreshTokens","enabled","error","loading"],"sourceRoot":"../../../src","sources":["helpers/initXmppRooms.tsx"],"mappings":";;AAAA,SAASA,cAAc,EAAEC,YAAY,QAAQ,yBAAyB;AACtE,SAASC,yBAAyB,QAAQ,6BAA6B;AACvE,SAASC,iBAAiB,QAAQ,qBAAqB;AAGvD,SAASC,KAAK,QAAQ,cAAc;AACpC,SAASC,wBAAwB,QAAQ,2BAA2B;AAEpE,MAAMC,aAAa,GAAG,MAAAA,CACpBC,IAAU,EACVC,MAAe,EACfC,UAAsB,EACtBC,KAAgC,EAChCC,OAAgB,KACb;EACH,IAAIA,OAAO,EAAE;IACXP,KAAK,CAACQ,QAAQ,CAACZ,cAAc,CAAC;MAAEW,OAAO,EAAEA;IAAQ,CAAC,CAAC,CAAC;EACtD;EAEA,IAAI;IACF,IAAI,CAACJ,IAAI,CAACM,aAAa,IAAI,CAACN,IAAI,CAACM,aAAa,CAACC,aAAa,EAAE;MAC5DC,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;MAC7B;IACF;IAEA,IAAI,CAACP,UAAU,EAAE;MACfM,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;MAE9C,IAAIN,KAAK,IAAIO,MAAM,CAACC,IAAI,CAACR,KAAK,CAAC,CAACS,MAAM,GAAG,CAAC,EAAE;QAC1C,MAAMhB,iBAAiB,CAACM,UAAU,EAAEC,KAAK,CAAC;MAC5C,CAAC,MAAM;QACL,IAAIF,MAAM,EAAEY,OAAO,EAAE;UACnB;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;QACF;QACA,MAAMC,GAAG,GAAG,MAAOZ,UAAU,CAAuBa,cAAc,CAAC,CAAC;QACpEP,OAAO,CAACC,GAAG,CAACK,GAAG,CAAC;MAClB;;MAEA;MACA,MAAME,mBAAqD,GACzD,MAAOd,UAAU,CAAuBe,iCAAiC,CAAC,CAAC;MAC7EtB,yBAAyB,CAACqB,mBAAmB,EAAEnB,KAAK,CAACQ,QAAQ,CAAC;IAChE,CAAC,MAAM;MACL;MACA,MAAMW,mBAAqD,GACzD,MAAMd,UAAU,CAACe,iCAAiC,CAAC,CAAC;MACtDtB,yBAAyB,CAACqB,mBAAmB,EAAEnB,KAAK,CAACQ,QAAQ,CAAC;IAChE;IAEA,IAAIJ,MAAM,EAAEiB,aAAa,EAAEC,OAAO,EAAE;MAClC;MACA;MACA;MACArB,wBAAwB,CAAC,CAAC;IAC5B;EACF,CAAC,CAAC,OAAOsB,KAAK,EAAE;IACdZ,OAAO,CAACY,KAAK,CAACA,KAAK,CAAC;EACtB,CAAC,SAAS;IACRvB,KAAK,CAACQ,QAAQ,CAACX,YAAY,CAAC;MAAE2B,OAAO,EAAE;IAAM,CAAC,CAAC,CAAC;EAClD;AACF,CAAC;AAED,eAAetB,aAAa","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import http, { setBaseURL } from '../networking/apiClient';
3
+ import { setBaseURL } from '../networking/apiClient';
4
+ import { refreshAuthTokens, isRefreshFatalError } from '../networking/authRefresh';
4
5
  import { loginViaJwt } from '../networking/api-requests/auth.api';
5
6
  import { getMyUser } from '../networking/api-requests/user.api';
6
7
  import { store } from '../roomStore';
@@ -31,15 +32,112 @@ const normalizeUserForXmpp = user => {
31
32
  xmppUsername: normalizedXmppUsername
32
33
  };
33
34
  };
34
- const refreshWithToken = async refreshToken => {
35
- const response = await http.post('/users/login/refresh', {}, {
36
- headers: {
37
- Authorization: refreshToken
35
+
36
+ // Hermes has no atob/Buffer; hand-decode just enough base64url to read a
37
+ // JWT's `iat`. Claims are ASCII so the byte-per-char string is fine.
38
+ const B64_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
39
+ const readJwtIat = token => {
40
+ if (!token || typeof token !== 'string') {
41
+ return 0;
42
+ }
43
+ const part = token.split('.')[1];
44
+ if (!part) {
45
+ return 0;
46
+ }
47
+ try {
48
+ const clean = part.replace(/-/g, '+').replace(/_/g, '/');
49
+ let out = '';
50
+ let buffer = 0;
51
+ let bits = 0;
52
+ for (let i = 0; i < clean.length; i++) {
53
+ const idx = B64_ALPHABET.indexOf(clean[i]);
54
+ if (idx === -1) {
55
+ continue;
56
+ }
57
+ buffer = buffer << 6 | idx;
58
+ bits += 6;
59
+ if (bits >= 8) {
60
+ bits -= 8;
61
+ out += String.fromCharCode(buffer >> bits & 0xff);
62
+ }
63
+ }
64
+ const iat = JSON.parse(out)?.iat;
65
+ return typeof iat === 'number' ? iat : 0;
66
+ } catch {
67
+ return 0;
68
+ }
69
+ };
70
+
71
+ /**
72
+ * A `userLogin.user` is typically a snapshot the host captured at ITS
73
+ * login time and re-presents verbatim on every mount, while this SDK
74
+ * keeps rotating the session and persisting the newest pair to
75
+ * `ETHORA_USER`. Taking the snapshot as-is therefore discards the live
76
+ * session in favour of an ever-aging copy: media goes blank the moment
77
+ * the snapshot has no `fileToken` (secure-files URLs 401 without it),
78
+ * and once the snapshot's refresh token ages out entirely the account
79
+ * looks dead even though the SDK held a working session all along.
80
+ *
81
+ * So, for the SAME account only, prefer whichever refresh pair was
82
+ * minted later (JWT `iat` decides — a host that genuinely re-logged-in
83
+ * hands us newer tokens and wins), and fill in a missing `fileToken`
84
+ * from the persisted copy either way.
85
+ */
86
+ const adoptFresherPersistedSession = async candidate => {
87
+ try {
88
+ const stored = await asyncLocalStorage(localStorageConstants.ETHORA_USER).get();
89
+ if (!stored) {
90
+ return candidate;
38
91
  }
92
+ const sameUser = candidate._id && stored._id && candidate._id === stored._id || candidate.xmppUsername && stored.xmppUsername && candidate.xmppUsername === stored.xmppUsername;
93
+ if (!sameUser) {
94
+ return candidate;
95
+ }
96
+ const merged = {
97
+ ...candidate
98
+ };
99
+ if (stored.refreshToken && readJwtIat(stored.refreshToken) > readJwtIat(candidate.refreshToken)) {
100
+ merged.refreshToken = stored.refreshToken;
101
+ if (stored.token) {
102
+ merged.token = stored.token;
103
+ }
104
+ if (stored.fileToken) {
105
+ merged.fileToken = stored.fileToken;
106
+ }
107
+ }
108
+ if (!merged.fileToken && stored.fileToken) {
109
+ merged.fileToken = stored.fileToken;
110
+ }
111
+ return merged;
112
+ } catch {
113
+ return candidate;
114
+ }
115
+ };
116
+
117
+ /**
118
+ * Bootstrap rotation.
119
+ *
120
+ * Was a second, independent `/users/login/refresh` caller that bypassed
121
+ * every lock in the SDK — and, worse, only wrote the rotated token to
122
+ * the store on the happy path, so several of the early-return branches
123
+ * below used to drop it. Under the backend's reuse detection a dropped
124
+ * rotation means the next launch presents a burned token and the
125
+ * session is killed.
126
+ *
127
+ * `refreshAuthTokens` persists the new pair before it resolves, so by
128
+ * the time this returns the rotation is safe no matter which branch the
129
+ * caller takes afterwards. The explicit token is required here: during
130
+ * bootstrap the candidate session isn't in the store yet.
131
+ */
132
+ const refreshWithToken = async refreshToken => {
133
+ const result = await refreshAuthTokens({
134
+ refreshToken
39
135
  });
40
136
  return {
41
- token: response?.data?.token || '',
42
- refreshToken: response?.data?.refreshToken || refreshToken
137
+ token: result.token,
138
+ refreshToken: result.refreshToken || refreshToken,
139
+ xmppPassword: result.xmppPassword || '',
140
+ fileToken: result.fileToken || ''
43
141
  };
44
142
  };
45
143
  const mergeUsers = (base, patch) => {
@@ -64,10 +162,14 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
64
162
  }
65
163
  let workingToken = candidate?.token || '';
66
164
  let workingRefresh = candidate?.refreshToken || '';
165
+ let rotatedXmppPassword = '';
166
+ let workingFileToken = candidate?.fileToken || '';
67
167
  const candidateWithCurrentTokens = () => ({
68
168
  ...candidate,
69
169
  token: workingToken || candidate.token,
70
- refreshToken: workingRefresh || candidate.refreshToken
170
+ refreshToken: workingRefresh || candidate.refreshToken,
171
+ xmppPassword: rotatedXmppPassword || candidate.xmppPassword,
172
+ fileToken: workingFileToken || candidate.fileToken
71
173
  });
72
174
  const fallbackWithCreds = () => {
73
175
  const normalized = normalizeUserForXmpp(candidateWithCurrentTokens());
@@ -86,6 +188,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
86
188
  if (merged) {
87
189
  merged.token = workingToken || merged.token;
88
190
  merged.refreshToken = workingRefresh || merged.refreshToken;
191
+ merged.xmppPassword = rotatedXmppPassword || merged.xmppPassword;
192
+ merged.fileToken = workingFileToken || merged.fileToken;
89
193
  }
90
194
  return merged;
91
195
  } catch (error) {
@@ -110,6 +214,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
110
214
  const refreshed = await refreshWithToken(workingRefresh);
111
215
  workingToken = refreshed.token;
112
216
  workingRefresh = refreshed.refreshToken;
217
+ rotatedXmppPassword = refreshed.xmppPassword || rotatedXmppPassword;
218
+ workingFileToken = refreshed.fileToken || workingFileToken;
113
219
  try {
114
220
  const myUser = await getMyUser({
115
221
  token: workingToken,
@@ -119,6 +225,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
119
225
  if (merged) {
120
226
  merged.token = workingToken || merged.token;
121
227
  merged.refreshToken = workingRefresh || merged.refreshToken;
228
+ merged.xmppPassword = rotatedXmppPassword || merged.xmppPassword;
229
+ merged.fileToken = workingFileToken || merged.fileToken;
122
230
  }
123
231
  return merged;
124
232
  } catch (myError) {
@@ -138,6 +246,13 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
138
246
  if (signal?.aborted || isAbortError(error)) {
139
247
  return null;
140
248
  }
249
+ // A fatal refresh verdict (reuse detected / token not found / stale
250
+ // with nothing newer around) carries no HTTP response, so it would
251
+ // otherwise fall through to `throw` — the session is simply dead,
252
+ // which for bootstrap means "nothing to restore".
253
+ if (isRefreshFatalError(error)) {
254
+ return null;
255
+ }
141
256
  if (isAuthError(error)) {
142
257
  return null;
143
258
  }
@@ -155,14 +270,14 @@ export const resolveInitBeforeLoadUser = async options => {
155
270
  if (config?.baseUrl) {
156
271
  setBaseURL(config.baseUrl, config.customAppToken);
157
272
  }
158
- const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/users/my';
273
+ const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/v1/users/my';
159
274
 
160
275
  // Priority 1: explicit userLogin
161
276
  const explicitUser = config?.userLogin?.enabled ? config?.userLogin?.user : null;
162
277
  if (explicitUser) {
163
278
  const candidate = normalizeUserForXmpp(explicitUser);
164
279
  if (candidate && hasXmppCredentials(candidate)) {
165
- return candidate;
280
+ return await adoptFresherPersistedSession(candidate);
166
281
  }
167
282
  const hydrated = await tryHydrateViaMy(explicitUser, myEndpoint, signal).catch(() => null);
168
283
  if (hydrated && hasXmppCredentials(hydrated)) {
@@ -279,7 +394,7 @@ export const refreshUserCredentialsForXmpp = async (config, signal) => {
279
394
  // fall through to /users/my path
280
395
  }
281
396
  }
282
- const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/users/my';
397
+ const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/v1/users/my';
283
398
 
284
399
  // Priority 2: redux store user (covers userLogin + customLogin +
285
400
  // anything previously persisted into chatSettingStore.user). The
@@ -1 +1 @@
1
- {"version":3,"names":["http","setBaseURL","loginViaJwt","getMyUser","store","setUser","walletToUsername","asyncLocalStorage","localStorageConstants","getStatusCode","error","status","response","isAuthError","code","isAbortError","message","toLowerCase","includes","hasXmppCredentials","user","Boolean","xmppPassword","xmppUsername","defaultWallet","walletAddress","normalizeUserForXmpp","normalizedXmppUsername","refreshWithToken","refreshToken","post","headers","Authorization","token","data","mergeUsers","base","patch","tryHydrateViaMy","candidate","myEndpoint","signal","aborted","mergedCandidate","workingToken","workingRefresh","candidateWithCurrentTokens","fallbackWithCreds","normalized","myUser","endpoint","merged","fallback","refreshed","myError","resolveInitBeforeLoadUser","options","config","baseUrl","customAppToken","initBeforeLoadAuth","explicitUser","userLogin","enabled","hydrated","catch","customLogin","loginFunction","customUser","jwtLogin","jwtUser","currentUser","getState","chatSettingStore","storedUser","ETHORA_USER","get","remove","applyResolvedUserToStore","dispatch","refreshUserCredentialsForXmpp","fresh"],"sourceRoot":"../../../src","sources":["helpers/resolveInitBeforeLoadUser.ts"],"mappings":";;AAAA,OAAOA,IAAI,IAAIC,UAAU,QAAQ,yBAAyB;AAC1D,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SAASC,SAAS,QAAQ,qCAAqC;AAE/D,SAASC,KAAK,QAAQ,cAAc;AACpC,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,qBAAqB,QAAQ,2BAA2B;AAYjE,MAAMC,aAAa,GAAIC,KAAc,IAAoB;EACvD,MAAMC,MAAM,GAAID,KAAK,EAAoBE,QAAQ,EAAED,MAAM;EACzD,OAAO,OAAOA,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI;AACnD,CAAC;AAED,MAAME,WAAW,GAAIH,KAAc,IAAc;EAC/C,MAAMI,IAAI,GAAGL,aAAa,CAACC,KAAK,CAAC;EACjC,OAAOI,IAAI,KAAK,GAAG,IAAIA,IAAI,KAAK,GAAG;AACrC,CAAC;AAED,MAAMC,YAAY,GAAIL,KAAc,IAAc;EAChD,MAAMM,OAAO,GAAIN,KAAK,EAAoBM,OAAO,IAAI,EAAE;EACvD,OAAO,OAAOA,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,OAAO,CAAC;AAC/E,CAAC;AAED,MAAMC,kBAAkB,GAAIC,IAA2B,IACrDC,OAAO,CACLD,IAAI,EAAEE,YAAY,KACfF,IAAI,EAAEG,YAAY,IAAIH,IAAI,EAAEI,aAAa,EAAEC,aAAa,CAC7D,CAAC;AAEH,MAAMC,oBAAoB,GAAIN,IAAkB,IAAkB;EAChE,IAAI,CAACA,IAAI,EAAE;IAAC,OAAO,IAAI;EAAC;EACxB,MAAMO,sBAAsB,GAC1BP,IAAI,CAACG,YAAY,IAAIjB,gBAAgB,CAACc,IAAI,EAAEI,aAAa,EAAEC,aAAa,IAAI,EAAE,CAAC;EACjF,OAAO;IAAE,GAAGL,IAAI;IAAEG,YAAY,EAAEI;EAAuB,CAAC;AAC1D,CAAC;AAED,MAAMC,gBAAgB,GAAG,MAAOC,YAAoB,IAAK;EACvD,MAAMjB,QAAQ,GAAG,MAAMZ,IAAI,CAAC8B,IAAI,CAC9B,sBAAsB,EACtB,CAAC,CAAC,EACF;IAAEC,OAAO,EAAE;MAAEC,aAAa,EAAEH;IAAa;EAAE,CAC7C,CAAC;EACD,OAAO;IACLI,KAAK,EAAErB,QAAQ,EAAEsB,IAAI,EAAED,KAAK,IAAI,EAAE;IAClCJ,YAAY,EAAEjB,QAAQ,EAAEsB,IAAI,EAAEL,YAAY,IAAIA;EAChD,CAAC;AACH,CAAC;AAED,MAAMM,UAAU,GAAGA,CAACC,IAAkB,EAAEC,KAAmB,KAAkB;EAC3E,IAAI,CAACD,IAAI,IAAI,CAACC,KAAK,EAAE;IAAC,OAAO,IAAI;EAAC;EAClC,OAAO;IACL,IAAID,IAAI,IAAK,CAAC,CAAU,CAAC;IACzB,IAAIC,KAAK,IAAK,CAAC,CAAU,CAAC;IAC1Bb,aAAa,EAAE;MACbC,aAAa,EACXY,KAAK,EAAEb,aAAa,EAAEC,aAAa,IACnCW,IAAI,EAAEZ,aAAa,EAAEC,aAAa,IAClC;IACJ;EACF,CAAC;AACH,CAAC;AAED,MAAMa,eAAe,GAAG,MAAAA,CACtBC,SAAe,EACfC,UAAmB,EACnBC,MAAoB,KACK;EACzB,IAAIA,MAAM,EAAEC,OAAO,EAAE;IAAC,OAAO,IAAI;EAAC;EAElC,MAAMC,eAAe,GAAGjB,oBAAoB,CAACa,SAAS,CAAC;EAEvD,IAAI,CAACA,SAAS,EAAEN,KAAK,IAAI,CAACM,SAAS,EAAEV,YAAY,EAAE;IACjD,OAAOc,eAAe;EACxB;EAEA,IAAIC,YAAY,GAAGL,SAAS,EAAEN,KAAK,IAAI,EAAE;EACzC,IAAIY,cAAc,GAAGN,SAAS,EAAEV,YAAY,IAAI,EAAE;EAElD,MAAMiB,0BAA0B,GAAGA,CAAA,MAAa;IAC9C,GAAGP,SAAS;IACZN,KAAK,EAAEW,YAAY,IAAIL,SAAS,CAACN,KAAK;IACtCJ,YAAY,EAAEgB,cAAc,IAAIN,SAAS,CAACV;EAC5C,CAAC,CAAC;EAEF,MAAMkB,iBAAiB,GAAGA,CAAA,KAAmB;IAC3C,MAAMC,UAAU,GAAGtB,oBAAoB,CAACoB,0BAA0B,CAAC,CAAC,CAAC;IACrE,IAAIE,UAAU,IAAI7B,kBAAkB,CAAC6B,UAAU,CAAC,EAAE;MAAC,OAAOA,UAAU;IAAC;IACrE,OAAO,IAAI;EACb,CAAC;EAED,IAAIJ,YAAY,EAAE;IAChB,IAAI;MACF,MAAMK,MAAM,GAAG,MAAM9C,SAAS,CAAC;QAAE8B,KAAK,EAAEW,YAAY;QAAEM,QAAQ,EAAEV;MAAW,CAAC,CAAC;MAC7E,MAAMW,MAAM,GAAGzB,oBAAoB,CAACS,UAAU,CAACI,SAAS,EAAEU,MAAM,CAAC,CAAC;MAClE,IAAIE,MAAM,EAAE;QACVA,MAAM,CAAClB,KAAK,GAAGW,YAAY,IAAIO,MAAM,CAAClB,KAAK;QAC3CkB,MAAM,CAACtB,YAAY,GAAGgB,cAAc,IAAIM,MAAM,CAACtB,YAAY;MAC7D;MACA,OAAOsB,MAAM;IACf,CAAC,CAAC,OAAOzC,KAAK,EAAE;MACd,IAAI+B,MAAM,EAAEC,OAAO,IAAI3B,YAAY,CAACL,KAAK,CAAC,EAAE;QAAC,OAAO,IAAI;MAAC;MACzD,IAAIG,WAAW,CAACH,KAAK,CAAC,EAAE;QACtB,IAAI,CAACmC,cAAc,EAAE;UAAC,OAAOE,iBAAiB,CAAC,CAAC;QAAC;QACjD;MACF,CAAC,MAAM;QACL,MAAMK,QAAQ,GAAGL,iBAAiB,CAAC,CAAC;QACpC,OAAOK,QAAQ,IAAI,IAAI;MACzB;IACF;EACF;EAEA,IAAI,CAACP,cAAc,EAAE;IAAC,OAAOF,eAAe;EAAC;EAE7C,IAAI;IACF,MAAMU,SAAS,GAAG,MAAMzB,gBAAgB,CAACiB,cAAc,CAAC;IACxDD,YAAY,GAAGS,SAAS,CAACpB,KAAK;IAC9BY,cAAc,GAAGQ,SAAS,CAACxB,YAAY;IAEvC,IAAI;MACF,MAAMoB,MAAM,GAAG,MAAM9C,SAAS,CAAC;QAAE8B,KAAK,EAAEW,YAAY;QAAEM,QAAQ,EAAEV;MAAW,CAAC,CAAC;MAC7E,MAAMW,MAAM,GAAGzB,oBAAoB,CACjCS,UAAU,CAACW,0BAA0B,CAAC,CAAC,EAAEG,MAAM,CACjD,CAAC;MACD,IAAIE,MAAM,EAAE;QACVA,MAAM,CAAClB,KAAK,GAAGW,YAAY,IAAIO,MAAM,CAAClB,KAAK;QAC3CkB,MAAM,CAACtB,YAAY,GAAGgB,cAAc,IAAIM,MAAM,CAACtB,YAAY;MAC7D;MACA,OAAOsB,MAAM;IACf,CAAC,CAAC,OAAOG,OAAO,EAAE;MAChB,IAAIb,MAAM,EAAEC,OAAO,IAAI3B,YAAY,CAACuC,OAAO,CAAC,EAAE;QAAC,OAAO,IAAI;MAAC;MAC3D,MAAMF,QAAQ,GAAGL,iBAAiB,CAAC,CAAC;MACpC,IAAIK,QAAQ,EAAE;QAAC,OAAOA,QAAQ;MAAC;MAC/B,IAAIvC,WAAW,CAACyC,OAAO,CAAC,EAAE;QAAC,OAAO,IAAI;MAAC;MACvC,MAAMA,OAAO;IACf;EACF,CAAC,CAAC,OAAO5C,KAAK,EAAE;IACd,IAAI+B,MAAM,EAAEC,OAAO,IAAI3B,YAAY,CAACL,KAAK,CAAC,EAAE;MAAC,OAAO,IAAI;IAAC;IACzD,IAAIG,WAAW,CAACH,KAAK,CAAC,EAAE;MAAC,OAAO,IAAI;IAAC;IACrC,MAAMA,KAAK;EACb;AACF,CAAC;AAED,OAAO,MAAM6C,yBAAyB,GAAG,MACvCC,OAA0C,IACjB;EACzB,MAAM;IAAEC,MAAM;IAAEhB;EAAO,CAAC,GAAGe,OAAO,IAAI,CAAC,CAAC;EACxC,IAAIf,MAAM,EAAEC,OAAO,EAAE;IAAC,OAAO,IAAI;EAAC;EAElC,IAAIe,MAAM,EAAEC,OAAO,EAAE;IACnBzD,UAAU,CAACwD,MAAM,CAACC,OAAO,EAAED,MAAM,CAACE,cAAc,CAAC;EACnD;EAEA,MAAMnB,UAAU,GAAGiB,MAAM,EAAEG,kBAAkB,EAAEpB,UAAU,IAAI,WAAW;;EAExE;EACA,MAAMqB,YAAY,GAAGJ,MAAM,EAAEK,SAAS,EAAEC,OAAO,GAAGN,MAAM,EAAEK,SAAS,EAAE1C,IAAI,GAAG,IAAI;EAChF,IAAIyC,YAAY,EAAE;IAChB,MAAMtB,SAAS,GAAGb,oBAAoB,CAACmC,YAAY,CAAC;IACpD,IAAItB,SAAS,IAAIpB,kBAAkB,CAACoB,SAAS,CAAC,EAAE;MAAC,OAAOA,SAAS;IAAC;IAElE,MAAMyB,QAAQ,GAAG,MAAM1B,eAAe,CAACuB,YAAY,EAAErB,UAAU,EAAEC,MAAM,CAAC,CAACwB,KAAK,CAC5E,MAAM,IACR,CAAC;IACD,IAAID,QAAQ,IAAI7C,kBAAkB,CAAC6C,QAAQ,CAAC,EAAE;MAAC,OAAOA,QAAQ;IAAC;IAC/D,OAAO,IAAI;EACb;;EAEA;EACA,IAAIP,MAAM,EAAES,WAAW,EAAEH,OAAO,IAAIN,MAAM,EAAES,WAAW,EAAEC,aAAa,EAAE;IACtE,IAAI;MACF,MAAMC,UAAU,GAAG,MAAMX,MAAM,CAACS,WAAW,CAACC,aAAa,CAAC,CAAC;MAC3D,IAAIC,UAAU,EAAE;QACd,MAAM7B,SAAS,GAAGb,oBAAoB,CAAC0C,UAAU,CAAC;QAClD,IAAI7B,SAAS,IAAIpB,kBAAkB,CAACoB,SAAS,CAAC,EAAE;UAAC,OAAOA,SAAS;QAAC;QAClE,MAAMyB,QAAQ,GAAG,MAAM1B,eAAe,CAAC8B,UAAU,EAAE5B,UAAU,EAAEC,MAAM,CAAC,CAACwB,KAAK,CAC1E,MAAM,IACR,CAAC;QACD,IAAID,QAAQ,IAAI7C,kBAAkB,CAAC6C,QAAQ,CAAC,EAAE;UAAC,OAAOA,QAAQ;QAAC;MACjE;IACF,CAAC,CAAC,OAAOtD,KAAK,EAAE;MACd,IAAI+B,MAAM,EAAEC,OAAO,IAAI3B,YAAY,CAACL,KAAK,CAAC,IAAIG,WAAW,CAACH,KAAK,CAAC,EAAE;QAAC,OAAO,IAAI;MAAC;IACjF;EACF;;EAEA;EACA,IAAI+C,MAAM,EAAEY,QAAQ,EAAEN,OAAO,IAAIN,MAAM,EAAEY,QAAQ,EAAEpC,KAAK,EAAE;IACxD,IAAI;MACF,MAAMqC,OAAO,GAAG,MAAMpE,WAAW,CAACuD,MAAM,CAACY,QAAQ,CAACpC,KAAK,CAAC;MACxD,MAAMe,UAAU,GAAGtB,oBAAoB,CAAC4C,OAAO,CAAC;MAChD,IAAItB,UAAU,IAAI7B,kBAAkB,CAAC6B,UAAU,CAAC,EAAE;QAAC,OAAOA,UAAU;MAAC;IACvE,CAAC,CAAC,OAAOtC,KAAK,EAAE;MACd,IAAI+B,MAAM,EAAEC,OAAO,IAAI3B,YAAY,CAACL,KAAK,CAAC,IAAIG,WAAW,CAACH,KAAK,CAAC,EAAE;QAAC,OAAO,IAAI;MAAC;MAC/E,MAAMA,KAAK;IACb;EACF;;EAEA;EACA,MAAM6D,WAAW,GAAGnE,KAAK,CAACoE,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACrD,IAAI;EAC1D,IAAImD,WAAW,EAAEtC,KAAK,IAAIsC,WAAW,EAAE1C,YAAY,IAAI0C,WAAW,EAAEjD,YAAY,EAAE;IAChF,MAAM0C,QAAQ,GAAG,MAAM1B,eAAe,CAACiC,WAAW,EAAU/B,UAAU,EAAEC,MAAM,CAAC,CAACwB,KAAK,CACnF,MAAM,IACR,CAAC;IACD,IAAID,QAAQ,IAAI7C,kBAAkB,CAAC6C,QAAQ,CAAC,EAAE;MAAC,OAAOA,QAAQ;IAAC;EACjE;;EAEA;EACA,IAAI;IACF,MAAMU,UAAU,GAAG,MAAMnE,iBAAiB,CAAOC,qBAAqB,CAACmE,WAAW,CAAC,CAACC,GAAG,CAAC,CAAC;IACzF,IAAIF,UAAU,KAAKA,UAAU,CAACzC,KAAK,IAAIyC,UAAU,CAAC7C,YAAY,IAAI6C,UAAU,CAACpD,YAAY,CAAC,EAAE;MAC1F,MAAM0C,QAAQ,GAAG,MAAM1B,eAAe,CAACoC,UAAU,EAAElC,UAAU,EAAEC,MAAM,CAAC,CAACwB,KAAK,CAC1E,MAAM,IACR,CAAC;MACD,IAAID,QAAQ,IAAI7C,kBAAkB,CAAC6C,QAAQ,CAAC,EAAE;QAAC,OAAOA,QAAQ;MAAC;MAC/D,MAAMzD,iBAAiB,CAACC,qBAAqB,CAACmE,WAAW,CAAC,CAACE,MAAM,CAAC,CAAC;IACrE;EACF,CAAC,CAAC,MAAM;IACN;EAAA;EAGF,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAMC,wBAAwB,GAAI1D,IAAkB,IAAK;EAC9D,IAAI,CAACA,IAAI,EAAE;IAAC;EAAO;EACnBhB,KAAK,CAAC2E,QAAQ,CAAC1E,OAAO,CAACe,IAAI,CAAC,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM4D,6BAA6B,GAAG,MAAAA,CAC3CvB,MAAgB,EAChBhB,MAAoB,KACK;EACzB,IAAIA,MAAM,EAAEC,OAAO,EAAE;IAAC,OAAO,IAAI;EAAC;;EAElC;EACA;EACA;EACA;EACA,IAAIe,MAAM,EAAEY,QAAQ,EAAEN,OAAO,IAAIN,MAAM,EAAEY,QAAQ,EAAEpC,KAAK,EAAE;IACxD,IAAI;MACF,MAAMgD,KAAK,GAAG,MAAM/E,WAAW,CAACuD,MAAM,CAACY,QAAQ,CAACpC,KAAK,CAAC;MACtD,MAAMe,UAAU,GAAGtB,oBAAoB,CAACuD,KAAK,CAAC;MAC9C,IAAIjC,UAAU,IAAI7B,kBAAkB,CAAC6B,UAAU,CAAC,EAAE;QAAC,OAAOA,UAAU;MAAC;IACvE,CAAC,CAAC,OAAOtC,KAAK,EAAE;MACd,IAAI+B,MAAM,EAAEC,OAAO,IAAI3B,YAAY,CAACL,KAAK,CAAC,EAAE;QAAC,OAAO,IAAI;MAAC;MACzD;IACF;EACF;EAEA,MAAM8B,UAAU,GAAGiB,MAAM,EAAEG,kBAAkB,EAAEpB,UAAU,IAAI,WAAW;;EAExE;EACA;EACA;EACA;EACA,MAAM+B,WAAW,GAAGnE,KAAK,CAACoE,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACrD,IAAI;EAC1D,IAAImD,WAAW,EAAEtC,KAAK,IAAIsC,WAAW,EAAE1C,YAAY,EAAE;IACnD,MAAMmC,QAAQ,GAAG,MAAM1B,eAAe,CACpCiC,WAAW,EACX/B,UAAU,EACVC,MACF,CAAC,CAACwB,KAAK,CAAC,MAAM,IAAI,CAAC;IACnB,IAAID,QAAQ,IAAI7C,kBAAkB,CAAC6C,QAAQ,CAAC,EAAE;MAAC,OAAOA,QAAQ;IAAC;EACjE;;EAEA;EACA;EACA;EACA,IAAI;IACF,MAAMU,UAAU,GAAG,MAAMnE,iBAAiB,CACxCC,qBAAqB,CAACmE,WACxB,CAAC,CAACC,GAAG,CAAC,CAAC;IACP,IACEF,UAAU,KACTA,UAAU,CAACzC,KAAK,IAAIyC,UAAU,CAAC7C,YAAY,IAAI6C,UAAU,CAACpD,YAAY,CAAC,EACxE;MACA,MAAM0C,QAAQ,GAAG,MAAM1B,eAAe,CACpCoC,UAAU,EACVlC,UAAU,EACVC,MACF,CAAC,CAACwB,KAAK,CAAC,MAAM,IAAI,CAAC;MACnB,IAAID,QAAQ,IAAI7C,kBAAkB,CAAC6C,QAAQ,CAAC,EAAE;QAAC,OAAOA,QAAQ;MAAC;IACjE;EACF,CAAC,CAAC,MAAM;IACN;EAAA;EAGF,OAAO,IAAI;AACb,CAAC;AAED,eAAeT,yBAAyB","ignoreList":[]}
1
+ {"version":3,"names":["setBaseURL","refreshAuthTokens","isRefreshFatalError","loginViaJwt","getMyUser","store","setUser","walletToUsername","asyncLocalStorage","localStorageConstants","getStatusCode","error","status","response","isAuthError","code","isAbortError","message","toLowerCase","includes","hasXmppCredentials","user","Boolean","xmppPassword","xmppUsername","defaultWallet","walletAddress","normalizeUserForXmpp","normalizedXmppUsername","B64_ALPHABET","readJwtIat","token","part","split","clean","replace","out","buffer","bits","i","length","idx","indexOf","String","fromCharCode","iat","JSON","parse","adoptFresherPersistedSession","candidate","stored","ETHORA_USER","get","sameUser","_id","merged","refreshToken","fileToken","refreshWithToken","result","mergeUsers","base","patch","tryHydrateViaMy","myEndpoint","signal","aborted","mergedCandidate","workingToken","workingRefresh","rotatedXmppPassword","workingFileToken","candidateWithCurrentTokens","fallbackWithCreds","normalized","myUser","endpoint","fallback","refreshed","myError","resolveInitBeforeLoadUser","options","config","baseUrl","customAppToken","initBeforeLoadAuth","explicitUser","userLogin","enabled","hydrated","catch","customLogin","loginFunction","customUser","jwtLogin","jwtUser","currentUser","getState","chatSettingStore","storedUser","remove","applyResolvedUserToStore","dispatch","refreshUserCredentialsForXmpp","fresh"],"sourceRoot":"../../../src","sources":["helpers/resolveInitBeforeLoadUser.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ import { store } from '../roomStore';
4
+ import { getCurrentBaseURL } from '../networking/apiClient';
5
+ import { refreshAuthTokens } from '../networking/authRefresh';
6
+ const SECURE_FILES_HOST_PREFIX = 'secure-files.';
7
+ const SECURE_MEDIA_PATH_PREFIX = '/secure-media/';
8
+ const FILE_TOKEN_PARAM = 'ft';
9
+ export const resolveFileUrl = url => {
10
+ if (!url) {
11
+ return '';
12
+ }
13
+ // Any scheme at all — http(s), data, file, content, blob.
14
+ if (/^[a-z][a-z0-9+.-]*:/i.test(url)) {
15
+ return url;
16
+ }
17
+ if (!url.startsWith('/')) {
18
+ return url;
19
+ }
20
+ const base = getCurrentBaseURL().replace(/\/+$/, '');
21
+ return base ? `${base}${url}` : url;
22
+ };
23
+ export const isSecureFileUrl = url => {
24
+ if (!url) {
25
+ return false;
26
+ }
27
+ const path = url.replace(/^[a-z][a-z0-9+.-]*:\/\/[^/]*/i, '');
28
+ if (path.startsWith(SECURE_MEDIA_PATH_PREFIX)) {
29
+ return true;
30
+ }
31
+ const match = /^https?:\/\/(?:[^@/]+@)?([^:/?#]+)/i.exec(url);
32
+ if (!match) {
33
+ return false;
34
+ }
35
+ return match[1].toLowerCase().startsWith(SECURE_FILES_HOST_PREFIX);
36
+ };
37
+ export const appendFileToken = (url, fileToken) => {
38
+ if (!url) {
39
+ return '';
40
+ }
41
+ const resolved = resolveFileUrl(url);
42
+ if (!fileToken || !isSecureFileUrl(resolved)) {
43
+ return resolved;
44
+ }
45
+ url = resolved;
46
+ const hashIndex = url.indexOf('#');
47
+ const hash = hashIndex === -1 ? '' : url.slice(hashIndex);
48
+ const withoutHash = hashIndex === -1 ? url : url.slice(0, hashIndex);
49
+ const queryIndex = withoutHash.indexOf('?');
50
+ const base = queryIndex === -1 ? withoutHash : withoutHash.slice(0, queryIndex);
51
+ const query = queryIndex === -1 ? '' : withoutHash.slice(queryIndex + 1);
52
+ const params = query.split('&').filter(Boolean).filter(pair => pair.split('=')[0] !== FILE_TOKEN_PARAM);
53
+ params.push(`${FILE_TOKEN_PARAM}=${encodeURIComponent(fileToken)}`);
54
+ return `${base}?${params.join('&')}${hash}`;
55
+ };
56
+ export const withFileToken = url => appendFileToken(url, store.getState().chatSettingStore?.user?.fileToken || '');
57
+ const RECOVERY_COOLDOWN_MS = 30_000;
58
+ let recoveryInFlight = null;
59
+ let lastRecoveryAt = 0;
60
+ export const requestFileTokenRecovery = () => {
61
+ if (recoveryInFlight) {
62
+ return recoveryInFlight;
63
+ }
64
+ const now = Date.now();
65
+ if (now - lastRecoveryAt < RECOVERY_COOLDOWN_MS) {
66
+ return Promise.resolve(false);
67
+ }
68
+ lastRecoveryAt = now;
69
+ const state = store.getState();
70
+ const refreshConfig = state.chatSettingStore?.config?.refreshTokens;
71
+ const user = state.chatSettingStore?.user;
72
+ if (!refreshConfig?.enabled) {
73
+ return Promise.resolve(false);
74
+ }
75
+ const run = async () => {
76
+ if (!refreshConfig.refreshFunction && !user?.refreshToken) {
77
+ return false;
78
+ }
79
+ const tokens = await refreshAuthTokens();
80
+ return Boolean(tokens.fileToken);
81
+ };
82
+ recoveryInFlight = run().catch(() => false).finally(() => {
83
+ recoveryInFlight = null;
84
+ });
85
+ return recoveryInFlight;
86
+ };
87
+ export const __resetFileTokenRecoveryForTests = () => {
88
+ recoveryInFlight = null;
89
+ lastRecoveryAt = 0;
90
+ };
91
+ //# sourceMappingURL=secureFileUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["store","getCurrentBaseURL","refreshAuthTokens","SECURE_FILES_HOST_PREFIX","SECURE_MEDIA_PATH_PREFIX","FILE_TOKEN_PARAM","resolveFileUrl","url","test","startsWith","base","replace","isSecureFileUrl","path","match","exec","toLowerCase","appendFileToken","fileToken","resolved","hashIndex","indexOf","hash","slice","withoutHash","queryIndex","query","params","split","filter","Boolean","pair","push","encodeURIComponent","join","withFileToken","getState","chatSettingStore","user","RECOVERY_COOLDOWN_MS","recoveryInFlight","lastRecoveryAt","requestFileTokenRecovery","now","Date","Promise","resolve","state","refreshConfig","config","refreshTokens","enabled","run","refreshFunction","refreshToken","tokens","catch","finally","__resetFileTokenRecoveryForTests"],"sourceRoot":"../../../src","sources":["helpers/secureFileUrl.ts"],"mappings":"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","ignoreList":[]}