@oxyhq/services 5.21.6 → 5.21.7

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 (129) hide show
  1. package/lib/commonjs/crypto/keyManager.js +67 -22
  2. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  3. package/lib/commonjs/index.js +66 -0
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +57 -0
  6. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +1 -0
  7. package/lib/commonjs/ui/components/profile/EditBioModal.js +24 -156
  8. package/lib/commonjs/ui/components/profile/EditBioModal.js.map +1 -1
  9. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js +28 -178
  10. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  11. package/lib/commonjs/ui/components/profile/EditEmailModal.js +32 -159
  12. package/lib/commonjs/ui/components/profile/EditEmailModal.js.map +1 -1
  13. package/lib/commonjs/ui/components/profile/EditLocationModal.js +45 -227
  14. package/lib/commonjs/ui/components/profile/EditLocationModal.js.map +1 -1
  15. package/lib/commonjs/ui/components/profile/EditUsernameModal.js +30 -155
  16. package/lib/commonjs/ui/components/profile/EditUsernameModal.js.map +1 -1
  17. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +177 -0
  18. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -0
  19. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +10 -123
  20. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  21. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +2 -32
  22. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  23. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +2 -31
  24. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  25. package/lib/commonjs/ui/hooks/useFileFiltering.js +76 -0
  26. package/lib/commonjs/ui/hooks/useFileFiltering.js.map +1 -0
  27. package/lib/commonjs/ui/screens/FileManagementScreen.js +2 -2
  28. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  29. package/lib/commonjs/ui/utils/authHelpers.js +164 -0
  30. package/lib/commonjs/ui/utils/authHelpers.js.map +1 -0
  31. package/lib/commonjs/ui/utils/avatarUtils.js +18 -61
  32. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  33. package/lib/module/crypto/keyManager.js +67 -22
  34. package/lib/module/crypto/keyManager.js.map +1 -1
  35. package/lib/module/index.js +6 -0
  36. package/lib/module/index.js.map +1 -1
  37. package/lib/module/ui/components/fileManagement/AnimatedButton.js +50 -0
  38. package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +1 -0
  39. package/lib/module/ui/components/profile/EditBioModal.js +24 -156
  40. package/lib/module/ui/components/profile/EditBioModal.js.map +1 -1
  41. package/lib/module/ui/components/profile/EditDisplayNameModal.js +28 -178
  42. package/lib/module/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  43. package/lib/module/ui/components/profile/EditEmailModal.js +32 -159
  44. package/lib/module/ui/components/profile/EditEmailModal.js.map +1 -1
  45. package/lib/module/ui/components/profile/EditLocationModal.js +45 -227
  46. package/lib/module/ui/components/profile/EditLocationModal.js.map +1 -1
  47. package/lib/module/ui/components/profile/EditUsernameModal.js +30 -155
  48. package/lib/module/ui/components/profile/EditUsernameModal.js.map +1 -1
  49. package/lib/module/ui/hooks/mutations/mutationFactory.js +173 -0
  50. package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -0
  51. package/lib/module/ui/hooks/mutations/useAccountMutations.js +10 -122
  52. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  53. package/lib/module/ui/hooks/queries/useAccountQueries.js +2 -32
  54. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  55. package/lib/module/ui/hooks/queries/useServicesQueries.js +2 -31
  56. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  57. package/lib/module/ui/hooks/useFileFiltering.js +72 -0
  58. package/lib/module/ui/hooks/useFileFiltering.js.map +1 -0
  59. package/lib/module/ui/screens/FileManagementScreen.js +2 -2
  60. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  61. package/lib/module/ui/utils/authHelpers.js +154 -0
  62. package/lib/module/ui/utils/authHelpers.js.map +1 -0
  63. package/lib/module/ui/utils/avatarUtils.js +18 -61
  64. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  65. package/lib/typescript/commonjs/crypto/keyManager.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/index.d.ts +6 -0
  67. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts +16 -0
  69. package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -0
  70. package/lib/typescript/commonjs/ui/components/profile/EditBioModal.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/ui/components/profile/EditEmailModal.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/ui/components/profile/EditLocationModal.d.ts +1 -0
  74. package/lib/typescript/commonjs/ui/components/profile/EditLocationModal.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/ui/components/profile/EditUsernameModal.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +76 -0
  77. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts.map +1 -0
  78. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +29 -4
  79. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +1 -1
  81. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  83. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/ui/hooks/useFileFiltering.d.ts +29 -0
  85. package/lib/typescript/commonjs/ui/hooks/useFileFiltering.d.ts.map +1 -0
  86. package/lib/typescript/commonjs/ui/utils/authHelpers.d.ts +99 -0
  87. package/lib/typescript/commonjs/ui/utils/authHelpers.d.ts.map +1 -0
  88. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
  89. package/lib/typescript/module/crypto/keyManager.d.ts.map +1 -1
  90. package/lib/typescript/module/index.d.ts +6 -0
  91. package/lib/typescript/module/index.d.ts.map +1 -1
  92. package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts +16 -0
  93. package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -0
  94. package/lib/typescript/module/ui/components/profile/EditBioModal.d.ts.map +1 -1
  95. package/lib/typescript/module/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -1
  96. package/lib/typescript/module/ui/components/profile/EditEmailModal.d.ts.map +1 -1
  97. package/lib/typescript/module/ui/components/profile/EditLocationModal.d.ts +1 -0
  98. package/lib/typescript/module/ui/components/profile/EditLocationModal.d.ts.map +1 -1
  99. package/lib/typescript/module/ui/components/profile/EditUsernameModal.d.ts.map +1 -1
  100. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +76 -0
  101. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts.map +1 -0
  102. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +29 -4
  103. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  104. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +1 -1
  105. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  106. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  107. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  108. package/lib/typescript/module/ui/hooks/useFileFiltering.d.ts +29 -0
  109. package/lib/typescript/module/ui/hooks/useFileFiltering.d.ts.map +1 -0
  110. package/lib/typescript/module/ui/utils/authHelpers.d.ts +99 -0
  111. package/lib/typescript/module/ui/utils/authHelpers.d.ts.map +1 -0
  112. package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
  113. package/package.json +1 -1
  114. package/src/crypto/keyManager.ts +23 -22
  115. package/src/index.ts +25 -0
  116. package/src/ui/components/fileManagement/AnimatedButton.tsx +56 -0
  117. package/src/ui/components/profile/EditBioModal.tsx +38 -176
  118. package/src/ui/components/profile/EditDisplayNameModal.tsx +48 -195
  119. package/src/ui/components/profile/EditEmailModal.tsx +49 -180
  120. package/src/ui/components/profile/EditLocationModal.tsx +76 -263
  121. package/src/ui/components/profile/EditUsernameModal.tsx +47 -175
  122. package/src/ui/hooks/mutations/mutationFactory.ts +215 -0
  123. package/src/ui/hooks/mutations/useAccountMutations.ts +48 -136
  124. package/src/ui/hooks/queries/useAccountQueries.ts +6 -33
  125. package/src/ui/hooks/queries/useServicesQueries.ts +6 -32
  126. package/src/ui/hooks/useFileFiltering.ts +115 -0
  127. package/src/ui/screens/FileManagementScreen.tsx +2 -2
  128. package/src/ui/utils/authHelpers.ts +183 -0
  129. package/src/ui/utils/avatarUtils.ts +25 -65
@@ -3,6 +3,7 @@
3
3
  import { useQuery, useQueries } from '@tanstack/react-query';
4
4
  import { queryKeys } from "./queryKeys.js";
5
5
  import { useOxy } from "../../context/OxyContext.js";
6
+ import { authenticatedApiCall } from "../../utils/authHelpers.js";
6
7
 
7
8
  /**
8
9
  * Get user profile by session ID
@@ -150,38 +151,7 @@ export const usePrivacySettings = (userId, options) => {
150
151
  if (!targetUserId) {
151
152
  throw new Error('User ID is required');
152
153
  }
153
-
154
- // Ensure we have a valid token before making the request
155
- if (!oxyServices.hasValidToken() && activeSessionId) {
156
- try {
157
- // Try to get token for the session
158
- await oxyServices.getTokenBySession(activeSessionId);
159
- } catch (tokenError) {
160
- // If getting token fails, might be an offline session - try syncing
161
- const errorMessage = tokenError instanceof Error ? tokenError.message : String(tokenError);
162
- if (errorMessage.includes('AUTH_REQUIRED_OFFLINE_SESSION') || errorMessage.includes('offline')) {
163
- // Session sync should be handled by the app layer (e.g., accounts app's useIdentity hook)
164
- throw new Error('Session needs to be synced. Please try again.');
165
- } else {
166
- throw tokenError;
167
- }
168
- }
169
- }
170
- try {
171
- return await oxyServices.getPrivacySettings(targetUserId);
172
- } catch (error) {
173
- const errorMessage = error?.message || '';
174
- const status = error?.status || error?.response?.status;
175
-
176
- // Handle authentication errors
177
- if (status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header')) {
178
- // Session sync should be handled by the app layer
179
- throw new Error('Authentication failed. Please sign in again.');
180
- }
181
-
182
- // TanStack Query will automatically retry on network errors
183
- throw error;
184
- }
154
+ return authenticatedApiCall(oxyServices, activeSessionId, () => oxyServices.getPrivacySettings(targetUserId));
185
155
  },
186
156
  enabled: options?.enabled !== false && !!targetUserId,
187
157
  staleTime: 2 * 60 * 1000,
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","useQueries","queryKeys","useOxy","useUserProfile","sessionId","options","oxyServices","queryKey","users","profile","queryFn","Error","getUserBySession","enabled","staleTime","gcTime","useUserProfiles","sessionIds","queries","map","results","getUsersBySessions","user","useCurrentUser","activeSessionId","isAuthenticated","accounts","current","useUserById","userId","detail","getUserById","useUserByUsername","username","details","getProfileByUsername","useUsersBySessions","list","length","usePrivacySettings","targetUserId","id","privacy","settings","hasValidToken","getTokenBySession","tokenError","errorMessage","message","String","includes","getPrivacySettings","error","status","response"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useAccountQueries.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useQuery","useQueries","queryKeys","useOxy","authenticatedApiCall","useUserProfile","sessionId","options","oxyServices","queryKey","users","profile","queryFn","Error","getUserBySession","enabled","staleTime","gcTime","useUserProfiles","sessionIds","queries","map","results","getUsersBySessions","user","useCurrentUser","activeSessionId","isAuthenticated","accounts","current","useUserById","userId","detail","getUserById","useUserByUsername","username","details","getProfileByUsername","useUsersBySessions","list","length","usePrivacySettings","targetUserId","id","privacy","settings","getPrivacySettings"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useAccountQueries.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import { useQuery } from '@tanstack/react-query';
4
4
  import { queryKeys } from "./queryKeys.js";
5
5
  import { useOxy } from "../../context/OxyContext.js";
6
6
  import { fetchSessionsWithFallback, mapSessionsToClient } from "../../utils/sessionHelpers.js";
7
+ import { authenticatedApiCall } from "../../utils/authHelpers.js";
7
8
 
8
9
  /**
9
10
  * Get all active sessions for the current user
@@ -102,37 +103,7 @@ export const useUserDevices = options => {
102
103
  return useQuery({
103
104
  queryKey: queryKeys.devices.list(),
104
105
  queryFn: async () => {
105
- // Ensure we have a valid token before making the request
106
- if (!oxyServices.hasValidToken() && activeSessionId) {
107
- try {
108
- // Try to get token for the session
109
- await oxyServices.getTokenBySession(activeSessionId);
110
- } catch (tokenError) {
111
- // If getting token fails, might be an offline session - try syncing
112
- const errorMessage = tokenError instanceof Error ? tokenError.message : String(tokenError);
113
- if (errorMessage.includes('AUTH_REQUIRED_OFFLINE_SESSION') || errorMessage.includes('offline')) {
114
- // Session sync should be handled by the app layer
115
- throw new Error('Session needs to be synced. Please try again.');
116
- } else {
117
- throw tokenError;
118
- }
119
- }
120
- }
121
- try {
122
- return await oxyServices.getUserDevices();
123
- } catch (error) {
124
- const errorMessage = error?.message || '';
125
- const status = error?.status || error?.response?.status;
126
-
127
- // Handle authentication errors
128
- if (status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header')) {
129
- // Session sync should be handled by the app layer
130
- throw new Error('Authentication failed. Please sign in again.');
131
- }
132
-
133
- // TanStack Query will automatically retry on network errors
134
- throw error;
135
- }
106
+ return authenticatedApiCall(oxyServices, activeSessionId, () => oxyServices.getUserDevices());
136
107
  },
137
108
  enabled: options?.enabled !== false && isAuthenticated,
138
109
  staleTime: 5 * 60 * 1000,
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","queryKeys","useOxy","fetchSessionsWithFallback","mapSessionsToClient","useSessions","userId","options","oxyServices","activeSessionId","queryKey","sessions","list","queryFn","Error","fallbackDeviceId","undefined","fallbackUserId","enabled","staleTime","gcTime","useSession","sessionId","detail","validation","validateSession","useHeaderValidation","valid","user","now","Date","deviceId","expiresAt","getTime","toISOString","lastActive","lastActivity","id","toString","isCurrent","useDeviceSessions","active","getDeviceSessions","useUserDevices","isAuthenticated","devices","hasValidToken","getTokenBySession","tokenError","errorMessage","message","String","includes","getUserDevices","error","status","response","useSecurityInfo","all","getSecurityInfo"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useServicesQueries.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useQuery","queryKeys","useOxy","fetchSessionsWithFallback","mapSessionsToClient","authenticatedApiCall","useSessions","userId","options","oxyServices","activeSessionId","queryKey","sessions","list","queryFn","Error","fallbackDeviceId","undefined","fallbackUserId","enabled","staleTime","gcTime","useSession","sessionId","detail","validation","validateSession","useHeaderValidation","valid","user","now","Date","deviceId","expiresAt","getTime","toISOString","lastActive","lastActivity","id","toString","isCurrent","useDeviceSessions","active","getDeviceSessions","useUserDevices","isAuthenticated","devices","getUserDevices","useSecurityInfo","all","getSecurityInfo"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useServicesQueries.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ import { useMemo, useState, useCallback } from 'react';
4
+ /**
5
+ * Hook for file filtering, sorting, and search functionality
6
+ * Extracts common file management logic for reuse across components
7
+ */
8
+ export function useFileFiltering({
9
+ files,
10
+ initialViewMode = 'all',
11
+ initialSortBy = 'date',
12
+ initialSortOrder = 'desc'
13
+ }) {
14
+ const [viewMode, setViewMode] = useState(initialViewMode);
15
+ const [searchQuery, setSearchQuery] = useState('');
16
+ const [sortBy, setSortBy] = useState(initialSortBy);
17
+ const [sortOrder, setSortOrder] = useState(initialSortOrder);
18
+ const toggleSortOrder = useCallback(() => {
19
+ setSortOrder(prev => prev === 'asc' ? 'desc' : 'asc');
20
+ }, []);
21
+ const filteredFiles = useMemo(() => {
22
+ // Filter by view mode
23
+ let filteredByMode = files;
24
+ if (viewMode === 'photos') {
25
+ filteredByMode = files.filter(file => file.contentType.startsWith('image/'));
26
+ } else if (viewMode === 'videos') {
27
+ filteredByMode = files.filter(file => file.contentType.startsWith('video/'));
28
+ } else if (viewMode === 'documents') {
29
+ filteredByMode = files.filter(file => file.contentType.includes('pdf') || file.contentType.includes('document') || file.contentType.includes('text') || file.contentType.includes('msword') || file.contentType.includes('excel') || file.contentType.includes('spreadsheet') || file.contentType.includes('presentation') || file.contentType.includes('powerpoint'));
30
+ } else if (viewMode === 'audio') {
31
+ filteredByMode = files.filter(file => file.contentType.startsWith('audio/'));
32
+ }
33
+
34
+ // Filter by search query
35
+ let filtered = filteredByMode;
36
+ if (searchQuery.trim()) {
37
+ const query = searchQuery.toLowerCase();
38
+ filtered = filteredByMode.filter(file => file.filename.toLowerCase().includes(query) || file.contentType.toLowerCase().includes(query) || file.metadata?.description && file.metadata.description.toLowerCase().includes(query));
39
+ }
40
+
41
+ // Sort files
42
+ const sorted = [...filtered].sort((a, b) => {
43
+ let comparison = 0;
44
+ if (sortBy === 'date') {
45
+ const dateA = new Date(a.uploadDate || 0).getTime();
46
+ const dateB = new Date(b.uploadDate || 0).getTime();
47
+ comparison = dateA - dateB;
48
+ } else if (sortBy === 'size') {
49
+ comparison = (a.length || 0) - (b.length || 0);
50
+ } else if (sortBy === 'name') {
51
+ comparison = (a.filename || '').localeCompare(b.filename || '');
52
+ } else if (sortBy === 'type') {
53
+ comparison = (a.contentType || '').localeCompare(b.contentType || '');
54
+ }
55
+ return sortOrder === 'asc' ? comparison : -comparison;
56
+ });
57
+ return sorted;
58
+ }, [files, searchQuery, viewMode, sortBy, sortOrder]);
59
+ return {
60
+ filteredFiles,
61
+ viewMode,
62
+ setViewMode,
63
+ searchQuery,
64
+ setSearchQuery,
65
+ sortBy,
66
+ setSortBy,
67
+ sortOrder,
68
+ setSortOrder,
69
+ toggleSortOrder
70
+ };
71
+ }
72
+ //# sourceMappingURL=useFileFiltering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useState","useCallback","useFileFiltering","files","initialViewMode","initialSortBy","initialSortOrder","viewMode","setViewMode","searchQuery","setSearchQuery","sortBy","setSortBy","sortOrder","setSortOrder","toggleSortOrder","prev","filteredFiles","filteredByMode","filter","file","contentType","startsWith","includes","filtered","trim","query","toLowerCase","filename","metadata","description","sorted","sort","a","b","comparison","dateA","Date","uploadDate","getTime","dateB","length","localeCompare"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFileFiltering.ts"],"mappings":"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","ignoreList":[]}
@@ -516,8 +516,8 @@ const FileManagementScreen = ({
516
516
  });
517
517
 
518
518
  // Attempt to refresh file list incrementally – fetch single file metadata if API allows
519
- if (result?.file || result?.files?.[0]) {
520
- const f = result.file || result.files[0];
519
+ const f = result?.file ?? result?.files?.[0];
520
+ if (f) {
521
521
  const merged = {
522
522
  id: f.id,
523
523
  filename: f.originalName || f.sha256 || raw.name,