@oxyhq/services 5.16.33 → 5.16.35
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 +26 -8
- package/lib/commonjs/core/OxyServices.base.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.utility.js.map +1 -1
- package/lib/commonjs/core/services/AuthService.js +156 -0
- package/lib/commonjs/core/services/AuthService.js.map +1 -0
- package/lib/commonjs/core/services/SessionService.js +1 -2
- package/lib/commonjs/core/services/SessionService.js.map +1 -1
- package/lib/commonjs/core/services/SessionTransportService.js +64 -0
- package/lib/commonjs/core/services/SessionTransportService.js.map +1 -0
- package/lib/commonjs/core/services/TokenService.js +9 -17
- package/lib/commonjs/core/services/TokenService.js.map +1 -1
- package/lib/commonjs/core/services/UserService.js +123 -0
- package/lib/commonjs/core/services/UserService.js.map +1 -0
- package/lib/commonjs/core/services/index.js +34 -0
- package/lib/commonjs/core/services/index.js.map +1 -0
- package/lib/commonjs/crypto/index.js.map +1 -1
- package/lib/commonjs/crypto/keyManager.js +3 -2
- package/lib/commonjs/crypto/keyManager.js.map +1 -1
- package/lib/commonjs/crypto/signatureService.js +28 -122
- package/lib/commonjs/crypto/signatureService.js.map +1 -1
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/interfaces.js +11 -11
- package/lib/commonjs/models/interfaces.js.map +1 -1
- package/lib/commonjs/shared/crypto/messageBuilders.js +79 -0
- package/lib/commonjs/shared/crypto/messageBuilders.js.map +1 -0
- package/lib/commonjs/shared/crypto/platform.js +118 -0
- package/lib/commonjs/shared/crypto/platform.js.map +1 -0
- package/lib/commonjs/shared/crypto/signature.js +191 -0
- package/lib/commonjs/shared/crypto/signature.js.map +1 -0
- package/lib/commonjs/shared/index.js +94 -0
- package/lib/commonjs/shared/index.js.map +1 -0
- package/lib/commonjs/shared/models/index.js +2 -0
- package/lib/commonjs/shared/models/index.js.map +1 -0
- package/lib/commonjs/shared/transport/index.js +260 -0
- package/lib/commonjs/shared/transport/index.js.map +1 -0
- package/lib/commonjs/shared/utils/index.js +82 -0
- package/lib/commonjs/shared/utils/index.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +4 -40
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +23 -61
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useLanguageManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +4 -12
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useLanguageManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +0 -8
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/index.js +2 -0
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +2 -11
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/utils/sessionHelpers.js +11 -26
- package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/commonjs/utils/sessionUtils.js +1 -8
- package/lib/commonjs/utils/sessionUtils.js.map +1 -1
- package/lib/module/core/OxyServices.base.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.utility.js.map +1 -1
- package/lib/module/core/services/AuthService.js +151 -0
- package/lib/module/core/services/AuthService.js.map +1 -0
- package/lib/module/core/services/SessionService.js +1 -2
- package/lib/module/core/services/SessionService.js.map +1 -1
- package/lib/module/core/services/SessionTransportService.js +59 -0
- package/lib/module/core/services/SessionTransportService.js.map +1 -0
- package/lib/module/core/services/TokenService.js +9 -17
- package/lib/module/core/services/TokenService.js.map +1 -1
- package/lib/module/core/services/UserService.js +118 -0
- package/lib/module/core/services/UserService.js.map +1 -0
- package/lib/module/core/services/index.js +16 -0
- package/lib/module/core/services/index.js.map +1 -0
- package/lib/module/crypto/index.js +9 -0
- package/lib/module/crypto/index.js.map +1 -1
- package/lib/module/crypto/keyManager.js +3 -2
- package/lib/module/crypto/keyManager.js.map +1 -1
- package/lib/module/crypto/signatureService.js +26 -122
- package/lib/module/crypto/signatureService.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/interfaces.js +11 -11
- package/lib/module/models/interfaces.js.map +1 -1
- package/lib/module/shared/crypto/messageBuilders.js +70 -0
- package/lib/module/shared/crypto/messageBuilders.js.map +1 -0
- package/lib/module/shared/crypto/platform.js +112 -0
- package/lib/module/shared/crypto/platform.js.map +1 -0
- package/lib/module/shared/crypto/signature.js +186 -0
- package/lib/module/shared/crypto/signature.js.map +1 -0
- package/lib/module/shared/index.js +30 -0
- package/lib/module/shared/index.js.map +1 -0
- package/lib/module/shared/models/index.js +2 -0
- package/lib/module/shared/models/index.js.map +1 -0
- package/lib/module/shared/transport/index.js +254 -0
- package/lib/module/shared/transport/index.js.map +1 -0
- package/lib/module/shared/utils/index.js +74 -0
- package/lib/module/shared/utils/index.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +4 -40
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +23 -61
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/hooks/useLanguageManagement.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +5 -13
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/hooks/useLanguageManagement.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +0 -8
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/index.js +1 -0
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +2 -11
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/utils/sessionHelpers.js +11 -26
- package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/module/utils/sessionUtils.js +1 -8
- package/lib/module/utils/sessionUtils.js.map +1 -1
- package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts +1 -1
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.user.d.ts +2 -1
- package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
- package/lib/typescript/core/mixins/index.d.ts +13 -13
- package/lib/typescript/core/mixins/index.d.ts.map +1 -1
- package/lib/typescript/core/services/AuthService.d.ts +50 -0
- package/lib/typescript/core/services/AuthService.d.ts.map +1 -0
- package/lib/typescript/core/services/SessionService.d.ts +3 -5
- package/lib/typescript/core/services/SessionService.d.ts.map +1 -1
- package/lib/typescript/core/services/SessionTransportService.d.ts +31 -0
- package/lib/typescript/core/services/SessionTransportService.d.ts.map +1 -0
- package/lib/typescript/core/services/TokenService.d.ts +3 -8
- package/lib/typescript/core/services/TokenService.d.ts.map +1 -1
- package/lib/typescript/core/services/UserService.d.ts +39 -0
- package/lib/typescript/core/services/UserService.d.ts.map +1 -0
- package/lib/typescript/core/services/index.d.ts +13 -0
- package/lib/typescript/core/services/index.d.ts.map +1 -0
- package/lib/typescript/crypto/index.d.ts +9 -0
- package/lib/typescript/crypto/index.d.ts.map +1 -1
- package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
- package/lib/typescript/crypto/signatureService.d.ts +10 -13
- package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +15 -69
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/models/session.d.ts +2 -4
- package/lib/typescript/models/session.d.ts.map +1 -1
- package/lib/typescript/shared/crypto/messageBuilders.d.ts +38 -0
- package/lib/typescript/shared/crypto/messageBuilders.d.ts.map +1 -0
- package/lib/typescript/shared/crypto/platform.d.ts +54 -0
- package/lib/typescript/shared/crypto/platform.d.ts.map +1 -0
- package/lib/typescript/shared/crypto/signature.d.ts +72 -0
- package/lib/typescript/shared/crypto/signature.d.ts.map +1 -0
- package/lib/typescript/shared/index.d.ts +20 -0
- package/lib/typescript/shared/index.d.ts.map +1 -0
- package/lib/typescript/shared/models/index.d.ts +163 -0
- package/lib/typescript/shared/models/index.d.ts.map +1 -0
- package/lib/typescript/shared/transport/index.d.ts +73 -0
- package/lib/typescript/shared/transport/index.d.ts.map +1 -0
- package/lib/typescript/shared/utils/index.d.ts +28 -0
- package/lib/typescript/shared/utils/index.d.ts.map +1 -0
- package/lib/typescript/ui/context/OxyContext.d.ts +2 -1
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +2 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts +2 -1
- package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +1 -1
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useLanguageManagement.d.ts +2 -1
- package/lib/typescript/ui/hooks/useLanguageManagement.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts +2 -1
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/ui/index.d.ts +1 -1
- package/lib/typescript/ui/index.d.ts.map +1 -1
- package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/ui/utils/avatarUtils.d.ts +1 -1
- package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/ui/utils/sessionHelpers.d.ts +2 -6
- package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -1
- package/lib/typescript/utils/sessionUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/OxyServices.base.ts +2 -1
- package/src/core/mixins/OxyServices.auth.ts +1 -1
- package/src/core/mixins/OxyServices.user.ts +2 -1
- package/src/core/mixins/OxyServices.utility.ts +2 -1
- package/src/core/services/AuthService.ts +153 -0
- package/src/core/services/SessionService.ts +3 -5
- package/src/core/services/SessionTransportService.ts +69 -0
- package/src/core/services/TokenService.ts +10 -18
- package/src/core/services/UserService.ts +125 -0
- package/src/core/services/index.ts +14 -0
- package/src/crypto/index.ts +9 -0
- package/src/crypto/keyManager.ts +3 -2
- package/src/crypto/signatureService.ts +43 -142
- package/src/index.ts +3 -2
- package/src/models/interfaces.ts +21 -74
- package/src/models/session.ts +3 -5
- package/src/shared/crypto/messageBuilders.ts +89 -0
- package/src/shared/crypto/platform.ts +140 -0
- package/src/shared/crypto/signature.ts +235 -0
- package/src/shared/index.ts +28 -0
- package/src/shared/models/index.ts +173 -0
- package/src/shared/transport/index.ts +349 -0
- package/src/shared/utils/index.ts +73 -0
- package/src/ui/context/OxyContext.tsx +22 -57
- package/src/ui/context/hooks/useAuthOperations.ts +33 -65
- package/src/ui/context/hooks/useLanguageManagement.ts +2 -1
- package/src/ui/hooks/auth/index.ts +0 -2
- package/src/ui/hooks/mutations/useAccountMutations.ts +1 -1
- package/src/ui/hooks/mutations/useServicesMutations.ts +1 -1
- package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
- package/src/ui/hooks/queries/useServicesQueries.ts +3 -8
- package/src/ui/hooks/useLanguageManagement.ts +2 -1
- package/src/ui/hooks/useSessionManagement.ts +3 -9
- package/src/ui/index.ts +2 -1
- package/src/ui/screens/AccountSettingsScreen.tsx +6 -6
- package/src/ui/screens/AccountSwitcherScreen.tsx +1 -1
- package/src/ui/screens/OxyAuthScreen.tsx +2 -11
- package/src/ui/screens/ProfileScreen.tsx +1 -1
- package/src/ui/stores/authStore.ts +1 -1
- package/src/ui/types/navigation.ts +1 -1
- package/src/ui/utils/avatarUtils.ts +1 -1
- package/src/ui/utils/sessionHelpers.ts +15 -32
- package/src/utils/sessionUtils.ts +1 -8
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TransportFactory = void 0;
|
|
7
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
8
|
+
/**
|
|
9
|
+
* Transport Abstraction
|
|
10
|
+
*
|
|
11
|
+
* Unified transport layer for WebSocket, SSE, and polling.
|
|
12
|
+
* Provides automatic fallback and unified configuration.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Transport Interface
|
|
17
|
+
* All transport implementations must implement this
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Transport Factory
|
|
22
|
+
* Creates the appropriate transport based on availability and configuration
|
|
23
|
+
*/
|
|
24
|
+
class TransportFactory {
|
|
25
|
+
/**
|
|
26
|
+
* Create a transport with automatic fallback
|
|
27
|
+
* Tries WebSocket first, then SSE, then polling
|
|
28
|
+
*/
|
|
29
|
+
static async create(config, callbacks) {
|
|
30
|
+
// Try WebSocket first (best for real-time)
|
|
31
|
+
if (await this.isWebSocketAvailable()) {
|
|
32
|
+
try {
|
|
33
|
+
return new WebSocketTransport(config, callbacks);
|
|
34
|
+
} catch (error) {
|
|
35
|
+
// Fall through to SSE
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Try SSE second (good for one-way updates)
|
|
40
|
+
if (await this.isSSEAvailable()) {
|
|
41
|
+
try {
|
|
42
|
+
return new SSETransport(config, callbacks);
|
|
43
|
+
} catch (error) {
|
|
44
|
+
// Fall through to polling
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Fall back to polling (always available)
|
|
49
|
+
return new PollingTransport(config, callbacks);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Check if WebSocket is available
|
|
54
|
+
*/
|
|
55
|
+
static async isWebSocketAvailable() {
|
|
56
|
+
// WebSocket is available in browsers and Node.js with socket.io-client
|
|
57
|
+
return typeof window !== 'undefined' || typeof process !== 'undefined';
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Check if SSE is available
|
|
62
|
+
*/
|
|
63
|
+
static async isSSEAvailable() {
|
|
64
|
+
// SSE is available in browsers via EventSource
|
|
65
|
+
// In Node.js, would need a polyfill or library
|
|
66
|
+
return typeof EventSource !== 'undefined' || typeof window !== 'undefined' && 'EventSource' in window;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* WebSocket Transport Implementation
|
|
72
|
+
* Uses socket.io-client for WebSocket connections
|
|
73
|
+
*/
|
|
74
|
+
exports.TransportFactory = TransportFactory;
|
|
75
|
+
class WebSocketTransport {
|
|
76
|
+
socket = null;
|
|
77
|
+
connected = false;
|
|
78
|
+
constructor(config, callbacks) {
|
|
79
|
+
this.config = config;
|
|
80
|
+
this.callbacks = callbacks;
|
|
81
|
+
}
|
|
82
|
+
async connect() {
|
|
83
|
+
// Dynamic import to avoid bundling socket.io-client if not needed
|
|
84
|
+
let io;
|
|
85
|
+
try {
|
|
86
|
+
io = (await Promise.resolve().then(() => _interopRequireWildcard(require('socket.io-client')))).default;
|
|
87
|
+
} catch (error) {
|
|
88
|
+
throw new Error('socket.io-client is required for WebSocket transport. Install it as a dependency.');
|
|
89
|
+
}
|
|
90
|
+
const url = this.config.namespace ? `${this.config.baseURL}/${this.config.namespace}` : this.config.baseURL;
|
|
91
|
+
const socketOptions = {
|
|
92
|
+
transports: ['websocket', 'polling'],
|
|
93
|
+
reconnection: true,
|
|
94
|
+
reconnectionAttempts: this.config.reconnectAttempts ?? 3,
|
|
95
|
+
reconnectionDelay: this.config.reconnectDelay ?? 1000
|
|
96
|
+
};
|
|
97
|
+
if (this.config.accessToken) {
|
|
98
|
+
socketOptions.auth = {
|
|
99
|
+
token: this.config.accessToken
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
this.socket = io(url, socketOptions);
|
|
103
|
+
this.socket.on('connect', () => {
|
|
104
|
+
this.connected = true;
|
|
105
|
+
if (this.config.sessionToken) {
|
|
106
|
+
this.socket.emit('join', this.config.sessionToken);
|
|
107
|
+
}
|
|
108
|
+
this.callbacks.onConnect?.();
|
|
109
|
+
});
|
|
110
|
+
this.socket.on('auth_update', payload => {
|
|
111
|
+
this.callbacks.onUpdate?.(payload);
|
|
112
|
+
});
|
|
113
|
+
this.socket.on('connect_error', error => {
|
|
114
|
+
this.callbacks.onError?.(error);
|
|
115
|
+
});
|
|
116
|
+
this.socket.on('disconnect', () => {
|
|
117
|
+
this.connected = false;
|
|
118
|
+
this.callbacks.onDisconnect?.();
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
disconnect() {
|
|
122
|
+
if (this.socket) {
|
|
123
|
+
this.socket.disconnect();
|
|
124
|
+
this.socket = null;
|
|
125
|
+
this.connected = false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
isConnected() {
|
|
129
|
+
return this.connected && this.socket?.connected === true;
|
|
130
|
+
}
|
|
131
|
+
getType() {
|
|
132
|
+
return 'websocket';
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* SSE Transport Implementation
|
|
138
|
+
* Uses EventSource for Server-Sent Events
|
|
139
|
+
*/
|
|
140
|
+
class SSETransport {
|
|
141
|
+
eventSource = null;
|
|
142
|
+
connected = false;
|
|
143
|
+
constructor(config, callbacks) {
|
|
144
|
+
this.config = config;
|
|
145
|
+
this.callbacks = callbacks;
|
|
146
|
+
}
|
|
147
|
+
async connect() {
|
|
148
|
+
if (typeof EventSource === 'undefined') {
|
|
149
|
+
throw new Error('EventSource is not available in this environment');
|
|
150
|
+
}
|
|
151
|
+
const url = this.config.sessionToken ? `${this.config.baseURL}/auth/session/stream/${this.config.sessionToken}` : `${this.config.baseURL}/auth/session/stream`;
|
|
152
|
+
this.eventSource = new EventSource(url);
|
|
153
|
+
this.eventSource.onopen = () => {
|
|
154
|
+
this.connected = true;
|
|
155
|
+
this.callbacks.onConnect?.();
|
|
156
|
+
};
|
|
157
|
+
this.eventSource.onmessage = event => {
|
|
158
|
+
try {
|
|
159
|
+
const update = JSON.parse(event.data);
|
|
160
|
+
this.callbacks.onUpdate?.(update);
|
|
161
|
+
} catch (error) {
|
|
162
|
+
this.callbacks.onError?.(error);
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
this.eventSource.onerror = error => {
|
|
166
|
+
this.callbacks.onError?.(new Error('SSE connection error'));
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
disconnect() {
|
|
170
|
+
if (this.eventSource) {
|
|
171
|
+
this.eventSource.close();
|
|
172
|
+
this.eventSource = null;
|
|
173
|
+
this.connected = false;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
isConnected() {
|
|
177
|
+
return this.connected && this.eventSource?.readyState === EventSource.OPEN;
|
|
178
|
+
}
|
|
179
|
+
getType() {
|
|
180
|
+
return 'sse';
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Polling Transport Implementation
|
|
186
|
+
* Uses HTTP polling as fallback
|
|
187
|
+
*/
|
|
188
|
+
class PollingTransport {
|
|
189
|
+
intervalId = null;
|
|
190
|
+
connected = false;
|
|
191
|
+
abortController = null;
|
|
192
|
+
constructor(config, callbacks) {
|
|
193
|
+
this.config = config;
|
|
194
|
+
this.callbacks = callbacks;
|
|
195
|
+
}
|
|
196
|
+
async connect() {
|
|
197
|
+
this.connected = true;
|
|
198
|
+
this.callbacks.onConnect?.();
|
|
199
|
+
const poll = async () => {
|
|
200
|
+
if (!this.config.sessionToken) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
this.abortController = new AbortController();
|
|
205
|
+
const response = await fetch(`${this.config.baseURL}/api/auth/session/status/${this.config.sessionToken}`, {
|
|
206
|
+
signal: this.abortController.signal,
|
|
207
|
+
headers: this.config.accessToken ? {
|
|
208
|
+
Authorization: `Bearer ${this.config.accessToken}`
|
|
209
|
+
} : {}
|
|
210
|
+
});
|
|
211
|
+
if (!response.ok) {
|
|
212
|
+
throw new Error(`Polling failed: ${response.statusText}`);
|
|
213
|
+
}
|
|
214
|
+
const data = await response.json();
|
|
215
|
+
if (data.authorized && data.sessionId) {
|
|
216
|
+
this.callbacks.onUpdate?.({
|
|
217
|
+
status: 'authorized',
|
|
218
|
+
sessionId: data.sessionId,
|
|
219
|
+
publicKey: data.publicKey
|
|
220
|
+
});
|
|
221
|
+
} else if (data.status === 'expired') {
|
|
222
|
+
this.callbacks.onUpdate?.({
|
|
223
|
+
status: 'expired'
|
|
224
|
+
});
|
|
225
|
+
} else if (data.status === 'cancelled') {
|
|
226
|
+
this.callbacks.onUpdate?.({
|
|
227
|
+
status: 'cancelled'
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
} catch (error) {
|
|
231
|
+
if (error instanceof Error && error.name !== 'AbortError') {
|
|
232
|
+
this.callbacks.onError?.(error);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
// Poll immediately, then at intervals
|
|
238
|
+
await poll();
|
|
239
|
+
this.intervalId = setInterval(poll, this.config.pollingInterval ?? 3000);
|
|
240
|
+
}
|
|
241
|
+
disconnect() {
|
|
242
|
+
if (this.intervalId) {
|
|
243
|
+
clearInterval(this.intervalId);
|
|
244
|
+
this.intervalId = null;
|
|
245
|
+
}
|
|
246
|
+
if (this.abortController) {
|
|
247
|
+
this.abortController.abort();
|
|
248
|
+
this.abortController = null;
|
|
249
|
+
}
|
|
250
|
+
this.connected = false;
|
|
251
|
+
this.callbacks.onDisconnect?.();
|
|
252
|
+
}
|
|
253
|
+
isConnected() {
|
|
254
|
+
return this.connected && this.intervalId !== null;
|
|
255
|
+
}
|
|
256
|
+
getType() {
|
|
257
|
+
return 'polling';
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TransportFactory","create","config","callbacks","isWebSocketAvailable","WebSocketTransport","error","isSSEAvailable","SSETransport","PollingTransport","window","process","EventSource","exports","socket","connected","constructor","connect","io","Promise","resolve","then","_interopRequireWildcard","require","default","Error","url","namespace","baseURL","socketOptions","transports","reconnection","reconnectionAttempts","reconnectAttempts","reconnectionDelay","reconnectDelay","accessToken","auth","token","on","sessionToken","emit","onConnect","payload","onUpdate","onError","onDisconnect","disconnect","isConnected","getType","eventSource","onopen","onmessage","event","update","JSON","parse","data","onerror","close","readyState","OPEN","intervalId","abortController","poll","AbortController","response","fetch","signal","headers","Authorization","ok","statusText","json","authorized","sessionId","status","publicKey","name","setInterval","pollingInterval","clearInterval","abort"],"sourceRoot":"../../../../src","sources":["shared/transport/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.bytesToHex = bytesToHex;
|
|
7
|
+
exports.generateSessionToken = generateSessionToken;
|
|
8
|
+
exports.generateSessionTokenSync = generateSessionTokenSync;
|
|
9
|
+
exports.hexToBytes = hexToBytes;
|
|
10
|
+
exports.shortenPublicKey = shortenPublicKey;
|
|
11
|
+
/**
|
|
12
|
+
* Shared Utilities
|
|
13
|
+
*
|
|
14
|
+
* Common utility functions used across Accounts, Services SDK, and API packages.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Get a shortened display version of a public key
|
|
19
|
+
* Format: first 8 chars ... last 8 chars
|
|
20
|
+
*/
|
|
21
|
+
function shortenPublicKey(publicKey) {
|
|
22
|
+
if (publicKey.length <= 16) return publicKey;
|
|
23
|
+
return `${publicKey.slice(0, 8)}...${publicKey.slice(-8)}`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Generate a secure random session token
|
|
28
|
+
* Uses crypto.randomBytes (Node) or Web Crypto API (Browser/RN)
|
|
29
|
+
*/
|
|
30
|
+
async function generateSessionToken(size = 32) {
|
|
31
|
+
// Use platform-appropriate random bytes
|
|
32
|
+
if (typeof window !== 'undefined' && window.crypto) {
|
|
33
|
+
// Web platform
|
|
34
|
+
const array = new Uint8Array(size);
|
|
35
|
+
window.crypto.getRandomValues(array);
|
|
36
|
+
return Array.from(array, byte => byte.toString(16).padStart(2, '0')).join('');
|
|
37
|
+
}
|
|
38
|
+
if (typeof process !== 'undefined' && process.versions?.node) {
|
|
39
|
+
// Node.js platform
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
41
|
+
const getCrypto = new Function('return require("crypto")');
|
|
42
|
+
const crypto = getCrypto();
|
|
43
|
+
return crypto.randomBytes(size).toString('hex');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// React Native - will be handled by platform adapter
|
|
47
|
+
// For now, throw an error if we can't determine platform
|
|
48
|
+
throw new Error('Unable to generate session token: no crypto implementation available');
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Generate a session token synchronously (Node.js only)
|
|
53
|
+
*/
|
|
54
|
+
function generateSessionTokenSync(size = 32) {
|
|
55
|
+
if (typeof process === 'undefined' || !process.versions?.node) {
|
|
56
|
+
throw new Error('generateSessionTokenSync can only be used in Node.js');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
60
|
+
const getCrypto = new Function('return require("crypto")');
|
|
61
|
+
const crypto = getCrypto();
|
|
62
|
+
return crypto.randomBytes(size).toString('hex');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Convert bytes to hex string
|
|
67
|
+
*/
|
|
68
|
+
function bytesToHex(bytes) {
|
|
69
|
+
return Array.from(bytes, byte => byte.toString(16).padStart(2, '0')).join('');
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Convert hex string to bytes
|
|
74
|
+
*/
|
|
75
|
+
function hexToBytes(hex) {
|
|
76
|
+
const bytes = new Uint8Array(hex.length / 2);
|
|
77
|
+
for (let i = 0; i < hex.length; i += 2) {
|
|
78
|
+
bytes[i / 2] = parseInt(hex.substr(i, 2), 16);
|
|
79
|
+
}
|
|
80
|
+
return bytes;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["shortenPublicKey","publicKey","length","slice","generateSessionToken","size","window","crypto","array","Uint8Array","getRandomValues","Array","from","byte","toString","padStart","join","process","versions","node","getCrypto","Function","randomBytes","Error","generateSessionTokenSync","bytesToHex","bytes","hexToBytes","hex","i","parseInt","substr"],"sourceRoot":"../../../../src","sources":["shared/utils/index.ts"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,SAASA,gBAAgBA,CAACC,SAAiB,EAAU;EAC1D,IAAIA,SAAS,CAACC,MAAM,IAAI,EAAE,EAAE,OAAOD,SAAS;EAC5C,OAAO,GAAGA,SAAS,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAMF,SAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5D;;AAEA;AACA;AACA;AACA;AACO,eAAeC,oBAAoBA,CAACC,IAAY,GAAG,EAAE,EAAmB;EAC7E;EACA,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,MAAM,EAAE;IAClD;IACA,MAAMC,KAAK,GAAG,IAAIC,UAAU,CAACJ,IAAI,CAAC;IAClCC,MAAM,CAACC,MAAM,CAACG,eAAe,CAACF,KAAK,CAAC;IACpC,OAAOG,KAAK,CAACC,IAAI,CAACJ,KAAK,EAAEK,IAAI,IAAIA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;EAC/E;EAEA,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,QAAQ,EAAEC,IAAI,EAAE;IAC5D;IACA;IACA,MAAMC,SAAS,GAAG,IAAIC,QAAQ,CAAC,0BAA0B,CAAC;IAC1D,MAAMd,MAAM,GAAGa,SAAS,CAAC,CAAC;IAC1B,OAAOb,MAAM,CAACe,WAAW,CAACjB,IAAI,CAAC,CAACS,QAAQ,CAAC,KAAK,CAAC;EACjD;;EAEA;EACA;EACA,MAAM,IAAIS,KAAK,CAAC,sEAAsE,CAAC;AACzF;;AAEA;AACA;AACA;AACO,SAASC,wBAAwBA,CAACnB,IAAY,GAAG,EAAE,EAAU;EAClE,IAAI,OAAOY,OAAO,KAAK,WAAW,IAAI,CAACA,OAAO,CAACC,QAAQ,EAAEC,IAAI,EAAE;IAC7D,MAAM,IAAII,KAAK,CAAC,sDAAsD,CAAC;EACzE;;EAEA;EACA,MAAMH,SAAS,GAAG,IAAIC,QAAQ,CAAC,0BAA0B,CAAC;EAC1D,MAAMd,MAAM,GAAGa,SAAS,CAAC,CAAC;EAC1B,OAAOb,MAAM,CAACe,WAAW,CAACjB,IAAI,CAAC,CAACS,QAAQ,CAAC,KAAK,CAAC;AACjD;;AAEA;AACA;AACA;AACO,SAASW,UAAUA,CAACC,KAAiB,EAAU;EACpD,OAAOf,KAAK,CAACC,IAAI,CAACc,KAAK,EAAEb,IAAI,IAAIA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;AAC/E;;AAEA;AACA;AACA;AACO,SAASW,UAAUA,CAACC,GAAW,EAAc;EAClD,MAAMF,KAAK,GAAG,IAAIjB,UAAU,CAACmB,GAAG,CAAC1B,MAAM,GAAG,CAAC,CAAC;EAC5C,KAAK,IAAI2B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,GAAG,CAAC1B,MAAM,EAAE2B,CAAC,IAAI,CAAC,EAAE;IACtCH,KAAK,CAACG,CAAC,GAAG,CAAC,CAAC,GAAGC,QAAQ,CAACF,GAAG,CAACG,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;EAC/C;EACA,OAAOH,KAAK;AACd","ignoreList":[]}
|
|
@@ -471,21 +471,6 @@ const OxyProvider = ({
|
|
|
471
471
|
}
|
|
472
472
|
setTokenReady(false);
|
|
473
473
|
try {
|
|
474
|
-
// CRITICAL: Get current local identity (publicKey) before restoring sessions
|
|
475
|
-
// Sessions must belong to the current local identity stored in Accounts app
|
|
476
|
-
let currentPublicKey = null;
|
|
477
|
-
try {
|
|
478
|
-
if (_reactNative.Platform.OS !== 'web') {
|
|
479
|
-
// Only check identity on native platforms (web doesn't have local identity)
|
|
480
|
-
// KeyManager is already imported at the top of the file
|
|
481
|
-
currentPublicKey = await _crypto.KeyManager.getPublicKey();
|
|
482
|
-
}
|
|
483
|
-
} catch (identityError) {
|
|
484
|
-
if (__DEV__) {
|
|
485
|
-
logger('Failed to get current local identity during session restoration', identityError);
|
|
486
|
-
}
|
|
487
|
-
// Continue without identity check if it fails (e.g., on web platform)
|
|
488
|
-
}
|
|
489
474
|
const storedSessionIdsJson = await storage.getItem(storageKeys.sessionIds);
|
|
490
475
|
const storedSessionIds = storedSessionIdsJson ? JSON.parse(storedSessionIdsJson) : [];
|
|
491
476
|
const storedActiveSessionId = await storage.getItem(storageKeys.activeSessionId);
|
|
@@ -498,26 +483,12 @@ const OxyProvider = ({
|
|
|
498
483
|
});
|
|
499
484
|
if (validation?.valid && validation.user) {
|
|
500
485
|
const now = new Date();
|
|
501
|
-
// user.id is now publicKey (canonical identity)
|
|
502
|
-
const sessionPublicKey = validation.user.publicKey || validation.user.id || '';
|
|
503
|
-
|
|
504
|
-
// IDENTITY BINDING: Only restore sessions that match current local identity
|
|
505
|
-
// If we have a current local identity, filter out sessions that don't match
|
|
506
|
-
if (currentPublicKey && sessionPublicKey !== currentPublicKey) {
|
|
507
|
-
if (__DEV__) {
|
|
508
|
-
logger(`Skipping session ${sessionId.substring(0, 8)}... - belongs to different identity (${sessionPublicKey.substring(0, 16)}... vs ${currentPublicKey.substring(0, 16)}...)`);
|
|
509
|
-
}
|
|
510
|
-
continue; // Skip this session - it belongs to a different identity
|
|
511
|
-
}
|
|
512
486
|
validSessions.push({
|
|
513
487
|
sessionId,
|
|
514
488
|
deviceId: '',
|
|
515
489
|
expiresAt: new Date(now.getTime() + 7 * 24 * 60 * 60 * 1000).toISOString(),
|
|
516
490
|
lastActive: now.toISOString(),
|
|
517
|
-
|
|
518
|
-
// Canonical user identity
|
|
519
|
-
userId: validation.user.id?.toString(),
|
|
520
|
-
// Optional MongoDB ObjectId for backward compatibility
|
|
491
|
+
userId: validation.user.id?.toString() ?? '',
|
|
521
492
|
isCurrent: sessionId === storedActiveSessionId
|
|
522
493
|
});
|
|
523
494
|
}
|
|
@@ -539,13 +510,6 @@ const OxyProvider = ({
|
|
|
539
510
|
updateSessions(validSessions, {
|
|
540
511
|
merge: false
|
|
541
512
|
});
|
|
542
|
-
} else if (currentPublicKey && storedSessionIds.length > 0) {
|
|
543
|
-
// All sessions were filtered out due to identity mismatch - clear stored sessions
|
|
544
|
-
if (__DEV__) {
|
|
545
|
-
logger('All stored sessions belong to different identity - clearing session storage');
|
|
546
|
-
}
|
|
547
|
-
await storage.removeItem(storageKeys.sessionIds);
|
|
548
|
-
await storage.removeItem(storageKeys.activeSessionId);
|
|
549
513
|
}
|
|
550
514
|
}
|
|
551
515
|
if (storedActiveSessionId) {
|
|
@@ -649,9 +613,9 @@ const OxyProvider = ({
|
|
|
649
613
|
return isAuthenticatedFromStore || isAuthenticatedFromSessions;
|
|
650
614
|
}, [isAuthenticatedFromStore, isAuthenticatedFromSessions]);
|
|
651
615
|
|
|
652
|
-
// Get userId from JWT token for socket room matching
|
|
653
|
-
//
|
|
654
|
-
//
|
|
616
|
+
// Get userId from JWT token (MongoDB ObjectId) for socket room matching
|
|
617
|
+
// user.id is set to publicKey for compatibility, but socket rooms use MongoDB ObjectId
|
|
618
|
+
// The JWT token's userId field contains the MongoDB ObjectId
|
|
655
619
|
const userId = oxyServices.getCurrentUserId() || user?.id;
|
|
656
620
|
|
|
657
621
|
// Use Zustand store for transfer state management
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_core","_sonner","_authStore","_shallow","_useSessionSocket","_useStorage","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_reactQuery","_queryClient","_crypto","_i18n","_avatarUtils","_accountStore","_loggerUtils","_transferStore","_useTransferQueries","_jsxRuntime","OxyContext","createContext","cachedUseFollowHook","loadUseFollowHook","useFollow","error","__DEV__","loggerUtil","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","useRef","current","OxyServices","user","isAuthenticated","isAuthenticatedFromStore","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","useAuthStore","useShallow","state","logout","isIdentitySynced","tokenReady","setTokenReady","useState","initializedRef","setAuthState","setState","logger","useCallback","message","err","undefined","console","storageKeys","useMemo","getStorageKeys","storage","isReady","isStorageReady","useStorage","useEffect","Platform","OS","checkAndRestoreIdentity","KeyManager","invalidateCache","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","useLanguageManagement","languageKey","language","queryClient","useQueryClient","sessions","activeSessionId","setActiveSessionId","setActiveSessionIdFromHook","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","useSessionManagement","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","useAuthOperations","backupData","password","clearAllAccountData","clear","clearQueryCache","removeItem","getState","useAccountStore","reset","clearCache","getAllPendingTransfersStore","useTransferStore","getAllPendingTransfers","getActiveTransferIdStore","getActiveTransferId","storeTransferCodeStore","storeTransferCode","getTransferCodeStore","getTransferCode","updateTransferStateStore","updateTransferState","clearTransferCodeStore","clearTransferCode","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","pendingTransfers","length","activeTransferId","hasActiveTransfer","some","t","transferId","deleteIdentity","wasOffline","checkTimeout","lastReconnectionLog","RECONNECTION_LOG_DEBOUNCE_MS","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","now","Date","timeSinceLastLog","hasIdentityValue","syncStatus","getItem","syncError","code","debug","isTimeoutOrNetworkError","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useDeviceManagement","useFollowHook","restoreSessionsFromStorage","currentPublicKey","identityError","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","sessionId","validation","validateSession","useHeaderValidation","valid","sessionPublicKey","publicKey","id","substring","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","toString","isCurrent","validationError","isInvalidSessionError","merge","switchError","filter","session","matchingSession","find","s","firstSession","String","activeSession","currentDeviceId","isAuthenticatedFromSessions","computedIsAuthenticated","getCurrentUserId","TRANSFER_CODES_STORAGE_KEY","ACTIVE_TRANSFER_STORAGE_KEY","isRestored","restoreFromStorage","markRestored","cleanupExpired","loadTransferCodes","storedCodes","storedActiveTransferId","parsedCodes","Object","keys","count","transferCodes","useTransferCodesForPersistence","persistTransferCodes","setItem","stringify","cleanup","setInterval","clearInterval","sourceDeviceId","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","toast","info","remoteError","useCheckPendingTransfers","handleIdentityTransferComplete","data","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","timestamp","tenMinutes","age","ageMinutes","round","identityStillExists","identityDeleted","success","deleteError","useSessionSocket","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","translate","updateAvatarVisibility","updateProfileWithAvatar","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","showBottomSheet","jsx","Provider","value","exports","OxyContextProvider","useOxy","context","useContext","_default","default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_core","_sonner","_authStore","_shallow","_useSessionSocket","_useStorage","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_reactQuery","_queryClient","_crypto","_i18n","_avatarUtils","_accountStore","_loggerUtils","_transferStore","_useTransferQueries","_jsxRuntime","OxyContext","createContext","cachedUseFollowHook","loadUseFollowHook","useFollow","error","__DEV__","loggerUtil","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","useRef","current","OxyServices","user","isAuthenticated","isAuthenticatedFromStore","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","useAuthStore","useShallow","state","logout","isIdentitySynced","tokenReady","setTokenReady","useState","initializedRef","setAuthState","setState","logger","useCallback","message","err","undefined","console","storageKeys","useMemo","getStorageKeys","storage","isReady","isStorageReady","useStorage","useEffect","Platform","OS","checkAndRestoreIdentity","KeyManager","invalidateCache","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","useLanguageManagement","languageKey","language","queryClient","useQueryClient","sessions","activeSessionId","setActiveSessionId","setActiveSessionIdFromHook","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","useSessionManagement","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","useAuthOperations","backupData","password","clearAllAccountData","clear","clearQueryCache","removeItem","getState","useAccountStore","reset","clearCache","getAllPendingTransfersStore","useTransferStore","getAllPendingTransfers","getActiveTransferIdStore","getActiveTransferId","storeTransferCodeStore","storeTransferCode","getTransferCodeStore","getTransferCode","updateTransferStateStore","updateTransferState","clearTransferCodeStore","clearTransferCode","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","pendingTransfers","length","activeTransferId","hasActiveTransfer","some","t","transferId","deleteIdentity","wasOffline","checkTimeout","lastReconnectionLog","RECONNECTION_LOG_DEBOUNCE_MS","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","now","Date","timeSinceLastLog","hasIdentityValue","syncStatus","getItem","syncError","code","debug","isTimeoutOrNetworkError","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useDeviceManagement","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","sessionId","validation","validateSession","useHeaderValidation","valid","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","isInvalidSessionError","merge","switchError","filter","session","matchingSession","find","s","firstSession","String","activeSession","currentDeviceId","isAuthenticatedFromSessions","computedIsAuthenticated","getCurrentUserId","TRANSFER_CODES_STORAGE_KEY","ACTIVE_TRANSFER_STORAGE_KEY","isRestored","restoreFromStorage","markRestored","cleanupExpired","loadTransferCodes","storedCodes","storedActiveTransferId","parsedCodes","Object","keys","count","transferCodes","useTransferCodesForPersistence","persistTransferCodes","setItem","stringify","cleanup","setInterval","clearInterval","sourceDeviceId","publicKey","substring","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","toast","info","remoteError","useCheckPendingTransfers","handleIdentityTransferComplete","data","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","timestamp","tenMinutes","age","ageMinutes","round","identityStillExists","identityDeleted","success","deleteError","useSessionSocket","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","translate","updateAvatarVisibility","updateProfileWithAvatar","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","showBottomSheet","jsx","Provider","value","exports","OxyContextProvider","useOxy","context","useContext","_default","default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|