@oxyhq/services 5.3.3 → 5.3.4

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.
@@ -108,9 +108,40 @@ const OxyContextProvider = ({
108
108
  console.log('SecureAuth - activeSessionId:', storedActiveSessionId);
109
109
  if (sessionsData) {
110
110
  const parsedSessions = JSON.parse(sessionsData);
111
- setSessions(parsedSessions);
112
- if (storedActiveSessionId && parsedSessions.length > 0) {
113
- const activeSession = parsedSessions.find(s => s.sessionId === storedActiveSessionId);
111
+
112
+ // Migrate old session format to include user info
113
+ const migratedSessions = [];
114
+ let shouldUpdateStorage = false;
115
+ for (const session of parsedSessions) {
116
+ if (!session.userId || !session.username) {
117
+ // Session is missing user info, try to fetch it
118
+ try {
119
+ const sessionUser = await oxyServices.getUserBySession(session.sessionId);
120
+ migratedSessions.push({
121
+ ...session,
122
+ userId: sessionUser.id,
123
+ username: sessionUser.username
124
+ });
125
+ shouldUpdateStorage = true;
126
+ console.log(`Migrated session ${session.sessionId} for user ${sessionUser.username}`);
127
+ } catch (error) {
128
+ // Session might be invalid, skip it
129
+ console.log(`Removing invalid session ${session.sessionId}:`, error);
130
+ shouldUpdateStorage = true;
131
+ }
132
+ } else {
133
+ // Session already has user info
134
+ migratedSessions.push(session);
135
+ }
136
+ }
137
+
138
+ // Update storage if we made changes
139
+ if (shouldUpdateStorage) {
140
+ await saveSessionsToStorage(migratedSessions);
141
+ }
142
+ setSessions(migratedSessions);
143
+ if (storedActiveSessionId && migratedSessions.length > 0) {
144
+ const activeSession = migratedSessions.find(s => s.sessionId === storedActiveSessionId);
114
145
  if (activeSession) {
115
146
  console.log('SecureAuth - activeSession found:', activeSession);
116
147
 
@@ -246,16 +277,36 @@ const OxyContextProvider = ({
246
277
  console.log('SecureAuth - Using device ID:', deviceInfo.deviceId);
247
278
  const response = await oxyServices.secureLogin(username, password, deviceName || deviceInfo.deviceName || _deviceManager.DeviceManager.getDefaultDeviceName(), deviceFingerprint);
248
279
 
249
- // Create client session object
280
+ // Create client session object with user info for duplicate detection
250
281
  const clientSession = {
251
282
  sessionId: response.sessionId,
252
283
  deviceId: response.deviceId,
253
284
  expiresAt: response.expiresAt,
254
- lastActive: new Date().toISOString()
285
+ lastActive: new Date().toISOString(),
286
+ userId: response.user.id,
287
+ username: response.user.username
255
288
  };
256
289
 
257
- // Add to sessions list
258
- const updatedSessions = [...sessions, clientSession];
290
+ // Check if this user already has a session (prevent duplicate accounts)
291
+ const existingUserSessionIndex = sessions.findIndex(s => s.userId === response.user.id || s.username === response.user.username);
292
+ let updatedSessions;
293
+ if (existingUserSessionIndex !== -1) {
294
+ // User already has a session - replace it with the new one (reused session scenario)
295
+ const existingSession = sessions[existingUserSessionIndex];
296
+ updatedSessions = [...sessions];
297
+ updatedSessions[existingUserSessionIndex] = clientSession;
298
+ console.log(`Reusing/updating existing session for user ${response.user.username}. Previous session: ${existingSession.sessionId}, New session: ${response.sessionId}`);
299
+
300
+ // If the replaced session was the active one, update active session
301
+ if (activeSessionId === existingSession.sessionId) {
302
+ setActiveSessionId(response.sessionId);
303
+ await saveActiveSessionId(response.sessionId);
304
+ }
305
+ } else {
306
+ // Add new session for new user
307
+ updatedSessions = [...sessions, clientSession];
308
+ console.log(`Added new session for user ${response.user.username} on device ${response.deviceId}`);
309
+ }
259
310
  setSessions(updatedSessions);
260
311
  await saveSessionsToStorage(updatedSessions);
261
312
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_deviceManager","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OxyContext","createContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","Promise","resolve","then","error","console","Error","getSecureStorageKeys","prefix","sessions","activeSessionId","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","user","setUser","useState","minimalUser","setMinimalUser","setSessions","setActiveSessionId","isLoading","setIsLoading","setError","storage","setStorage","keys","useMemo","useEffect","initStorage","platformStorage","initAuth","sessionsData","storedActiveSessionId","log","parsedSessions","JSON","parse","length","activeSession","find","s","sessionId","validation","validateSession","valid","getTokenBySession","fullUser","getUserBySession","id","username","avatar","removeInvalidSession","err","clearAllStorage","useCallback","filteredSessions","filter","saveSessionsToStorage","switchToSession","sessionsList","stringify","saveActiveSessionId","login","password","deviceName","deviceFingerprint","DeviceManager","getDeviceFingerprint","deviceInfo","getDeviceInfo","deviceId","response","secureLogin","getDefaultDeviceName","clientSession","expiresAt","lastActive","Date","toISOString","updatedSessions","message","logout","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","current","expand","present","warn","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","contextValue","isAuthenticated","jsx","Provider","exports","useOxy","context","useContext","_default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_deviceManager","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OxyContext","createContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","Promise","resolve","then","error","console","Error","getSecureStorageKeys","prefix","sessions","activeSessionId","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","user","setUser","useState","minimalUser","setMinimalUser","setSessions","setActiveSessionId","isLoading","setIsLoading","setError","storage","setStorage","keys","useMemo","useEffect","initStorage","platformStorage","initAuth","sessionsData","storedActiveSessionId","log","parsedSessions","JSON","parse","migratedSessions","shouldUpdateStorage","session","userId","username","sessionUser","getUserBySession","sessionId","push","id","saveSessionsToStorage","length","activeSession","find","s","validation","validateSession","valid","getTokenBySession","fullUser","avatar","removeInvalidSession","err","clearAllStorage","useCallback","filteredSessions","filter","switchToSession","sessionsList","stringify","saveActiveSessionId","login","password","deviceName","deviceFingerprint","DeviceManager","getDeviceFingerprint","deviceInfo","getDeviceInfo","deviceId","response","secureLogin","getDefaultDeviceName","clientSession","expiresAt","lastActive","Date","toISOString","existingUserSessionIndex","findIndex","updatedSessions","existingSession","message","logout","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","current","expand","present","warn","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","contextValue","isAuthenticated","jsx","Provider","exports","useOxy","context","useContext","_default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -105,9 +105,40 @@ export const OxyContextProvider = ({
105
105
  console.log('SecureAuth - activeSessionId:', storedActiveSessionId);
106
106
  if (sessionsData) {
107
107
  const parsedSessions = JSON.parse(sessionsData);
108
- setSessions(parsedSessions);
109
- if (storedActiveSessionId && parsedSessions.length > 0) {
110
- const activeSession = parsedSessions.find(s => s.sessionId === storedActiveSessionId);
108
+
109
+ // Migrate old session format to include user info
110
+ const migratedSessions = [];
111
+ let shouldUpdateStorage = false;
112
+ for (const session of parsedSessions) {
113
+ if (!session.userId || !session.username) {
114
+ // Session is missing user info, try to fetch it
115
+ try {
116
+ const sessionUser = await oxyServices.getUserBySession(session.sessionId);
117
+ migratedSessions.push({
118
+ ...session,
119
+ userId: sessionUser.id,
120
+ username: sessionUser.username
121
+ });
122
+ shouldUpdateStorage = true;
123
+ console.log(`Migrated session ${session.sessionId} for user ${sessionUser.username}`);
124
+ } catch (error) {
125
+ // Session might be invalid, skip it
126
+ console.log(`Removing invalid session ${session.sessionId}:`, error);
127
+ shouldUpdateStorage = true;
128
+ }
129
+ } else {
130
+ // Session already has user info
131
+ migratedSessions.push(session);
132
+ }
133
+ }
134
+
135
+ // Update storage if we made changes
136
+ if (shouldUpdateStorage) {
137
+ await saveSessionsToStorage(migratedSessions);
138
+ }
139
+ setSessions(migratedSessions);
140
+ if (storedActiveSessionId && migratedSessions.length > 0) {
141
+ const activeSession = migratedSessions.find(s => s.sessionId === storedActiveSessionId);
111
142
  if (activeSession) {
112
143
  console.log('SecureAuth - activeSession found:', activeSession);
113
144
 
@@ -243,16 +274,36 @@ export const OxyContextProvider = ({
243
274
  console.log('SecureAuth - Using device ID:', deviceInfo.deviceId);
244
275
  const response = await oxyServices.secureLogin(username, password, deviceName || deviceInfo.deviceName || DeviceManager.getDefaultDeviceName(), deviceFingerprint);
245
276
 
246
- // Create client session object
277
+ // Create client session object with user info for duplicate detection
247
278
  const clientSession = {
248
279
  sessionId: response.sessionId,
249
280
  deviceId: response.deviceId,
250
281
  expiresAt: response.expiresAt,
251
- lastActive: new Date().toISOString()
282
+ lastActive: new Date().toISOString(),
283
+ userId: response.user.id,
284
+ username: response.user.username
252
285
  };
253
286
 
254
- // Add to sessions list
255
- const updatedSessions = [...sessions, clientSession];
287
+ // Check if this user already has a session (prevent duplicate accounts)
288
+ const existingUserSessionIndex = sessions.findIndex(s => s.userId === response.user.id || s.username === response.user.username);
289
+ let updatedSessions;
290
+ if (existingUserSessionIndex !== -1) {
291
+ // User already has a session - replace it with the new one (reused session scenario)
292
+ const existingSession = sessions[existingUserSessionIndex];
293
+ updatedSessions = [...sessions];
294
+ updatedSessions[existingUserSessionIndex] = clientSession;
295
+ console.log(`Reusing/updating existing session for user ${response.user.username}. Previous session: ${existingSession.sessionId}, New session: ${response.sessionId}`);
296
+
297
+ // If the replaced session was the active one, update active session
298
+ if (activeSessionId === existingSession.sessionId) {
299
+ setActiveSessionId(response.sessionId);
300
+ await saveActiveSessionId(response.sessionId);
301
+ }
302
+ } else {
303
+ // Add new session for new user
304
+ updatedSessions = [...sessions, clientSession];
305
+ console.log(`Added new session for user ${response.user.username} on device ${response.deviceId}`);
306
+ }
256
307
  setSessions(updatedSessions);
257
308
  await saveSessionsToStorage(updatedSessions);
258
309
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useState","useEffect","useCallback","useMemo","DeviceManager","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getSecureStorageKeys","prefix","sessions","activeSessionId","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","user","setUser","minimalUser","setMinimalUser","setSessions","setActiveSessionId","isLoading","setIsLoading","setError","storage","setStorage","keys","initStorage","platformStorage","initAuth","sessionsData","storedActiveSessionId","log","parsedSessions","JSON","parse","length","activeSession","find","s","sessionId","validation","validateSession","valid","getTokenBySession","fullUser","getUserBySession","id","username","avatar","removeInvalidSession","err","clearAllStorage","filteredSessions","filter","saveSessionsToStorage","switchToSession","sessionsList","stringify","saveActiveSessionId","login","password","deviceName","deviceFingerprint","getDeviceFingerprint","deviceInfo","getDeviceInfo","deviceId","response","secureLogin","getDefaultDeviceName","clientSession","expiresAt","lastActive","Date","toISOString","updatedSessions","message","logout","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","current","expand","present","warn","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","contextValue","isAuthenticated","Provider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useState","useEffect","useCallback","useMemo","DeviceManager","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getSecureStorageKeys","prefix","sessions","activeSessionId","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","user","setUser","minimalUser","setMinimalUser","setSessions","setActiveSessionId","isLoading","setIsLoading","setError","storage","setStorage","keys","initStorage","platformStorage","initAuth","sessionsData","storedActiveSessionId","log","parsedSessions","JSON","parse","migratedSessions","shouldUpdateStorage","session","userId","username","sessionUser","getUserBySession","sessionId","push","id","saveSessionsToStorage","length","activeSession","find","s","validation","validateSession","valid","getTokenBySession","fullUser","avatar","removeInvalidSession","err","clearAllStorage","filteredSessions","filter","switchToSession","sessionsList","stringify","saveActiveSessionId","login","password","deviceName","deviceFingerprint","getDeviceFingerprint","deviceInfo","getDeviceInfo","deviceId","response","secureLogin","getDefaultDeviceName","clientSession","expiresAt","lastActive","Date","toISOString","existingUserSessionIndex","findIndex","updatedSessions","existingSession","message","logout","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","current","expand","present","warn","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","contextValue","isAuthenticated","Provider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,8 @@ export interface SecureClientSession {
3
3
  deviceId: string;
4
4
  expiresAt: string;
5
5
  lastActive: string;
6
+ userId?: string;
7
+ username?: string;
6
8
  }
7
9
  export interface SecureStorageKeys {
8
10
  sessions: string;
@@ -1 +1 @@
1
- {"version":3,"file":"secureSession.d.ts","sourceRoot":"","sources":["../../../src/models/secureSession.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;CACvB"}
1
+ {"version":3,"file":"secureSession.d.ts","sourceRoot":"","sources":["../../../src/models/secureSession.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+D,SAAS,EAAW,MAAM,OAAO,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAuB,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIvG,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7E,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrC,iBAAiB,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,uBAAuB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGxD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAGtC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACtG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAGD,QAAA,MAAM,UAAU,uCAA8C,CAAC;AAG/D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACvC;AA6DD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA+chE,CAAC;AAGF,eAAO,MAAM,MAAM,QAAO,eAMzB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+D,SAAS,EAAW,MAAM,OAAO,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAuB,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIvG,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7E,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrC,iBAAiB,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,uBAAuB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGxD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAGtC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACtG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAGD,QAAA,MAAM,UAAU,uCAA8C,CAAC;AAG/D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACvC;AA6DD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA0gBhE,CAAC;AAGF,eAAO,MAAM,MAAM,QAAO,eAMzB,CAAC;AAEF,eAAe,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "5.3.3",
3
+ "version": "5.3.4",
4
4
  "description": "Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀",
5
5
  "main": "lib/commonjs/node/index.js",
6
6
  "module": "lib/module/node/index.js",
@@ -3,6 +3,9 @@ export interface SecureClientSession {
3
3
  deviceId: string;
4
4
  expiresAt: string;
5
5
  lastActive: string;
6
+ // Add user info for efficient duplicate detection
7
+ userId?: string;
8
+ username?: string;
6
9
  }
7
10
 
8
11
  export interface SecureStorageKeys {
@@ -161,10 +161,43 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
161
161
 
162
162
  if (sessionsData) {
163
163
  const parsedSessions: SecureClientSession[] = JSON.parse(sessionsData);
164
- setSessions(parsedSessions);
164
+
165
+ // Migrate old session format to include user info
166
+ const migratedSessions: SecureClientSession[] = [];
167
+ let shouldUpdateStorage = false;
168
+
169
+ for (const session of parsedSessions) {
170
+ if (!session.userId || !session.username) {
171
+ // Session is missing user info, try to fetch it
172
+ try {
173
+ const sessionUser = await oxyServices.getUserBySession(session.sessionId);
174
+ migratedSessions.push({
175
+ ...session,
176
+ userId: sessionUser.id,
177
+ username: sessionUser.username
178
+ });
179
+ shouldUpdateStorage = true;
180
+ console.log(`Migrated session ${session.sessionId} for user ${sessionUser.username}`);
181
+ } catch (error) {
182
+ // Session might be invalid, skip it
183
+ console.log(`Removing invalid session ${session.sessionId}:`, error);
184
+ shouldUpdateStorage = true;
185
+ }
186
+ } else {
187
+ // Session already has user info
188
+ migratedSessions.push(session);
189
+ }
190
+ }
191
+
192
+ // Update storage if we made changes
193
+ if (shouldUpdateStorage) {
194
+ await saveSessionsToStorage(migratedSessions);
195
+ }
196
+
197
+ setSessions(migratedSessions);
165
198
 
166
- if (storedActiveSessionId && parsedSessions.length > 0) {
167
- const activeSession = parsedSessions.find(s => s.sessionId === storedActiveSessionId);
199
+ if (storedActiveSessionId && migratedSessions.length > 0) {
200
+ const activeSession = migratedSessions.find(s => s.sessionId === storedActiveSessionId);
168
201
 
169
202
  if (activeSession) {
170
203
  console.log('SecureAuth - activeSession found:', activeSession);
@@ -317,16 +350,42 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
317
350
  deviceFingerprint
318
351
  );
319
352
 
320
- // Create client session object
353
+ // Create client session object with user info for duplicate detection
321
354
  const clientSession: SecureClientSession = {
322
355
  sessionId: response.sessionId,
323
356
  deviceId: response.deviceId,
324
357
  expiresAt: response.expiresAt,
325
- lastActive: new Date().toISOString()
358
+ lastActive: new Date().toISOString(),
359
+ userId: response.user.id,
360
+ username: response.user.username
326
361
  };
327
362
 
328
- // Add to sessions list
329
- const updatedSessions = [...sessions, clientSession];
363
+ // Check if this user already has a session (prevent duplicate accounts)
364
+ const existingUserSessionIndex = sessions.findIndex(s =>
365
+ s.userId === response.user.id || s.username === response.user.username
366
+ );
367
+
368
+ let updatedSessions: SecureClientSession[];
369
+
370
+ if (existingUserSessionIndex !== -1) {
371
+ // User already has a session - replace it with the new one (reused session scenario)
372
+ const existingSession = sessions[existingUserSessionIndex];
373
+ updatedSessions = [...sessions];
374
+ updatedSessions[existingUserSessionIndex] = clientSession;
375
+
376
+ console.log(`Reusing/updating existing session for user ${response.user.username}. Previous session: ${existingSession.sessionId}, New session: ${response.sessionId}`);
377
+
378
+ // If the replaced session was the active one, update active session
379
+ if (activeSessionId === existingSession.sessionId) {
380
+ setActiveSessionId(response.sessionId);
381
+ await saveActiveSessionId(response.sessionId);
382
+ }
383
+ } else {
384
+ // Add new session for new user
385
+ updatedSessions = [...sessions, clientSession];
386
+ console.log(`Added new session for user ${response.user.username} on device ${response.deviceId}`);
387
+ }
388
+
330
389
  setSessions(updatedSessions);
331
390
  await saveSessionsToStorage(updatedSessions);
332
391