@oxyhq/services 5.13.29 → 5.13.30
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/OxyContext.js +43 -3
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionSocket.js +52 -10
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +43 -3
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/useSessionSocket.js +52 -10
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts +2 -1
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ui/context/OxyContext.tsx +48 -2
- package/src/ui/hooks/useSessionSocket.ts +52 -10
|
@@ -133,6 +133,9 @@ const OxyProvider = ({
|
|
|
133
133
|
|
|
134
134
|
// Track in-flight refresh to prevent duplicate calls
|
|
135
135
|
const refreshInFlightRef = (0, _react.useRef)(null);
|
|
136
|
+
|
|
137
|
+
// Track recently removed session IDs to avoid validating them (cleared after 5 seconds)
|
|
138
|
+
const removedSessionsRef = (0, _react.useRef)(new Set());
|
|
136
139
|
const [storage, setStorage] = (0, _react.useState)(null);
|
|
137
140
|
const [currentLanguage, setCurrentLanguage] = (0, _react.useState)('en-US');
|
|
138
141
|
const useFollowHook = (0, _react.useMemo)(() => loadUseFollowHook(), []);
|
|
@@ -686,9 +689,26 @@ const OxyProvider = ({
|
|
|
686
689
|
console.error('Refresh sessions error:', fallbackError);
|
|
687
690
|
}
|
|
688
691
|
|
|
692
|
+
// Check if the error is a 401 (session removed/invalid)
|
|
693
|
+
const is401Error = fallbackError?.response?.status === 401 || fallbackError?.message?.includes('Invalid or expired session') || fallbackError?.message?.includes('Session is invalid');
|
|
694
|
+
|
|
695
|
+
// If 401 error, don't try to validate other sessions - they may have been removed too
|
|
696
|
+
// Instead, check if current session is in removed sessions list
|
|
697
|
+
if (is401Error && removedSessionsRef.current.has(activeSessionId || '')) {
|
|
698
|
+
// Current session was removed, clear all and logout
|
|
699
|
+
updateSessions([], false);
|
|
700
|
+
setActiveSessionId(null);
|
|
701
|
+
logoutStore();
|
|
702
|
+
setMinimalUser(null);
|
|
703
|
+
await clearAllStorage();
|
|
704
|
+
onAuthStateChange?.(null);
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
707
|
+
|
|
689
708
|
// If the current session is invalid, try to find another valid session
|
|
709
|
+
// But skip sessions that were recently removed
|
|
690
710
|
if (sessions.length > 1) {
|
|
691
|
-
const otherSessions = sessions.filter(s => s.sessionId !== activeSessionId);
|
|
711
|
+
const otherSessions = sessions.filter(s => s.sessionId !== activeSessionId && !removedSessionsRef.current.has(s.sessionId));
|
|
692
712
|
for (const session of otherSessions) {
|
|
693
713
|
try {
|
|
694
714
|
const validation = await oxyServices.validateSession(session.sessionId, {
|
|
@@ -698,7 +718,16 @@ const OxyProvider = ({
|
|
|
698
718
|
await switchToSession(session.sessionId);
|
|
699
719
|
return;
|
|
700
720
|
}
|
|
701
|
-
} catch {
|
|
721
|
+
} catch (validationError) {
|
|
722
|
+
// If validation returns 401, mark this session as removed
|
|
723
|
+
const isValidation401 = validationError?.response?.status === 401 || validationError?.message?.includes('Invalid or expired session');
|
|
724
|
+
if (isValidation401) {
|
|
725
|
+
removedSessionsRef.current.add(session.sessionId);
|
|
726
|
+
// Clear from tracking after 5 seconds
|
|
727
|
+
setTimeout(() => {
|
|
728
|
+
removedSessionsRef.current.delete(session.sessionId);
|
|
729
|
+
}, 5000);
|
|
730
|
+
}
|
|
702
731
|
continue;
|
|
703
732
|
}
|
|
704
733
|
}
|
|
@@ -838,6 +867,16 @@ const OxyProvider = ({
|
|
|
838
867
|
return activeSession?.deviceId || null;
|
|
839
868
|
}, [activeSessionId, sessions]);
|
|
840
869
|
|
|
870
|
+
// Callback to track removed sessions
|
|
871
|
+
const handleSessionRemoved = (0, _react.useCallback)(sessionId => {
|
|
872
|
+
// Add to removed sessions tracking
|
|
873
|
+
removedSessionsRef.current.add(sessionId);
|
|
874
|
+
// Clear from tracking after 5 seconds
|
|
875
|
+
setTimeout(() => {
|
|
876
|
+
removedSessionsRef.current.delete(sessionId);
|
|
877
|
+
}, 5000);
|
|
878
|
+
}, []);
|
|
879
|
+
|
|
841
880
|
// Integrate socket for real-time session updates
|
|
842
881
|
(0, _useSessionSocket.useSessionSocket)({
|
|
843
882
|
userId: user?.id,
|
|
@@ -849,7 +888,8 @@ const OxyProvider = ({
|
|
|
849
888
|
onRemoteSignOut: (0, _react.useCallback)(() => {
|
|
850
889
|
_sonner.toast.info('You have been signed out remotely.');
|
|
851
890
|
logout();
|
|
852
|
-
}, [logout])
|
|
891
|
+
}, [logout]),
|
|
892
|
+
onSessionRemoved: handleSessionRemoved
|
|
853
893
|
});
|
|
854
894
|
|
|
855
895
|
// Compute language metadata from currentLanguage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_core","_sessionUtils","_deviceManager","_useSessionSocket","_sonner","_authStore","_languageUtils","_jsxRuntime","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OxyContext","createContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","Promise","resolve","then","error","console","Error","getStorageKeys","prefix","activeSessionId","sessionIds","language","cachedUseFollowHook","loadUseFollowHook","useFollow","__DEV__","warn","fallback","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","bottomSheetRef","oxyServicesRef","useRef","current","OxyServices","user","useAuthStore","state","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","logout","minimalUser","setMinimalUser","useState","sessions","setSessions","setActiveSessionId","refreshInFlightRef","storage","setStorage","currentLanguage","setCurrentLanguage","useFollowHook","useMemo","keys","applyLanguagePreference","useCallback","userLanguage","serverLang","normalizeLanguageCode","mapSessionsToClient","fallbackDeviceId","fallbackUserId","map","s","sessionId","deviceId","expiresAt","Date","now","toISOString","lastActive","userId","id","_id","toString","isCurrent","Boolean","saveSessionIds","uniqueIds","Array","from","Set","JSON","stringify","err","updateSessions","newSessions","mergeWithExisting","prevSessions","sessionsToProcess","mergeSessions","normalizeAndSortSessions","allSessionIds","catch","sessionsArraysEqual","tokenReady","setTokenReady","clearAllStorage","message","code","status","useEffect","initStorage","platformStorage","errorMessage","setState","initAuth","savedLanguageRaw","savedLanguage","storedSessionIdsJson","storedSessionIds","parse","storedActiveSessionId","validSessions","length","log","validation","validateSession","useHeaderValidation","valid","push","getTokenBySession","fullUser","getUserBySession","username","avatar","deviceSessions","getDeviceSessions","allDeviceSessions","undefined","serverSessions","getSessionsBySessionId","filter","saveActiveSessionId","switchToSession","isInvalidSession","response","includes","otherSessions","otherSession","otherValidation","login","password","deviceName","deviceFingerprint","DeviceManager","getDeviceFingerprint","deviceInfo","getDeviceInfo","signIn","getDefaultDeviceName","mfaRequired","mfaError","mfaToken","sessionResponse","userUserId","existingSession","find","logoutSession","logoutError","targetSessionId","sessionToLogout","filteredSessions","logoutAll","logoutAllSessions","signUp","email","completeMfaLogin","verifyTotpLogin","userSessions","switchSession","removeSession","refreshSessions","refreshPromise","fallbackError","session","logoutAllDeviceSessions","updateDeviceName","setLanguage","languageId","showBottomSheet","screenOrConfig","expand","present","setTimeout","navigate","screen","props","hideBottomSheet","dismiss","currentDeviceId","activeSession","useSessionSocket","getBaseURL","onRemoteSignOut","toast","info","languageMetadata","getLanguageMetadata","languageName","getLanguageName","nativeLanguageName","getNativeLanguageName","contextValue","isTokenReady","currentLanguageMetadata","currentLanguageName","currentNativeLanguageName","jsx","Provider","exports","OxyContextProvider","useOxy","context","useContext","_default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_core","_sessionUtils","_deviceManager","_useSessionSocket","_sonner","_authStore","_languageUtils","_jsxRuntime","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OxyContext","createContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","Promise","resolve","then","error","console","Error","getStorageKeys","prefix","activeSessionId","sessionIds","language","cachedUseFollowHook","loadUseFollowHook","useFollow","__DEV__","warn","fallback","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","bottomSheetRef","oxyServicesRef","useRef","current","OxyServices","user","useAuthStore","state","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","logout","minimalUser","setMinimalUser","useState","sessions","setSessions","setActiveSessionId","refreshInFlightRef","removedSessionsRef","Set","storage","setStorage","currentLanguage","setCurrentLanguage","useFollowHook","useMemo","keys","applyLanguagePreference","useCallback","userLanguage","serverLang","normalizeLanguageCode","mapSessionsToClient","fallbackDeviceId","fallbackUserId","map","s","sessionId","deviceId","expiresAt","Date","now","toISOString","lastActive","userId","id","_id","toString","isCurrent","Boolean","saveSessionIds","uniqueIds","Array","from","JSON","stringify","err","updateSessions","newSessions","mergeWithExisting","prevSessions","sessionsToProcess","mergeSessions","normalizeAndSortSessions","allSessionIds","catch","sessionsArraysEqual","tokenReady","setTokenReady","clearAllStorage","message","code","status","useEffect","initStorage","platformStorage","errorMessage","setState","initAuth","savedLanguageRaw","savedLanguage","storedSessionIdsJson","storedSessionIds","parse","storedActiveSessionId","validSessions","length","log","validation","validateSession","useHeaderValidation","valid","push","getTokenBySession","fullUser","getUserBySession","username","avatar","deviceSessions","getDeviceSessions","allDeviceSessions","undefined","serverSessions","getSessionsBySessionId","filter","saveActiveSessionId","switchToSession","isInvalidSession","response","includes","otherSessions","otherSession","otherValidation","login","password","deviceName","deviceFingerprint","DeviceManager","getDeviceFingerprint","deviceInfo","getDeviceInfo","signIn","getDefaultDeviceName","mfaRequired","mfaError","mfaToken","sessionResponse","userUserId","existingSession","find","logoutSession","logoutError","targetSessionId","sessionToLogout","filteredSessions","logoutAll","logoutAllSessions","signUp","email","completeMfaLogin","verifyTotpLogin","userSessions","switchSession","removeSession","refreshSessions","refreshPromise","fallbackError","is401Error","session","validationError","isValidation401","add","setTimeout","delete","logoutAllDeviceSessions","updateDeviceName","setLanguage","languageId","showBottomSheet","screenOrConfig","expand","present","navigate","screen","props","hideBottomSheet","dismiss","currentDeviceId","activeSession","handleSessionRemoved","useSessionSocket","getBaseURL","onRemoteSignOut","toast","info","onSessionRemoved","languageMetadata","getLanguageMetadata","languageName","getLanguageName","nativeLanguageName","getNativeLanguageName","contextValue","isTokenReady","currentLanguageMetadata","currentLanguageName","currentNativeLanguageName","jsx","Provider","exports","OxyContextProvider","useOxy","context","useContext","_default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,8 @@ function useSessionSocket({
|
|
|
15
15
|
refreshSessions,
|
|
16
16
|
logout,
|
|
17
17
|
baseURL,
|
|
18
|
-
onRemoteSignOut
|
|
18
|
+
onRemoteSignOut,
|
|
19
|
+
onSessionRemoved
|
|
19
20
|
}) {
|
|
20
21
|
const socketRef = (0, _react.useRef)(null);
|
|
21
22
|
const joinedRoomRef = (0, _react.useRef)(null);
|
|
@@ -24,6 +25,7 @@ function useSessionSocket({
|
|
|
24
25
|
const refreshSessionsRef = (0, _react.useRef)(refreshSessions);
|
|
25
26
|
const logoutRef = (0, _react.useRef)(logout);
|
|
26
27
|
const onRemoteSignOutRef = (0, _react.useRef)(onRemoteSignOut);
|
|
28
|
+
const onSessionRemovedRef = (0, _react.useRef)(onSessionRemoved);
|
|
27
29
|
const activeSessionIdRef = (0, _react.useRef)(activeSessionId);
|
|
28
30
|
const currentDeviceIdRef = (0, _react.useRef)(currentDeviceId);
|
|
29
31
|
|
|
@@ -32,9 +34,10 @@ function useSessionSocket({
|
|
|
32
34
|
refreshSessionsRef.current = refreshSessions;
|
|
33
35
|
logoutRef.current = logout;
|
|
34
36
|
onRemoteSignOutRef.current = onRemoteSignOut;
|
|
37
|
+
onSessionRemovedRef.current = onSessionRemoved;
|
|
35
38
|
activeSessionIdRef.current = activeSessionId;
|
|
36
39
|
currentDeviceIdRef.current = currentDeviceId;
|
|
37
|
-
}, [refreshSessions, logout, onRemoteSignOut, activeSessionId, currentDeviceId]);
|
|
40
|
+
}, [refreshSessions, logout, onRemoteSignOut, onSessionRemoved, activeSessionId, currentDeviceId]);
|
|
38
41
|
(0, _react.useEffect)(() => {
|
|
39
42
|
if (!userId || !baseURL) {
|
|
40
43
|
// Clean up if userId or baseURL becomes invalid
|
|
@@ -88,6 +91,11 @@ function useSessionSocket({
|
|
|
88
91
|
|
|
89
92
|
// Handle different event types
|
|
90
93
|
if (data.type === 'session_removed') {
|
|
94
|
+
// Track removed session
|
|
95
|
+
if (data.sessionId && onSessionRemovedRef.current) {
|
|
96
|
+
onSessionRemovedRef.current(data.sessionId);
|
|
97
|
+
}
|
|
98
|
+
|
|
91
99
|
// If the removed sessionId matches the current activeSessionId, immediately logout
|
|
92
100
|
if (data.sessionId === currentActiveSessionId) {
|
|
93
101
|
if (onRemoteSignOutRef.current) {
|
|
@@ -97,10 +105,22 @@ function useSessionSocket({
|
|
|
97
105
|
}
|
|
98
106
|
logoutRef.current();
|
|
99
107
|
} else {
|
|
100
|
-
// Otherwise, just refresh the sessions list
|
|
101
|
-
refreshSessionsRef.current()
|
|
108
|
+
// Otherwise, just refresh the sessions list (with error handling)
|
|
109
|
+
refreshSessionsRef.current().catch(error => {
|
|
110
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
111
|
+
if (__DEV__) {
|
|
112
|
+
console.debug('Failed to refresh sessions after session_removed:', error);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
102
115
|
}
|
|
103
116
|
} else if (data.type === 'device_removed') {
|
|
117
|
+
// Track all removed sessions from this device
|
|
118
|
+
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
119
|
+
for (const sessionId of data.sessionIds) {
|
|
120
|
+
onSessionRemovedRef.current(sessionId);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
104
124
|
// If the removed deviceId matches the current device, immediately logout
|
|
105
125
|
if (data.deviceId && data.deviceId === currentDeviceId) {
|
|
106
126
|
if (onRemoteSignOutRef.current) {
|
|
@@ -110,10 +130,22 @@ function useSessionSocket({
|
|
|
110
130
|
}
|
|
111
131
|
logoutRef.current();
|
|
112
132
|
} else {
|
|
113
|
-
// Otherwise, refresh sessions and device list
|
|
114
|
-
refreshSessionsRef.current()
|
|
133
|
+
// Otherwise, refresh sessions and device list (with error handling)
|
|
134
|
+
refreshSessionsRef.current().catch(error => {
|
|
135
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
136
|
+
if (__DEV__) {
|
|
137
|
+
console.debug('Failed to refresh sessions after device_removed:', error);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
115
140
|
}
|
|
116
141
|
} else if (data.type === 'sessions_removed') {
|
|
142
|
+
// Track all removed sessions
|
|
143
|
+
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
144
|
+
for (const sessionId of data.sessionIds) {
|
|
145
|
+
onSessionRemovedRef.current(sessionId);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
117
149
|
// If the current activeSessionId is in the removed sessionIds list, immediately logout
|
|
118
150
|
if (data.sessionIds && currentActiveSessionId && data.sessionIds.includes(currentActiveSessionId)) {
|
|
119
151
|
if (onRemoteSignOutRef.current) {
|
|
@@ -123,12 +155,22 @@ function useSessionSocket({
|
|
|
123
155
|
}
|
|
124
156
|
logoutRef.current();
|
|
125
157
|
} else {
|
|
126
|
-
// Otherwise, refresh sessions list
|
|
127
|
-
refreshSessionsRef.current()
|
|
158
|
+
// Otherwise, refresh sessions list (with error handling)
|
|
159
|
+
refreshSessionsRef.current().catch(error => {
|
|
160
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
161
|
+
if (__DEV__) {
|
|
162
|
+
console.debug('Failed to refresh sessions after sessions_removed:', error);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
128
165
|
}
|
|
129
166
|
} else {
|
|
130
|
-
// For other event types (e.g., session_created), refresh sessions
|
|
131
|
-
refreshSessionsRef.current()
|
|
167
|
+
// For other event types (e.g., session_created), refresh sessions (with error handling)
|
|
168
|
+
refreshSessionsRef.current().catch(error => {
|
|
169
|
+
// Log but don't throw - refresh errors shouldn't break the socket handler
|
|
170
|
+
if (__DEV__) {
|
|
171
|
+
console.debug('Failed to refresh sessions after session_update:', error);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
132
174
|
|
|
133
175
|
// If the current session was logged out (legacy behavior), handle it specially
|
|
134
176
|
if (data.sessionId === currentActiveSessionId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_socket","_interopRequireDefault","_sonner","e","__esModule","default","useSessionSocket","userId","activeSessionId","currentDeviceId","refreshSessions","logout","baseURL","onRemoteSignOut","socketRef","useRef","joinedRoomRef","refreshSessionsRef","logoutRef","onRemoteSignOutRef","activeSessionIdRef","currentDeviceIdRef","useEffect","current","emit","roomId","io","transports","socket","__DEV__","console","log","handleConnect","id","handleSessionUpdate","data","currentActiveSessionId","type","sessionId","toast","info","
|
|
1
|
+
{"version":3,"names":["_react","require","_socket","_interopRequireDefault","_sonner","e","__esModule","default","useSessionSocket","userId","activeSessionId","currentDeviceId","refreshSessions","logout","baseURL","onRemoteSignOut","onSessionRemoved","socketRef","useRef","joinedRoomRef","refreshSessionsRef","logoutRef","onRemoteSignOutRef","onSessionRemovedRef","activeSessionIdRef","currentDeviceIdRef","useEffect","current","emit","roomId","io","transports","socket","__DEV__","console","log","handleConnect","id","handleSessionUpdate","data","currentActiveSessionId","type","sessionId","toast","info","catch","error","debug","sessionIds","deviceId","includes","on","off"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionSocket.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -130,6 +130,9 @@ export const OxyProvider = ({
|
|
|
130
130
|
|
|
131
131
|
// Track in-flight refresh to prevent duplicate calls
|
|
132
132
|
const refreshInFlightRef = useRef(null);
|
|
133
|
+
|
|
134
|
+
// Track recently removed session IDs to avoid validating them (cleared after 5 seconds)
|
|
135
|
+
const removedSessionsRef = useRef(new Set());
|
|
133
136
|
const [storage, setStorage] = useState(null);
|
|
134
137
|
const [currentLanguage, setCurrentLanguage] = useState('en-US');
|
|
135
138
|
const useFollowHook = useMemo(() => loadUseFollowHook(), []);
|
|
@@ -683,9 +686,26 @@ export const OxyProvider = ({
|
|
|
683
686
|
console.error('Refresh sessions error:', fallbackError);
|
|
684
687
|
}
|
|
685
688
|
|
|
689
|
+
// Check if the error is a 401 (session removed/invalid)
|
|
690
|
+
const is401Error = fallbackError?.response?.status === 401 || fallbackError?.message?.includes('Invalid or expired session') || fallbackError?.message?.includes('Session is invalid');
|
|
691
|
+
|
|
692
|
+
// If 401 error, don't try to validate other sessions - they may have been removed too
|
|
693
|
+
// Instead, check if current session is in removed sessions list
|
|
694
|
+
if (is401Error && removedSessionsRef.current.has(activeSessionId || '')) {
|
|
695
|
+
// Current session was removed, clear all and logout
|
|
696
|
+
updateSessions([], false);
|
|
697
|
+
setActiveSessionId(null);
|
|
698
|
+
logoutStore();
|
|
699
|
+
setMinimalUser(null);
|
|
700
|
+
await clearAllStorage();
|
|
701
|
+
onAuthStateChange?.(null);
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
|
|
686
705
|
// If the current session is invalid, try to find another valid session
|
|
706
|
+
// But skip sessions that were recently removed
|
|
687
707
|
if (sessions.length > 1) {
|
|
688
|
-
const otherSessions = sessions.filter(s => s.sessionId !== activeSessionId);
|
|
708
|
+
const otherSessions = sessions.filter(s => s.sessionId !== activeSessionId && !removedSessionsRef.current.has(s.sessionId));
|
|
689
709
|
for (const session of otherSessions) {
|
|
690
710
|
try {
|
|
691
711
|
const validation = await oxyServices.validateSession(session.sessionId, {
|
|
@@ -695,7 +715,16 @@ export const OxyProvider = ({
|
|
|
695
715
|
await switchToSession(session.sessionId);
|
|
696
716
|
return;
|
|
697
717
|
}
|
|
698
|
-
} catch {
|
|
718
|
+
} catch (validationError) {
|
|
719
|
+
// If validation returns 401, mark this session as removed
|
|
720
|
+
const isValidation401 = validationError?.response?.status === 401 || validationError?.message?.includes('Invalid or expired session');
|
|
721
|
+
if (isValidation401) {
|
|
722
|
+
removedSessionsRef.current.add(session.sessionId);
|
|
723
|
+
// Clear from tracking after 5 seconds
|
|
724
|
+
setTimeout(() => {
|
|
725
|
+
removedSessionsRef.current.delete(session.sessionId);
|
|
726
|
+
}, 5000);
|
|
727
|
+
}
|
|
699
728
|
continue;
|
|
700
729
|
}
|
|
701
730
|
}
|
|
@@ -835,6 +864,16 @@ export const OxyProvider = ({
|
|
|
835
864
|
return activeSession?.deviceId || null;
|
|
836
865
|
}, [activeSessionId, sessions]);
|
|
837
866
|
|
|
867
|
+
// Callback to track removed sessions
|
|
868
|
+
const handleSessionRemoved = useCallback(sessionId => {
|
|
869
|
+
// Add to removed sessions tracking
|
|
870
|
+
removedSessionsRef.current.add(sessionId);
|
|
871
|
+
// Clear from tracking after 5 seconds
|
|
872
|
+
setTimeout(() => {
|
|
873
|
+
removedSessionsRef.current.delete(sessionId);
|
|
874
|
+
}, 5000);
|
|
875
|
+
}, []);
|
|
876
|
+
|
|
838
877
|
// Integrate socket for real-time session updates
|
|
839
878
|
useSessionSocket({
|
|
840
879
|
userId: user?.id,
|
|
@@ -846,7 +885,8 @@ export const OxyProvider = ({
|
|
|
846
885
|
onRemoteSignOut: useCallback(() => {
|
|
847
886
|
toast.info('You have been signed out remotely.');
|
|
848
887
|
logout();
|
|
849
|
-
}, [logout])
|
|
888
|
+
}, [logout]),
|
|
889
|
+
onSessionRemoved: handleSessionRemoved
|
|
850
890
|
});
|
|
851
891
|
|
|
852
892
|
// Compute language metadata from currentLanguage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","useEffect","useCallback","useMemo","useRef","useState","OxyServices","normalizeAndSortSessions","mergeSessions","sessionsArraysEqual","DeviceManager","useSessionSocket","toast","useAuthStore","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getStorageKeys","prefix","activeSessionId","sessionIds","language","cachedUseFollowHook","loadUseFollowHook","useFollow","require","__DEV__","warn","fallback","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","bottomSheetRef","oxyServicesRef","current","user","state","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","logout","minimalUser","setMinimalUser","sessions","setSessions","setActiveSessionId","refreshInFlightRef","storage","setStorage","currentLanguage","setCurrentLanguage","useFollowHook","keys","applyLanguagePreference","userLanguage","serverLang","e","mapSessionsToClient","fallbackDeviceId","fallbackUserId","map","s","sessionId","deviceId","expiresAt","Date","now","toISOString","lastActive","userId","id","_id","toString","isCurrent","Boolean","saveSessionIds","uniqueIds","Array","from","Set","JSON","stringify","err","updateSessions","newSessions","mergeWithExisting","prevSessions","sessionsToProcess","allSessionIds","catch","tokenReady","setTokenReady","clearAllStorage","message","code","status","initStorage","platformStorage","errorMessage","setState","initAuth","savedLanguageRaw","savedLanguage","storedSessionIdsJson","storedSessionIds","parse","storedActiveSessionId","validSessions","length","log","validation","validateSession","useHeaderValidation","valid","push","getTokenBySession","fullUser","getUserBySession","username","avatar","deviceSessions","getDeviceSessions","allDeviceSessions","undefined","serverSessions","getSessionsBySessionId","filter","saveActiveSessionId","switchToSession","then","isInvalidSession","response","includes","otherSessions","otherSession","otherValidation","login","password","deviceName","deviceFingerprint","getDeviceFingerprint","deviceInfo","getDeviceInfo","signIn","getDefaultDeviceName","mfaRequired","mfaError","mfaToken","sessionResponse","userUserId","existingSession","find","logoutSession","logoutError","targetSessionId","sessionToLogout","filteredSessions","logoutAll","logoutAllSessions","signUp","email","completeMfaLogin","verifyTotpLogin","userSessions","switchSession","removeSession","refreshSessions","refreshPromise","fallbackError","session","logoutAllDeviceSessions","updateDeviceName","setLanguage","languageId","showBottomSheet","screenOrConfig","expand","present","setTimeout","navigate","screen","props","hideBottomSheet","dismiss","currentDeviceId","activeSession","getBaseURL","onRemoteSignOut","info","languageMetadata","languageName","nativeLanguageName","contextValue","isTokenReady","currentLanguageMetadata","currentLanguageName","currentNativeLanguageName","Provider","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useEffect","useCallback","useMemo","useRef","useState","OxyServices","normalizeAndSortSessions","mergeSessions","sessionsArraysEqual","DeviceManager","useSessionSocket","toast","useAuthStore","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getStorageKeys","prefix","activeSessionId","sessionIds","language","cachedUseFollowHook","loadUseFollowHook","useFollow","require","__DEV__","warn","fallback","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","bottomSheetRef","oxyServicesRef","current","user","state","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","logout","minimalUser","setMinimalUser","sessions","setSessions","setActiveSessionId","refreshInFlightRef","removedSessionsRef","Set","storage","setStorage","currentLanguage","setCurrentLanguage","useFollowHook","keys","applyLanguagePreference","userLanguage","serverLang","e","mapSessionsToClient","fallbackDeviceId","fallbackUserId","map","s","sessionId","deviceId","expiresAt","Date","now","toISOString","lastActive","userId","id","_id","toString","isCurrent","Boolean","saveSessionIds","uniqueIds","Array","from","JSON","stringify","err","updateSessions","newSessions","mergeWithExisting","prevSessions","sessionsToProcess","allSessionIds","catch","tokenReady","setTokenReady","clearAllStorage","message","code","status","initStorage","platformStorage","errorMessage","setState","initAuth","savedLanguageRaw","savedLanguage","storedSessionIdsJson","storedSessionIds","parse","storedActiveSessionId","validSessions","length","log","validation","validateSession","useHeaderValidation","valid","push","getTokenBySession","fullUser","getUserBySession","username","avatar","deviceSessions","getDeviceSessions","allDeviceSessions","undefined","serverSessions","getSessionsBySessionId","filter","saveActiveSessionId","switchToSession","then","isInvalidSession","response","includes","otherSessions","otherSession","otherValidation","login","password","deviceName","deviceFingerprint","getDeviceFingerprint","deviceInfo","getDeviceInfo","signIn","getDefaultDeviceName","mfaRequired","mfaError","mfaToken","sessionResponse","userUserId","existingSession","find","logoutSession","logoutError","targetSessionId","sessionToLogout","filteredSessions","logoutAll","logoutAllSessions","signUp","email","completeMfaLogin","verifyTotpLogin","userSessions","switchSession","removeSession","refreshSessions","refreshPromise","fallbackError","is401Error","has","session","validationError","isValidation401","add","setTimeout","delete","logoutAllDeviceSessions","updateDeviceName","setLanguage","languageId","showBottomSheet","screenOrConfig","expand","present","navigate","screen","props","hideBottomSheet","dismiss","currentDeviceId","activeSession","handleSessionRemoved","getBaseURL","onRemoteSignOut","info","onSessionRemoved","languageMetadata","languageName","nativeLanguageName","contextValue","isTokenReady","currentLanguageMetadata","currentLanguageName","currentNativeLanguageName","Provider","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,8 @@ export function useSessionSocket({
|
|
|
10
10
|
refreshSessions,
|
|
11
11
|
logout,
|
|
12
12
|
baseURL,
|
|
13
|
-
onRemoteSignOut
|
|
13
|
+
onRemoteSignOut,
|
|
14
|
+
onSessionRemoved
|
|
14
15
|
}) {
|
|
15
16
|
const socketRef = useRef(null);
|
|
16
17
|
const joinedRoomRef = useRef(null);
|
|
@@ -19,6 +20,7 @@ export function useSessionSocket({
|
|
|
19
20
|
const refreshSessionsRef = useRef(refreshSessions);
|
|
20
21
|
const logoutRef = useRef(logout);
|
|
21
22
|
const onRemoteSignOutRef = useRef(onRemoteSignOut);
|
|
23
|
+
const onSessionRemovedRef = useRef(onSessionRemoved);
|
|
22
24
|
const activeSessionIdRef = useRef(activeSessionId);
|
|
23
25
|
const currentDeviceIdRef = useRef(currentDeviceId);
|
|
24
26
|
|
|
@@ -27,9 +29,10 @@ export function useSessionSocket({
|
|
|
27
29
|
refreshSessionsRef.current = refreshSessions;
|
|
28
30
|
logoutRef.current = logout;
|
|
29
31
|
onRemoteSignOutRef.current = onRemoteSignOut;
|
|
32
|
+
onSessionRemovedRef.current = onSessionRemoved;
|
|
30
33
|
activeSessionIdRef.current = activeSessionId;
|
|
31
34
|
currentDeviceIdRef.current = currentDeviceId;
|
|
32
|
-
}, [refreshSessions, logout, onRemoteSignOut, activeSessionId, currentDeviceId]);
|
|
35
|
+
}, [refreshSessions, logout, onRemoteSignOut, onSessionRemoved, activeSessionId, currentDeviceId]);
|
|
33
36
|
useEffect(() => {
|
|
34
37
|
if (!userId || !baseURL) {
|
|
35
38
|
// Clean up if userId or baseURL becomes invalid
|
|
@@ -83,6 +86,11 @@ export function useSessionSocket({
|
|
|
83
86
|
|
|
84
87
|
// Handle different event types
|
|
85
88
|
if (data.type === 'session_removed') {
|
|
89
|
+
// Track removed session
|
|
90
|
+
if (data.sessionId && onSessionRemovedRef.current) {
|
|
91
|
+
onSessionRemovedRef.current(data.sessionId);
|
|
92
|
+
}
|
|
93
|
+
|
|
86
94
|
// If the removed sessionId matches the current activeSessionId, immediately logout
|
|
87
95
|
if (data.sessionId === currentActiveSessionId) {
|
|
88
96
|
if (onRemoteSignOutRef.current) {
|
|
@@ -92,10 +100,22 @@ export function useSessionSocket({
|
|
|
92
100
|
}
|
|
93
101
|
logoutRef.current();
|
|
94
102
|
} else {
|
|
95
|
-
// Otherwise, just refresh the sessions list
|
|
96
|
-
refreshSessionsRef.current()
|
|
103
|
+
// Otherwise, just refresh the sessions list (with error handling)
|
|
104
|
+
refreshSessionsRef.current().catch(error => {
|
|
105
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
106
|
+
if (__DEV__) {
|
|
107
|
+
console.debug('Failed to refresh sessions after session_removed:', error);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
97
110
|
}
|
|
98
111
|
} else if (data.type === 'device_removed') {
|
|
112
|
+
// Track all removed sessions from this device
|
|
113
|
+
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
114
|
+
for (const sessionId of data.sessionIds) {
|
|
115
|
+
onSessionRemovedRef.current(sessionId);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
99
119
|
// If the removed deviceId matches the current device, immediately logout
|
|
100
120
|
if (data.deviceId && data.deviceId === currentDeviceId) {
|
|
101
121
|
if (onRemoteSignOutRef.current) {
|
|
@@ -105,10 +125,22 @@ export function useSessionSocket({
|
|
|
105
125
|
}
|
|
106
126
|
logoutRef.current();
|
|
107
127
|
} else {
|
|
108
|
-
// Otherwise, refresh sessions and device list
|
|
109
|
-
refreshSessionsRef.current()
|
|
128
|
+
// Otherwise, refresh sessions and device list (with error handling)
|
|
129
|
+
refreshSessionsRef.current().catch(error => {
|
|
130
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
131
|
+
if (__DEV__) {
|
|
132
|
+
console.debug('Failed to refresh sessions after device_removed:', error);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
110
135
|
}
|
|
111
136
|
} else if (data.type === 'sessions_removed') {
|
|
137
|
+
// Track all removed sessions
|
|
138
|
+
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
139
|
+
for (const sessionId of data.sessionIds) {
|
|
140
|
+
onSessionRemovedRef.current(sessionId);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
112
144
|
// If the current activeSessionId is in the removed sessionIds list, immediately logout
|
|
113
145
|
if (data.sessionIds && currentActiveSessionId && data.sessionIds.includes(currentActiveSessionId)) {
|
|
114
146
|
if (onRemoteSignOutRef.current) {
|
|
@@ -118,12 +150,22 @@ export function useSessionSocket({
|
|
|
118
150
|
}
|
|
119
151
|
logoutRef.current();
|
|
120
152
|
} else {
|
|
121
|
-
// Otherwise, refresh sessions list
|
|
122
|
-
refreshSessionsRef.current()
|
|
153
|
+
// Otherwise, refresh sessions list (with error handling)
|
|
154
|
+
refreshSessionsRef.current().catch(error => {
|
|
155
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
156
|
+
if (__DEV__) {
|
|
157
|
+
console.debug('Failed to refresh sessions after sessions_removed:', error);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
123
160
|
}
|
|
124
161
|
} else {
|
|
125
|
-
// For other event types (e.g., session_created), refresh sessions
|
|
126
|
-
refreshSessionsRef.current()
|
|
162
|
+
// For other event types (e.g., session_created), refresh sessions (with error handling)
|
|
163
|
+
refreshSessionsRef.current().catch(error => {
|
|
164
|
+
// Log but don't throw - refresh errors shouldn't break the socket handler
|
|
165
|
+
if (__DEV__) {
|
|
166
|
+
console.debug('Failed to refresh sessions after session_update:', error);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
127
169
|
|
|
128
170
|
// If the current session was logged out (legacy behavior), handle it specially
|
|
129
171
|
if (data.sessionId === currentActiveSessionId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","io","toast","useSessionSocket","userId","activeSessionId","currentDeviceId","refreshSessions","logout","baseURL","onRemoteSignOut","socketRef","joinedRoomRef","refreshSessionsRef","logoutRef","onRemoteSignOutRef","activeSessionIdRef","currentDeviceIdRef","current","emit","roomId","transports","socket","__DEV__","console","log","handleConnect","id","handleSessionUpdate","data","currentActiveSessionId","type","sessionId","info","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","io","toast","useSessionSocket","userId","activeSessionId","currentDeviceId","refreshSessions","logout","baseURL","onRemoteSignOut","onSessionRemoved","socketRef","joinedRoomRef","refreshSessionsRef","logoutRef","onRemoteSignOutRef","onSessionRemovedRef","activeSessionIdRef","currentDeviceIdRef","current","emit","roomId","transports","socket","__DEV__","console","log","handleConnect","id","handleSessionUpdate","data","currentActiveSessionId","type","sessionId","info","catch","error","debug","sessionIds","deviceId","includes","on","off"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionSocket.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@ interface UseSessionSocketProps {
|
|
|
6
6
|
logout: () => Promise<void>;
|
|
7
7
|
baseURL: string;
|
|
8
8
|
onRemoteSignOut?: () => void;
|
|
9
|
+
onSessionRemoved?: (sessionId: string) => void;
|
|
9
10
|
}
|
|
10
|
-
export declare function useSessionSocket({ userId, activeSessionId, currentDeviceId, refreshSessions, logout, baseURL, onRemoteSignOut }: UseSessionSocketProps): void;
|
|
11
|
+
export declare function useSessionSocket({ userId, activeSessionId, currentDeviceId, refreshSessions, logout, baseURL, onRemoteSignOut, onSessionRemoved }: UseSessionSocketProps): void;
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=useSessionSocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionSocket.d.ts","sourceRoot":"","sources":["../../../../src/ui/hooks/useSessionSocket.ts"],"names":[],"mappings":"AAIA,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,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useSessionSocket.d.ts","sourceRoot":"","sources":["../../../../src/ui/hooks/useSessionSocket.ts"],"names":[],"mappings":"AAIA,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,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,qBAAqB,QA0LxK"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "5.13.
|
|
3
|
+
"version": "5.13.30",
|
|
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",
|
|
@@ -207,6 +207,9 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
207
207
|
|
|
208
208
|
// Track in-flight refresh to prevent duplicate calls
|
|
209
209
|
const refreshInFlightRef = useRef<Promise<void> | null>(null);
|
|
210
|
+
|
|
211
|
+
// Track recently removed session IDs to avoid validating them (cleared after 5 seconds)
|
|
212
|
+
const removedSessionsRef = useRef<Set<string>>(new Set());
|
|
210
213
|
|
|
211
214
|
const [storage, setStorage] = useState<StorageInterface | null>(null);
|
|
212
215
|
const [currentLanguage, setCurrentLanguage] = useState<string>('en-US');
|
|
@@ -750,9 +753,30 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
750
753
|
console.error('Refresh sessions error:', fallbackError);
|
|
751
754
|
}
|
|
752
755
|
|
|
756
|
+
// Check if the error is a 401 (session removed/invalid)
|
|
757
|
+
const is401Error = (fallbackError as any)?.response?.status === 401 ||
|
|
758
|
+
(fallbackError as any)?.message?.includes('Invalid or expired session') ||
|
|
759
|
+
(fallbackError as any)?.message?.includes('Session is invalid');
|
|
760
|
+
|
|
761
|
+
// If 401 error, don't try to validate other sessions - they may have been removed too
|
|
762
|
+
// Instead, check if current session is in removed sessions list
|
|
763
|
+
if (is401Error && removedSessionsRef.current.has(activeSessionId || '')) {
|
|
764
|
+
// Current session was removed, clear all and logout
|
|
765
|
+
updateSessions([], false);
|
|
766
|
+
setActiveSessionId(null);
|
|
767
|
+
logoutStore();
|
|
768
|
+
setMinimalUser(null);
|
|
769
|
+
await clearAllStorage();
|
|
770
|
+
onAuthStateChange?.(null);
|
|
771
|
+
return;
|
|
772
|
+
}
|
|
773
|
+
|
|
753
774
|
// If the current session is invalid, try to find another valid session
|
|
775
|
+
// But skip sessions that were recently removed
|
|
754
776
|
if (sessions.length > 1) {
|
|
755
|
-
const otherSessions = sessions.filter(
|
|
777
|
+
const otherSessions = sessions.filter(
|
|
778
|
+
s => s.sessionId !== activeSessionId && !removedSessionsRef.current.has(s.sessionId)
|
|
779
|
+
);
|
|
756
780
|
|
|
757
781
|
for (const session of otherSessions) {
|
|
758
782
|
try {
|
|
@@ -763,7 +787,18 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
763
787
|
await switchToSession(session.sessionId);
|
|
764
788
|
return;
|
|
765
789
|
}
|
|
766
|
-
} catch {
|
|
790
|
+
} catch (validationError: any) {
|
|
791
|
+
// If validation returns 401, mark this session as removed
|
|
792
|
+
const isValidation401 = validationError?.response?.status === 401 ||
|
|
793
|
+
validationError?.message?.includes('Invalid or expired session');
|
|
794
|
+
|
|
795
|
+
if (isValidation401) {
|
|
796
|
+
removedSessionsRef.current.add(session.sessionId);
|
|
797
|
+
// Clear from tracking after 5 seconds
|
|
798
|
+
setTimeout(() => {
|
|
799
|
+
removedSessionsRef.current.delete(session.sessionId);
|
|
800
|
+
}, 5000);
|
|
801
|
+
}
|
|
767
802
|
continue;
|
|
768
803
|
}
|
|
769
804
|
}
|
|
@@ -901,6 +936,16 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
901
936
|
return activeSession?.deviceId || null;
|
|
902
937
|
}, [activeSessionId, sessions]);
|
|
903
938
|
|
|
939
|
+
// Callback to track removed sessions
|
|
940
|
+
const handleSessionRemoved = useCallback((sessionId: string) => {
|
|
941
|
+
// Add to removed sessions tracking
|
|
942
|
+
removedSessionsRef.current.add(sessionId);
|
|
943
|
+
// Clear from tracking after 5 seconds
|
|
944
|
+
setTimeout(() => {
|
|
945
|
+
removedSessionsRef.current.delete(sessionId);
|
|
946
|
+
}, 5000);
|
|
947
|
+
}, []);
|
|
948
|
+
|
|
904
949
|
// Integrate socket for real-time session updates
|
|
905
950
|
useSessionSocket({
|
|
906
951
|
userId: user?.id,
|
|
@@ -913,6 +958,7 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
913
958
|
toast.info('You have been signed out remotely.');
|
|
914
959
|
logout();
|
|
915
960
|
}, [logout]),
|
|
961
|
+
onSessionRemoved: handleSessionRemoved,
|
|
916
962
|
});
|
|
917
963
|
|
|
918
964
|
// Compute language metadata from currentLanguage
|
|
@@ -10,9 +10,10 @@ interface UseSessionSocketProps {
|
|
|
10
10
|
logout: () => Promise<void>;
|
|
11
11
|
baseURL: string;
|
|
12
12
|
onRemoteSignOut?: () => void;
|
|
13
|
+
onSessionRemoved?: (sessionId: string) => void;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
export function useSessionSocket({ userId, activeSessionId, currentDeviceId, refreshSessions, logout, baseURL, onRemoteSignOut }: UseSessionSocketProps) {
|
|
16
|
+
export function useSessionSocket({ userId, activeSessionId, currentDeviceId, refreshSessions, logout, baseURL, onRemoteSignOut, onSessionRemoved }: UseSessionSocketProps) {
|
|
16
17
|
const socketRef = useRef<any>(null);
|
|
17
18
|
const joinedRoomRef = useRef<string | null>(null);
|
|
18
19
|
|
|
@@ -20,6 +21,7 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
|
|
|
20
21
|
const refreshSessionsRef = useRef(refreshSessions);
|
|
21
22
|
const logoutRef = useRef(logout);
|
|
22
23
|
const onRemoteSignOutRef = useRef(onRemoteSignOut);
|
|
24
|
+
const onSessionRemovedRef = useRef(onSessionRemoved);
|
|
23
25
|
const activeSessionIdRef = useRef(activeSessionId);
|
|
24
26
|
const currentDeviceIdRef = useRef(currentDeviceId);
|
|
25
27
|
|
|
@@ -28,9 +30,10 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
|
|
|
28
30
|
refreshSessionsRef.current = refreshSessions;
|
|
29
31
|
logoutRef.current = logout;
|
|
30
32
|
onRemoteSignOutRef.current = onRemoteSignOut;
|
|
33
|
+
onSessionRemovedRef.current = onSessionRemoved;
|
|
31
34
|
activeSessionIdRef.current = activeSessionId;
|
|
32
35
|
currentDeviceIdRef.current = currentDeviceId;
|
|
33
|
-
}, [refreshSessions, logout, onRemoteSignOut, activeSessionId, currentDeviceId]);
|
|
36
|
+
}, [refreshSessions, logout, onRemoteSignOut, onSessionRemoved, activeSessionId, currentDeviceId]);
|
|
34
37
|
|
|
35
38
|
useEffect(() => {
|
|
36
39
|
if (!userId || !baseURL) {
|
|
@@ -89,6 +92,11 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
|
|
|
89
92
|
|
|
90
93
|
// Handle different event types
|
|
91
94
|
if (data.type === 'session_removed') {
|
|
95
|
+
// Track removed session
|
|
96
|
+
if (data.sessionId && onSessionRemovedRef.current) {
|
|
97
|
+
onSessionRemovedRef.current(data.sessionId);
|
|
98
|
+
}
|
|
99
|
+
|
|
92
100
|
// If the removed sessionId matches the current activeSessionId, immediately logout
|
|
93
101
|
if (data.sessionId === currentActiveSessionId) {
|
|
94
102
|
if (onRemoteSignOutRef.current) {
|
|
@@ -98,10 +106,22 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
|
|
|
98
106
|
}
|
|
99
107
|
logoutRef.current();
|
|
100
108
|
} else {
|
|
101
|
-
// Otherwise, just refresh the sessions list
|
|
102
|
-
refreshSessionsRef.current()
|
|
109
|
+
// Otherwise, just refresh the sessions list (with error handling)
|
|
110
|
+
refreshSessionsRef.current().catch((error) => {
|
|
111
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
112
|
+
if (__DEV__) {
|
|
113
|
+
console.debug('Failed to refresh sessions after session_removed:', error);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
103
116
|
}
|
|
104
117
|
} else if (data.type === 'device_removed') {
|
|
118
|
+
// Track all removed sessions from this device
|
|
119
|
+
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
120
|
+
for (const sessionId of data.sessionIds) {
|
|
121
|
+
onSessionRemovedRef.current(sessionId);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
105
125
|
// If the removed deviceId matches the current device, immediately logout
|
|
106
126
|
if (data.deviceId && data.deviceId === currentDeviceId) {
|
|
107
127
|
if (onRemoteSignOutRef.current) {
|
|
@@ -111,10 +131,22 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
|
|
|
111
131
|
}
|
|
112
132
|
logoutRef.current();
|
|
113
133
|
} else {
|
|
114
|
-
// Otherwise, refresh sessions and device list
|
|
115
|
-
refreshSessionsRef.current()
|
|
134
|
+
// Otherwise, refresh sessions and device list (with error handling)
|
|
135
|
+
refreshSessionsRef.current().catch((error) => {
|
|
136
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
137
|
+
if (__DEV__) {
|
|
138
|
+
console.debug('Failed to refresh sessions after device_removed:', error);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
116
141
|
}
|
|
117
142
|
} else if (data.type === 'sessions_removed') {
|
|
143
|
+
// Track all removed sessions
|
|
144
|
+
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
145
|
+
for (const sessionId of data.sessionIds) {
|
|
146
|
+
onSessionRemovedRef.current(sessionId);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
118
150
|
// If the current activeSessionId is in the removed sessionIds list, immediately logout
|
|
119
151
|
if (data.sessionIds && currentActiveSessionId && data.sessionIds.includes(currentActiveSessionId)) {
|
|
120
152
|
if (onRemoteSignOutRef.current) {
|
|
@@ -124,12 +156,22 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
|
|
|
124
156
|
}
|
|
125
157
|
logoutRef.current();
|
|
126
158
|
} else {
|
|
127
|
-
// Otherwise, refresh sessions list
|
|
128
|
-
refreshSessionsRef.current()
|
|
159
|
+
// Otherwise, refresh sessions list (with error handling)
|
|
160
|
+
refreshSessionsRef.current().catch((error) => {
|
|
161
|
+
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
162
|
+
if (__DEV__) {
|
|
163
|
+
console.debug('Failed to refresh sessions after sessions_removed:', error);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
129
166
|
}
|
|
130
167
|
} else {
|
|
131
|
-
// For other event types (e.g., session_created), refresh sessions
|
|
132
|
-
refreshSessionsRef.current()
|
|
168
|
+
// For other event types (e.g., session_created), refresh sessions (with error handling)
|
|
169
|
+
refreshSessionsRef.current().catch((error) => {
|
|
170
|
+
// Log but don't throw - refresh errors shouldn't break the socket handler
|
|
171
|
+
if (__DEV__) {
|
|
172
|
+
console.debug('Failed to refresh sessions after session_update:', error);
|
|
173
|
+
}
|
|
174
|
+
});
|
|
133
175
|
|
|
134
176
|
// If the current session was logged out (legacy behavior), handle it specially
|
|
135
177
|
if (data.sessionId === currentActiveSessionId) {
|