@oxyhq/services 22.4.2 → 22.6.0

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 (174) hide show
  1. package/LICENSE +661 -21
  2. package/README.md +1 -1
  3. package/lib/commonjs/index.js +20 -1
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/ui/client.js +1 -1
  6. package/lib/commonjs/ui/components/FontLoader.js +18 -145
  7. package/lib/commonjs/ui/components/FontLoader.js.map +1 -1
  8. package/lib/commonjs/ui/components/FontLoader.native.js +88 -0
  9. package/lib/commonjs/ui/components/FontLoader.native.js.map +1 -0
  10. package/lib/commonjs/ui/components/OxyProvider.js +1 -1
  11. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +16 -27
  12. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  13. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  14. package/lib/commonjs/ui/components/fileManagement/styles.js +1 -225
  15. package/lib/commonjs/ui/components/fileManagement/styles.js.map +1 -1
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +5 -2
  17. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  18. package/lib/commonjs/ui/context/useOxyAccountGraph.js +7 -0
  19. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  20. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +14 -5
  21. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  22. package/lib/commonjs/ui/hooks/queries/userCache.js +286 -0
  23. package/lib/commonjs/ui/hooks/queries/userCache.js.map +1 -0
  24. package/lib/commonjs/ui/hooks/useAvatarPicker.js +23 -8
  25. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  26. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js +7 -21
  27. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js.map +1 -1
  28. package/lib/commonjs/ui/hooks/useResolvedFileUrls.js +163 -0
  29. package/lib/commonjs/ui/hooks/useResolvedFileUrls.js.map +1 -0
  30. package/lib/commonjs/ui/index.js +1 -1
  31. package/lib/commonjs/ui/screens/FileManagementScreen.js +51 -22
  32. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  33. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +216 -203
  34. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
  35. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js +26 -9
  36. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  37. package/lib/commonjs/ui/screens/fileManagement/photoGridLayout.js +44 -0
  38. package/lib/commonjs/ui/screens/fileManagement/photoGridLayout.js.map +1 -0
  39. package/lib/commonjs/ui/session/tokenTransport.js +21 -10
  40. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  41. package/lib/commonjs/ui/utils/fileManagement.js +0 -40
  42. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  43. package/lib/module/index.js +7 -1
  44. package/lib/module/index.js.map +1 -1
  45. package/lib/module/ui/client.js +1 -1
  46. package/lib/module/ui/client.js.map +1 -1
  47. package/lib/module/ui/components/FontLoader.js +18 -146
  48. package/lib/module/ui/components/FontLoader.js.map +1 -1
  49. package/lib/module/ui/components/FontLoader.native.js +83 -0
  50. package/lib/module/ui/components/FontLoader.native.js.map +1 -0
  51. package/lib/module/ui/components/OxyProvider.js +1 -1
  52. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  53. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +16 -27
  54. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  55. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  56. package/lib/module/ui/components/fileManagement/styles.js +0 -224
  57. package/lib/module/ui/components/fileManagement/styles.js.map +1 -1
  58. package/lib/module/ui/context/hooks/useAuthOperations.js +5 -2
  59. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  60. package/lib/module/ui/context/useOxyAccountGraph.js +7 -0
  61. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  62. package/lib/module/ui/hooks/queries/useAccountQueries.js +14 -5
  63. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  64. package/lib/module/ui/hooks/queries/userCache.js +282 -0
  65. package/lib/module/ui/hooks/queries/userCache.js.map +1 -0
  66. package/lib/module/ui/hooks/useAvatarPicker.js +23 -8
  67. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  68. package/lib/module/ui/hooks/useFileDownloadUrl.js +7 -21
  69. package/lib/module/ui/hooks/useFileDownloadUrl.js.map +1 -1
  70. package/lib/module/ui/hooks/useResolvedFileUrls.js +157 -0
  71. package/lib/module/ui/hooks/useResolvedFileUrls.js.map +1 -0
  72. package/lib/module/ui/index.js +1 -1
  73. package/lib/module/ui/index.js.map +1 -1
  74. package/lib/module/ui/screens/FileManagementScreen.js +52 -23
  75. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  76. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +218 -205
  77. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
  78. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js +26 -9
  79. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  80. package/lib/module/ui/screens/fileManagement/photoGridLayout.js +39 -0
  81. package/lib/module/ui/screens/fileManagement/photoGridLayout.js.map +1 -0
  82. package/lib/module/ui/session/tokenTransport.js +21 -10
  83. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  84. package/lib/module/ui/utils/fileManagement.js +0 -39
  85. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  86. package/lib/typescript/commonjs/index.d.ts +2 -0
  87. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +14 -5
  89. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +13 -0
  91. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts +0 -218
  94. package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +9 -0
  98. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts +96 -0
  100. package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts +3 -2
  103. package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts +48 -0
  105. package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts +1 -1
  108. package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/screens/fileManagement/photoGridLayout.d.ts +37 -0
  111. package/lib/typescript/commonjs/ui/screens/fileManagement/photoGridLayout.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +15 -8
  113. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +4 -11
  115. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
  116. package/lib/typescript/module/index.d.ts +3 -1
  117. package/lib/typescript/module/index.d.ts.map +1 -1
  118. package/lib/typescript/module/ui/client.d.ts +1 -1
  119. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  120. package/lib/typescript/module/ui/components/FontLoader.d.ts +14 -5
  121. package/lib/typescript/module/ui/components/FontLoader.d.ts.map +1 -1
  122. package/lib/typescript/module/ui/components/FontLoader.native.d.ts +13 -0
  123. package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +1 -0
  124. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  125. package/lib/typescript/module/ui/components/fileManagement/styles.d.ts +0 -218
  126. package/lib/typescript/module/ui/components/fileManagement/styles.d.ts.map +1 -1
  127. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  128. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  129. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +9 -0
  130. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  131. package/lib/typescript/module/ui/hooks/queries/userCache.d.ts +96 -0
  132. package/lib/typescript/module/ui/hooks/queries/userCache.d.ts.map +1 -0
  133. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  134. package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts +3 -2
  135. package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  136. package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts +48 -0
  137. package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts.map +1 -0
  138. package/lib/typescript/module/ui/index.d.ts +1 -1
  139. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  140. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  141. package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts +1 -1
  142. package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
  143. package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  144. package/lib/typescript/module/ui/screens/fileManagement/photoGridLayout.d.ts +37 -0
  145. package/lib/typescript/module/ui/screens/fileManagement/photoGridLayout.d.ts.map +1 -0
  146. package/lib/typescript/module/ui/session/tokenTransport.d.ts +15 -8
  147. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  148. package/lib/typescript/module/ui/utils/fileManagement.d.ts +4 -11
  149. package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
  150. package/package.json +6 -11
  151. package/src/index.ts +8 -0
  152. package/src/ui/components/FontLoader.native.tsx +88 -0
  153. package/src/ui/components/FontLoader.tsx +16 -151
  154. package/src/ui/components/fileManagement/FileDetailsModal.tsx +17 -18
  155. package/src/ui/components/fileManagement/UploadPreview.tsx +1 -1
  156. package/src/ui/components/fileManagement/styles.ts +0 -225
  157. package/src/ui/context/hooks/useAuthOperations.ts +5 -2
  158. package/src/ui/context/useOxyAccountGraph.ts +5 -0
  159. package/src/ui/hooks/queries/__tests__/userCache.test.ts +361 -0
  160. package/src/ui/hooks/queries/useAccountQueries.ts +14 -5
  161. package/src/ui/hooks/queries/userCache.ts +308 -0
  162. package/src/ui/hooks/useAvatarPicker.ts +27 -7
  163. package/src/ui/hooks/useFileDownloadUrl.ts +7 -23
  164. package/src/ui/hooks/useResolvedFileUrls.ts +170 -0
  165. package/src/ui/screens/FileManagementScreen.tsx +55 -27
  166. package/src/ui/screens/__tests__/photoGridLayout.test.ts +57 -0
  167. package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +215 -213
  168. package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +27 -3
  169. package/src/ui/screens/fileManagement/photoGridLayout.ts +45 -0
  170. package/src/ui/session/__tests__/tokenTransport.test.ts +25 -10
  171. package/src/ui/session/tokenTransport.ts +21 -10
  172. package/src/ui/utils/fileManagement.ts +3 -46
  173. package/lib/typescript/types/expo-vector-icons.d.ts +0 -22
  174. package/src/types/expo-vector-icons.d.ts +0 -22
@@ -115,8 +115,11 @@ export const useAuthOperations = ({
115
115
  logger?.('Failed to register sign-in into device session set', registrationError);
116
116
  }
117
117
 
118
- // Get full user data
119
- fullUser = await oxyServices.getUserBySession(sessionResponse.sessionId);
118
+ // Hydrate the full user from the bearer (`GET /users/me`) — `verifyChallenge`
119
+ // has already planted the access token for this session, so the bearer IS
120
+ // the session identity. Avoids a second, session-id-keyed source of truth
121
+ // (`GET /session/user/:sessionId`) that can disagree with the bearer.
122
+ fullUser = await oxyServices.getCurrentUser();
120
123
 
121
124
  // Fetch device sessions
122
125
  let allDeviceSessions = [];
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","SignatureService","LOGIN_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","clearPersistedAuthSafe","store","logger","clear","catch","clearError","useAuthOperations","oxyServices","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","sessionClient","syncFromClient","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challengeResponse","requestChallenge","challenge","signature","timestamp","signChallenge","fullUser","sessionResponse","verifyChallenge","deviceSecret","deviceId","save","sessionId","userId","user","id","accessToken","expiresAt","persistError","registerAndActivate","registrationError","getUserBySession","allDeviceSessions","fallbackDeviceId","fallbackUserId","error","__DEV__","existingSession","find","session","toString","logoutSession","logoutError","filter","merge","signIn","isLoading","message","defaultMessage","code","setAuthError","msg","logout","targetSessionId","sessionToLogout","targetAccountId","getState","accounts","account","accountId","Error","signOut","remainingAccounts","length","isInvalid","status","undefined","logoutAll","all"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","SignatureService","LOGIN_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","clearPersistedAuthSafe","store","logger","clear","catch","clearError","useAuthOperations","oxyServices","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","sessionClient","syncFromClient","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challengeResponse","requestChallenge","challenge","signature","timestamp","signChallenge","fullUser","sessionResponse","verifyChallenge","deviceSecret","deviceId","save","sessionId","userId","user","id","accessToken","expiresAt","persistError","registerAndActivate","registrationError","getCurrentUser","allDeviceSessions","fallbackDeviceId","fallbackUserId","error","__DEV__","existingSession","find","session","toString","logoutSession","logoutError","filter","merge","signIn","isLoading","message","defaultMessage","code","setAuthError","msg","logout","targetSessionId","sessionToLogout","targetAccountId","getState","accounts","account","accountId","Error","signOut","remainingAccounts","length","isInvalid","status","undefined","logoutAll","all"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import { useCallback, useEffect, useState } from 'react';
4
4
  import { logger as loggerUtil } from '@oxyhq/core';
5
5
  import { isUnauthorizedStatus } from "./oxyContextHelpers.js";
6
6
  import { resetSessionScopedStores } from "../stores/resetSessionScopedStores.js";
7
+ import { ASSET_DOWNLOAD_URLS_QUERY_KEY } from "../hooks/useResolvedFileUrls.js";
7
8
  export function useOxyAccountGraph({
8
9
  isAuthenticated,
9
10
  tokenReady,
@@ -46,6 +47,12 @@ export function useOxyAccountGraph({
46
47
  }, [isAuthenticated, initialized, tokenReady, refreshAccounts, accountDialogControllerRef]);
47
48
  const runPostAccountSwitchSideEffects = useCallback(async () => {
48
49
  resetSessionScopedStores();
50
+ // Scoped media tokens are per-viewer — drop any cached URLs immediately so
51
+ // `keepPreviousData`-style placeholders cannot flash the prior account's
52
+ // private thumbnails while the new bearer mint lands.
53
+ queryClient.removeQueries({
54
+ queryKey: [ASSET_DOWNLOAD_URLS_QUERY_KEY]
55
+ });
49
56
  await refreshAccounts();
50
57
  queryClient.invalidateQueries();
51
58
  }, [refreshAccounts, queryClient]);
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","logger","loggerUtil","isUnauthorizedStatus","resetSessionScopedStores","useOxyAccountGraph","isAuthenticated","tokenReady","initialized","oxyServices","sessionClient","syncFromClient","commitSession","queryClient","accountDialogControllerRef","clearSessionStateRef","accounts","setAccounts","refreshAccounts","getAccessToken","list","listAccounts","err","current","__DEV__","debug","component","refresh","runPostAccountSwitchSideEffects","invalidateQueries","switchToAccount","accountId","deviceState","getState","some","account","switchAccount","result","user","sessionId","Error","accessToken","deviceSecret","deviceId","expiresAt","userId","id","activate","hubSync","createAccount","data"],"sourceRoot":"../../../../src","sources":["ui/context/useOxyAccountGraph.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","logger","loggerUtil","isUnauthorizedStatus","resetSessionScopedStores","ASSET_DOWNLOAD_URLS_QUERY_KEY","useOxyAccountGraph","isAuthenticated","tokenReady","initialized","oxyServices","sessionClient","syncFromClient","commitSession","queryClient","accountDialogControllerRef","clearSessionStateRef","accounts","setAccounts","refreshAccounts","getAccessToken","list","listAccounts","err","current","__DEV__","debug","component","refresh","runPostAccountSwitchSideEffects","removeQueries","queryKey","invalidateQueries","switchToAccount","accountId","deviceState","getState","some","account","switchAccount","result","user","sessionId","Error","accessToken","deviceSecret","deviceId","expiresAt","userId","id","activate","hubSync","createAccount","data"],"sourceRoot":"../../../../src","sources":["ui/context/useOxyAccountGraph.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAwB,OAAO;AAGxE,SAASC,MAAM,IAAIC,UAAU,QAAQ,aAAa;AAElD,SAASC,oBAAoB,QAAQ,wBAAqB;AAC1D,SAASC,wBAAwB,QAAQ,uCAAoC;AAC7E,SAASC,6BAA6B,QAAQ,iCAA8B;AAgB5E,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,eAAe;EACfC,UAAU;EACVC,WAAW;EACXC,WAAW;EACXC,aAAa;EACbC,cAAc;EACdC,aAAa;EACbC,WAAW;EACXC,0BAA0B;EAC1BC;AACwB,CAAC,EAAE;EAC3B,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGlB,QAAQ,CAAgB,EAAE,CAAC;EAE3D,MAAMmB,eAAe,GAAGrB,WAAW,CAAC,YAA2B;IAC7D,IAAI,CAACS,eAAe,IAAI,CAACC,UAAU,IAAI,CAACE,WAAW,CAACU,cAAc,CAAC,CAAC,EAAE;MACpEF,WAAW,CAAC,EAAE,CAAC;MACf;IACF;IACA,IAAI;MACF,MAAMG,IAAI,GAAG,MAAMX,WAAW,CAACY,YAAY,CAAC,CAAC;MAC7CJ,WAAW,CAACG,IAAI,CAAC;IACnB,CAAC,CAAC,OAAOE,GAAG,EAAE;MACZ,IAAIpB,oBAAoB,CAACoB,GAAG,CAAC,EAAE;QAC7BL,WAAW,CAAC,EAAE,CAAC;QACf,MAAMF,oBAAoB,CAACQ,OAAO,CAAC,CAAC;QACpC;MACF;MACA,IAAIC,OAAO,EAAE;QACXvB,UAAU,CAACwB,KAAK,CAAC,yBAAyB,EAAE;UAAEC,SAAS,EAAE;QAAa,CAAC,EAAEJ,GAAc,CAAC;MAC1F;IACF;EACF,CAAC,EAAE,CAAChB,eAAe,EAAEG,WAAW,EAAEF,UAAU,EAAEQ,oBAAoB,CAAC,CAAC;EAEpEjB,SAAS,CAAC,MAAM;IACd,IAAIQ,eAAe,IAAIE,WAAW,IAAID,UAAU,EAAE;MAChDW,eAAe,CAAC,CAAC;MACjB,KAAKJ,0BAA0B,CAACS,OAAO,EAAEI,OAAO,CAAC,CAAC;IACpD;EACF,CAAC,EAAE,CAACrB,eAAe,EAAEE,WAAW,EAAED,UAAU,EAAEW,eAAe,EAAEJ,0BAA0B,CAAC,CAAC;EAE3F,MAAMc,+BAA+B,GAAG/B,WAAW,CAAC,YAA2B;IAC7EM,wBAAwB,CAAC,CAAC;IAC1B;IACA;IACA;IACAU,WAAW,CAACgB,aAAa,CAAC;MAAEC,QAAQ,EAAE,CAAC1B,6BAA6B;IAAE,CAAC,CAAC;IACxE,MAAMc,eAAe,CAAC,CAAC;IACvBL,WAAW,CAACkB,iBAAiB,CAAC,CAAC;EACjC,CAAC,EAAE,CAACb,eAAe,EAAEL,WAAW,CAAC,CAAC;EAElC,MAAMmB,eAAe,GAAGnC,WAAW,CACjC,MAAOoC,SAAiB,IAAoB;IAC1C,MAAMC,WAAW,GAAGxB,aAAa,CAACyB,QAAQ,CAAC,CAAC;IAC5C,IAAID,WAAW,EAAElB,QAAQ,CAACoB,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACJ,SAAS,KAAKA,SAAS,CAAC,EAAE;MAC5E,MAAMvB,aAAa,CAAC4B,aAAa,CAACL,SAAS,CAAC;MAC5C,MAAMtB,cAAc,CAAC,CAAC;MACtB,MAAMiB,+BAA+B,CAAC,CAAC;MACvC;IACF;IAEA,MAAMW,MAAM,GAAG,MAAM9B,WAAW,CAACuB,eAAe,CAACC,SAAS,CAAC;IAC3D,IAAI,CAACM,MAAM,EAAEC,IAAI,IAAI,CAACD,MAAM,EAAEE,SAAS,EAAE;MACvC,MAAM,IAAIC,KAAK,CAAC,+CAA+C,CAAC;IAClE;IACA,MAAM9B,aAAa,CACjB;MACE6B,SAAS,EAAEF,MAAM,CAACE,SAAS;MAC3BE,WAAW,EAAEJ,MAAM,CAACI,WAAW;MAC/BC,YAAY,EAAEL,MAAM,CAACK,YAAY;MACjCC,QAAQ,EAAEN,MAAM,CAACM,QAAQ;MACzBC,SAAS,EAAEP,MAAM,CAACO,SAAS;MAC3BC,MAAM,EAAER,MAAM,CAACC,IAAI,CAACQ,EAAE;MACtBR,IAAI,EAAED,MAAM,CAACC;IACf,CAAC;IACD;IACA;IACA;MAAES,QAAQ,EAAE,IAAI;MAAEC,OAAO,EAAE;IAAM,CACnC,CAAC;IACD,MAAMtB,+BAA+B,CAAC,CAAC;EACzC,CAAC,EACD,CAACnB,WAAW,EAAEC,aAAa,EAAEC,cAAc,EAAEC,aAAa,EAAEgB,+BAA+B,CAC7F,CAAC;EAED,MAAMuB,aAAa,GAAGtD,WAAW,CAC/B,MAAOuD,IAAwB,IAA2B;IACxD,MAAMf,OAAO,GAAG,MAAM5B,WAAW,CAAC0C,aAAa,CAACC,IAAI,CAAC;IACrD,MAAMlC,eAAe,CAAC,CAAC;IACvB,OAAOmB,OAAO;EAChB,CAAC,EACD,CAAC5B,WAAW,EAAES,eAAe,CAC/B,CAAC;EAED,OAAO;IACLF,QAAQ;IACRE,eAAe;IACfc,eAAe;IACfmB;EACF,CAAC;AACH","ignoreList":[]}
@@ -54,6 +54,15 @@ export const useUserProfiles = (sessionIds, options) => {
54
54
  /**
55
55
  * Get current authenticated user.
56
56
  *
57
+ * Hydrates from `GET /users/me` (the bearer identifies the session) rather than
58
+ * `GET /session/user/:activeSessionId`. Post zero-cookie cutover the bearer is
59
+ * the single source of session truth, so keying the CURRENT user off a session
60
+ * id in the URL was a second, independently-updated source that could disagree
61
+ * with the bearer during an account switch — the request fired under the
62
+ * previous account's token against the new account's session id and 404'd. The
63
+ * query KEY stays scoped to the active account so the cache re-scopes (and
64
+ * refetches) on a switch; only the URL stopped carrying a session id.
65
+ *
57
66
  * The store-mirror effect must NOT overwrite the in-memory user while a
58
67
  * write mutation is in flight — otherwise a stale background refetch
59
68
  * landing between optimistic update and server-confirmed update would
@@ -74,10 +83,7 @@ export const useCurrentUser = options => {
74
83
  const query = useQuery({
75
84
  queryKey: queryKeys.accounts.current(activeSessionId),
76
85
  queryFn: async () => {
77
- if (!activeSessionId) {
78
- throw new Error('No active session');
79
- }
80
- return await oxyServices.getUserBySession(activeSessionId);
86
+ return await oxyServices.getCurrentUser();
81
87
  },
82
88
  enabled: options?.enabled !== false && isAuthenticated && !!activeSessionId,
83
89
  staleTime: 1 * 60 * 1000,
@@ -208,7 +214,10 @@ export const useUserByUsername = (username, options) => {
208
214
  if (!username) {
209
215
  throw new Error('Username is required');
210
216
  }
211
- return await oxyServices.getProfileByUsername(username);
217
+ // Match queryKeys.users.byUsername normalization so the cache key and
218
+ // the API request agree (case-insensitive local handles).
219
+ const normalizedUsername = username.trim().toLowerCase();
220
+ return await oxyServices.getProfileByUsername(normalizedUsername);
212
221
  },
213
222
  enabled: options?.enabled !== false && !!username,
214
223
  staleTime: 5 * 60 * 1000,
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useQuery","useQueries","useQueryClient","authenticatedApiCall","queryKeys","mutationKeys","useOxy","useAuthStore","useUserProfile","sessionId","options","oxyServices","queryKey","users","profile","queryFn","Error","getUserBySession","enabled","staleTime","gcTime","useUserProfiles","sessionIds","queries","map","results","getUsersBySessions","user","useCurrentUser","activeSessionId","isAuthenticated","queryClient","query","accounts","current","data","userWriteMutationsInFlight","isMutating","mutationKey","account","updateProfile","uploadAvatar","updateSettings","updatePrivacySettings","storedUser","getState","incomingUpdatedAt","parseUpdatedAt","updatedAt","storedUpdatedAt","setUser","value","Number","isFinite","Date","t","getTime","parse","useUserById","userId","detail","getUserById","useUserByUsername","username","viewerId","id","byUsername","getProfileByUsername","useUsersBySessions","list","length","useConnectedApps","connectedApps","listConnectedApps","usePrivacySettings","targetUserId","privacy","settings","getPrivacySettings"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useAccountQueries.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useQuery","useQueries","useQueryClient","authenticatedApiCall","queryKeys","mutationKeys","useOxy","useAuthStore","useUserProfile","sessionId","options","oxyServices","queryKey","users","profile","queryFn","Error","getUserBySession","enabled","staleTime","gcTime","useUserProfiles","sessionIds","queries","map","results","getUsersBySessions","user","useCurrentUser","activeSessionId","isAuthenticated","queryClient","query","accounts","current","getCurrentUser","data","userWriteMutationsInFlight","isMutating","mutationKey","account","updateProfile","uploadAvatar","updateSettings","updatePrivacySettings","storedUser","getState","incomingUpdatedAt","parseUpdatedAt","updatedAt","storedUpdatedAt","setUser","value","Number","isFinite","Date","t","getTime","parse","useUserById","userId","detail","getUserById","useUserByUsername","username","viewerId","id","byUsername","normalizedUsername","trim","toLowerCase","getProfileByUsername","useUsersBySessions","list","length","useConnectedApps","connectedApps","listConnectedApps","usePrivacySettings","targetUserId","privacy","settings","getPrivacySettings"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useAccountQueries.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,282 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Canonical user-cache UPSERT for the Oxy React Query cache.
5
+ *
6
+ * The problem this solves: many places across an app write a user object into
7
+ * the React Query cache and REPLACE the existing entry — profile fetch, feed /
8
+ * post hydration, search, notifications, lists. Each of those sources carries a
9
+ * DIFFERENT (often sparse) slice of the user: a feed author has no viewer
10
+ * `relationship`, a search hit has no `createdAt`, a notification actor has no
11
+ * `_count`. A plain `setQueryData(key, sparseUser)` therefore STRIPS whatever
12
+ * fields the authoritative single-profile fetch had already stored — the
13
+ * "Follows you tag vanishes when the feed loads" / "counts flash to zero" class
14
+ * of bug.
15
+ *
16
+ * The fix (owned here, in the SDK): ONE canonical upsert that MERGES. It writes
17
+ * under BOTH keys the SDK's user hooks read from:
18
+ * - by-id: `queryKeys.users.detail(id)` (read by `useUserById`)
19
+ * - by-username: `queryKeys.users.byUsername(username, viewerId)` (viewer-scoped;
20
+ * read by `useUserByUsername`, carries the viewer `relationship`)
21
+ *
22
+ * Merge semantics (per key):
23
+ * - No existing entry -> seed the (normalized) incoming object and mark it
24
+ * STALE (`updatedAt: 0`) so react-query refetches the full authoritative
25
+ * profile (viewer-relative `relationship`, counts, `createdAt`, …). Instant
26
+ * first paint, then the real fetch.
27
+ * - Existing entry -> `{ ...existing, ...pickMeaningful(incoming) }`: only
28
+ * the DEFINED, non-empty fields of `incoming` win; every other field is kept
29
+ * from `existing`. A sparse source can never NULL-out or STRIP a field the
30
+ * authoritative fetch set. The entry's freshness is left untouched (never
31
+ * marked stale — it is already managed).
32
+ * - Nested objects (`name`, `_count`, `relationship`) merge field-by-field, so
33
+ * a partial `name`/`_count`/`relationship` never replaces a fuller one.
34
+ * - `relationship` is written ONLY under the viewer-scoped by-username key —
35
+ * the viewer-independent by-id key never stores it (prevents one viewer's
36
+ * follow state from leaking into every other viewer's identity cache).
37
+ * - Anti-degradation: a good `username` / `name.displayName` / `avatar` is
38
+ * never overwritten by a degraded/empty one (empty username, the
39
+ * `'Unknown user'` ghost-author sentinel, `null` avatar).
40
+ *
41
+ * It is a cache write only — zero network, one `setQueryData` per key.
42
+ */
43
+
44
+ import { queryKeys } from "./queryKeys.js";
45
+ import { useAuthStore } from "../../stores/authStore.js";
46
+
47
+ /**
48
+ * A user-shaped object that can be upserted into the cache. Intentionally
49
+ * permissive: it covers the SDK `User` PLUS the looser actor objects embedded on
50
+ * posts / notifications / lists, where `name` may be a plain string and the id
51
+ * may arrive as Mongo `_id`. Every field is optional — a sparse feed author is a
52
+ * valid `CacheableUser`. The index signature lets any additional `User` field
53
+ * pass through untouched (so the upsert never has to know the full DTO shape).
54
+ */
55
+
56
+ /** The degraded display-name sentinel (ghost-author rule). */
57
+ const DEGRADED_DISPLAY_NAME = 'Unknown user';
58
+
59
+ /** A cache entry always carries a resolved string `id`. */
60
+
61
+ /**
62
+ * Whether a value is "meaningful" — i.e. it should override an existing field.
63
+ * Drops `undefined` / `null` / empty-or-whitespace strings so a sparse source
64
+ * can never strip a field. `false`, `0` and other falsy-but-defined values ARE
65
+ * meaningful (a real `verified: false` or `_count.followers: 0`).
66
+ */
67
+ function isMeaningful(value) {
68
+ if (value === undefined || value === null) return false;
69
+ if (typeof value === 'string') return value.trim() !== '';
70
+ return true;
71
+ }
72
+
73
+ /** A display name is meaningful only when non-empty AND not the degraded sentinel. */
74
+ function isMeaningfulDisplayName(value) {
75
+ return typeof value === 'string' && value.trim() !== '' && value !== DEGRADED_DISPLAY_NAME;
76
+ }
77
+ function isPlainObject(value) {
78
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
79
+ }
80
+
81
+ /** Normalize the polymorphic `name` (string | object | nullish) to the canonical object shape. */
82
+ function normalizeName(name) {
83
+ if (name === undefined || name === null) return undefined;
84
+ if (typeof name === 'string') {
85
+ const trimmed = name.trim();
86
+ return trimmed ? {
87
+ displayName: trimmed
88
+ } : undefined;
89
+ }
90
+ return name;
91
+ }
92
+
93
+ /**
94
+ * Coerce a user-shaped object to a cache entry: resolve the id from
95
+ * `id ?? _id ?? fallbackId` and normalize `name` to the canonical object shape
96
+ * (the polymorphic `string` name is dropped from the spread and re-set as an
97
+ * object so the cache never holds a bare-string name).
98
+ */
99
+ function toCachedUser(user, fallbackId) {
100
+ const {
101
+ name: rawName,
102
+ ...rest
103
+ } = user;
104
+ const id = String(user.id ?? user._id ?? fallbackId);
105
+ const name = normalizeName(rawName);
106
+ const normalized = {
107
+ ...rest,
108
+ id
109
+ };
110
+ if (name !== undefined) normalized.name = name;
111
+ return normalized;
112
+ }
113
+
114
+ /**
115
+ * Normalize an incoming (possibly partial) user to a cache entry. Returns `null`
116
+ * when no id can be resolved (nothing to key on).
117
+ */
118
+ function normalizeIncoming(user) {
119
+ const cached = toCachedUser(user, '');
120
+ return cached.id ? cached : null;
121
+ }
122
+
123
+ /** Merge two `name` objects field-by-field, with anti-degradation on `displayName`. */
124
+ function mergeName(existing, incoming) {
125
+ if (incoming === undefined) return existing;
126
+ if (existing === undefined) return incoming;
127
+ const merged = {
128
+ ...existing
129
+ };
130
+ for (const [key, value] of Object.entries(incoming)) {
131
+ if (key === 'displayName') continue;
132
+ if (isMeaningful(value)) merged[key] = value;
133
+ }
134
+ // Never let an empty / `'Unknown user'` displayName overwrite a real one.
135
+ if (isMeaningfulDisplayName(incoming.displayName)) {
136
+ merged.displayName = incoming.displayName;
137
+ }
138
+ return merged;
139
+ }
140
+
141
+ /** Merge `_count` field-by-field so a partial count never replaces a fuller one. */
142
+ function mergeCount(existing, incoming) {
143
+ if (!isPlainObject(incoming)) return existing;
144
+ const merged = {
145
+ ...(isPlainObject(existing) ? existing : {})
146
+ };
147
+ if (typeof incoming.followers === 'number') merged.followers = incoming.followers;
148
+ if (typeof incoming.following === 'number') merged.following = incoming.following;
149
+ return merged;
150
+ }
151
+
152
+ /**
153
+ * Merge `relationship`. A source without a relationship (feed/list/notification,
154
+ * or an anon/self/bulk `null`) must NEVER strip an existing viewer relationship.
155
+ */
156
+ function mergeRelationship(existing, incoming) {
157
+ if (!isPlainObject(incoming)) return existing;
158
+ const merged = {
159
+ ...(isPlainObject(existing) ? existing : {})
160
+ };
161
+ if (typeof incoming.isFollowing === 'boolean') merged.isFollowing = incoming.isFollowing;
162
+ if (typeof incoming.followsYou === 'boolean') merged.followsYou = incoming.followsYou;
163
+ return merged;
164
+ }
165
+
166
+ /**
167
+ * Merge a (normalized) incoming user over an existing cache entry: keep every
168
+ * existing field, override only with the meaningful fields of `incoming`.
169
+ *
170
+ * When `includeRelationship` is false (the viewer-independent by-id key), the
171
+ * viewer-relative `relationship` field is never read, written, or preserved —
172
+ * only the by-username key carries it (`useUserByUsername`).
173
+ */
174
+ function mergeUsers(existing, incoming, options) {
175
+ const includeRelationship = options?.includeRelationship ?? true;
176
+ const merged = {
177
+ ...existing
178
+ };
179
+ for (const [key, value] of Object.entries(incoming)) {
180
+ if (key === 'name' || key === '_count' || key === 'relationship') continue;
181
+ if (key === 'id') {
182
+ merged.id = incoming.id;
183
+ continue;
184
+ }
185
+ if (isMeaningful(value)) merged[key] = value;
186
+ }
187
+ const name = mergeName(existing.name, incoming.name);
188
+ if (name !== undefined) merged.name = name;
189
+ const count = mergeCount(existing._count, incoming._count);
190
+ if (count !== undefined) merged._count = count;
191
+ if (includeRelationship) {
192
+ const relationship = mergeRelationship(existing.relationship, incoming.relationship);
193
+ if (relationship !== undefined) merged.relationship = relationship;
194
+ } else {
195
+ delete merged.relationship;
196
+ }
197
+ return merged;
198
+ }
199
+
200
+ /** Merge-upsert a normalized user into one cache key (see module docs for semantics). */
201
+ function upsertOneKey(queryClient, key, incoming, options) {
202
+ const mergeOpts = {
203
+ includeRelationship: options.includeRelationship
204
+ };
205
+ const existing = queryClient.getQueryData(key);
206
+ if (existing === undefined) {
207
+ // Cold slot: seed the full incoming object, STALE, so react-query refetches
208
+ // the full authoritative profile (relationship, counts, createdAt, …).
209
+ const seeded = mergeUsers({
210
+ id: incoming.id
211
+ }, incoming, mergeOpts);
212
+ queryClient.setQueryData(key, seeded, {
213
+ updatedAt: 0
214
+ });
215
+ return;
216
+ }
217
+ // Existing entry: merge and leave its freshness lifecycle untouched. The
218
+ // existing entry is keyed by `incoming.id`, so use it as the fallback id.
219
+ const merged = mergeUsers(toCachedUser(existing, incoming.id), incoming, mergeOpts);
220
+ const dataUpdatedAt = queryClient.getQueryState(key)?.dataUpdatedAt ?? 0;
221
+ queryClient.setQueryData(key, merged, {
222
+ updatedAt: dataUpdatedAt
223
+ });
224
+ }
225
+
226
+ /**
227
+ * Resolve the active viewer id. The by-username cache key is viewer-scoped; the
228
+ * seed must land on the exact key `useUserByUsername` reads. When a caller does
229
+ * not pass `viewerId`, read it from the auth store — the same store behind the
230
+ * hook's `useOxy().user?.id`, so seed and read stay in lockstep. An explicit
231
+ * empty string is honoured (anonymous scope).
232
+ */
233
+ function resolveViewerId(viewerId) {
234
+ return viewerId ?? useAuthStore.getState().user?.id ?? '';
235
+ }
236
+
237
+ /**
238
+ * Merge-upsert a (possibly partial) user into the SDK's user query cache under
239
+ * both the by-id key and, when a username is present, the viewer-scoped
240
+ * by-username key.
241
+ *
242
+ * @param queryClient The app's React Query client.
243
+ * @param user A `User`-shaped object (may be sparse).
244
+ * @param viewerId The active viewer id for the by-username key. Defaults to
245
+ * the current auth-store user id.
246
+ */
247
+ export function upsertCachedUser(queryClient, user, viewerId) {
248
+ const incoming = normalizeIncoming(user);
249
+ if (!incoming) return;
250
+
251
+ // By-id identity entry (read by `useUserById`). Not viewer-scoped — never store
252
+ // the viewer-relative `relationship` here or one viewer's follow state leaks
253
+ // into every other viewer's by-id cache entry.
254
+ upsertOneKey(queryClient, queryKeys.users.detail(incoming.id), incoming, {
255
+ includeRelationship: false
256
+ });
257
+ const username = incoming.username;
258
+ if (typeof username === 'string' && username.trim() !== '') {
259
+ // By-username entry (read by `useUserByUsername`). Viewer-scoped because the
260
+ // authenticated single-profile fetch embeds the viewer `relationship`. Build
261
+ // the key through the SAME helper the hook uses so username normalization
262
+ // (`trim().toLowerCase()`) matches byte-for-byte.
263
+ const key = queryKeys.users.byUsername(username, resolveViewerId(viewerId));
264
+ upsertOneKey(queryClient, key, incoming, {
265
+ includeRelationship: true
266
+ });
267
+ }
268
+ }
269
+
270
+ /**
271
+ * Batch merge-upsert many users at once (for a feed / list / search response).
272
+ * Resolves the viewer id once and upserts each user cumulatively — a user that
273
+ * appears twice merges both slices into the single cache entry.
274
+ */
275
+ export function upsertCachedUsers(queryClient, users, viewerId) {
276
+ if (!Array.isArray(users) || users.length === 0) return;
277
+ const resolvedViewerId = resolveViewerId(viewerId);
278
+ for (const user of users) {
279
+ if (user) upsertCachedUser(queryClient, user, resolvedViewerId);
280
+ }
281
+ }
282
+ //# sourceMappingURL=userCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryKeys","useAuthStore","DEGRADED_DISPLAY_NAME","isMeaningful","value","undefined","trim","isMeaningfulDisplayName","isPlainObject","Array","isArray","normalizeName","name","trimmed","displayName","toCachedUser","user","fallbackId","rawName","rest","id","String","_id","normalized","normalizeIncoming","cached","mergeName","existing","incoming","merged","key","Object","entries","mergeCount","followers","following","mergeRelationship","isFollowing","followsYou","mergeUsers","options","includeRelationship","count","_count","relationship","upsertOneKey","queryClient","mergeOpts","getQueryData","seeded","setQueryData","updatedAt","dataUpdatedAt","getQueryState","resolveViewerId","viewerId","getState","upsertCachedUser","users","detail","username","byUsername","upsertCachedUsers","length","resolvedViewerId"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/userCache.ts"],"mappings":"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","ignoreList":[]}
@@ -65,19 +65,34 @@ export function useAvatarPicker({
65
65
  }, [activeSessionId, currentLanguage, oxyServices, queryClient]);
66
66
 
67
67
  /**
68
- * After the user picks a file in the FileManagement sheet, route to the
69
- * crop screen with the file's download URL as the source image.
68
+ * After the user picks a file in the FileManagement sheet, resolve a working
69
+ * source URL and route to the crop screen.
70
+ *
71
+ * The picked file is usually PRIVATE, so the synchronous
72
+ * `getFileDownloadUrl` (public CDN origin) would 404 and the crop screen's
73
+ * `Image.getSize` would fail silently. We resolve the authenticated URL via
74
+ * `assetGetUrl` (which throws on failure — unlike `getFileDownloadUrlAsync`,
75
+ * which swallows errors and falls back to the broken public URL) so a
76
+ * failure surfaces a real user-facing error instead of a blank crop canvas.
77
+ * No variant is requested — cropping needs the original.
70
78
  */
71
- const handleFilePicked = useCallback(file => {
79
+ const handleFilePicked = useCallback(async file => {
72
80
  if (!file.contentType?.startsWith('image/')) {
73
81
  toast.error(translate(currentLanguage ?? undefined, 'editProfile.toasts.selectImage') || 'Please select an image file');
74
82
  return;
75
83
  }
76
-
77
- // Use the public download URL of the picked file as the crop source.
78
- // The OxyServices file URL endpoints accept image variants, but for
79
- // cropping we want the original — passing no variant returns it.
80
- const sourceUri = oxyServices.getFileDownloadUrl(file.id);
84
+ let sourceUri;
85
+ try {
86
+ const resolved = await oxyServices.assetGetUrl(file.id);
87
+ if (!resolved?.url) {
88
+ throw new Error('No download URL returned for the selected image');
89
+ }
90
+ sourceUri = resolved.url;
91
+ } catch (e) {
92
+ const message = e instanceof Error ? e.message : undefined;
93
+ toast.error(message || translate(currentLanguage ?? undefined, 'editProfile.toasts.cropMeasureFailed') || 'Could not load the selected image');
94
+ return;
95
+ }
81
96
  showBottomSheet({
82
97
  screen: 'AvatarCrop',
83
98
  props: {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","translate","updateAvatarVisibility","toast","updateProfileWithAvatar","extractUploadedFileId","result","undefined","id","file","first","files","useAvatarPicker","oxyServices","currentLanguage","activeSessionId","queryClient","showBottomSheet","finalizeCroppedAvatar","cropped","uploadResult","assetUpload","uri","type","mime","name","Date","now","newFileId","Error","avatar","success","e","message","error","handleFilePicked","contentType","startsWith","sourceUri","getFileDownloadUrl","screen","props","imageUri","onConfirm","openAvatarPicker","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAvatarPicker.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","translate","updateAvatarVisibility","toast","updateProfileWithAvatar","extractUploadedFileId","result","undefined","id","file","first","files","useAvatarPicker","oxyServices","currentLanguage","activeSessionId","queryClient","showBottomSheet","finalizeCroppedAvatar","cropped","uploadResult","assetUpload","uri","type","mime","name","Date","now","newFileId","Error","avatar","success","e","message","error","handleFilePicked","contentType","startsWith","sourceUri","resolved","assetGetUrl","url","screen","props","imageUri","onConfirm","openAvatarPicker","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAvatarPicker.ts"],"mappings":"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","ignoreList":[]}
@@ -4,8 +4,9 @@ import { useEffect, useState } from 'react';
4
4
  /**
5
5
  * Hook to resolve a file's download URL asynchronously.
6
6
  *
7
- * Uses `getFileDownloadUrlAsync` first, falling back to the synchronous
8
- * `getFileDownloadUrl` if the async call fails.
7
+ * Uses `getFileDownloadUrlAsync`, which returns a scoped media-token stream URL
8
+ * for private assets. There is no sync CDN fallback — the synchronous
9
+ * `getFileDownloadUrl` is public-CDN-only and 404s for private uploads.
9
10
  */
10
11
  export const useFileDownloadUrl = (oxyServices, fileId, options) => {
11
12
  const [url, setUrl] = useState(null);
@@ -33,31 +34,16 @@ export const useFileDownloadUrl = (oxyServices, fileId, options) => {
33
34
  setLoading(true);
34
35
  setError(null);
35
36
  try {
36
- let resolvedUrl = null;
37
- if (typeof instance.getFileDownloadUrlAsync === 'function') {
38
- resolvedUrl = await instance.getFileDownloadUrlAsync(targetFileId, variant, expiresIn);
39
- }
40
- if (!resolvedUrl && typeof instance.getFileDownloadUrl === 'function') {
41
- resolvedUrl = instance.getFileDownloadUrl(targetFileId, variant, expiresIn);
37
+ if (typeof instance.getFileDownloadUrlAsync !== 'function') {
38
+ throw new Error('getFileDownloadUrlAsync is not available on this OxyServices instance');
42
39
  }
40
+ const resolvedUrl = await instance.getFileDownloadUrlAsync(targetFileId, variant, expiresIn);
43
41
  if (!cancelled) {
44
42
  setUrl(resolvedUrl || null);
45
43
  }
46
44
  } catch (err) {
47
- // Fallback to sync URL on error where possible
48
- try {
49
- if (typeof instance.getFileDownloadUrl === 'function') {
50
- const fallbackUrl = instance.getFileDownloadUrl(targetFileId, variant, expiresIn);
51
- if (!cancelled) {
52
- setUrl(fallbackUrl || null);
53
- setError(err instanceof Error ? err : new Error(String(err)));
54
- }
55
- return;
56
- }
57
- } catch {
58
- // Secondary failure: surface the original error below.
59
- }
60
45
  if (!cancelled) {
46
+ setUrl(null);
61
47
  setError(err instanceof Error ? err : new Error(String(err)));
62
48
  }
63
49
  } finally {
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","useFileDownloadUrl","oxyServices","fileId","options","url","setUrl","loading","setLoading","error","setError","variant","expiresIn","Error","cancelled","instance","targetFileId","load","resolvedUrl","getFileDownloadUrlAsync","getFileDownloadUrl","err","fallbackUrl","String"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFileDownloadUrl.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","useFileDownloadUrl","oxyServices","fileId","options","url","setUrl","loading","setLoading","error","setError","variant","expiresIn","Error","cancelled","instance","targetFileId","load","getFileDownloadUrlAsync","resolvedUrl","err","String"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFileDownloadUrl.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAc3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,WAA2C,EAC3CC,MAAiC,EACjCC,OAAmC,KACN;EAC7B,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAGN,QAAQ,CAAgB,IAAI,CAAC;EACnD,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACS,KAAK,EAAEC,QAAQ,CAAC,GAAGV,QAAQ,CAAe,IAAI,CAAC;EAEtD,MAAMW,OAAO,GAAGP,OAAO,EAAEO,OAAO;EAChC,MAAMC,SAAS,GAAGR,OAAO,EAAEQ,SAAS;EAEpCb,SAAS,CAAC,MAAM;IACd,IAAI,CAACI,MAAM,EAAE;MACXG,MAAM,CAAC,IAAI,CAAC;MACZE,UAAU,CAAC,KAAK,CAAC;MACjBE,QAAQ,CAAC,IAAI,CAAC;MACd;IACF;IAEA,IAAI,CAACR,WAAW,EAAE;MAChBI,MAAM,CAAC,IAAI,CAAC;MACZE,UAAU,CAAC,KAAK,CAAC;MACjBE,QAAQ,CAAC,IAAIG,KAAK,CAAC,4DAA4D,CAAC,CAAC;MACjF;IACF;IAEA,IAAIC,SAAS,GAAG,KAAK;IACrB,MAAMC,QAAQ,GAAGb,WAAW;IAC5B,MAAMc,YAAY,GAAGb,MAAM;IAE3B,MAAMc,IAAI,GAAG,MAAAA,CAAA,KAAY;MACvBT,UAAU,CAAC,IAAI,CAAC;MAChBE,QAAQ,CAAC,IAAI,CAAC;MAEd,IAAI;QACF,IAAI,OAAOK,QAAQ,CAACG,uBAAuB,KAAK,UAAU,EAAE;UAC1D,MAAM,IAAIL,KAAK,CAAC,uEAAuE,CAAC;QAC1F;QAEA,MAAMM,WAAW,GAAG,MAAMJ,QAAQ,CAACG,uBAAuB,CAACF,YAAY,EAAEL,OAAO,EAAEC,SAAS,CAAC;QAE5F,IAAI,CAACE,SAAS,EAAE;UACdR,MAAM,CAACa,WAAW,IAAI,IAAI,CAAC;QAC7B;MACF,CAAC,CAAC,OAAOC,GAAY,EAAE;QACrB,IAAI,CAACN,SAAS,EAAE;UACdR,MAAM,CAAC,IAAI,CAAC;UACZI,QAAQ,CAACU,GAAG,YAAYP,KAAK,GAAGO,GAAG,GAAG,IAAIP,KAAK,CAACQ,MAAM,CAACD,GAAG,CAAC,CAAC,CAAC;QAC/D;MACF,CAAC,SAAS;QACR,IAAI,CAACN,SAAS,EAAE;UACdN,UAAU,CAAC,KAAK,CAAC;QACnB;MACF;IACF,CAAC;IAEDS,IAAI,CAAC,CAAC;IAEN,OAAO,MAAM;MACXH,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACX,MAAM,EAAED,WAAW,EAAES,OAAO,EAAEC,SAAS,CAAC,CAAC;EAE7C,OAAO;IAAEP,GAAG;IAAEE,OAAO;IAAEE;EAAM,CAAC;AAChC,CAAC","ignoreList":[]}