@oxyhq/services 5.16.18 → 5.16.20
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/README.md +7 -8
- package/lib/commonjs/crypto/index.js +0 -7
- package/lib/commonjs/crypto/index.js.map +1 -1
- package/lib/commonjs/crypto/keyManager.js +2 -2
- package/lib/commonjs/crypto/polyfill.js +4 -4
- package/lib/commonjs/crypto/types.js +2 -0
- package/lib/commonjs/crypto/types.js.map +1 -0
- package/lib/commonjs/i18n/locales/en-US.json +1 -1
- package/lib/commonjs/index.js +0 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +54 -11
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +56 -15
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionSocket.js +52 -2
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/crypto/index.js +2 -4
- package/lib/module/crypto/index.js.map +1 -1
- package/lib/module/crypto/keyManager.js +2 -2
- package/lib/module/crypto/polyfill.js +4 -4
- package/lib/module/crypto/types.js +2 -0
- package/lib/module/crypto/types.js.map +1 -0
- package/lib/module/i18n/locales/en-US.json +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +49 -6
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +56 -16
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/hooks/useSessionSocket.js +52 -2
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/typescript/crypto/index.d.ts +2 -2
- package/lib/typescript/crypto/index.d.ts.map +1 -1
- package/lib/typescript/crypto/keyManager.d.ts +2 -2
- package/lib/typescript/crypto/polyfill.d.ts +2 -2
- package/lib/typescript/crypto/types.d.ts +18 -0
- package/lib/typescript/crypto/types.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts +2 -2
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +3 -3
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts +7 -1
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/package.json +1 -2
- package/src/crypto/index.ts +3 -6
- package/src/crypto/keyManager.ts +2 -2
- package/src/crypto/polyfill.ts +4 -4
- package/src/crypto/types.ts +19 -0
- package/src/i18n/locales/en-US.json +1 -1
- package/src/index.ts +2 -4
- package/src/ui/context/OxyContext.tsx +63 -7
- package/src/ui/context/hooks/useAuthOperations.ts +67 -17
- package/src/ui/hooks/useSessionSocket.ts +62 -2
- package/lib/commonjs/crypto/recoveryPhrase.js +0 -152
- package/lib/commonjs/crypto/recoveryPhrase.js.map +0 -1
- package/lib/commonjs/ui/hooks/useIdentityMutations.js +0 -111
- package/lib/commonjs/ui/hooks/useIdentityMutations.js.map +0 -1
- package/lib/module/crypto/recoveryPhrase.js +0 -147
- package/lib/module/crypto/recoveryPhrase.js.map +0 -1
- package/lib/module/ui/hooks/useIdentityMutations.js +0 -105
- package/lib/module/ui/hooks/useIdentityMutations.js.map +0 -1
- package/lib/typescript/crypto/recoveryPhrase.d.ts +0 -59
- package/lib/typescript/crypto/recoveryPhrase.d.ts.map +0 -1
- package/lib/typescript/types/bip39.d.ts +0 -32
- package/lib/typescript/ui/hooks/useIdentityMutations.d.ts +0 -29
- package/lib/typescript/ui/hooks/useIdentityMutations.d.ts.map +0 -1
- package/src/crypto/recoveryPhrase.ts +0 -166
- package/src/types/bip39.d.ts +0 -32
- package/src/ui/hooks/useIdentityMutations.ts +0 -115
|
@@ -4,7 +4,7 @@ import { useCallback } from 'react';
|
|
|
4
4
|
import { DeviceManager } from '../../../utils/deviceManager';
|
|
5
5
|
import { fetchSessionsWithFallback } from '../../utils/sessionHelpers';
|
|
6
6
|
import { handleAuthError, isInvalidSessionError } from '../../utils/errorHandlers';
|
|
7
|
-
import { KeyManager, SignatureService
|
|
7
|
+
import { KeyManager, SignatureService } from '../../../crypto';
|
|
8
8
|
const LOGIN_ERROR_CODE = 'LOGIN_ERROR';
|
|
9
9
|
const REGISTER_ERROR_CODE = 'REGISTER_ERROR';
|
|
10
10
|
const LOGOUT_ERROR_CODE = 'LOGOUT_ERROR';
|
|
@@ -190,7 +190,7 @@ export const useAuthOperations = ({
|
|
|
190
190
|
}, [applyLanguagePreference, logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setActiveSessionId, switchSession, updateSessions, storage]);
|
|
191
191
|
|
|
192
192
|
/**
|
|
193
|
-
* Create a new identity
|
|
193
|
+
* Create a new identity (offline-first)
|
|
194
194
|
* Identity is purely cryptographic - no username or email required
|
|
195
195
|
*/
|
|
196
196
|
const createIdentity = useCallback(async () => {
|
|
@@ -200,12 +200,12 @@ export const useAuthOperations = ({
|
|
|
200
200
|
error: null
|
|
201
201
|
});
|
|
202
202
|
try {
|
|
203
|
-
// Generate new
|
|
203
|
+
// Generate new key pair directly (works offline)
|
|
204
204
|
const {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
205
|
+
publicKey,
|
|
206
|
+
privateKey
|
|
207
|
+
} = await KeyManager.generateKeyPair();
|
|
208
|
+
await KeyManager.importKeyPair(privateKey);
|
|
209
209
|
|
|
210
210
|
// Mark as not synced
|
|
211
211
|
await storage.setItem('oxy_identity_synced', 'false');
|
|
@@ -223,7 +223,6 @@ export const useAuthOperations = ({
|
|
|
223
223
|
await storage.setItem('oxy_identity_synced', 'true');
|
|
224
224
|
setIdentitySynced(true);
|
|
225
225
|
return {
|
|
226
|
-
recoveryPhrase: words,
|
|
227
226
|
synced: true
|
|
228
227
|
};
|
|
229
228
|
} catch (syncError) {
|
|
@@ -232,13 +231,12 @@ export const useAuthOperations = ({
|
|
|
232
231
|
console.log('[Auth] Identity created locally, will sync when online:', syncError);
|
|
233
232
|
}
|
|
234
233
|
return {
|
|
235
|
-
recoveryPhrase: words,
|
|
236
234
|
synced: false
|
|
237
235
|
};
|
|
238
236
|
}
|
|
239
237
|
} catch (error) {
|
|
240
238
|
// CRITICAL: Never delete identity on error - it may have been successfully created
|
|
241
|
-
// Only log the error and let the user recover using their
|
|
239
|
+
// Only log the error and let the user recover using their backup file
|
|
242
240
|
// Identity deletion should ONLY happen when explicitly requested by the user
|
|
243
241
|
if (__DEV__ && logger) {
|
|
244
242
|
logger('Error during identity creation (identity may still exist):', error);
|
|
@@ -251,7 +249,7 @@ export const useAuthOperations = ({
|
|
|
251
249
|
await storage.setItem('oxy_identity_synced', 'false').catch(() => {});
|
|
252
250
|
setIdentitySynced(false);
|
|
253
251
|
if (__DEV__ && logger) {
|
|
254
|
-
logger('Identity was created but sync failed - user can sync later using
|
|
252
|
+
logger('Identity was created but sync failed - user can sync later using backup file');
|
|
255
253
|
}
|
|
256
254
|
} else {
|
|
257
255
|
// No identity exists - this was a generation failure, safe to clean up sync flag
|
|
@@ -362,17 +360,59 @@ export const useAuthOperations = ({
|
|
|
362
360
|
}, [oxyServices, storage, setAuthState, performSignIn, loginFailure, onError, logger, setSyncing, setIdentitySynced]);
|
|
363
361
|
|
|
364
362
|
/**
|
|
365
|
-
* Import identity from
|
|
363
|
+
* Import identity from backup file data (offline-first)
|
|
366
364
|
*/
|
|
367
|
-
const importIdentity = useCallback(async
|
|
365
|
+
const importIdentity = useCallback(async (backupData, password) => {
|
|
368
366
|
if (!storage) throw new Error('Storage not initialized');
|
|
367
|
+
|
|
368
|
+
// Validate arguments - ensure backupData is an object, not a string (old signature)
|
|
369
|
+
if (!backupData || typeof backupData !== 'object' || Array.isArray(backupData)) {
|
|
370
|
+
throw new Error('Invalid backup data. Please use the backup file import feature.');
|
|
371
|
+
}
|
|
372
|
+
if (!backupData.encrypted || !backupData.salt || !backupData.iv || !backupData.publicKey) {
|
|
373
|
+
throw new Error('Invalid backup data structure. Missing required fields.');
|
|
374
|
+
}
|
|
375
|
+
if (!password || typeof password !== 'string') {
|
|
376
|
+
throw new Error('Password is required for backup file import.');
|
|
377
|
+
}
|
|
369
378
|
setAuthState({
|
|
370
379
|
isLoading: true,
|
|
371
380
|
error: null
|
|
372
381
|
});
|
|
373
382
|
try {
|
|
374
|
-
//
|
|
375
|
-
const
|
|
383
|
+
// Decrypt private key from backup data
|
|
384
|
+
const Crypto = await import('expo-crypto');
|
|
385
|
+
|
|
386
|
+
// Convert hex strings to Uint8Array
|
|
387
|
+
const saltBytes = new Uint8Array(backupData.salt.match(/.{1,2}/g)?.map(byte => parseInt(byte, 16)) || []);
|
|
388
|
+
const ivBytes = new Uint8Array(backupData.iv.match(/.{1,2}/g)?.map(byte => parseInt(byte, 16)) || []);
|
|
389
|
+
|
|
390
|
+
// Derive key from password (same algorithm as EncryptedBackupGenerator)
|
|
391
|
+
const saltHex = Array.from(saltBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
392
|
+
let key = password + saltHex;
|
|
393
|
+
for (let i = 0; i < 10000; i++) {
|
|
394
|
+
key = await Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, key);
|
|
395
|
+
}
|
|
396
|
+
const keyBytes = new Uint8Array(32);
|
|
397
|
+
for (let i = 0; i < 64 && i < key.length; i += 2) {
|
|
398
|
+
keyBytes[i / 2] = parseInt(key.substring(i, i + 2), 16);
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
// Decrypt private key (XOR decryption - same as encryption)
|
|
402
|
+
const encryptedBytes = Buffer.from(backupData.encrypted, 'base64');
|
|
403
|
+
const decryptedBytes = new Uint8Array(encryptedBytes.length);
|
|
404
|
+
for (let i = 0; i < encryptedBytes.length; i++) {
|
|
405
|
+
decryptedBytes[i] = encryptedBytes[i] ^ keyBytes[i % keyBytes.length] ^ ivBytes[i % ivBytes.length];
|
|
406
|
+
}
|
|
407
|
+
const privateKey = new TextDecoder().decode(decryptedBytes);
|
|
408
|
+
|
|
409
|
+
// Import the key pair
|
|
410
|
+
const publicKey = await KeyManager.importKeyPair(privateKey);
|
|
411
|
+
|
|
412
|
+
// Verify public key matches
|
|
413
|
+
if (publicKey !== backupData.publicKey) {
|
|
414
|
+
throw new Error('Backup file is corrupted or password is incorrect');
|
|
415
|
+
}
|
|
376
416
|
|
|
377
417
|
// Mark as not synced
|
|
378
418
|
await storage.setItem('oxy_identity_synced', 'false');
|
|
@@ -415,7 +455,7 @@ export const useAuthOperations = ({
|
|
|
415
455
|
}
|
|
416
456
|
} catch (error) {
|
|
417
457
|
const message = handleAuthError(error, {
|
|
418
|
-
defaultMessage: 'Failed to import identity',
|
|
458
|
+
defaultMessage: 'Failed to import identity. Please check your password and backup file.',
|
|
419
459
|
code: REGISTER_ERROR_CODE,
|
|
420
460
|
onError,
|
|
421
461
|
setAuthError: msg => setAuthState({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","KeyManager","SignatureService","RecoveryPhraseService","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","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challenge","isOffline","challengeResponse","requestChallenge","error","errorMessage","Error","message","String","isNetworkError","includes","code","status","__DEV__","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","allDeviceSessions","fallbackDeviceId","fallbackUserId","console","warn","existingSession","find","session","logoutSession","logoutError","filter","createIdentity","isLoading","phrase","words","generateIdentityWithRecovery","createRegistrationSignature","register","recoveryPhrase","synced","syncError","log","hasIdentity","catch","removeItem","defaultMessage","setAuthError","msg","isIdentitySyncedFn","getItem","isSynced","syncIdentity","getPublicKey","alreadySynced","registered","checkPublicKeyRegistered","usernameError","importIdentity","restoreFromPhrase","signIn","logout","targetSessionId","sessionToLogout","filteredSessions","length","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","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challenge","isOffline","challengeResponse","requestChallenge","error","errorMessage","Error","message","String","isNetworkError","includes","code","status","__DEV__","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","allDeviceSessions","fallbackDeviceId","fallbackUserId","console","warn","existingSession","find","session","logoutSession","logoutError","filter","createIdentity","isLoading","privateKey","generateKeyPair","importKeyPair","createRegistrationSignature","register","synced","syncError","log","hasIdentity","catch","removeItem","defaultMessage","setAuthError","msg","isIdentitySyncedFn","getItem","isSynced","syncIdentity","getPublicKey","alreadySynced","registered","checkPublicKeyRegistered","usernameError","importIdentity","backupData","password","Array","isArray","encrypted","salt","iv","Crypto","saltBytes","Uint8Array","match","map","byte","parseInt","ivBytes","saltHex","from","b","padStart","join","key","i","digestStringAsync","CryptoDigestAlgorithm","SHA256","keyBytes","length","substring","encryptedBytes","Buffer","decryptedBytes","TextDecoder","decode","signIn","logout","targetSessionId","sessionToLogout","filteredSessions","isInvalid","undefined","logoutAll","logoutAllSessions","isIdentitySynced"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,8 @@ export function useSessionSocket({
|
|
|
13
13
|
clearSessionState,
|
|
14
14
|
baseURL,
|
|
15
15
|
onRemoteSignOut,
|
|
16
|
-
onSessionRemoved
|
|
16
|
+
onSessionRemoved,
|
|
17
|
+
onIdentityTransferComplete
|
|
17
18
|
}) {
|
|
18
19
|
const socketRef = useRef(null);
|
|
19
20
|
const joinedRoomRef = useRef(null);
|
|
@@ -24,6 +25,7 @@ export function useSessionSocket({
|
|
|
24
25
|
const clearSessionStateRef = useRef(clearSessionState);
|
|
25
26
|
const onRemoteSignOutRef = useRef(onRemoteSignOut);
|
|
26
27
|
const onSessionRemovedRef = useRef(onSessionRemoved);
|
|
28
|
+
const onIdentityTransferCompleteRef = useRef(onIdentityTransferComplete);
|
|
27
29
|
const activeSessionIdRef = useRef(activeSessionId);
|
|
28
30
|
const currentDeviceIdRef = useRef(currentDeviceId);
|
|
29
31
|
|
|
@@ -34,9 +36,10 @@ export function useSessionSocket({
|
|
|
34
36
|
clearSessionStateRef.current = clearSessionState;
|
|
35
37
|
onRemoteSignOutRef.current = onRemoteSignOut;
|
|
36
38
|
onSessionRemovedRef.current = onSessionRemoved;
|
|
39
|
+
onIdentityTransferCompleteRef.current = onIdentityTransferComplete;
|
|
37
40
|
activeSessionIdRef.current = activeSessionId;
|
|
38
41
|
currentDeviceIdRef.current = currentDeviceId;
|
|
39
|
-
}, [refreshSessions, logout, clearSessionState, onRemoteSignOut, onSessionRemoved, activeSessionId, currentDeviceId]);
|
|
42
|
+
}, [refreshSessions, logout, clearSessionState, onRemoteSignOut, onSessionRemoved, onIdentityTransferComplete, activeSessionId, currentDeviceId]);
|
|
40
43
|
useEffect(() => {
|
|
41
44
|
if (!userId || !baseURL) {
|
|
42
45
|
// Clean up if userId or baseURL becomes invalid
|
|
@@ -198,6 +201,53 @@ export function useSessionSocket({
|
|
|
198
201
|
}
|
|
199
202
|
});
|
|
200
203
|
}
|
|
204
|
+
} else if (data.type === 'identity_transfer_complete') {
|
|
205
|
+
// Handle identity transfer completion notification
|
|
206
|
+
const transferData = data;
|
|
207
|
+
if (__DEV__) {
|
|
208
|
+
logger.debug('Received identity_transfer_complete event', {
|
|
209
|
+
component: 'useSessionSocket',
|
|
210
|
+
transferId: transferData.transferId,
|
|
211
|
+
sourceDeviceId: transferData.sourceDeviceId,
|
|
212
|
+
currentDeviceId,
|
|
213
|
+
activeSessionId: activeSessionIdRef.current
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Check if this device is the source device
|
|
218
|
+
// Match by deviceId if available, otherwise show prompt if we have an active session
|
|
219
|
+
// (user can decide if they want to delete)
|
|
220
|
+
const isSourceDevice = transferData.sourceDeviceId && (transferData.sourceDeviceId === currentDeviceId ||
|
|
221
|
+
// Fallback: if we don't have currentDeviceId but have an active session,
|
|
222
|
+
// show the prompt anyway (user can decide)
|
|
223
|
+
currentDeviceId === null && activeSessionIdRef.current !== null);
|
|
224
|
+
if (isSourceDevice) {
|
|
225
|
+
if (__DEV__) {
|
|
226
|
+
logger.debug('Matched source device, showing deletion prompt', {
|
|
227
|
+
component: 'useSessionSocket',
|
|
228
|
+
transferId: transferData.transferId,
|
|
229
|
+
sourceDeviceId: transferData.sourceDeviceId,
|
|
230
|
+
currentDeviceId,
|
|
231
|
+
matchedBy: transferData.sourceDeviceId === currentDeviceId ? 'deviceId' : 'session'
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
// This is the source device - notify callback to show deletion prompt
|
|
235
|
+
if (onIdentityTransferCompleteRef.current) {
|
|
236
|
+
onIdentityTransferCompleteRef.current({
|
|
237
|
+
transferId: transferData.transferId,
|
|
238
|
+
sourceDeviceId: transferData.sourceDeviceId,
|
|
239
|
+
publicKey: transferData.publicKey,
|
|
240
|
+
completedAt: transferData.completedAt
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
} else if (__DEV__) {
|
|
244
|
+
logger.debug('Not the source device, ignoring transfer completion', {
|
|
245
|
+
component: 'useSessionSocket',
|
|
246
|
+
sourceDeviceId: transferData.sourceDeviceId,
|
|
247
|
+
currentDeviceId,
|
|
248
|
+
hasActiveSession: activeSessionIdRef.current !== null
|
|
249
|
+
});
|
|
250
|
+
}
|
|
201
251
|
} else {
|
|
202
252
|
// For other event types (e.g., session_created), refresh sessions (with error handling)
|
|
203
253
|
refreshSessionsRef.current().catch(error => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","io","toast","logger","useSessionSocket","userId","activeSessionId","currentDeviceId","refreshSessions","logout","clearSessionState","baseURL","onRemoteSignOut","onSessionRemoved","socketRef","joinedRoomRef","refreshSessionsRef","logoutRef","clearSessionStateRef","onRemoteSignOutRef","onSessionRemovedRef","activeSessionIdRef","currentDeviceIdRef","current","emit","roomId","transports","socket","__DEV__","console","log","handleConnect","id","handleSessionUpdate","data","currentActiveSessionId","type","sessionId","info","error","Error","String","component","catch","debug","sessionIds","deviceId","includes","on","off"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionSocket.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,OAAOC,EAAE,MAAM,kBAAkB;AACjC,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,MAAM,QAAQ,yBAAyB;
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","io","toast","logger","useSessionSocket","userId","activeSessionId","currentDeviceId","refreshSessions","logout","clearSessionState","baseURL","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","socketRef","joinedRoomRef","refreshSessionsRef","logoutRef","clearSessionStateRef","onRemoteSignOutRef","onSessionRemovedRef","onIdentityTransferCompleteRef","activeSessionIdRef","currentDeviceIdRef","current","emit","roomId","transports","socket","__DEV__","console","log","handleConnect","id","handleSessionUpdate","data","currentActiveSessionId","type","sessionId","info","error","Error","String","component","catch","debug","sessionIds","deviceId","includes","transferData","transferId","sourceDeviceId","isSourceDevice","matchedBy","publicKey","completedAt","hasActiveSession","on","off"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionSocket.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Oxy Crypto Module
|
|
3
3
|
*
|
|
4
4
|
* Provides cryptographic identity management for the Oxy ecosystem.
|
|
5
|
-
* Handles key generation, secure storage, digital signatures
|
|
5
|
+
* Handles key generation, secure storage, and digital signatures.
|
|
6
6
|
*/
|
|
7
7
|
import './polyfill';
|
|
8
8
|
export { KeyManager, type KeyPair } from './keyManager';
|
|
9
9
|
export { SignatureService, type SignedMessage, type AuthChallenge } from './signatureService';
|
|
10
|
-
export {
|
|
10
|
+
export { type BackupData } from './types';
|
|
11
11
|
export { KeyManager as default } from './keyManager';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -32,7 +32,7 @@ export declare class KeyManager {
|
|
|
32
32
|
*/
|
|
33
33
|
static createIdentity(): Promise<string>;
|
|
34
34
|
/**
|
|
35
|
-
* Import an existing key pair (e.g., from
|
|
35
|
+
* Import an existing key pair (e.g., from backup file)
|
|
36
36
|
*/
|
|
37
37
|
static importKeyPair(privateKey: string): Promise<string>;
|
|
38
38
|
/**
|
|
@@ -50,7 +50,7 @@ export declare class KeyManager {
|
|
|
50
50
|
static hasIdentity(): Promise<boolean>;
|
|
51
51
|
/**
|
|
52
52
|
* Delete the stored identity (both keys)
|
|
53
|
-
* Use with EXTREME caution - this is irreversible without a
|
|
53
|
+
* Use with EXTREME caution - this is irreversible without a backup file
|
|
54
54
|
* This should ONLY be called when explicitly requested by the user
|
|
55
55
|
* @param skipBackup - If true, skip backup before deletion (default: false)
|
|
56
56
|
* @param force - If true, skip confirmation checks (default: false)
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* before any crypto operations are performed.
|
|
6
6
|
*
|
|
7
7
|
* Polyfills included:
|
|
8
|
-
* - Buffer: Required by
|
|
9
|
-
* - crypto.getRandomValues: Required
|
|
8
|
+
* - Buffer: Required by crypto libraries
|
|
9
|
+
* - crypto.getRandomValues: Required for secure random number generation
|
|
10
10
|
*/
|
|
11
11
|
import { Buffer } from 'buffer';
|
|
12
12
|
export { Buffer };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cryptographic types for identity management
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Encrypted backup data structure
|
|
6
|
+
* Used for identity backup files and QR code transfers
|
|
7
|
+
*/
|
|
8
|
+
export interface BackupData {
|
|
9
|
+
/** Base64-encoded encrypted private key */
|
|
10
|
+
encrypted: string;
|
|
11
|
+
/** Hex-encoded salt used for key derivation */
|
|
12
|
+
salt: string;
|
|
13
|
+
/** Hex-encoded initialization vector */
|
|
14
|
+
iv: string;
|
|
15
|
+
/** Public key associated with the encrypted private key */
|
|
16
|
+
publicKey: string;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/crypto/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* - Backend: Core functionality only (UI components are no-ops)
|
|
7
7
|
*/
|
|
8
8
|
import './crypto/polyfill';
|
|
9
|
-
export { KeyManager, SignatureService
|
|
9
|
+
export { KeyManager, SignatureService } from './crypto';
|
|
10
10
|
export { OxyServices, OxyAuthenticationError, OxyAuthenticationTimeoutError } from './core';
|
|
11
11
|
export { OXY_CLOUD_URL, oxyClient } from './core';
|
|
12
|
-
export type { KeyPair, SignedMessage, AuthChallenge
|
|
12
|
+
export type { KeyPair, SignedMessage, AuthChallenge } from './crypto';
|
|
13
13
|
export { OxyContextProvider, // Backward compatibility
|
|
14
14
|
useOxy } from './ui/context/OxyContext';
|
|
15
15
|
export { default as OxyProvider } from './ui/components/OxyProvider';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,mBAAmB,CAAC;AAG3B,OAAO,EACL,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import type { ClientSession } from '../../models/session';
|
|
|
6
6
|
import type { UseFollowHook } from '../hooks/useFollow.types';
|
|
7
7
|
import { useLanguageManagement } from '../hooks/useLanguageManagement';
|
|
8
8
|
import type { RouteName } from '../navigation/routes';
|
|
9
|
+
import { type BackupData } from '../../crypto';
|
|
9
10
|
export interface OxyContextState {
|
|
10
11
|
user: User | null;
|
|
11
12
|
sessions: ClientSession[];
|
|
@@ -20,10 +21,9 @@ export interface OxyContextState {
|
|
|
20
21
|
currentLanguageName: string;
|
|
21
22
|
currentNativeLanguageName: string;
|
|
22
23
|
createIdentity: () => Promise<{
|
|
23
|
-
recoveryPhrase: string[];
|
|
24
24
|
synced: boolean;
|
|
25
25
|
}>;
|
|
26
|
-
importIdentity: (
|
|
26
|
+
importIdentity: (backupData: BackupData, password: string) => Promise<{
|
|
27
27
|
synced: boolean;
|
|
28
28
|
}>;
|
|
29
29
|
signIn: (deviceName?: string) => Promise<User>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAMvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { AuthState } from '../../stores/authStore';
|
|
|
3
3
|
import type { ClientSession } from '../../../models/session';
|
|
4
4
|
import type { StorageInterface } from '../../utils/storageHelpers';
|
|
5
5
|
import type { OxyServices } from '../../../core';
|
|
6
|
+
import { type BackupData } from '../../../crypto';
|
|
6
7
|
export interface UseAuthOperationsOptions {
|
|
7
8
|
oxyServices: OxyServices;
|
|
8
9
|
storage: StorageInterface | null;
|
|
@@ -29,11 +30,10 @@ export interface UseAuthOperationsOptions {
|
|
|
29
30
|
export interface UseAuthOperationsResult {
|
|
30
31
|
/** Create a new identity locally (offline-first) and optionally sync with server */
|
|
31
32
|
createIdentity: () => Promise<{
|
|
32
|
-
recoveryPhrase: string[];
|
|
33
33
|
synced: boolean;
|
|
34
34
|
}>;
|
|
35
|
-
/** Import an existing identity from
|
|
36
|
-
importIdentity: (
|
|
35
|
+
/** Import an existing identity from backup file data */
|
|
36
|
+
importIdentity: (backupData: BackupData, password: string) => Promise<{
|
|
37
37
|
synced: boolean;
|
|
38
38
|
}>;
|
|
39
39
|
/** Sign in with existing identity on device */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,13 @@ interface UseSessionSocketProps {
|
|
|
8
8
|
baseURL: string;
|
|
9
9
|
onRemoteSignOut?: () => void;
|
|
10
10
|
onSessionRemoved?: (sessionId: string) => void;
|
|
11
|
+
onIdentityTransferComplete?: (data: {
|
|
12
|
+
transferId: string;
|
|
13
|
+
sourceDeviceId: string;
|
|
14
|
+
publicKey: string;
|
|
15
|
+
completedAt: string;
|
|
16
|
+
}) => void;
|
|
11
17
|
}
|
|
12
|
-
export declare function useSessionSocket({ userId, activeSessionId, currentDeviceId, refreshSessions, logout, clearSessionState, baseURL, onRemoteSignOut, onSessionRemoved }: UseSessionSocketProps): void;
|
|
18
|
+
export declare function useSessionSocket({ userId, activeSessionId, currentDeviceId, refreshSessions, logout, clearSessionState, baseURL, onRemoteSignOut, onSessionRemoved, onIdentityTransferComplete }: UseSessionSocketProps): void;
|
|
13
19
|
export {};
|
|
14
20
|
//# sourceMappingURL=useSessionSocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionSocket.d.ts","sourceRoot":"","sources":["../../../../src/ui/hooks/useSessionSocket.ts"],"names":[],"mappings":"AAKA,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useSessionSocket.d.ts","sourceRoot":"","sources":["../../../../src/ui/hooks/useSessionSocket.ts"],"names":[],"mappings":"AAKA,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrI;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,qBAAqB,QAuRvN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "5.16.
|
|
3
|
+
"version": "5.16.20",
|
|
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",
|
|
@@ -94,7 +94,6 @@
|
|
|
94
94
|
"@react-native-community/netinfo": "^11.4.1",
|
|
95
95
|
"@tanstack/react-query": "^5.59.0",
|
|
96
96
|
"axios": "^1.9.0",
|
|
97
|
-
"bip39": "^3.1.0",
|
|
98
97
|
"buffer": "^6.0.3",
|
|
99
98
|
"elliptic": "^6.6.1",
|
|
100
99
|
"expo-blur": "~15.0.8",
|
package/src/crypto/index.ts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Oxy Crypto Module
|
|
3
3
|
*
|
|
4
4
|
* Provides cryptographic identity management for the Oxy ecosystem.
|
|
5
|
-
* Handles key generation, secure storage, digital signatures
|
|
5
|
+
* Handles key generation, secure storage, and digital signatures.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
// Import polyfills first - this ensures Buffer is available for
|
|
8
|
+
// Import polyfills first - this ensures Buffer is available for crypto libraries
|
|
9
9
|
import './polyfill';
|
|
10
10
|
|
|
11
11
|
export { KeyManager, type KeyPair } from './keyManager';
|
|
@@ -14,10 +14,7 @@ export {
|
|
|
14
14
|
type SignedMessage,
|
|
15
15
|
type AuthChallenge
|
|
16
16
|
} from './signatureService';
|
|
17
|
-
export {
|
|
18
|
-
RecoveryPhraseService,
|
|
19
|
-
type RecoveryPhraseResult
|
|
20
|
-
} from './recoveryPhrase';
|
|
17
|
+
export { type BackupData } from './types';
|
|
21
18
|
|
|
22
19
|
// Re-export for convenience
|
|
23
20
|
export { KeyManager as default } from './keyManager';
|
package/src/crypto/keyManager.ts
CHANGED
|
@@ -181,7 +181,7 @@ export class KeyManager {
|
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
/**
|
|
184
|
-
* Import an existing key pair (e.g., from
|
|
184
|
+
* Import an existing key pair (e.g., from backup file)
|
|
185
185
|
*/
|
|
186
186
|
static async importKeyPair(privateKey: string): Promise<string> {
|
|
187
187
|
if (isWebPlatform()) {
|
|
@@ -287,7 +287,7 @@ export class KeyManager {
|
|
|
287
287
|
|
|
288
288
|
/**
|
|
289
289
|
* Delete the stored identity (both keys)
|
|
290
|
-
* Use with EXTREME caution - this is irreversible without a
|
|
290
|
+
* Use with EXTREME caution - this is irreversible without a backup file
|
|
291
291
|
* This should ONLY be called when explicitly requested by the user
|
|
292
292
|
* @param skipBackup - If true, skip backup before deletion (default: false)
|
|
293
293
|
* @param force - If true, skip confirmation checks (default: false)
|