@oxyhq/services 5.16.39 → 5.16.40
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.
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +49 -21
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +49 -21
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ui/context/hooks/useAuthOperations.ts +49 -21
|
@@ -230,13 +230,17 @@ const useAuthOperations = ({
|
|
|
230
230
|
}, [applyLanguagePreference, logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setActiveSessionId, switchSession, updateSessions, storage]);
|
|
231
231
|
|
|
232
232
|
/**
|
|
233
|
-
* Create a new identity (offline-first)
|
|
234
|
-
* Identity is purely cryptographic - no username or email required
|
|
233
|
+
* Create a new identity (offline-first).
|
|
235
234
|
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
235
|
+
* Generates cryptographic keys locally without requiring server connection.
|
|
236
|
+
* Identity is based on the public/private key pair - no username or email required.
|
|
237
|
+
*
|
|
238
|
+
* IMPORTANT: This function only clears session data if the identity actually changes
|
|
239
|
+
* (i.e., a new key pair is generated). Retrying registration with the same identity
|
|
240
|
+
* will NOT clear session data.
|
|
238
241
|
*
|
|
239
242
|
* @param username - Optional username to set during registration (if online)
|
|
243
|
+
* @returns Object with synced status indicating if identity was registered with server
|
|
240
244
|
*/
|
|
241
245
|
const createIdentity = (0, _react.useCallback)(async username => {
|
|
242
246
|
if (!storage) throw new Error('Storage not initialized');
|
|
@@ -245,8 +249,8 @@ const useAuthOperations = ({
|
|
|
245
249
|
error: null
|
|
246
250
|
});
|
|
247
251
|
try {
|
|
248
|
-
//
|
|
249
|
-
//
|
|
252
|
+
// Get old public key before creating new identity
|
|
253
|
+
// This is used to detect if identity actually changed
|
|
250
254
|
const oldPublicKey = await _crypto.KeyManager.getPublicKey().catch(() => null);
|
|
251
255
|
if (__DEV__ && logger) {
|
|
252
256
|
logger('Creating new identity', {
|
|
@@ -266,7 +270,8 @@ const useAuthOperations = ({
|
|
|
266
270
|
});
|
|
267
271
|
}
|
|
268
272
|
|
|
269
|
-
//
|
|
273
|
+
// Only clear sessions if identity actually changed
|
|
274
|
+
// This prevents clearing sessions on registration retries
|
|
270
275
|
await clearSessionsIfIdentityChanged(oldPublicKey, publicKey);
|
|
271
276
|
|
|
272
277
|
// Mark as not synced initially
|
|
@@ -303,10 +308,17 @@ const useAuthOperations = ({
|
|
|
303
308
|
synced: false
|
|
304
309
|
};
|
|
305
310
|
}
|
|
311
|
+
} else {
|
|
312
|
+
// Invalid username format - log the issue
|
|
313
|
+
if (__DEV__ && logger) {
|
|
314
|
+
logger('Invalid username format, identity created without username', {
|
|
315
|
+
providedUsername: username.substring(0, 20)
|
|
316
|
+
});
|
|
317
|
+
}
|
|
306
318
|
}
|
|
307
319
|
}
|
|
308
320
|
|
|
309
|
-
// No username provided - defer registration until later
|
|
321
|
+
// No username provided or invalid format - defer registration until later
|
|
310
322
|
if (__DEV__ && logger) {
|
|
311
323
|
logger('Identity created locally without username, will register during sync');
|
|
312
324
|
}
|
|
@@ -365,10 +377,16 @@ const useAuthOperations = ({
|
|
|
365
377
|
}, [storage, setIdentitySynced]);
|
|
366
378
|
|
|
367
379
|
/**
|
|
368
|
-
* Sync local identity with server
|
|
369
|
-
*
|
|
380
|
+
* Sync local identity with server.
|
|
381
|
+
*
|
|
382
|
+
* Registers the identity with the server if not already registered.
|
|
383
|
+
* This function is idempotent - calling it multiple times is safe.
|
|
370
384
|
*
|
|
371
|
-
*
|
|
385
|
+
* TanStack Query handles offline mutations automatically, so this will
|
|
386
|
+
* retry automatically when connection is restored.
|
|
387
|
+
*
|
|
388
|
+
* @param username - Optional username to set during sync/registration
|
|
389
|
+
* @returns User object after successful sync and sign-in
|
|
372
390
|
*/
|
|
373
391
|
const syncIdentity = (0, _react.useCallback)(async username => {
|
|
374
392
|
if (!storage) throw new Error('Storage not initialized');
|
|
@@ -387,6 +405,7 @@ const useAuthOperations = ({
|
|
|
387
405
|
const alreadySynced = await storage.getItem('oxy_identity_synced');
|
|
388
406
|
if (alreadySynced === 'true') {
|
|
389
407
|
setIdentitySynced(true);
|
|
408
|
+
// Identity is already synced, just sign in
|
|
390
409
|
return await performSignIn(publicKey);
|
|
391
410
|
}
|
|
392
411
|
|
|
@@ -434,11 +453,19 @@ const useAuthOperations = ({
|
|
|
434
453
|
}, [oxyServices, storage, setAuthState, performSignIn, loginFailure, onError, logger, setSyncing, setIdentitySynced]);
|
|
435
454
|
|
|
436
455
|
/**
|
|
437
|
-
* Import identity from backup file
|
|
456
|
+
* Import identity from encrypted backup file.
|
|
457
|
+
*
|
|
458
|
+
* Restores a previously created identity from an encrypted backup.
|
|
459
|
+
* The backup is decrypted using the provided password.
|
|
460
|
+
*
|
|
461
|
+
* IMPORTANT: This function clears session data only if importing a different
|
|
462
|
+
* identity than the one currently stored. Re-importing the same identity
|
|
463
|
+
* will NOT clear session data.
|
|
438
464
|
*
|
|
439
|
-
* @param backupData - The backup data
|
|
465
|
+
* @param backupData - The encrypted backup data object
|
|
440
466
|
* @param password - Password to decrypt the backup
|
|
441
|
-
* @param username - Optional username to set during registration
|
|
467
|
+
* @param username - Optional username to set during registration if not yet registered
|
|
468
|
+
* @returns Object with synced status indicating if identity was registered with server
|
|
442
469
|
*/
|
|
443
470
|
const importIdentity = (0, _react.useCallback)(async (backupData, password, username) => {
|
|
444
471
|
if (!storage) throw new Error('Storage not initialized');
|
|
@@ -458,8 +485,8 @@ const useAuthOperations = ({
|
|
|
458
485
|
error: null
|
|
459
486
|
});
|
|
460
487
|
try {
|
|
461
|
-
//
|
|
462
|
-
//
|
|
488
|
+
// Get old public key before importing identity
|
|
489
|
+
// This is used to detect if identity actually changed
|
|
463
490
|
const oldPublicKey = await _crypto.KeyManager.getPublicKey().catch(() => null);
|
|
464
491
|
if (__DEV__ && logger) {
|
|
465
492
|
logger('Importing identity from backup', {
|
|
@@ -507,10 +534,11 @@ const useAuthOperations = ({
|
|
|
507
534
|
throw new Error('Backup file is corrupted or password is incorrect');
|
|
508
535
|
}
|
|
509
536
|
|
|
510
|
-
//
|
|
537
|
+
// Only clear sessions if identity actually changed
|
|
538
|
+
// This prevents clearing sessions when re-importing the same identity
|
|
511
539
|
await clearSessionsIfIdentityChanged(oldPublicKey, publicKey);
|
|
512
540
|
|
|
513
|
-
// Mark as not synced
|
|
541
|
+
// Mark as not synced initially (will check server status below)
|
|
514
542
|
await storage.setItem('oxy_identity_synced', 'false');
|
|
515
543
|
setIdentitySynced(false);
|
|
516
544
|
|
|
@@ -521,14 +549,14 @@ const useAuthOperations = ({
|
|
|
521
549
|
registered
|
|
522
550
|
} = await oxyServices.checkPublicKeyRegistered(publicKey);
|
|
523
551
|
if (registered) {
|
|
524
|
-
// Identity exists, mark as synced
|
|
552
|
+
// Identity exists on server, mark as synced
|
|
525
553
|
await storage.setItem('oxy_identity_synced', 'true');
|
|
526
554
|
setIdentitySynced(true);
|
|
527
555
|
return {
|
|
528
556
|
synced: true
|
|
529
557
|
};
|
|
530
558
|
} else {
|
|
531
|
-
// Need to register this identity
|
|
559
|
+
// Need to register this identity
|
|
532
560
|
const {
|
|
533
561
|
signature,
|
|
534
562
|
timestamp
|
|
@@ -541,7 +569,7 @@ const useAuthOperations = ({
|
|
|
541
569
|
};
|
|
542
570
|
}
|
|
543
571
|
} catch (syncError) {
|
|
544
|
-
// Offline - identity restored locally but not synced
|
|
572
|
+
// Offline or server error - identity restored locally but not synced
|
|
545
573
|
if (__DEV__) {
|
|
546
574
|
console.log('[Auth] Identity imported locally, will sync when online:', syncError);
|
|
547
575
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_deviceManager","_sessionHelpers","_errorHandlers","_crypto","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LOGIN_ERROR_CODE","REGISTER_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","useAuthOperations","oxyServices","storage","sessions","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","applyLanguagePreference","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","setIdentitySynced","setSyncing","logger","clearSessionsIfIdentityChanged","useCallback","oldPublicKey","newPublicKey","__DEV__","substring","KeyManager","invalidateCache","performSignIn","publicKey","deviceFingerprintObj","DeviceManager","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challenge","isOffline","challengeResponse","requestChallenge","error","errorMessage","Error","message","String","isNetworkError","includes","code","status","SignatureService","generateChallenge","signature","timestamp","signChallenge","fullUser","sessionResponse","localSessionId","Date","now","Math","random","toString","substr","localDeviceId","expiresAt","toISOString","id","username","privacySettings","sessionId","deviceId","user","offlineSession","lastActive","userId","isCurrent","merge","setItem","verifyChallenge","getTokenBySession","getUserBySession","test","console","warn","allDeviceSessions","fetchSessionsWithFallback","fallbackDeviceId","fallbackUserId","existingSession","find","session","logoutSession","logoutError","filter","createIdentity","isLoading","getPublicKey","catch","hadPreviousIdentity","privateKey","generateKeyPair","importKeyPair","trimmedUsername","trim","createRegistrationSignature","register","synced","syncError","hasIdentity","removeItem","handleAuthError","defaultMessage","setAuthError","msg","isIdentitySyncedFn","getItem","isSynced","syncIdentity","alreadySynced","registered","checkPublicKeyRegistered","importIdentity","backupData","password","Array","isArray","encrypted","salt","iv","backupPublicKey","Crypto","Promise","resolve","then","saltBytes","Uint8Array","match","map","byte","parseInt","ivBytes","saltHex","from","b","padStart","join","key","digestStringAsync","CryptoDigestAlgorithm","SHA256","keyBytes","length","encryptedBytes","Buffer","decryptedBytes","TextDecoder","decode","log","signIn","logout","targetSessionId","sessionToLogout","filteredSessions","isInvalid","isInvalidSessionError","undefined","logoutAll","logoutAllSessions","isIdentitySynced","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_deviceManager","_sessionHelpers","_errorHandlers","_crypto","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LOGIN_ERROR_CODE","REGISTER_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","useAuthOperations","oxyServices","storage","sessions","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","applyLanguagePreference","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","setIdentitySynced","setSyncing","logger","clearSessionsIfIdentityChanged","useCallback","oldPublicKey","newPublicKey","__DEV__","substring","KeyManager","invalidateCache","performSignIn","publicKey","deviceFingerprintObj","DeviceManager","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challenge","isOffline","challengeResponse","requestChallenge","error","errorMessage","Error","message","String","isNetworkError","includes","code","status","SignatureService","generateChallenge","signature","timestamp","signChallenge","fullUser","sessionResponse","localSessionId","Date","now","Math","random","toString","substr","localDeviceId","expiresAt","toISOString","id","username","privacySettings","sessionId","deviceId","user","offlineSession","lastActive","userId","isCurrent","merge","setItem","verifyChallenge","getTokenBySession","getUserBySession","test","console","warn","allDeviceSessions","fetchSessionsWithFallback","fallbackDeviceId","fallbackUserId","existingSession","find","session","logoutSession","logoutError","filter","createIdentity","isLoading","getPublicKey","catch","hadPreviousIdentity","privateKey","generateKeyPair","importKeyPair","trimmedUsername","trim","createRegistrationSignature","register","synced","syncError","providedUsername","hasIdentity","removeItem","handleAuthError","defaultMessage","setAuthError","msg","isIdentitySyncedFn","getItem","isSynced","syncIdentity","alreadySynced","registered","checkPublicKeyRegistered","importIdentity","backupData","password","Array","isArray","encrypted","salt","iv","backupPublicKey","Crypto","Promise","resolve","then","saltBytes","Uint8Array","match","map","byte","parseInt","ivBytes","saltHex","from","b","padStart","join","key","digestStringAsync","CryptoDigestAlgorithm","SHA256","keyBytes","length","encryptedBytes","Buffer","decryptedBytes","TextDecoder","decode","log","signIn","logout","targetSessionId","sessionToLogout","filteredSessions","isInvalid","isInvalidSessionError","undefined","logoutAll","logoutAllSessions","isIdentitySynced","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -225,13 +225,17 @@ export const useAuthOperations = ({
|
|
|
225
225
|
}, [applyLanguagePreference, logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setActiveSessionId, switchSession, updateSessions, storage]);
|
|
226
226
|
|
|
227
227
|
/**
|
|
228
|
-
* Create a new identity (offline-first)
|
|
229
|
-
* Identity is purely cryptographic - no username or email required
|
|
228
|
+
* Create a new identity (offline-first).
|
|
230
229
|
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
230
|
+
* Generates cryptographic keys locally without requiring server connection.
|
|
231
|
+
* Identity is based on the public/private key pair - no username or email required.
|
|
232
|
+
*
|
|
233
|
+
* IMPORTANT: This function only clears session data if the identity actually changes
|
|
234
|
+
* (i.e., a new key pair is generated). Retrying registration with the same identity
|
|
235
|
+
* will NOT clear session data.
|
|
233
236
|
*
|
|
234
237
|
* @param username - Optional username to set during registration (if online)
|
|
238
|
+
* @returns Object with synced status indicating if identity was registered with server
|
|
235
239
|
*/
|
|
236
240
|
const createIdentity = useCallback(async username => {
|
|
237
241
|
if (!storage) throw new Error('Storage not initialized');
|
|
@@ -240,8 +244,8 @@ export const useAuthOperations = ({
|
|
|
240
244
|
error: null
|
|
241
245
|
});
|
|
242
246
|
try {
|
|
243
|
-
//
|
|
244
|
-
//
|
|
247
|
+
// Get old public key before creating new identity
|
|
248
|
+
// This is used to detect if identity actually changed
|
|
245
249
|
const oldPublicKey = await KeyManager.getPublicKey().catch(() => null);
|
|
246
250
|
if (__DEV__ && logger) {
|
|
247
251
|
logger('Creating new identity', {
|
|
@@ -261,7 +265,8 @@ export const useAuthOperations = ({
|
|
|
261
265
|
});
|
|
262
266
|
}
|
|
263
267
|
|
|
264
|
-
//
|
|
268
|
+
// Only clear sessions if identity actually changed
|
|
269
|
+
// This prevents clearing sessions on registration retries
|
|
265
270
|
await clearSessionsIfIdentityChanged(oldPublicKey, publicKey);
|
|
266
271
|
|
|
267
272
|
// Mark as not synced initially
|
|
@@ -298,10 +303,17 @@ export const useAuthOperations = ({
|
|
|
298
303
|
synced: false
|
|
299
304
|
};
|
|
300
305
|
}
|
|
306
|
+
} else {
|
|
307
|
+
// Invalid username format - log the issue
|
|
308
|
+
if (__DEV__ && logger) {
|
|
309
|
+
logger('Invalid username format, identity created without username', {
|
|
310
|
+
providedUsername: username.substring(0, 20)
|
|
311
|
+
});
|
|
312
|
+
}
|
|
301
313
|
}
|
|
302
314
|
}
|
|
303
315
|
|
|
304
|
-
// No username provided - defer registration until later
|
|
316
|
+
// No username provided or invalid format - defer registration until later
|
|
305
317
|
if (__DEV__ && logger) {
|
|
306
318
|
logger('Identity created locally without username, will register during sync');
|
|
307
319
|
}
|
|
@@ -360,10 +372,16 @@ export const useAuthOperations = ({
|
|
|
360
372
|
}, [storage, setIdentitySynced]);
|
|
361
373
|
|
|
362
374
|
/**
|
|
363
|
-
* Sync local identity with server
|
|
364
|
-
*
|
|
375
|
+
* Sync local identity with server.
|
|
376
|
+
*
|
|
377
|
+
* Registers the identity with the server if not already registered.
|
|
378
|
+
* This function is idempotent - calling it multiple times is safe.
|
|
365
379
|
*
|
|
366
|
-
*
|
|
380
|
+
* TanStack Query handles offline mutations automatically, so this will
|
|
381
|
+
* retry automatically when connection is restored.
|
|
382
|
+
*
|
|
383
|
+
* @param username - Optional username to set during sync/registration
|
|
384
|
+
* @returns User object after successful sync and sign-in
|
|
367
385
|
*/
|
|
368
386
|
const syncIdentity = useCallback(async username => {
|
|
369
387
|
if (!storage) throw new Error('Storage not initialized');
|
|
@@ -382,6 +400,7 @@ export const useAuthOperations = ({
|
|
|
382
400
|
const alreadySynced = await storage.getItem('oxy_identity_synced');
|
|
383
401
|
if (alreadySynced === 'true') {
|
|
384
402
|
setIdentitySynced(true);
|
|
403
|
+
// Identity is already synced, just sign in
|
|
385
404
|
return await performSignIn(publicKey);
|
|
386
405
|
}
|
|
387
406
|
|
|
@@ -429,11 +448,19 @@ export const useAuthOperations = ({
|
|
|
429
448
|
}, [oxyServices, storage, setAuthState, performSignIn, loginFailure, onError, logger, setSyncing, setIdentitySynced]);
|
|
430
449
|
|
|
431
450
|
/**
|
|
432
|
-
* Import identity from backup file
|
|
451
|
+
* Import identity from encrypted backup file.
|
|
452
|
+
*
|
|
453
|
+
* Restores a previously created identity from an encrypted backup.
|
|
454
|
+
* The backup is decrypted using the provided password.
|
|
455
|
+
*
|
|
456
|
+
* IMPORTANT: This function clears session data only if importing a different
|
|
457
|
+
* identity than the one currently stored. Re-importing the same identity
|
|
458
|
+
* will NOT clear session data.
|
|
433
459
|
*
|
|
434
|
-
* @param backupData - The backup data
|
|
460
|
+
* @param backupData - The encrypted backup data object
|
|
435
461
|
* @param password - Password to decrypt the backup
|
|
436
|
-
* @param username - Optional username to set during registration
|
|
462
|
+
* @param username - Optional username to set during registration if not yet registered
|
|
463
|
+
* @returns Object with synced status indicating if identity was registered with server
|
|
437
464
|
*/
|
|
438
465
|
const importIdentity = useCallback(async (backupData, password, username) => {
|
|
439
466
|
if (!storage) throw new Error('Storage not initialized');
|
|
@@ -453,8 +480,8 @@ export const useAuthOperations = ({
|
|
|
453
480
|
error: null
|
|
454
481
|
});
|
|
455
482
|
try {
|
|
456
|
-
//
|
|
457
|
-
//
|
|
483
|
+
// Get old public key before importing identity
|
|
484
|
+
// This is used to detect if identity actually changed
|
|
458
485
|
const oldPublicKey = await KeyManager.getPublicKey().catch(() => null);
|
|
459
486
|
if (__DEV__ && logger) {
|
|
460
487
|
logger('Importing identity from backup', {
|
|
@@ -502,10 +529,11 @@ export const useAuthOperations = ({
|
|
|
502
529
|
throw new Error('Backup file is corrupted or password is incorrect');
|
|
503
530
|
}
|
|
504
531
|
|
|
505
|
-
//
|
|
532
|
+
// Only clear sessions if identity actually changed
|
|
533
|
+
// This prevents clearing sessions when re-importing the same identity
|
|
506
534
|
await clearSessionsIfIdentityChanged(oldPublicKey, publicKey);
|
|
507
535
|
|
|
508
|
-
// Mark as not synced
|
|
536
|
+
// Mark as not synced initially (will check server status below)
|
|
509
537
|
await storage.setItem('oxy_identity_synced', 'false');
|
|
510
538
|
setIdentitySynced(false);
|
|
511
539
|
|
|
@@ -516,14 +544,14 @@ export const useAuthOperations = ({
|
|
|
516
544
|
registered
|
|
517
545
|
} = await oxyServices.checkPublicKeyRegistered(publicKey);
|
|
518
546
|
if (registered) {
|
|
519
|
-
// Identity exists, mark as synced
|
|
547
|
+
// Identity exists on server, mark as synced
|
|
520
548
|
await storage.setItem('oxy_identity_synced', 'true');
|
|
521
549
|
setIdentitySynced(true);
|
|
522
550
|
return {
|
|
523
551
|
synced: true
|
|
524
552
|
};
|
|
525
553
|
} else {
|
|
526
|
-
// Need to register this identity
|
|
554
|
+
// Need to register this identity
|
|
527
555
|
const {
|
|
528
556
|
signature,
|
|
529
557
|
timestamp
|
|
@@ -536,7 +564,7 @@ export const useAuthOperations = ({
|
|
|
536
564
|
};
|
|
537
565
|
}
|
|
538
566
|
} catch (syncError) {
|
|
539
|
-
// Offline - identity restored locally but not synced
|
|
567
|
+
// Offline or server error - identity restored locally but not synced
|
|
540
568
|
if (__DEV__) {
|
|
541
569
|
console.log('[Auth] Identity imported locally, will sync when online:', syncError);
|
|
542
570
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","KeyManager","SignatureService","LOGIN_ERROR_CODE","REGISTER_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","useAuthOperations","oxyServices","storage","sessions","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","applyLanguagePreference","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","setIdentitySynced","setSyncing","logger","clearSessionsIfIdentityChanged","oldPublicKey","newPublicKey","__DEV__","substring","invalidateCache","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challenge","isOffline","challengeResponse","requestChallenge","error","errorMessage","Error","message","String","isNetworkError","includes","code","status","generateChallenge","signature","timestamp","signChallenge","fullUser","sessionResponse","localSessionId","Date","now","Math","random","toString","substr","localDeviceId","expiresAt","toISOString","id","username","privacySettings","sessionId","deviceId","user","offlineSession","lastActive","userId","isCurrent","merge","setItem","verifyChallenge","getTokenBySession","getUserBySession","test","console","warn","allDeviceSessions","fallbackDeviceId","fallbackUserId","existingSession","find","session","logoutSession","logoutError","filter","createIdentity","isLoading","getPublicKey","catch","hadPreviousIdentity","privateKey","generateKeyPair","importKeyPair","trimmedUsername","trim","createRegistrationSignature","register","synced","syncError","hasIdentity","removeItem","defaultMessage","setAuthError","msg","isIdentitySyncedFn","getItem","isSynced","syncIdentity","alreadySynced","registered","checkPublicKeyRegistered","importIdentity","backupData","password","Array","isArray","encrypted","salt","iv","backupPublicKey","Crypto","saltBytes","Uint8Array","match","map","byte","parseInt","ivBytes","saltHex","from","b","padStart","join","key","i","digestStringAsync","CryptoDigestAlgorithm","SHA256","keyBytes","length","encryptedBytes","Buffer","decryptedBytes","TextDecoder","decode","log","signIn","logout","targetSessionId","sessionToLogout","filteredSessions","isInvalid","undefined","logoutAll","logoutAllSessions","isIdentitySynced"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","KeyManager","SignatureService","LOGIN_ERROR_CODE","REGISTER_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","useAuthOperations","oxyServices","storage","sessions","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","applyLanguagePreference","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","setIdentitySynced","setSyncing","logger","clearSessionsIfIdentityChanged","oldPublicKey","newPublicKey","__DEV__","substring","invalidateCache","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challenge","isOffline","challengeResponse","requestChallenge","error","errorMessage","Error","message","String","isNetworkError","includes","code","status","generateChallenge","signature","timestamp","signChallenge","fullUser","sessionResponse","localSessionId","Date","now","Math","random","toString","substr","localDeviceId","expiresAt","toISOString","id","username","privacySettings","sessionId","deviceId","user","offlineSession","lastActive","userId","isCurrent","merge","setItem","verifyChallenge","getTokenBySession","getUserBySession","test","console","warn","allDeviceSessions","fallbackDeviceId","fallbackUserId","existingSession","find","session","logoutSession","logoutError","filter","createIdentity","isLoading","getPublicKey","catch","hadPreviousIdentity","privateKey","generateKeyPair","importKeyPair","trimmedUsername","trim","createRegistrationSignature","register","synced","syncError","providedUsername","hasIdentity","removeItem","defaultMessage","setAuthError","msg","isIdentitySyncedFn","getItem","isSynced","syncIdentity","alreadySynced","registered","checkPublicKeyRegistered","importIdentity","backupData","password","Array","isArray","encrypted","salt","iv","backupPublicKey","Crypto","saltBytes","Uint8Array","match","map","byte","parseInt","ivBytes","saltHex","from","b","padStart","join","key","i","digestStringAsync","CryptoDigestAlgorithm","SHA256","keyBytes","length","encryptedBytes","Buffer","decryptedBytes","TextDecoder","decode","log","signIn","logout","targetSessionId","sessionToLogout","filteredSessions","isInvalid","undefined","logoutAll","logoutAllSessions","isIdentitySynced"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAInC,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,yBAAyB,QAA6B,4BAA4B;AAC3F,SAASC,eAAe,EAAEC,qBAAqB,QAAQ,2BAA2B;AAGlF,SAASC,UAAU,EAAEC,gBAAgB,QAAyB,iBAAiB;AA8C/E,MAAMC,gBAAgB,GAAG,aAAa;AACtC,MAAMC,mBAAmB,GAAG,gBAAgB;AAC5C,MAAMC,iBAAiB,GAAG,cAAc;AACxC,MAAMC,qBAAqB,GAAG,kBAAkB;;AAEhD;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAChCC,WAAW;EACXC,OAAO;EACPC,QAAQ;EACRC,eAAe;EACfC,kBAAkB;EAClBC,cAAc;EACdC,mBAAmB;EACnBC,iBAAiB;EACjBC,aAAa;EACbC,uBAAuB;EACvBC,iBAAiB;EACjBC,OAAO;EACPC,YAAY;EACZC,YAAY;EACZC,WAAW;EACTC,YAAY;EACZC,iBAAiB;EACjBC,UAAU;EACVC;AACsB,CAAC,KAA8B;EAEvD;AACF;AACA;AACA;EACE,MAAMC,8BAA8B,GAAG/B,WAAW,CAChD,OAAOgC,YAA2B,EAAEC,YAAoB,KAAoB;IAC1E,IAAID,YAAY,IAAIA,YAAY,KAAKC,YAAY,EAAE;MACjD,IAAIC,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,wDAAwD,EAAE;UAC/DE,YAAY,EAAEA,YAAY,CAACG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;UACnDF,YAAY,EAAEA,YAAY,CAACE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;QAChD,CAAC,CAAC;MACJ;;MAEA;MACA,MAAMhB,iBAAiB,CAAC,CAAC;;MAEzB;MACAO,WAAW,CAAC,CAAC;;MAEb;MACArB,UAAU,CAAC+B,eAAe,CAAC,CAAC;MAE5B,IAAIF,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,wCAAwC,CAAC;MAClD;IACF;EACF,CAAC,EACD,CAACX,iBAAiB,EAAEO,WAAW,EAAEI,MAAM,CACzC,CAAC;;EAED;AACF;AACA;EACE,MAAMO,aAAa,GAAGrC,WAAW,CAC/B,MAAOsC,SAAiB,IAAoB;IAC1C,MAAMC,oBAAoB,GAAGtC,aAAa,CAACuC,oBAAoB,CAAC,CAAC;IACjE,MAAMC,iBAAiB,GAAGC,IAAI,CAACC,SAAS,CAACJ,oBAAoB,CAAC;IAC9D,MAAMK,UAAU,GAAG,MAAM3C,aAAa,CAAC4C,aAAa,CAAC,CAAC;IACtD,MAAMC,UAAU,GAAGF,UAAU,CAACE,UAAU,IAAI7C,aAAa,CAAC8C,oBAAoB,CAAC,CAAC;IAEhF,IAAIC,SAAiB;IACrB,IAAIC,SAAS,GAAG,KAAK;;IAErB;IACA,IAAI;MACF,MAAMC,iBAAiB,GAAG,MAAMtC,WAAW,CAACuC,gBAAgB,CAACb,SAAS,CAAC;MACvEU,SAAS,GAAGE,iBAAiB,CAACF,SAAS;IACzC,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd;MACA,MAAMC,YAAY,GAAGD,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACG,OAAO,GAAGC,MAAM,CAACJ,KAAK,CAAC;MAC3E,MAAMK,cAAc,GAClBJ,YAAY,CAACK,QAAQ,CAAC,SAAS,CAAC,IAChCL,YAAY,CAACK,QAAQ,CAAC,SAAS,CAAC,IAChCL,YAAY,CAACK,QAAQ,CAAC,iBAAiB,CAAC,IACxCL,YAAY,CAACK,QAAQ,CAAC,cAAc,CAAC,IACpCN,KAAK,EAAUO,IAAI,KAAK,eAAe,IACvCP,KAAK,EAAUQ,MAAM,KAAK,CAAC;MAE9B,IAAIH,cAAc,EAAE;QAClB,IAAIvB,OAAO,IAAIJ,MAAM,EAAE;UACrBA,MAAM,CAAC,iDAAiD,CAAC;QAC3D;QACA;QACAkB,SAAS,GAAG,MAAM1C,gBAAgB,CAACuD,iBAAiB,CAAC,CAAC;QACtDZ,SAAS,GAAG,IAAI;MAClB,CAAC,MAAM;QACL;QACA,MAAMG,KAAK;MACb;IACF;;IAEA;IACA;IACA;;IAEA;IACA,MAAM;MAAEJ,SAAS,EAAEc,SAAS;MAAEC;IAAU,CAAC,GAAG,MAAMzD,gBAAgB,CAAC0D,aAAa,CAAChB,SAAS,CAAC;IAE3F,IAAIiB,QAAc;IAClB,IAAIC,eAAqC;IAEzC,IAAIjB,SAAS,EAAE;MACb;MACA,IAAIf,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,0BAA0B,CAAC;MACpC;;MAEA;MACA,MAAMqC,cAAc,GAAG,WAAWC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;MACzF,MAAMC,aAAa,GAAG,UAAUN,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;MACvF,MAAME,SAAS,GAAG,IAAIP,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAACO,WAAW,CAAC,CAAC,CAAC,CAAC;;MAEhF;MACAX,QAAQ,GAAG;QACTY,EAAE,EAAEvC,SAAS;QAAE;QACfA,SAAS;QACTwC,QAAQ,EAAE,EAAE;QACZC,eAAe,EAAE,CAAC;MACpB,CAAS;MAETb,eAAe,GAAG;QAChBc,SAAS,EAAEb,cAAc;QACzBc,QAAQ,EAAEP,aAAa;QACvBC,SAAS;QACTO,IAAI,EAAE;UACJL,EAAE,EAAEvC,SAAS;UACbwC,QAAQ,EAAE;QACZ;MACF,CAAC;;MAED;MACA,MAAMK,cAA6B,GAAG;QACpCH,SAAS,EAAEb,cAAc;QACzBc,QAAQ,EAAEP,aAAa;QACvBC,SAAS;QACTS,UAAU,EAAE,IAAIhB,IAAI,CAAC,CAAC,CAACQ,WAAW,CAAC,CAAC;QACpCS,MAAM,EAAE/C,SAAS;QACjBgD,SAAS,EAAE;MACb,CAAC;MAEDtE,kBAAkB,CAACmD,cAAc,CAAC;MAClC,MAAMjD,mBAAmB,CAACiD,cAAc,CAAC;MACzClD,cAAc,CAAC,CAACkE,cAAc,CAAC,EAAE;QAAEI,KAAK,EAAE;MAAK,CAAC,CAAC;;MAEjD;MACA,IAAI1E,OAAO,EAAE;QACX,MAAMA,OAAO,CAAC2E,OAAO,CAAC,eAAerB,cAAc,UAAU,EAAE,MAAM,CAAC;MACxE;MAEA,IAAIjC,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,4BAA4B,CAAC;MACtC;IACF,CAAC,MAAM;MACL;MACA;MACAoC,eAAe,GAAG,MAAMtD,WAAW,CAAC6E,eAAe,CACjDnD,SAAS,EACTU,SAAS,EACTc,SAAS,EACTC,SAAS,EACTjB,UAAU,EACVL,iBACF,CAAC;;MAED;MACA,MAAM7B,WAAW,CAAC8E,iBAAiB,CAACxB,eAAe,CAACc,SAAS,CAAC;;MAE9D;MACAf,QAAQ,GAAG,MAAMrD,WAAW,CAAC+E,gBAAgB,CAACzB,eAAe,CAACc,SAAS,CAAC;;MAExE;MACA;MACA;MACA;MACA,IAAIf,QAAQ,CAACY,EAAE,IAAI,CAAC,mBAAmB,CAACe,IAAI,CAAC3B,QAAQ,CAACY,EAAE,CAAC,EAAE;QACzDgB,OAAO,CAACC,IAAI,CAAC,6DAA6D,EAAE;UAC1EjB,EAAE,EAAEZ,QAAQ,CAACY,EAAE,CAAC1C,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;UAChCG,SAAS,EAAE2B,QAAQ,CAAC3B,SAAS,CAACH,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;UAC9CoB,OAAO,EAAE;QACX,CAAC,CAAC;QACF;MACF;;MAEA;MACA,IAAIwC,iBAAkC,GAAG,EAAE;MAC3C,IAAI;QACFA,iBAAiB,GAAG,MAAM7F,yBAAyB,CAACU,WAAW,EAAEsD,eAAe,CAACc,SAAS,EAAE;UAC1FgB,gBAAgB,EAAE9B,eAAe,CAACe,QAAQ;UAC1CgB,cAAc,EAAEhC,QAAQ,CAACY,EAAE;UAC3B/C;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOsB,KAAK,EAAE;QACd,IAAIlB,OAAO,EAAE;UACX2D,OAAO,CAACC,IAAI,CAAC,8CAA8C,EAAE1C,KAAK,CAAC;QACrE;MACF;;MAEA;MACA,MAAM8C,eAAe,GAAGH,iBAAiB,CAACI,IAAI,CAC3CC,OAAO,IACNA,OAAO,CAACf,MAAM,EAAEb,QAAQ,CAAC,CAAC,KAAKP,QAAQ,CAACY,EAAE,EAAEL,QAAQ,CAAC,CAAC,IACtD4B,OAAO,CAACpB,SAAS,KAAKd,eAAe,CAACc,SAC1C,CAAC;MAED,IAAIkB,eAAe,EAAE;QACnB;QACA,IAAI;UACF,MAAMtF,WAAW,CAACyF,aAAa,CAACnC,eAAe,CAACc,SAAS,EAAEd,eAAe,CAACc,SAAS,CAAC;QACvF,CAAC,CAAC,OAAOsB,WAAW,EAAE;UACpB,IAAIpE,OAAO,EAAE;YACX2D,OAAO,CAACC,IAAI,CAAC,qCAAqC,EAAEQ,WAAW,CAAC;UAClE;QACF;QACA,MAAMlF,aAAa,CAAC8E,eAAe,CAAClB,SAAS,CAAC;QAC9C/D,cAAc,CACZ8E,iBAAiB,CAACQ,MAAM,CAAEH,OAAO,IAAKA,OAAO,CAACpB,SAAS,KAAKd,eAAe,CAACc,SAAS,CAAC,EACtF;UAAEO,KAAK,EAAE;QAAM,CACjB,CAAC;QACDjE,iBAAiB,GAAG2C,QAAQ,CAAC;QAC7B,OAAOA,QAAQ;MACjB;MAEAjD,kBAAkB,CAACkD,eAAe,CAACc,SAAS,CAAC;MAC7C,MAAM9D,mBAAmB,CAACgD,eAAe,CAACc,SAAS,CAAC;MACpD/D,cAAc,CAAC8E,iBAAiB,EAAE;QAAER,KAAK,EAAE;MAAK,CAAC,CAAC;IACpD;IAEA,MAAMlE,uBAAuB,CAAC4C,QAAQ,CAAC;IACvCzC,YAAY,CAACyC,QAAQ,CAAC;IACtB3C,iBAAiB,GAAG2C,QAAQ,CAAC;IAE7B,OAAOA,QAAQ;EACjB,CAAC,EACD,CACE5C,uBAAuB,EACvBS,MAAM,EACNN,YAAY,EACZF,iBAAiB,EACjBV,WAAW,EACXM,mBAAmB,EACnBF,kBAAkB,EAClBI,aAAa,EACbH,cAAc,EACdJ,OAAO,CAEX,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAM2F,cAAc,GAAGxG,WAAW,CAChC,MAAO8E,QAAiB,IAAmC;IACzD,IAAI,CAACjE,OAAO,EAAE,MAAM,IAAIyC,KAAK,CAAC,yBAAyB,CAAC;IAExD3B,YAAY,CAAC;MAAE8E,SAAS,EAAE,IAAI;MAAErD,KAAK,EAAE;IAAK,CAAC,CAAC;IAE9C,IAAI;MACF;MACA;MACA,MAAMpB,YAAY,GAAG,MAAM3B,UAAU,CAACqG,YAAY,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,IAAI,CAAC;MAEtE,IAAIzE,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,uBAAuB,EAAE;UAAE8E,mBAAmB,EAAE,CAAC,CAAC5E;QAAa,CAAC,CAAC;MAC1E;;MAEA;MACA,MAAM;QAAEM,SAAS;QAAEuE;MAAW,CAAC,GAAG,MAAMxG,UAAU,CAACyG,eAAe,CAAC,CAAC;MACpE,MAAMzG,UAAU,CAAC0G,aAAa,CAACF,UAAU,CAAC;MAE1C,IAAI3E,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,yBAAyB,EAAE;UAAEQ,SAAS,EAAEA,SAAS,CAACH,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;QAAM,CAAC,CAAC;MACtF;;MAEA;MACA;MACA,MAAMJ,8BAA8B,CAACC,YAAY,EAAEM,SAAS,CAAC;;MAE7D;MACA,MAAMzB,OAAO,CAAC2E,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;MACrD5D,iBAAiB,CAAC,KAAK,CAAC;;MAExB;MACA,IAAIkD,QAAQ,EAAE;QACZ;QACA,MAAMkC,eAAe,GAAGlC,QAAQ,CAACmC,IAAI,CAAC,CAAC;QACvC,IAAID,eAAe,IAAI,qBAAqB,CAACpB,IAAI,CAACoB,eAAe,CAAC,EAAE;UAClE,IAAI;YACF,MAAM;cAAElD,SAAS;cAAEC;YAAU,CAAC,GAAG,MAAMzD,gBAAgB,CAAC4G,2BAA2B,CAAC,CAAC;YACrF,MAAMtG,WAAW,CAACuG,QAAQ,CAAC7E,SAAS,EAAEwB,SAAS,EAAEC,SAAS,EAAEiD,eAAe,CAAC;;YAE5E;YACA,MAAMnG,OAAO,CAAC2E,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;YACpD5D,iBAAiB,CAAC,IAAI,CAAC;YAEvB,IAAIM,OAAO,IAAIJ,MAAM,EAAE;cACrBA,MAAM,CAAC,wDAAwD,CAAC;YAClE;YAEA,OAAO;cAAEsF,MAAM,EAAE;YAAK,CAAC;UACzB,CAAC,CAAC,OAAOC,SAAS,EAAE;YAClB;YACA,IAAInF,OAAO,IAAIJ,MAAM,EAAE;cACrBA,MAAM,CAAC,yEAAyE,EAAEuF,SAAS,CAAC;YAC9F;YAEA,OAAO;cAAED,MAAM,EAAE;YAAM,CAAC;UAC1B;QACF,CAAC,MAAM;UACL;UACA,IAAIlF,OAAO,IAAIJ,MAAM,EAAE;YACrBA,MAAM,CAAC,4DAA4D,EAAE;cACnEwF,gBAAgB,EAAExC,QAAQ,CAAC3C,SAAS,CAAC,CAAC,EAAE,EAAE;YAC5C,CAAC,CAAC;UACJ;QACF;MACF;;MAEA;MACA,IAAID,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,sEAAsE,CAAC;MAChF;MAEA,OAAO;QAAEsF,MAAM,EAAE;MAAM,CAAC;IAC1B,CAAC,CAAC,OAAOhE,KAAK,EAAE;MACd;MACA;MACA;MACA,IAAIlB,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,4DAA4D,EAAEsB,KAAK,CAAC;MAC7E;;MAEA;MACA,MAAMmE,WAAW,GAAG,MAAMlH,UAAU,CAACkH,WAAW,CAAC,CAAC,CAACZ,KAAK,CAAC,MAAM,KAAK,CAAC;MACrE,IAAIY,WAAW,EAAE;QACf;QACA,MAAM1G,OAAO,CAAC2E,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAACmB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE/E,iBAAiB,CAAC,KAAK,CAAC;QACxB,IAAIM,OAAO,IAAIJ,MAAM,EAAE;UACrBA,MAAM,CAAC,4DAA4D,CAAC;QACtE;MACF,CAAC,MAAM;QACL;QACA,MAAMjB,OAAO,CAAC2G,UAAU,CAAC,qBAAqB,CAAC,CAACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D/E,iBAAiB,CAAC,KAAK,CAAC;MAC1B;MAEA,MAAM2B,OAAO,GAAGpD,eAAe,CAACiD,KAAK,EAAE;QACrCqE,cAAc,EAAE,2BAA2B;QAC3C9D,IAAI,EAAEnD,mBAAmB;QACzBe,OAAO;QACPmG,YAAY,EAAGC,GAAW,IAAKhG,YAAY,CAAC;UAAEyB,KAAK,EAAEuE;QAAI,CAAC,CAAC;QAC3D7F;MACF,CAAC,CAAC;MACFL,YAAY,CAAC8B,OAAO,CAAC;MACrB,MAAMH,KAAK;IACb,CAAC,SAAS;MACRzB,YAAY,CAAC;QAAE8E,SAAS,EAAE;MAAM,CAAC,CAAC;IACpC;EACF,CAAC,EACD,CAAC7F,WAAW,EAAEC,OAAO,EAAEc,YAAY,EAAEF,YAAY,EAAEF,OAAO,EAAEO,MAAM,EAAEF,iBAAiB,EAAEG,8BAA8B,CACvH,CAAC;;EAED;AACF;AACA;EACE,MAAM6F,kBAAkB,GAAG5H,WAAW,CAAC,YAA8B;IACnE,IAAI,CAACa,OAAO,EAAE,OAAO,IAAI;IACzB,MAAMuG,MAAM,GAAG,MAAMvG,OAAO,CAACgH,OAAO,CAAC,qBAAqB,CAAC;IAC3D,MAAMC,QAAQ,GAAGV,MAAM,KAAK,OAAO;IACnCxF,iBAAiB,CAACkG,QAAQ,CAAC;IAC3B,OAAOA,QAAQ;EACjB,CAAC,EAAE,CAACjH,OAAO,EAAEe,iBAAiB,CAAC,CAAC;;EAEhC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMmG,YAAY,GAAG/H,WAAW,CAC9B,MAAO8E,QAAiB,IAAoB;IAC1C,IAAI,CAACjE,OAAO,EAAE,MAAM,IAAIyC,KAAK,CAAC,yBAAyB,CAAC;IAExD3B,YAAY,CAAC;MAAE8E,SAAS,EAAE,IAAI;MAAErD,KAAK,EAAE;IAAK,CAAC,CAAC;IAC9CvB,UAAU,CAAC,IAAI,CAAC;IAEhB,IAAI;MACF,MAAMS,SAAS,GAAG,MAAMjC,UAAU,CAACqG,YAAY,CAAC,CAAC;MACjD,IAAI,CAACpE,SAAS,EAAE;QACd,MAAM,IAAIgB,KAAK,CAAC,kCAAkC,CAAC;MACrD;;MAEA;MACA,MAAM0E,aAAa,GAAG,MAAMnH,OAAO,CAACgH,OAAO,CAAC,qBAAqB,CAAC;MAClE,IAAIG,aAAa,KAAK,MAAM,EAAE;QAC5BpG,iBAAiB,CAAC,IAAI,CAAC;QACvB;QACA,OAAO,MAAMS,aAAa,CAACC,SAAS,CAAC;MACvC;;MAEA;MACA,MAAM;QAAE2F;MAAW,CAAC,GAAG,MAAMrH,WAAW,CAACsH,wBAAwB,CAAC5F,SAAS,CAAC;MAE5E,IAAI,CAAC2F,UAAU,EAAE;QACf;QACA,MAAM;UAAEnE,SAAS;UAAEC;QAAU,CAAC,GAAG,MAAMzD,gBAAgB,CAAC4G,2BAA2B,CAAC,CAAC;QACrF,MAAMtG,WAAW,CAACuG,QAAQ,CAAC7E,SAAS,EAAEwB,SAAS,EAAEC,SAAS,EAAEe,QAAQ,CAAC;MACvE;;MAEA;MACA,MAAMjE,OAAO,CAAC2E,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;MACpD5D,iBAAiB,CAAC,IAAI,CAAC;;MAEvB;MACA,MAAMsD,IAAI,GAAG,MAAM7C,aAAa,CAACC,SAAS,CAAC;;MAE3C;;MAEA,OAAO4C,IAAI;IACb,CAAC,CAAC,OAAO9B,KAAK,EAAE;MACd,MAAMG,OAAO,GAAGpD,eAAe,CAACiD,KAAK,EAAE;QACrCqE,cAAc,EAAE,yBAAyB;QACzC9D,IAAI,EAAEnD,mBAAmB;QACzBe,OAAO;QACPmG,YAAY,EAAGC,GAAW,IAAKhG,YAAY,CAAC;UAAEyB,KAAK,EAAEuE;QAAI,CAAC,CAAC;QAC3D7F;MACF,CAAC,CAAC;MACFL,YAAY,CAAC8B,OAAO,CAAC;MACrB,MAAMH,KAAK;IACb,CAAC,SAAS;MACRzB,YAAY,CAAC;QAAE8E,SAAS,EAAE;MAAM,CAAC,CAAC;MAClC5E,UAAU,CAAC,KAAK,CAAC;IACnB;EACF,CAAC,EACD,CAACjB,WAAW,EAAEC,OAAO,EAAEc,YAAY,EAAEU,aAAa,EAAEZ,YAAY,EAAEF,OAAO,EAAEO,MAAM,EAAED,UAAU,EAAED,iBAAiB,CAClH,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMuG,cAAc,GAAGnI,WAAW,CAChC,OAAOoI,UAAsB,EAAEC,QAAgB,EAAEvD,QAAiB,KAAmC;IACnG,IAAI,CAACjE,OAAO,EAAE,MAAM,IAAIyC,KAAK,CAAC,yBAAyB,CAAC;;IAExD;IACA,IAAI,CAAC8E,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,EAAE;MAC9E,MAAM,IAAI9E,KAAK,CAAC,iEAAiE,CAAC;IACpF;IAEA,IAAI,CAAC8E,UAAU,CAACI,SAAS,IAAI,CAACJ,UAAU,CAACK,IAAI,IAAI,CAACL,UAAU,CAACM,EAAE,IAAI,CAACN,UAAU,CAAC9F,SAAS,EAAE;MACxF,MAAM,IAAIgB,KAAK,CAAC,yDAAyD,CAAC;IAC5E;IAEA,IAAI,CAAC+E,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAC7C,MAAM,IAAI/E,KAAK,CAAC,8CAA8C,CAAC;IACjE;IAEA3B,YAAY,CAAC;MAAE8E,SAAS,EAAE,IAAI;MAAErD,KAAK,EAAE;IAAK,CAAC,CAAC;IAE9C,IAAI;MACF;MACA;MACA,MAAMpB,YAAY,GAAG,MAAM3B,UAAU,CAACqG,YAAY,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,IAAI,CAAC;MAEtE,IAAIzE,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,gCAAgC,EAAE;UACvC8E,mBAAmB,EAAE,CAAC,CAAC5E,YAAY;UACnC2G,eAAe,EAAEP,UAAU,CAAC9F,SAAS,CAACH,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;QAC3D,CAAC,CAAC;MACJ;;MAEA;MACA,MAAMyG,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;;MAE1C;MACA,MAAMC,SAAS,GAAG,IAAIC,UAAU,CAC9BV,UAAU,CAACK,IAAI,CAACM,KAAK,CAAC,SAAS,CAAC,EAAEC,GAAG,CAACC,IAAI,IAAIC,QAAQ,CAACD,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EACvE,CAAC;MACD,MAAME,OAAO,GAAG,IAAIL,UAAU,CAC5BV,UAAU,CAACM,EAAE,CAACK,KAAK,CAAC,SAAS,CAAC,EAAEC,GAAG,CAACC,IAAI,IAAIC,QAAQ,CAACD,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EACrE,CAAC;;MAED;MACA,MAAMG,OAAO,GAAGd,KAAK,CAACe,IAAI,CAACR,SAAS,CAAC,CAACG,GAAG,CAACM,CAAC,IAAIA,CAAC,CAAC9E,QAAQ,CAAC,EAAE,CAAC,CAAC+E,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;MACxF,IAAIC,GAAG,GAAGpB,QAAQ,GAAGe,OAAO;MAC5B,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,KAAK,EAAEA,CAAC,EAAE,EAAE;QAC9BD,GAAG,GAAG,MAAMb,MAAM,CAACe,iBAAiB,CAClCf,MAAM,CAACgB,qBAAqB,CAACC,MAAM,EACnCJ,GACF,CAAC;MACH;MACA,MAAMK,QAAQ,GAAG,IAAIhB,UAAU,CAAC,EAAE,CAAC;MACnC,KAAK,IAAIY,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,IAAIA,CAAC,GAAGD,GAAG,CAACM,MAAM,EAAEL,CAAC,IAAI,CAAC,EAAE;QAChDI,QAAQ,CAACJ,CAAC,GAAG,CAAC,CAAC,GAAGR,QAAQ,CAACO,GAAG,CAACtH,SAAS,CAACuH,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;MACzD;;MAEA;MACA,MAAMM,cAAc,GAAGC,MAAM,CAACZ,IAAI,CAACjB,UAAU,CAACI,SAAS,EAAE,QAAQ,CAAC;MAClE,MAAM0B,cAAc,GAAG,IAAIpB,UAAU,CAACkB,cAAc,CAACD,MAAM,CAAC;MAC5D,KAAK,IAAIL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,cAAc,CAACD,MAAM,EAAEL,CAAC,EAAE,EAAE;QAC9CQ,cAAc,CAACR,CAAC,CAAC,GAAGM,cAAc,CAACN,CAAC,CAAC,GAAGI,QAAQ,CAACJ,CAAC,GAAGI,QAAQ,CAACC,MAAM,CAAC,GAAGZ,OAAO,CAACO,CAAC,GAAGP,OAAO,CAACY,MAAM,CAAC;MACrG;MACA,MAAMlD,UAAU,GAAG,IAAIsD,WAAW,CAAC,CAAC,CAACC,MAAM,CAACF,cAAc,CAAC;;MAE3D;MACA,MAAM5H,SAAS,GAAG,MAAMjC,UAAU,CAAC0G,aAAa,CAACF,UAAU,CAAC;MAE5D,IAAI3E,OAAO,IAAIJ,MAAM,EAAE;QACrBA,MAAM,CAAC,wBAAwB,EAAE;UAAEQ,SAAS,EAAEA,SAAS,CAACH,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;QAAM,CAAC,CAAC;MACrF;;MAEA;MACA,IAAIG,SAAS,KAAK8F,UAAU,CAAC9F,SAAS,EAAE;QACtC,MAAM,IAAIgB,KAAK,CAAC,mDAAmD,CAAC;MACtE;;MAEA;MACA;MACA,MAAMvB,8BAA8B,CAACC,YAAY,EAAEM,SAAS,CAAC;;MAE7D;MACA,MAAMzB,OAAO,CAAC2E,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;MACrD5D,iBAAiB,CAAC,KAAK,CAAC;;MAExB;MACA,IAAI;QACF;QACA,MAAM;UAAEqG;QAAW,CAAC,GAAG,MAAMrH,WAAW,CAACsH,wBAAwB,CAAC5F,SAAS,CAAC;QAE5E,IAAI2F,UAAU,EAAE;UACd;UACA,MAAMpH,OAAO,CAAC2E,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;UACpD5D,iBAAiB,CAAC,IAAI,CAAC;UACvB,OAAO;YAAEwF,MAAM,EAAE;UAAK,CAAC;QACzB,CAAC,MAAM;UACL;UACA,MAAM;YAAEtD,SAAS;YAAEC;UAAU,CAAC,GAAG,MAAMzD,gBAAgB,CAAC4G,2BAA2B,CAAC,CAAC;UACrF,MAAMtG,WAAW,CAACuG,QAAQ,CAAC7E,SAAS,EAAEwB,SAAS,EAAEC,SAAS,EAAEe,QAAQ,CAAC;UAErE,MAAMjE,OAAO,CAAC2E,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;UACpD5D,iBAAiB,CAAC,IAAI,CAAC;UACvB,OAAO;YAAEwF,MAAM,EAAE;UAAK,CAAC;QACzB;MACF,CAAC,CAAC,OAAOC,SAAS,EAAE;QAClB;QACA,IAAInF,OAAO,EAAE;UACX2D,OAAO,CAACwE,GAAG,CAAC,0DAA0D,EAAEhD,SAAS,CAAC;QACpF;QACA,OAAO;UAAED,MAAM,EAAE;QAAM,CAAC;MAC1B;IACF,CAAC,CAAC,OAAOhE,KAAK,EAAE;MACd,MAAMG,OAAO,GAAGpD,eAAe,CAACiD,KAAK,EAAE;QACrCqE,cAAc,EAAE,wEAAwE;QACxF9D,IAAI,EAAEnD,mBAAmB;QACzBe,OAAO;QACPmG,YAAY,EAAGC,GAAW,IAAKhG,YAAY,CAAC;UAAEyB,KAAK,EAAEuE;QAAI,CAAC,CAAC;QAC3D7F;MACF,CAAC,CAAC;MACFL,YAAY,CAAC8B,OAAO,CAAC;MACrB,MAAMH,KAAK;IACb,CAAC,SAAS;MACRzB,YAAY,CAAC;QAAE8E,SAAS,EAAE;MAAM,CAAC,CAAC;IACpC;EACF,CAAC,EACD,CAAC7F,WAAW,EAAEC,OAAO,EAAEc,YAAY,EAAEF,YAAY,EAAEF,OAAO,EAAEO,MAAM,EAAEF,iBAAiB,EAAEG,8BAA8B,CACvH,CAAC;;EAED;AACF;AACA;EACE,MAAMuI,MAAM,GAAGtK,WAAW,CACxB,MAAO8C,UAAmB,IAAoB;IAC5C,IAAI,CAACjC,OAAO,EAAE,MAAM,IAAIyC,KAAK,CAAC,yBAAyB,CAAC;IAExD3B,YAAY,CAAC;MAAE8E,SAAS,EAAE,IAAI;MAAErD,KAAK,EAAE;IAAK,CAAC,CAAC;IAE9C,IAAI;MACF;MACA,MAAMd,SAAS,GAAG,MAAMjC,UAAU,CAACqG,YAAY,CAAC,CAAC;MACjD,IAAI,CAACpE,SAAS,EAAE;QACd,MAAM,IAAIgB,KAAK,CAAC,wEAAwE,CAAC;MAC3F;MAEA,OAAO,MAAMjB,aAAa,CAACC,SAAS,CAAC;IACvC,CAAC,CAAC,OAAOc,KAAK,EAAE;MACd,MAAMG,OAAO,GAAGpD,eAAe,CAACiD,KAAK,EAAE;QACrCqE,cAAc,EAAE,gBAAgB;QAChC9D,IAAI,EAAEpD,gBAAgB;QACtBgB,OAAO;QACPmG,YAAY,EAAGC,GAAW,IAAKhG,YAAY,CAAC;UAAEyB,KAAK,EAAEuE;QAAI,CAAC,CAAC;QAC3D7F;MACF,CAAC,CAAC;MACFL,YAAY,CAAC8B,OAAO,CAAC;MACrB,MAAMH,KAAK;IACb,CAAC,SAAS;MACRzB,YAAY,CAAC;QAAE8E,SAAS,EAAE;MAAM,CAAC,CAAC;IACpC;EACF,CAAC,EACD,CAAC5F,OAAO,EAAEc,YAAY,EAAEU,aAAa,EAAEZ,YAAY,EAAEF,OAAO,EAAEO,MAAM,CACtE,CAAC;;EAED;AACF;AACA;EACE,MAAMyI,MAAM,GAAGvK,WAAW,CACxB,MAAOwK,eAAwB,IAAoB;IACjD,IAAI,CAACzJ,eAAe,EAAE;IAEtB,IAAI;MACF,MAAM0J,eAAe,GAAGD,eAAe,IAAIzJ,eAAe;MAC1D,MAAMH,WAAW,CAACyF,aAAa,CAACtF,eAAe,EAAE0J,eAAe,CAAC;MAEjE,MAAMC,gBAAgB,GAAG5J,QAAQ,CAACyF,MAAM,CAAEH,OAAO,IAAKA,OAAO,CAACpB,SAAS,KAAKyF,eAAe,CAAC;MAC5FxJ,cAAc,CAACyJ,gBAAgB,EAAE;QAAEnF,KAAK,EAAE;MAAM,CAAC,CAAC;MAElD,IAAIkF,eAAe,KAAK1J,eAAe,EAAE;QACvC,IAAI2J,gBAAgB,CAACX,MAAM,GAAG,CAAC,EAAE;UAC/B,MAAM3I,aAAa,CAACsJ,gBAAgB,CAAC,CAAC,CAAC,CAAC1F,SAAS,CAAC;QACpD,CAAC,MAAM;UACL,MAAM7D,iBAAiB,CAAC,CAAC;UACzB;QACF;MACF;IACF,CAAC,CAAC,OAAOiC,KAAK,EAAE;MACd,MAAMuH,SAAS,GAAGvK,qBAAqB,CAACgD,KAAK,CAAC;MAE9C,IAAIuH,SAAS,IAAIH,eAAe,KAAKzJ,eAAe,EAAE;QACpD,MAAMI,iBAAiB,CAAC,CAAC;QACzB;MACF;MAEAhB,eAAe,CAACiD,KAAK,EAAE;QACrBqE,cAAc,EAAE,eAAe;QAC/B9D,IAAI,EAAElD,iBAAiB;QACvBc,OAAO;QACPmG,YAAY,EAAGC,GAAW,IAAKhG,YAAY,CAAC;UAAEyB,KAAK,EAAEuE;QAAI,CAAC,CAAC;QAC3D7F,MAAM;QACN8B,MAAM,EAAE+G,SAAS,GAAG,GAAG,GAAGC;MAC5B,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CACE7J,eAAe,EACfI,iBAAiB,EACjBW,MAAM,EACNP,OAAO,EACPX,WAAW,EACXE,QAAQ,EACRa,YAAY,EACZP,aAAa,EACbH,cAAc,CAElB,CAAC;;EAED;AACF;AACA;EACE,MAAM4J,SAAS,GAAG7K,WAAW,CAAC,YAA2B;IACvD,IAAI,CAACe,eAAe,EAAE;MACpB,MAAMqC,KAAK,GAAG,IAAIE,KAAK,CAAC,yBAAyB,CAAC;MAClD3B,YAAY,CAAC;QAAEyB,KAAK,EAAEA,KAAK,CAACG;MAAQ,CAAC,CAAC;MACtChC,OAAO,GAAG;QAAEgC,OAAO,EAAEH,KAAK,CAACG,OAAO;QAAEI,IAAI,EAAEjD,qBAAqB;QAAEkD,MAAM,EAAE;MAAI,CAAC,CAAC;MAC/E,MAAMR,KAAK;IACb;IAEA,IAAI;MACF,MAAMxC,WAAW,CAACkK,iBAAiB,CAAC/J,eAAe,CAAC;MACpD,MAAMI,iBAAiB,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAOiC,KAAK,EAAE;MACdjD,eAAe,CAACiD,KAAK,EAAE;QACrBqE,cAAc,EAAE,mBAAmB;QACnC9D,IAAI,EAAEjD,qBAAqB;QAC3Ba,OAAO;QACPmG,YAAY,EAAGC,GAAW,IAAKhG,YAAY,CAAC;UAAEyB,KAAK,EAAEuE;QAAI,CAAC,CAAC;QAC3D7F;MACF,CAAC,CAAC;MACF,MAAMsB,KAAK,YAAYE,KAAK,GAAGF,KAAK,GAAG,IAAIE,KAAK,CAAC,mBAAmB,CAAC;IACvE;EACF,CAAC,EAAE,CAACvC,eAAe,EAAEI,iBAAiB,EAAEW,MAAM,EAAEP,OAAO,EAAEX,WAAW,EAAEe,YAAY,CAAC,CAAC;;EAEpF;AACF;AACA;EACE,MAAM4F,WAAW,GAAGvH,WAAW,CAAC,YAA8B;IAC5D,OAAOK,UAAU,CAACkH,WAAW,CAAC,CAAC;EACjC,CAAC,EAAE,EAAE,CAAC;;EAEN;AACF;AACA;EACE,MAAMb,YAAY,GAAG1G,WAAW,CAAC,YAAoC;IACnE,OAAOK,UAAU,CAACqG,YAAY,CAAC,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLF,cAAc;IACd2B,cAAc;IACdmC,MAAM;IACNC,MAAM;IACNM,SAAS;IACTtD,WAAW;IACXb,YAAY;IACZqE,gBAAgB,EAAEnD,kBAAkB;IACpCG;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "5.16.
|
|
3
|
+
"version": "5.16.40",
|
|
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",
|
|
@@ -313,13 +313,17 @@ export const useAuthOperations = ({
|
|
|
313
313
|
);
|
|
314
314
|
|
|
315
315
|
/**
|
|
316
|
-
* Create a new identity (offline-first)
|
|
317
|
-
* Identity is purely cryptographic - no username or email required
|
|
316
|
+
* Create a new identity (offline-first).
|
|
318
317
|
*
|
|
319
|
-
*
|
|
320
|
-
*
|
|
318
|
+
* Generates cryptographic keys locally without requiring server connection.
|
|
319
|
+
* Identity is based on the public/private key pair - no username or email required.
|
|
320
|
+
*
|
|
321
|
+
* IMPORTANT: This function only clears session data if the identity actually changes
|
|
322
|
+
* (i.e., a new key pair is generated). Retrying registration with the same identity
|
|
323
|
+
* will NOT clear session data.
|
|
321
324
|
*
|
|
322
325
|
* @param username - Optional username to set during registration (if online)
|
|
326
|
+
* @returns Object with synced status indicating if identity was registered with server
|
|
323
327
|
*/
|
|
324
328
|
const createIdentity = useCallback(
|
|
325
329
|
async (username?: string): Promise<{ synced: boolean }> => {
|
|
@@ -328,8 +332,8 @@ export const useAuthOperations = ({
|
|
|
328
332
|
setAuthState({ isLoading: true, error: null });
|
|
329
333
|
|
|
330
334
|
try {
|
|
331
|
-
//
|
|
332
|
-
//
|
|
335
|
+
// Get old public key before creating new identity
|
|
336
|
+
// This is used to detect if identity actually changed
|
|
333
337
|
const oldPublicKey = await KeyManager.getPublicKey().catch(() => null);
|
|
334
338
|
|
|
335
339
|
if (__DEV__ && logger) {
|
|
@@ -344,7 +348,8 @@ export const useAuthOperations = ({
|
|
|
344
348
|
logger('Identity keys generated', { publicKey: publicKey.substring(0, 16) + '...' });
|
|
345
349
|
}
|
|
346
350
|
|
|
347
|
-
//
|
|
351
|
+
// Only clear sessions if identity actually changed
|
|
352
|
+
// This prevents clearing sessions on registration retries
|
|
348
353
|
await clearSessionsIfIdentityChanged(oldPublicKey, publicKey);
|
|
349
354
|
|
|
350
355
|
// Mark as not synced initially
|
|
@@ -377,10 +382,17 @@ export const useAuthOperations = ({
|
|
|
377
382
|
|
|
378
383
|
return { synced: false };
|
|
379
384
|
}
|
|
385
|
+
} else {
|
|
386
|
+
// Invalid username format - log the issue
|
|
387
|
+
if (__DEV__ && logger) {
|
|
388
|
+
logger('Invalid username format, identity created without username', {
|
|
389
|
+
providedUsername: username.substring(0, 20),
|
|
390
|
+
});
|
|
391
|
+
}
|
|
380
392
|
}
|
|
381
393
|
}
|
|
382
394
|
|
|
383
|
-
// No username provided - defer registration until later
|
|
395
|
+
// No username provided or invalid format - defer registration until later
|
|
384
396
|
if (__DEV__ && logger) {
|
|
385
397
|
logger('Identity created locally without username, will register during sync');
|
|
386
398
|
}
|
|
@@ -437,10 +449,16 @@ export const useAuthOperations = ({
|
|
|
437
449
|
}, [storage, setIdentitySynced]);
|
|
438
450
|
|
|
439
451
|
/**
|
|
440
|
-
* Sync local identity with server
|
|
441
|
-
*
|
|
452
|
+
* Sync local identity with server.
|
|
453
|
+
*
|
|
454
|
+
* Registers the identity with the server if not already registered.
|
|
455
|
+
* This function is idempotent - calling it multiple times is safe.
|
|
442
456
|
*
|
|
443
|
-
*
|
|
457
|
+
* TanStack Query handles offline mutations automatically, so this will
|
|
458
|
+
* retry automatically when connection is restored.
|
|
459
|
+
*
|
|
460
|
+
* @param username - Optional username to set during sync/registration
|
|
461
|
+
* @returns User object after successful sync and sign-in
|
|
444
462
|
*/
|
|
445
463
|
const syncIdentity = useCallback(
|
|
446
464
|
async (username?: string): Promise<User> => {
|
|
@@ -459,6 +477,7 @@ export const useAuthOperations = ({
|
|
|
459
477
|
const alreadySynced = await storage.getItem('oxy_identity_synced');
|
|
460
478
|
if (alreadySynced === 'true') {
|
|
461
479
|
setIdentitySynced(true);
|
|
480
|
+
// Identity is already synced, just sign in
|
|
462
481
|
return await performSignIn(publicKey);
|
|
463
482
|
}
|
|
464
483
|
|
|
@@ -500,11 +519,19 @@ export const useAuthOperations = ({
|
|
|
500
519
|
);
|
|
501
520
|
|
|
502
521
|
/**
|
|
503
|
-
* Import identity from backup file
|
|
522
|
+
* Import identity from encrypted backup file.
|
|
523
|
+
*
|
|
524
|
+
* Restores a previously created identity from an encrypted backup.
|
|
525
|
+
* The backup is decrypted using the provided password.
|
|
526
|
+
*
|
|
527
|
+
* IMPORTANT: This function clears session data only if importing a different
|
|
528
|
+
* identity than the one currently stored. Re-importing the same identity
|
|
529
|
+
* will NOT clear session data.
|
|
504
530
|
*
|
|
505
|
-
* @param backupData - The backup data
|
|
531
|
+
* @param backupData - The encrypted backup data object
|
|
506
532
|
* @param password - Password to decrypt the backup
|
|
507
|
-
* @param username - Optional username to set during registration
|
|
533
|
+
* @param username - Optional username to set during registration if not yet registered
|
|
534
|
+
* @returns Object with synced status indicating if identity was registered with server
|
|
508
535
|
*/
|
|
509
536
|
const importIdentity = useCallback(
|
|
510
537
|
async (backupData: BackupData, password: string, username?: string): Promise<{ synced: boolean }> => {
|
|
@@ -526,8 +553,8 @@ export const useAuthOperations = ({
|
|
|
526
553
|
setAuthState({ isLoading: true, error: null });
|
|
527
554
|
|
|
528
555
|
try {
|
|
529
|
-
//
|
|
530
|
-
//
|
|
556
|
+
// Get old public key before importing identity
|
|
557
|
+
// This is used to detect if identity actually changed
|
|
531
558
|
const oldPublicKey = await KeyManager.getPublicKey().catch(() => null);
|
|
532
559
|
|
|
533
560
|
if (__DEV__ && logger) {
|
|
@@ -582,10 +609,11 @@ export const useAuthOperations = ({
|
|
|
582
609
|
throw new Error('Backup file is corrupted or password is incorrect');
|
|
583
610
|
}
|
|
584
611
|
|
|
585
|
-
//
|
|
612
|
+
// Only clear sessions if identity actually changed
|
|
613
|
+
// This prevents clearing sessions when re-importing the same identity
|
|
586
614
|
await clearSessionsIfIdentityChanged(oldPublicKey, publicKey);
|
|
587
615
|
|
|
588
|
-
// Mark as not synced
|
|
616
|
+
// Mark as not synced initially (will check server status below)
|
|
589
617
|
await storage.setItem('oxy_identity_synced', 'false');
|
|
590
618
|
setIdentitySynced(false);
|
|
591
619
|
|
|
@@ -595,12 +623,12 @@ export const useAuthOperations = ({
|
|
|
595
623
|
const { registered } = await oxyServices.checkPublicKeyRegistered(publicKey);
|
|
596
624
|
|
|
597
625
|
if (registered) {
|
|
598
|
-
// Identity exists, mark as synced
|
|
626
|
+
// Identity exists on server, mark as synced
|
|
599
627
|
await storage.setItem('oxy_identity_synced', 'true');
|
|
600
628
|
setIdentitySynced(true);
|
|
601
629
|
return { synced: true };
|
|
602
630
|
} else {
|
|
603
|
-
// Need to register this identity
|
|
631
|
+
// Need to register this identity
|
|
604
632
|
const { signature, timestamp } = await SignatureService.createRegistrationSignature();
|
|
605
633
|
await oxyServices.register(publicKey, signature, timestamp, username);
|
|
606
634
|
|
|
@@ -609,7 +637,7 @@ export const useAuthOperations = ({
|
|
|
609
637
|
return { synced: true };
|
|
610
638
|
}
|
|
611
639
|
} catch (syncError) {
|
|
612
|
-
// Offline - identity restored locally but not synced
|
|
640
|
+
// Offline or server error - identity restored locally but not synced
|
|
613
641
|
if (__DEV__) {
|
|
614
642
|
console.log('[Auth] Identity imported locally, will sync when online:', syncError);
|
|
615
643
|
}
|