@oxyhq/services 5.16.9 → 5.16.11

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 (38) hide show
  1. package/lib/commonjs/ui/context/OxyContext.js +9 -27
  2. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  3. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +9 -13
  4. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  5. package/lib/commonjs/ui/screens/FileManagementScreen.js +17 -2
  6. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  7. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +3 -12
  8. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  9. package/lib/commonjs/ui/utils/avatarUtils.js +51 -0
  10. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -0
  11. package/lib/commonjs/ui/utils/fileManagement.js +3 -12
  12. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  13. package/lib/module/ui/context/OxyContext.js +9 -27
  14. package/lib/module/ui/context/OxyContext.js.map +1 -1
  15. package/lib/module/ui/hooks/mutations/useAccountMutations.js +9 -13
  16. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  17. package/lib/module/ui/screens/FileManagementScreen.js +16 -2
  18. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  19. package/lib/module/ui/screens/WelcomeNewUserScreen.js +3 -12
  20. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  21. package/lib/module/ui/utils/avatarUtils.js +47 -0
  22. package/lib/module/ui/utils/avatarUtils.js.map +1 -0
  23. package/lib/module/ui/utils/fileManagement.js +4 -12
  24. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  25. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  26. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  27. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
  28. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  29. package/lib/typescript/ui/utils/avatarUtils.d.ts +20 -0
  30. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -0
  31. package/lib/typescript/ui/utils/fileManagement.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/ui/context/OxyContext.tsx +9 -23
  34. package/src/ui/hooks/mutations/useAccountMutations.ts +9 -9
  35. package/src/ui/screens/FileManagementScreen.tsx +17 -2
  36. package/src/ui/screens/WelcomeNewUserScreen.tsx +3 -12
  37. package/src/ui/utils/avatarUtils.ts +53 -0
  38. package/src/ui/utils/fileManagement.ts +3 -12
@@ -2,6 +2,8 @@
2
2
 
3
3
  import { Alert } from 'react-native';
4
4
  import { toast } from '../../lib/sonner';
5
+ import { updateAvatarVisibility } from './avatarUtils';
6
+
5
7
  /**
6
8
  * Format file size in bytes to human-readable string
7
9
  */
@@ -226,18 +228,8 @@ export function createAvatarPickerHandler(config) {
226
228
  return;
227
229
  }
228
230
  try {
229
- // Update file visibility to public for avatar (skip if temporary asset ID)
230
- if (file.id && !file.id.startsWith('temp-')) {
231
- try {
232
- await oxyServices.assetUpdateVisibility(file.id, 'public');
233
- console.log(`[${contextName}] Avatar visibility updated to public`);
234
- } catch (visError) {
235
- // Only log non-404 errors (404 means asset doesn't exist yet, which is OK)
236
- if (visError?.response?.status !== 404) {
237
- console.warn(`[${contextName}] Failed to update avatar visibility, continuing anyway:`, visError);
238
- }
239
- }
240
- }
231
+ // Update file visibility to public for avatar
232
+ await updateAvatarVisibility(file.id, oxyServices, contextName);
241
233
 
242
234
  // Update local state if callback provided
243
235
  if (onAvatarSelected) {
@@ -1 +1 @@
1
- {"version":3,"names":["Alert","toast","formatFileSize","bytes","k","sizes","i","Math","floor","log","Number","parseFloat","pow","toFixed","getFileIcon","contentType","startsWith","includes","confirmAction","message","title","confirmText","cancelText","Promise","resolve","alert","text","style","onPress","cancelable","onDismiss","convertDocumentPickerAssetToFile","doc","index","file","globalThis","File","name","type","mimeType","uri","response","fetch","ok","Error","statusText","blob","fileName","fileType","error","console","getSafeDownloadUrl","variant","getFileDownloadUrl","isImage","isVideo","variants","length","poster","find","v","id","desired","uploadFileRaw","userId","oxyServices","visibility","uploadRawFile","createAvatarPickerHandler","config","navigate","updateProfileMutation","onAvatarSelected","t","contextName","warn","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","assetUpdateVisibility","visError","status","mutateAsync","avatar","success","e"],"sourceRoot":"../../../../src","sources":["ui/utils/fileManagement.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Alert","toast","updateAvatarVisibility","formatFileSize","bytes","k","sizes","i","Math","floor","log","Number","parseFloat","pow","toFixed","getFileIcon","contentType","startsWith","includes","confirmAction","message","title","confirmText","cancelText","Promise","resolve","alert","text","style","onPress","cancelable","onDismiss","convertDocumentPickerAssetToFile","doc","index","file","globalThis","File","name","type","mimeType","uri","response","fetch","ok","Error","statusText","blob","fileName","fileType","error","console","getSafeDownloadUrl","variant","getFileDownloadUrl","isImage","isVideo","variants","length","poster","find","v","id","desired","uploadFileRaw","userId","oxyServices","visibility","uploadRawFile","createAvatarPickerHandler","config","navigate","updateProfileMutation","onAvatarSelected","t","contextName","warn","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","mutateAsync","avatar","success","e"],"sourceRoot":"../../../../src","sources":["ui/utils/fileManagement.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountMutations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/mutations/useAccountMutations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKvD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;EA8G5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;SAKQ,MAAM;WAAS,MAAM;WAAS,MAAM;WAAS,MAAM;;;EAsGtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;EAuCpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;cAKoB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;aAAW,MAAM;;;;cA6H5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;UAUd,IAAI;iBACG,SAAS,GAAG,QAAQ,GAAG,UAAU;eACnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;iBACjB,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;WAoD5C,CAAC"}
1
+ {"version":3,"file":"useAccountMutations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/mutations/useAccountMutations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAMvD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;EA6G5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;SAKQ,MAAM;WAAS,MAAM;WAAS,MAAM;WAAS,MAAM;;;EAsGtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;EAuCpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;cAKoB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;aAAW,MAAM;;;;cA6H5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;UAUd,IAAI;iBACG,SAAS,GAAG,QAAQ,GAAG,UAAU;eACnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;iBACjB,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;WAoD5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileManagementScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/FileManagementScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiBjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAgFzE,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAgpE7D,CAAC;AAIF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"FileManagementScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/FileManagementScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAgBjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AA6FzE,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmpE7D,CAAC;AAIF,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WelcomeNewUserScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/WelcomeNewUserScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA+C3D;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CA0MvE,CAAC;AAgGF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"WelcomeNewUserScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/WelcomeNewUserScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgD3D;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CAgMvE,CAAC;AAgGF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { OxyServices } from '../../core';
2
+ /**
3
+ * Updates file visibility to public for avatar use.
4
+ * Handles errors gracefully, only logging non-404 errors.
5
+ *
6
+ * @param fileId - The file ID to update visibility for
7
+ * @param oxyServices - OxyServices instance
8
+ * @param contextName - Optional context name for logging
9
+ * @returns Promise that resolves when visibility is updated (or skipped)
10
+ */
11
+ export declare function updateAvatarVisibility(fileId: string | undefined, oxyServices: OxyServices, contextName?: string): Promise<void>;
12
+ /**
13
+ * Refreshes avatar in accountStore with cache-busted URL to force image reload.
14
+ *
15
+ * @param sessionId - The session ID for the account to update
16
+ * @param avatarFileId - The new avatar file ID
17
+ * @param oxyServices - OxyServices instance to generate download URL
18
+ */
19
+ export declare function refreshAvatarInStore(sessionId: string, avatarFileId: string, oxyServices: OxyServices): void;
20
+ //# sourceMappingURL=avatarUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatarUtils.d.ts","sourceRoot":"","sources":["../../../../src/ui/utils/avatarUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,GACvB,IAAI,CAON"}
@@ -1 +1 @@
1
- {"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../src/ui/utils/fileManagement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,GAAE,MAAa,EAC1B,UAAU,GAAE,MAAiB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAClD,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/G,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAkEtB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,YAAU,EACzB,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,GACjE,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAsB,aAAa,CAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,gBAGjD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,2BAA2B;IAC3B,WAAW,EAAE,GAAG,CAAC;IACjB,mDAAmD;IACnD,qBAAqB,EAAE;QACnB,WAAW,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KAC9D,CAAC;IACF,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gCAAgC;IAChC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAwDhF"}
1
+ {"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../src/ui/utils/fileManagement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,GAAE,MAAa,EAC1B,UAAU,GAAE,MAAiB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAClD,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/G,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAkEtB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,YAAU,EACzB,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,GACjE,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAsB,aAAa,CAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,gBAGjD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,2BAA2B;IAC3B,WAAW,EAAE,GAAG,CAAC;IACjB,mDAAmD;IACnD,qBAAqB,EAAE;QACnB,WAAW,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KAC9D,CAAC;IACF,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gCAAgC;IAChC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,IAAI,CA8ChF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "5.16.9",
3
+ "version": "5.16.11",
4
4
  "description": "Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -28,10 +28,11 @@ import type { RouteName } from '../navigation/routes';
28
28
  import { showBottomSheet as globalShowBottomSheet } from '../navigation/bottomSheetManager';
29
29
  import { useQueryClient } from '@tanstack/react-query';
30
30
  import { clearQueryCache } from '../hooks/queryClient';
31
- import { useAccountStore } from '../stores/accountStore';
32
31
  import { KeyManager } from '../../crypto/keyManager';
33
32
  import { translate } from '../../i18n';
34
- import { queryKeys } from '../hooks/queries/queryKeys';
33
+ import { useUpdateProfile } from '../hooks/mutations/useAccountMutations';
34
+ import { updateAvatarVisibility } from '../utils/avatarUtils';
35
+ import { useAccountStore } from '../stores/accountStore';
35
36
 
36
37
  export interface OxyContextState {
37
38
  user: User | null;
@@ -258,6 +259,7 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
258
259
  });
259
260
 
260
261
  const queryClient = useQueryClient();
262
+ const updateProfileMutation = useUpdateProfile();
261
263
 
262
264
  const {
263
265
  sessions,
@@ -633,27 +635,11 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
633
635
  return;
634
636
  }
635
637
  try {
636
- // Update file visibility to public for avatar (skip if temporary asset ID)
637
- if (file.id && !file.id.startsWith('temp-')) {
638
- try {
639
- await oxyServices.assetUpdateVisibility(file.id, 'public');
640
- console.log('[OxyContext] Avatar visibility updated to public');
641
- } catch (visError: any) {
642
- // Only log non-404 errors (404 means asset doesn't exist yet, which is OK)
643
- if (visError?.response?.status !== 404) {
644
- console.warn('[OxyContext] Failed to update avatar visibility, continuing anyway:', visError);
645
- }
646
- }
647
- }
648
-
649
- // Update user profile directly
650
- await oxyServices.updateProfile({ avatar: file.id });
638
+ // Update file visibility to public for avatar
639
+ await updateAvatarVisibility(file.id, oxyServices, 'OxyContext');
651
640
 
652
- // Invalidate queries to refresh user data
653
- queryClient.invalidateQueries({ queryKey: queryKeys.accounts.current() });
654
- if (activeSessionId) {
655
- queryClient.invalidateQueries({ queryKey: queryKeys.users.profile(activeSessionId) });
656
- }
641
+ // Update user profile using mutation (handles query invalidation and accountStore update)
642
+ await updateProfileMutation.mutateAsync({ avatar: file.id });
657
643
 
658
644
  toast.success(translate(currentLanguage, 'editProfile.toasts.avatarUpdated') || 'Avatar updated');
659
645
  } catch (e: any) {
@@ -662,7 +648,7 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
662
648
  },
663
649
  },
664
650
  });
665
- }, [oxyServices, currentLanguage, showBottomSheetForContext, queryClient, activeSessionId]);
651
+ }, [oxyServices, currentLanguage, showBottomSheetForContext, updateProfileMutation]);
666
652
 
667
653
  const contextValue: OxyContextState = useMemo(() => ({
668
654
  user,
@@ -3,6 +3,7 @@ import type { User } from '../../../models/interfaces';
3
3
  import { queryKeys, invalidateAccountQueries, invalidateUserQueries } from '../queries/queryKeys';
4
4
  import { useOxy } from '../../context/OxyContext';
5
5
  import { toast } from '../../../lib/sonner';
6
+ import { refreshAvatarInStore } from '../../utils/avatarUtils';
6
7
 
7
8
  /**
8
9
  * Update user profile with optimistic updates and offline queue support
@@ -99,22 +100,21 @@ export const useUpdateProfile = () => {
99
100
  toast.error(error instanceof Error ? error.message : 'Failed to update profile');
100
101
  },
101
102
  // On success, invalidate and refetch
102
- onSuccess: (data) => {
103
+ onSuccess: (data, updates) => {
103
104
  // Update cache with server response
104
105
  queryClient.setQueryData(queryKeys.accounts.current(), data);
105
106
  if (activeSessionId) {
106
107
  queryClient.setQueryData(queryKeys.users.profile(activeSessionId), data);
107
108
  }
108
109
 
109
- // Invalidate related queries
110
- invalidateUserQueries(queryClient);
111
- },
112
- // Always refetch after error or success
113
- onSettled: () => {
114
- queryClient.invalidateQueries({ queryKey: queryKeys.accounts.current() });
115
- if (activeSessionId) {
116
- queryClient.invalidateQueries({ queryKey: queryKeys.users.profile(activeSessionId) });
110
+ // If avatar was updated, refresh accountStore with cache-busted URL
111
+ if (updates.avatar && activeSessionId && oxyServices) {
112
+ refreshAvatarInStore(activeSessionId, updates.avatar, oxyServices);
117
113
  }
114
+
115
+ // Invalidate all related queries to refresh everywhere
116
+ invalidateUserQueries(queryClient);
117
+ invalidateAccountQueries(queryClient);
118
118
  },
119
119
  });
120
120
  };
@@ -14,8 +14,20 @@ import {
14
14
  Alert,
15
15
  } from 'react-native';
16
16
  import { Image as ExpoImage } from 'expo-image';
17
- import * as DocumentPicker from 'expo-document-picker';
18
17
  import type { FileManagementScreenProps } from '../types/fileManagement';
18
+
19
+ // Lazy load expo-document-picker (optional dependency)
20
+ // This allows the screen to work even if expo-document-picker is not installed
21
+ let DocumentPicker: typeof import('expo-document-picker') | null = null;
22
+ const loadDocumentPicker = async () => {
23
+ if (DocumentPicker) return DocumentPicker;
24
+ try {
25
+ DocumentPicker = await import('expo-document-picker');
26
+ return DocumentPicker;
27
+ } catch (error) {
28
+ throw new Error('expo-document-picker is not installed. Please install it: npx expo install expo-document-picker');
29
+ }
30
+ };
19
31
  import { toast } from '../../lib/sonner';
20
32
  import { Ionicons } from '@expo/vector-icons';
21
33
  // @ts-ignore - MaterialCommunityIcons is available at runtime
@@ -770,9 +782,12 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
770
782
  try {
771
783
  setIsPickingDocument(true);
772
784
 
785
+ // Lazy load expo-document-picker
786
+ const picker = await loadDocumentPicker();
787
+
773
788
  // Use expo-document-picker (works on all platforms including web)
774
789
  // On web, it uses the native file input and provides File objects directly
775
- const result = await DocumentPicker.getDocumentAsync({
790
+ const result = await picker.getDocumentAsync({
776
791
  type: '*/*',
777
792
  multiple: true,
778
793
  copyToCacheDirectory: true,
@@ -12,6 +12,7 @@ import GroupedPillButtons from '../components/internal/GroupedPillButtons';
12
12
  import { useI18n } from '../hooks/useI18n';
13
13
  import { useOxy } from '../context/OxyContext';
14
14
  import { useUpdateProfile } from '../hooks/mutations/useAccountMutations';
15
+ import { updateAvatarVisibility } from '../utils/avatarUtils';
15
16
 
16
17
  const GAP = 12;
17
18
  const INNER_GAP = 8;
@@ -147,18 +148,8 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: any }> = ({
147
148
  return;
148
149
  }
149
150
  try {
150
- // Update file visibility to public for avatar (skip if temporary asset ID)
151
- if (file.id && !file.id.startsWith('temp-')) {
152
- try {
153
- await oxyServices.assetUpdateVisibility(file.id, 'public');
154
- console.log('[WelcomeNewUser] Avatar visibility updated to public');
155
- } catch (visError: any) {
156
- // Only log non-404 errors (404 means asset doesn't exist yet, which is OK)
157
- if (visError?.response?.status !== 404) {
158
- console.warn('[WelcomeNewUser] Failed to update avatar visibility, continuing anyway:', visError);
159
- }
160
- }
161
- }
151
+ // Update file visibility to public for avatar
152
+ await updateAvatarVisibility(file.id, oxyServices, 'WelcomeNewUser');
162
153
 
163
154
  // Update the avatar immediately in local state
164
155
  setSelectedAvatarId(file.id);
@@ -0,0 +1,53 @@
1
+ import type { OxyServices } from '../../core';
2
+ import { useAccountStore } from '../stores/accountStore';
3
+
4
+ /**
5
+ * Updates file visibility to public for avatar use.
6
+ * Handles errors gracefully, only logging non-404 errors.
7
+ *
8
+ * @param fileId - The file ID to update visibility for
9
+ * @param oxyServices - OxyServices instance
10
+ * @param contextName - Optional context name for logging
11
+ * @returns Promise that resolves when visibility is updated (or skipped)
12
+ */
13
+ export async function updateAvatarVisibility(
14
+ fileId: string | undefined,
15
+ oxyServices: OxyServices,
16
+ contextName: string = 'AvatarUtils'
17
+ ): Promise<void> {
18
+ // Skip if temporary asset ID or no file ID
19
+ if (!fileId || fileId.startsWith('temp-')) {
20
+ return;
21
+ }
22
+
23
+ try {
24
+ await oxyServices.assetUpdateVisibility(fileId, 'public');
25
+ console.log(`[${contextName}] Avatar visibility updated to public`);
26
+ } catch (visError: any) {
27
+ // Only log non-404 errors (404 means asset doesn't exist yet, which is OK)
28
+ if (visError?.response?.status !== 404) {
29
+ console.warn(`[${contextName}] Failed to update avatar visibility, continuing anyway:`, visError);
30
+ }
31
+ }
32
+ }
33
+
34
+ /**
35
+ * Refreshes avatar in accountStore with cache-busted URL to force image reload.
36
+ *
37
+ * @param sessionId - The session ID for the account to update
38
+ * @param avatarFileId - The new avatar file ID
39
+ * @param oxyServices - OxyServices instance to generate download URL
40
+ */
41
+ export function refreshAvatarInStore(
42
+ sessionId: string,
43
+ avatarFileId: string,
44
+ oxyServices: OxyServices
45
+ ): void {
46
+ const { updateAccount } = useAccountStore.getState();
47
+ const cacheBustedUrl = oxyServices.getFileDownloadUrl(avatarFileId, 'thumb') + `?t=${Date.now()}`;
48
+ updateAccount(sessionId, {
49
+ avatar: avatarFileId,
50
+ avatarUrl: cacheBustedUrl,
51
+ });
52
+ }
53
+
@@ -3,6 +3,7 @@ import type { FileMetadata } from '../../models/interfaces';
3
3
  import { File as ExpoFile } from 'expo-file-system';
4
4
  import { toast } from '../../lib/sonner';
5
5
  import type { RouteName } from '../navigation/routes';
6
+ import { updateAvatarVisibility } from './avatarUtils';
6
7
 
7
8
  /**
8
9
  * Format file size in bytes to human-readable string
@@ -263,18 +264,8 @@ export function createAvatarPickerHandler(config: AvatarPickerConfig): () => voi
263
264
  }
264
265
 
265
266
  try {
266
- // Update file visibility to public for avatar (skip if temporary asset ID)
267
- if (file.id && !file.id.startsWith('temp-')) {
268
- try {
269
- await oxyServices.assetUpdateVisibility(file.id, 'public');
270
- console.log(`[${contextName}] Avatar visibility updated to public`);
271
- } catch (visError: any) {
272
- // Only log non-404 errors (404 means asset doesn't exist yet, which is OK)
273
- if (visError?.response?.status !== 404) {
274
- console.warn(`[${contextName}] Failed to update avatar visibility, continuing anyway:`, visError);
275
- }
276
- }
277
- }
267
+ // Update file visibility to public for avatar
268
+ await updateAvatarVisibility(file.id, oxyServices, contextName);
278
269
 
279
270
  // Update local state if callback provided
280
271
  if (onAvatarSelected) {