@oxyhq/services 5.16.10 → 5.16.12

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 (32) hide show
  1. package/lib/commonjs/ui/context/OxyContext.js +8 -28
  2. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  3. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +17 -23
  4. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  5. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +3 -12
  6. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  7. package/lib/commonjs/ui/utils/avatarUtils.js +128 -0
  8. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -0
  9. package/lib/commonjs/ui/utils/fileManagement.js +3 -12
  10. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  11. package/lib/module/ui/context/OxyContext.js +8 -28
  12. package/lib/module/ui/context/OxyContext.js.map +1 -1
  13. package/lib/module/ui/hooks/mutations/useAccountMutations.js +17 -23
  14. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  15. package/lib/module/ui/screens/WelcomeNewUserScreen.js +3 -12
  16. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  17. package/lib/module/ui/utils/avatarUtils.js +123 -0
  18. package/lib/module/ui/utils/avatarUtils.js.map +1 -0
  19. package/lib/module/ui/utils/fileManagement.js +4 -12
  20. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  21. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  22. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  23. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  24. package/lib/typescript/ui/utils/avatarUtils.d.ts +34 -0
  25. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -0
  26. package/lib/typescript/ui/utils/fileManagement.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/ui/context/OxyContext.tsx +14 -24
  29. package/src/ui/hooks/mutations/useAccountMutations.ts +17 -15
  30. package/src/ui/screens/WelcomeNewUserScreen.tsx +3 -12
  31. package/src/ui/utils/avatarUtils.ts +140 -0
  32. package/src/ui/utils/fileManagement.ts +3 -12
@@ -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":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AAGpC,SAASC,KAAK,QAAQ,kBAAkB;AAGxC;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,KAAa,EAAU;EAClD,IAAIA,KAAK,KAAK,CAAC,EAAE,OAAO,SAAS;EACjC,MAAMC,CAAC,GAAG,IAAI;EACd,MAAMC,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;EACzC,MAAMC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAACN,KAAK,CAAC,GAAGI,IAAI,CAACE,GAAG,CAACL,CAAC,CAAC,CAAC;EACnD,OAAOM,MAAM,CAACC,UAAU,CAAC,CAACR,KAAK,GAAGI,IAAI,CAACK,GAAG,CAACR,CAAC,EAAEE,CAAC,CAAC,EAAEO,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAGR,KAAK,CAACC,CAAC,CAAC;AAClF;;AAEA;AACA;AACA;AACA,OAAO,SAASQ,WAAWA,CAACC,WAAmB,EAAU;EACrD,IAAIA,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,OAAO;EACpD,IAAID,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,UAAU;EACvD,IAAID,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,eAAe;EAC5D,IAAID,WAAW,CAACE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,eAAe;EACvD,IAAIF,WAAW,CAACE,QAAQ,CAAC,MAAM,CAAC,IAAIF,WAAW,CAACE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU;EAClF,IAAIF,WAAW,CAACE,QAAQ,CAAC,OAAO,CAAC,IAAIF,WAAW,CAACE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,MAAM;EACjF,IAAIF,WAAW,CAACE,QAAQ,CAAC,KAAK,CAAC,IAAIF,WAAW,CAACE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS;EACpF,OAAO,kBAAkB;AAC7B;;AAEA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CACzBC,OAAe,EACfC,KAAc,EACdC,WAAmB,GAAG,IAAI,EAC1BC,UAAkB,GAAG,QAAQ,EACb;EAChB,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;IAC5BxB,KAAK,CAACyB,KAAK,CACPL,KAAK,IAAI,SAAS,EAClBD,OAAO,EACP,CACI;MACIO,IAAI,EAAEJ,UAAU;MAChBK,KAAK,EAAE,QAAQ;MACfC,OAAO,EAAEA,CAAA,KAAMJ,OAAO,CAAC,KAAK;IAChC,CAAC,EACD;MACIE,IAAI,EAAEL,WAAW;MACjBO,OAAO,EAAEA,CAAA,KAAMJ,OAAO,CAAC,IAAI;IAC/B,CAAC,CACJ,EACD;MAAEK,UAAU,EAAE,IAAI;MAAEC,SAAS,EAAEA,CAAA,KAAMN,OAAO,CAAC,KAAK;IAAE,CACxD,CAAC;EACL,CAAC,CAAC;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeO,gCAAgCA,CAClDC,GAA+G,EAC/GC,KAAa,EACO;EACpB,IAAI;IACA,IAAIC,IAAiB,GAAG,IAAI;;IAE5B;IACA;IACA,IAAIF,GAAG,CAACE,IAAI,IAAIF,GAAG,CAACE,IAAI,YAAYC,UAAU,CAACC,IAAI,EAAE;MACjDF,IAAI,GAAGF,GAAG,CAACE,IAAY;MACvB;MACA,IAAI,CAACA,IAAI,CAACG,IAAI,IAAIL,GAAG,CAACK,IAAI,EAAE;QACxB;QACAH,IAAI,GAAG,IAAIC,UAAU,CAACC,IAAI,CAAC,CAACF,IAAI,CAAC,EAAEF,GAAG,CAACK,IAAI,EAAE;UAAEC,IAAI,EAAEJ,IAAI,CAACI,IAAI,IAAIN,GAAG,CAACO,QAAQ,IAAI;QAA2B,CAAC,CAAC;MACnH;MACA;MACA,IAAIP,GAAG,CAACQ,GAAG,EAAE;QACRN,IAAI,CAASM,GAAG,GAAGR,GAAG,CAACQ,GAAG;MAC/B;MACA,OAAON,IAAI;IACf;;IAEA;IACA;IACA,IAAIF,GAAG,CAACQ,GAAG,EAAE;MACT,IAAI;QACA;QACA,IAAIR,GAAG,CAACQ,GAAG,CAACxB,UAAU,CAAC,OAAO,CAAC,IAAIgB,GAAG,CAACQ,GAAG,CAACxB,UAAU,CAAC,SAAS,CAAC,IAAIgB,GAAG,CAACQ,GAAG,CAACxB,UAAU,CAAC,UAAU,CAAC,EAAE;UAChG,MAAMyB,QAAQ,GAAG,MAAMC,KAAK,CAACV,GAAG,CAACQ,GAAG,CAAC;UACrC,IAAI,CAACC,QAAQ,CAACE,EAAE,EAAE;YACd,MAAM,IAAIC,KAAK,CAAC,yBAAyBH,QAAQ,CAACI,UAAU,EAAE,CAAC;UACnE;UACA,MAAMC,IAAI,GAAG,MAAML,QAAQ,CAACK,IAAI,CAAC,CAAC;UAClC,MAAMC,QAAQ,GAAGf,GAAG,CAACK,IAAI,IAAI,QAAQJ,KAAK,GAAG,CAAC,EAAE;UAChD,MAAMe,QAAQ,GAAGhB,GAAG,CAACO,QAAQ,IAAIO,IAAI,CAACR,IAAI,IAAI,0BAA0B;UACxEJ,IAAI,GAAG,IAAIC,UAAU,CAACC,IAAI,CAAC,CAACU,IAAI,CAAC,EAAEC,QAAQ,EAAE;YAAET,IAAI,EAAEU;UAAS,CAAC,CAAC;UAChE;UACCd,IAAI,CAASM,GAAG,GAAGR,GAAG,CAACQ,GAAG;UAC3B,OAAON,IAAI;QACf;;QAEA;QACA;QACA,MAAMa,QAAQ,GAAGf,GAAG,CAACK,IAAI,IAAI,QAAQJ,KAAK,GAAG,CAAC,EAAE;QAChD,MAAMe,QAAQ,GAAGhB,GAAG,CAACO,QAAQ,IAAI,0BAA0B;;QAE3D;QACA,MAAME,QAAQ,GAAG,MAAMC,KAAK,CAACV,GAAG,CAACQ,GAAG,CAAC;QACrC,IAAI,CAACC,QAAQ,CAACE,EAAE,EAAE;UACd,MAAM,IAAIC,KAAK,CAAC,yBAAyBH,QAAQ,CAACI,UAAU,EAAE,CAAC;QACnE;QACA,MAAMC,IAAI,GAAG,MAAML,QAAQ,CAACK,IAAI,CAAC,CAAC;QAClCZ,IAAI,GAAG,IAAIC,UAAU,CAACC,IAAI,CAAC,CAACU,IAAI,CAAC,EAAEC,QAAQ,EAAE;UAAET,IAAI,EAAEU;QAAS,CAAC,CAAC;QAChE;QACCd,IAAI,CAASM,GAAG,GAAGR,GAAG,CAACQ,GAAG;QAC3B,OAAON,IAAI;MACf,CAAC,CAAC,OAAOe,KAAU,EAAE;QACjBC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;QACrD,MAAM,IAAIL,KAAK,CAAC,wBAAwBK,KAAK,CAAC9B,OAAO,IAAI,eAAe,EAAE,CAAC;MAC/E;IACJ;;IAEA;IACA,MAAM,IAAIyB,KAAK,CAAC,6CAA6C,CAAC;EAClE,CAAC,CAAC,OAAOK,KAAU,EAAE;IACjBC,OAAO,CAACD,KAAK,CAAC,oCAAoC,EAAEA,KAAK,CAAC;IAC1D,MAAMA,KAAK;EACf;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,kBAAkBA,CAC9BjB,IAAkB,EAClBkB,OAAe,GAAG,OAAO,EACzBC,kBAAgE,EAC1D;EACN,MAAMC,OAAO,GAAGpB,IAAI,CAACnB,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC;EACrD,MAAMuC,OAAO,GAAGrB,IAAI,CAACnB,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC;;EAErD;EACA,IAAIkB,IAAI,CAACsB,QAAQ,IAAItB,IAAI,CAACsB,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;IAC3C;IACA,IAAIF,OAAO,EAAE;MACT,MAAMG,MAAM,GAAGxB,IAAI,CAACsB,QAAQ,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACtB,IAAI,KAAK,QAAQ,CAAC;MAC3D,IAAIoB,MAAM,EAAE,OAAOL,kBAAkB,CAACnB,IAAI,CAAC2B,EAAE,EAAE,QAAQ,CAAC;IAC5D;IACA,IAAIP,OAAO,EAAE;MACT,MAAMQ,OAAO,GAAG5B,IAAI,CAACsB,QAAQ,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACtB,IAAI,KAAKc,OAAO,CAAC;MAC3D,IAAIU,OAAO,EAAE,OAAOT,kBAAkB,CAACnB,IAAI,CAAC2B,EAAE,EAAET,OAAO,CAAC;IAC5D;EACJ;EAEA,IAAIE,OAAO,EAAE;IACT,OAAOD,kBAAkB,CAACnB,IAAI,CAAC2B,EAAE,EAAET,OAAO,CAAC;EAC/C;EACA,IAAIG,OAAO,EAAE;IACT;IACA,IAAI;MACA,OAAOF,kBAAkB,CAACnB,IAAI,CAAC2B,EAAE,EAAE,QAAQ,CAAC;IAChD,CAAC,CAAC,MAAM;MACJ,OAAOR,kBAAkB,CAACnB,IAAI,CAAC2B,EAAE,CAAC;IACtC;EACJ;EACA;EACA,OAAOR,kBAAkB,CAACnB,IAAI,CAAC2B,EAAE,CAAC;AACtC;;AAEA;AACA;AACA;AACA,OAAO,eAAeE,aAAaA,CAC/B7B,IAAiB,EACjB8B,MAAc,EACdC,WAAgB,EAChBC,UAA8C,EAChD;EACE,OAAO,MAAMD,WAAW,CAACE,aAAa,CAACjC,IAAI,EAAEgC,UAAU,CAAC;AAC5D;;AAEA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,yBAAyBA,CAACC,MAA0B,EAAc;EAC9E,MAAM;IACFC,QAAQ;IACRL,WAAW;IACXM,qBAAqB;IACrBC,gBAAgB;IAChBC,CAAC;IACDC,WAAW,GAAG;EAClB,CAAC,GAAGL,MAAM;EAEV,OAAO,MAAM;IACT,IAAI,CAACC,QAAQ,EAAE;MACXpB,OAAO,CAACyB,IAAI,CAAC,IAAID,WAAW,sCAAsC,CAAC;MACnE;IACJ;IAEAJ,QAAQ,CAAC,gBAAgB,EAAE;MACvBM,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE,KAAK;MAClBC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC;MAC1DC,WAAW,EAAE,MAAM;MAAE;MACrBC,QAAQ,EAAE,MAAO9C,IAAS,IAAK;QAC3B,IAAI,CAACA,IAAI,CAACnB,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE;UACxCf,KAAK,CAACgD,KAAK,CAACwB,CAAC,CAAC,gCAAgC,CAAC,IAAI,6BAA6B,CAAC;UACjF;QACJ;QAEA,IAAI;UACA;UACA,IAAIvC,IAAI,CAAC2B,EAAE,IAAI,CAAC3B,IAAI,CAAC2B,EAAE,CAAC7C,UAAU,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI;cACA,MAAMiD,WAAW,CAACgB,qBAAqB,CAAC/C,IAAI,CAAC2B,EAAE,EAAE,QAAQ,CAAC;cAC1DX,OAAO,CAACzC,GAAG,CAAC,IAAIiE,WAAW,uCAAuC,CAAC;YACvE,CAAC,CAAC,OAAOQ,QAAa,EAAE;cACpB;cACA,IAAIA,QAAQ,EAAEzC,QAAQ,EAAE0C,MAAM,KAAK,GAAG,EAAE;gBACpCjC,OAAO,CAACyB,IAAI,CAAC,IAAID,WAAW,0DAA0D,EAAEQ,QAAQ,CAAC;cACrG;YACJ;UACJ;;UAEA;UACA,IAAIV,gBAAgB,EAAE;YAClBA,gBAAgB,CAACtC,IAAI,CAAC2B,EAAE,CAAC;UAC7B;;UAEA;UACA,MAAMU,qBAAqB,CAACa,WAAW,CAAC;YAAEC,MAAM,EAAEnD,IAAI,CAAC2B;UAAG,CAAC,CAAC;UAE5D5D,KAAK,CAACqF,OAAO,CAACb,CAAC,CAAC,kCAAkC,CAAC,IAAI,gBAAgB,CAAC;QAC5E,CAAC,CAAC,OAAOc,CAAM,EAAE;UACbtF,KAAK,CAACgD,KAAK,CAACsC,CAAC,CAACpE,OAAO,IAAIsD,CAAC,CAAC,uCAAuC,CAAC,IAAI,yBAAyB,CAAC;QACrG;MACJ;IACJ,CAAC,CAAC;EACN,CAAC;AACL","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;;;EAwGtF,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":"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,34 @@
1
+ import type { OxyServices } from '../../core';
2
+ import type { User } from '../../models/interfaces';
3
+ import { QueryClient } from '@tanstack/react-query';
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 declare function updateAvatarVisibility(fileId: string | undefined, oxyServices: OxyServices, contextName?: string): Promise<void>;
14
+ /**
15
+ * Refreshes avatar in accountStore with cache-busted URL to force image reload.
16
+ *
17
+ * @param sessionId - The session ID for the account to update
18
+ * @param avatarFileId - The new avatar file ID
19
+ * @param oxyServices - OxyServices instance to generate download URL
20
+ */
21
+ export declare function refreshAvatarInStore(sessionId: string, avatarFileId: string, oxyServices: OxyServices): void;
22
+ /**
23
+ * Updates user profile with avatar and handles all side effects (query invalidation, accountStore update).
24
+ * This function can be used from within OxyContext provider without requiring useOxy hook.
25
+ *
26
+ * @param updates - Profile updates including avatar
27
+ * @param oxyServices - OxyServices instance
28
+ * @param activeSessionId - Active session ID
29
+ * @param queryClient - TanStack Query client
30
+ * @param syncIdentity - Optional sync identity function for handling auth errors
31
+ * @returns Promise that resolves with updated user data
32
+ */
33
+ export declare function updateProfileWithAvatar(updates: Partial<User>, oxyServices: OxyServices, activeSessionId: string | null, queryClient: QueryClient, syncIdentity?: () => Promise<User>): Promise<User>;
34
+ //# 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;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD;;;;;;;;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;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EACtB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,WAAW,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAiEf"}
@@ -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.10",
3
+ "version": "5.16.12",
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,10 @@ 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 { updateAvatarVisibility, updateProfileWithAvatar } from '../utils/avatarUtils';
34
+ import { useAccountStore } from '../stores/accountStore';
35
35
 
36
36
  export interface OxyContextState {
37
37
  user: User | null;
@@ -633,27 +633,17 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
633
633
  return;
634
634
  }
635
635
  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 });
651
-
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
- }
636
+ // Update file visibility to public for avatar
637
+ await updateAvatarVisibility(file.id, oxyServices, 'OxyContext');
638
+
639
+ // Update user profile (handles query invalidation and accountStore update)
640
+ await updateProfileWithAvatar(
641
+ { avatar: file.id },
642
+ oxyServices,
643
+ activeSessionId,
644
+ queryClient,
645
+ syncIdentity
646
+ );
657
647
 
658
648
  toast.success(translate(currentLanguage, 'editProfile.toasts.avatarUpdated') || 'Avatar updated');
659
649
  } catch (e: any) {
@@ -662,7 +652,7 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
662
652
  },
663
653
  },
664
654
  });
665
- }, [oxyServices, currentLanguage, showBottomSheetForContext, queryClient, activeSessionId]);
655
+ }, [oxyServices, currentLanguage, showBottomSheetForContext, activeSessionId, queryClient, syncIdentity]);
666
656
 
667
657
  const contextValue: OxyContextState = useMemo(() => ({
668
658
  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
  };
@@ -219,15 +219,17 @@ export const useUploadAvatar = () => {
219
219
  if (activeSessionId) {
220
220
  queryClient.setQueryData(queryKeys.users.profile(activeSessionId), data);
221
221
  }
222
+
223
+ // Refresh accountStore with cache-busted URL if avatar was updated
224
+ if (data?.avatar && activeSessionId && oxyServices) {
225
+ refreshAvatarInStore(activeSessionId, data.avatar, oxyServices);
226
+ }
227
+
228
+ // Invalidate all related queries to refresh everywhere
222
229
  invalidateUserQueries(queryClient);
230
+ invalidateAccountQueries(queryClient);
223
231
  toast.success('Avatar updated successfully');
224
232
  },
225
- onSettled: () => {
226
- queryClient.invalidateQueries({ queryKey: queryKeys.accounts.current() });
227
- if (activeSessionId) {
228
- queryClient.invalidateQueries({ queryKey: queryKeys.users.profile(activeSessionId) });
229
- }
230
- },
231
233
  });
232
234
  };
233
235
 
@@ -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,140 @@
1
+ import type { OxyServices } from '../../core';
2
+ import type { User } from '../../models/interfaces';
3
+ import { useAccountStore } from '../stores/accountStore';
4
+ import { QueryClient } from '@tanstack/react-query';
5
+ import { queryKeys, invalidateUserQueries, invalidateAccountQueries } from '../hooks/queries/queryKeys';
6
+
7
+ /**
8
+ * Updates file visibility to public for avatar use.
9
+ * Handles errors gracefully, only logging non-404 errors.
10
+ *
11
+ * @param fileId - The file ID to update visibility for
12
+ * @param oxyServices - OxyServices instance
13
+ * @param contextName - Optional context name for logging
14
+ * @returns Promise that resolves when visibility is updated (or skipped)
15
+ */
16
+ export async function updateAvatarVisibility(
17
+ fileId: string | undefined,
18
+ oxyServices: OxyServices,
19
+ contextName: string = 'AvatarUtils'
20
+ ): Promise<void> {
21
+ // Skip if temporary asset ID or no file ID
22
+ if (!fileId || fileId.startsWith('temp-')) {
23
+ return;
24
+ }
25
+
26
+ try {
27
+ await oxyServices.assetUpdateVisibility(fileId, 'public');
28
+ console.log(`[${contextName}] Avatar visibility updated to public`);
29
+ } catch (visError: any) {
30
+ // Only log non-404 errors (404 means asset doesn't exist yet, which is OK)
31
+ if (visError?.response?.status !== 404) {
32
+ console.warn(`[${contextName}] Failed to update avatar visibility, continuing anyway:`, visError);
33
+ }
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Refreshes avatar in accountStore with cache-busted URL to force image reload.
39
+ *
40
+ * @param sessionId - The session ID for the account to update
41
+ * @param avatarFileId - The new avatar file ID
42
+ * @param oxyServices - OxyServices instance to generate download URL
43
+ */
44
+ export function refreshAvatarInStore(
45
+ sessionId: string,
46
+ avatarFileId: string,
47
+ oxyServices: OxyServices
48
+ ): void {
49
+ const { updateAccount } = useAccountStore.getState();
50
+ const cacheBustedUrl = oxyServices.getFileDownloadUrl(avatarFileId, 'thumb') + `?t=${Date.now()}`;
51
+ updateAccount(sessionId, {
52
+ avatar: avatarFileId,
53
+ avatarUrl: cacheBustedUrl,
54
+ });
55
+ }
56
+
57
+ /**
58
+ * Updates user profile with avatar and handles all side effects (query invalidation, accountStore update).
59
+ * This function can be used from within OxyContext provider without requiring useOxy hook.
60
+ *
61
+ * @param updates - Profile updates including avatar
62
+ * @param oxyServices - OxyServices instance
63
+ * @param activeSessionId - Active session ID
64
+ * @param queryClient - TanStack Query client
65
+ * @param syncIdentity - Optional sync identity function for handling auth errors
66
+ * @returns Promise that resolves with updated user data
67
+ */
68
+ export async function updateProfileWithAvatar(
69
+ updates: Partial<User>,
70
+ oxyServices: OxyServices,
71
+ activeSessionId: string | null,
72
+ queryClient: QueryClient,
73
+ syncIdentity?: () => Promise<User>
74
+ ): Promise<User> {
75
+ // Ensure we have a valid token before making the request
76
+ if (!oxyServices.hasValidToken() && activeSessionId) {
77
+ try {
78
+ await oxyServices.getTokenBySession(activeSessionId);
79
+ } catch (tokenError) {
80
+ const errorMessage = tokenError instanceof Error ? tokenError.message : String(tokenError);
81
+ if (errorMessage.includes('AUTH_REQUIRED_OFFLINE_SESSION') || errorMessage.includes('offline')) {
82
+ if (syncIdentity) {
83
+ try {
84
+ await syncIdentity();
85
+ await oxyServices.getTokenBySession(activeSessionId);
86
+ } catch (syncError) {
87
+ throw new Error('Session needs to be synced. Please try again.');
88
+ }
89
+ } else {
90
+ throw tokenError;
91
+ }
92
+ } else {
93
+ throw tokenError;
94
+ }
95
+ }
96
+ }
97
+
98
+ try {
99
+ const data = await oxyServices.updateProfile(updates);
100
+
101
+ // Update cache with server response
102
+ queryClient.setQueryData(queryKeys.accounts.current(), data);
103
+ if (activeSessionId) {
104
+ queryClient.setQueryData(queryKeys.users.profile(activeSessionId), data);
105
+ }
106
+
107
+ // If avatar was updated, refresh accountStore with cache-busted URL
108
+ if (updates.avatar && activeSessionId) {
109
+ refreshAvatarInStore(activeSessionId, updates.avatar, oxyServices);
110
+ }
111
+
112
+ // Invalidate all related queries to refresh everywhere
113
+ invalidateUserQueries(queryClient);
114
+ invalidateAccountQueries(queryClient);
115
+
116
+ return data;
117
+ } catch (error: any) {
118
+ const errorMessage = error?.message || '';
119
+ const status = error?.status || error?.response?.status;
120
+
121
+ // Handle authentication errors
122
+ if (status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header')) {
123
+ if (activeSessionId && syncIdentity) {
124
+ try {
125
+ await syncIdentity();
126
+ await oxyServices.getTokenBySession(activeSessionId);
127
+ // Retry the update after getting token
128
+ return await updateProfileWithAvatar(updates, oxyServices, activeSessionId, queryClient, syncIdentity);
129
+ } catch (retryError) {
130
+ throw new Error('Authentication failed. Please sign in again.');
131
+ }
132
+ } else {
133
+ throw new Error('No active session. Please sign in.');
134
+ }
135
+ }
136
+
137
+ throw error;
138
+ }
139
+ }
140
+
@@ -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) {