@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.
@@ -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":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAGA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAGA,IAAAO,cAAA,GAAAP,OAAA;AAA+H,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAS,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA,KAI/H;AAkDA;AACA,MAAMkB,UAAU,gBAAG,IAAAC,oBAAa,EAAyB,IAAI,CAAC;;AAE9D;;AAWA;;AAQA;AACA,MAAMC,UAAU,CAA6B;EAC3C,MAAMC,OAAOA,CAACC,GAAW,EAA0B;IACjD,OAAOC,YAAY,CAACF,OAAO,CAACC,GAAG,CAAC;EAClC;EAEA,MAAME,OAAOA,CAACF,GAAW,EAAEG,KAAa,EAAiB;IACvDF,YAAY,CAACC,OAAO,CAACF,GAAG,EAAEG,KAAK,CAAC;EAClC;EAEA,MAAMC,UAAUA,CAACJ,GAAW,EAAiB;IAC3CC,YAAY,CAACG,UAAU,CAACJ,GAAG,CAAC;EAC9B;EAEA,MAAMK,KAAKA,CAAA,EAAkB;IAC3BJ,YAAY,CAACI,KAAK,CAAC,CAAC;EACtB;AACF;;AAEA;AACA,IAAIC,YAA8B;;AAElC;AACA,MAAMC,aAAa,GAAGA,CAAA,KAAe;EACnC,OAAO,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACC,OAAO,KAAK,aAAa;AAChF,CAAC;;AAED;AACA,MAAMC,UAAU,GAAG,MAAAA,CAAA,KAAuC;EACxD,IAAIH,aAAa,CAAC,CAAC,EAAE;IACnB,IAAI,CAACD,YAAY,EAAE;MACjB,IAAI;QACF,MAAMK,kBAAkB,GAAG,MAAAC,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAAtC,uBAAA,CAAAT,OAAA,CAAa,2CAA2C,GAAC;QACpFuC,YAAY,GAAIK,kBAAkB,CAACxB,OAAuC;MAC5E,CAAC,CAAC,OAAO4B,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;QACtD,MAAM,IAAIE,KAAK,CAAC,sDAAsD,CAAC;MACzE;IACF;IACA,OAAOX,YAAY;EACrB;EAEA,OAAO,IAAIR,UAAU,CAAC,CAAC;AACzB,CAAC;;AAED;AACA,MAAMoB,cAAc,GAAGA,CAACC,MAAM,GAAG,aAAa,MAAM;EAClDC,eAAe,EAAE,GAAGD,MAAM,oBAAoB;EAAE;EAChDE,UAAU,EAAE,GAAGF,MAAM,cAAc;EAAE;EACrCG,QAAQ,EAAE,GAAGH,MAAM,WAAW,CAAE;AAClC,CAAC,CAAC;AAEF,IAAII,mBAAyC,GAAG,IAAI;AAEpD,MAAMC,iBAAiB,GAAGA,CAAA,KAAqB;EAC7C,IAAID,mBAAmB,EAAE;IACvB,OAAOA,mBAAmB;EAC5B;EAEA,IAAI;IACF;IACA,MAAM;MAAEE;IAAU,CAAC,GAAG1D,OAAO,CAAC,oBAAoB,CAAC;IACnDwD,mBAAmB,GAAGE,SAA0B;IAChD,OAAOF,mBAAmB;EAC5B,CAAC,CAAC,OAAOR,KAAK,EAAE;IACd,IAAIW,OAAO,EAAE;MACXV,OAAO,CAACW,IAAI,CACV,yFAAyF,EACzFZ,KACF,CAAC;IACH;IAEA,MAAMa,QAAuB,GAAGA,CAAA,KAAM;MACpC,MAAM,IAAIX,KAAK,CAAC,oFAAoF,CAAC;IACvG,CAAC;IAEDM,mBAAmB,GAAGK,QAAQ;IAC9B,OAAOL,mBAAmB;EAC5B;AACF,CAAC;AAEM,MAAMM,WAA8C,GAAGA,CAAC;EAC7DC,QAAQ;EACRC,WAAW,EAAEC,mBAAmB;EAChCC,OAAO;EACPC,gBAAgB,GAAG,aAAa;EAChCC,iBAAiB;EACjBC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ;EACA,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAAqB,IAAI,CAAC;EAEvD,IAAI,CAACD,cAAc,CAACE,OAAO,EAAE;IAC3B,IAAIR,mBAAmB,EAAE;MACvBM,cAAc,CAACE,OAAO,GAAGR,mBAAmB;IAC9C,CAAC,MAAM,IAAIC,OAAO,EAAE;MAClBK,cAAc,CAACE,OAAO,GAAG,IAAIC,iBAAW,CAAC;QAAER;MAAQ,CAAC,CAAC;IACvD,CAAC,MAAM;MACL,MAAM,IAAIhB,KAAK,CAAC,sEAAsE,CAAC;IACzF;EACF;EAEA,MAAMc,WAAW,GAAGO,cAAc,CAACE,OAAO;;EAE1C;EACA,MAAME,IAAI,GAAG,IAAAC,uBAAY,EAAEC,KAAK,IAAKA,KAAK,CAACF,IAAI,CAAC;EAChD,MAAMG,eAAe,GAAG,IAAAF,uBAAY,EAAEC,KAAK,IAAKA,KAAK,CAACC,eAAe,CAAC;EACtE,MAAMC,SAAS,GAAG,IAAAH,uBAAY,EAAEC,KAAK,IAAKA,KAAK,CAACE,SAAS,CAAC;EAC1D,MAAM/B,KAAK,GAAG,IAAA4B,uBAAY,EAAEC,KAAK,IAAKA,KAAK,CAAC7B,KAAK,CAAC;EAClD,MAAMgC,YAAY,GAAG,IAAAJ,uBAAY,EAAEC,KAAK,IAAKA,KAAK,CAACG,YAAY,CAAC;EAChE,MAAMC,YAAY,GAAG,IAAAL,uBAAY,EAAEC,KAAK,IAAKA,KAAK,CAACI,YAAY,CAAC;EAChE,MAAMC,WAAW,GAAG,IAAAN,uBAAY,EAAEC,KAAK,IAAKA,KAAK,CAACM,MAAM,CAAC;;EAEzD;EACA,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAyB,IAAI,CAAC;EAC5E,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAAkB,EAAE,CAAC;EAC7D,MAAM,CAACjC,eAAe,EAAEoC,kBAAkB,CAAC,GAAG,IAAAH,eAAQ,EAAgB,IAAI,CAAC;;EAE3E;EACA,MAAMI,kBAAkB,GAAG,IAAAlB,aAAM,EAAuB,IAAI,CAAC;;EAE7D;EACA,MAAMmB,kBAAkB,GAAG,IAAAnB,aAAM,EAAc,IAAIoB,GAAG,CAAC,CAAC,CAAC;EAEzD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAR,eAAQ,EAA0B,IAAI,CAAC;EACrE,MAAM,CAACS,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAV,eAAQ,EAAS,OAAO,CAAC;EACvE,MAAMW,aAAa,GAAG,IAAAC,cAAO,EAAC,MAAMzC,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC;;EAE5D;EACA,MAAM0C,IAAI,GAAG,IAAAD,cAAO,EAAC,MAAM/C,cAAc,CAACgB,gBAAgB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;;EAEhF;EACA,MAAMiC,uBAAuB,GAAG,IAAAC,kBAAW,EAAC,MAAO1B,IAAU,IAAoB;IAC/E,MAAM2B,YAAY,GAAI3B,IAAI,EAA8BpB,QAA8B;IACtF,IAAI,CAAC+C,YAAY,IAAI,CAACT,OAAO,EAAE;IAE/B,IAAI;MACF,MAAMU,UAAU,GAAG,IAAAC,oCAAqB,EAACF,YAAY,CAAC;MACtD,MAAMT,OAAO,CAAC1D,OAAO,CAACgE,IAAI,CAAC5C,QAAQ,EAAEgD,UAAU,CAAC;MAChDP,kBAAkB,CAACO,UAAU,CAAC;IAChC,CAAC,CAAC,OAAO7F,CAAC,EAAE;MACV,IAAIiD,OAAO,EAAE;QACXV,OAAO,CAACW,IAAI,CAAC,4CAA4C,EAAElD,CAAC,CAAC;MAC/D;IACF;EACF,CAAC,EAAE,CAACmF,OAAO,EAAEM,IAAI,CAAC5C,QAAQ,CAAC,CAAC;EAE5B,MAAMkD,mBAAmB,GAAG,IAAAJ,kBAAW,EAAC,CAACd,QAQvC,EAAEmB,gBAAyB,EAAEC,cAAuB,KAAsB;IAC1E,OAAOpB,QAAQ,CAACqB,GAAG,CAAEC,CAAM,KAAM;MAC/BC,SAAS,EAAED,CAAC,CAACC,SAAS;MACtBC,QAAQ,EAAEF,CAAC,CAACE,QAAQ,IAAIL,gBAAgB,IAAI,EAAE;MAC9CM,SAAS,EAAEH,CAAC,CAACG,SAAS,IAAI,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAACC,WAAW,CAAC,CAAC;MACtFC,UAAU,EAAEP,CAAC,CAACO,UAAU,IAAI,IAAIH,IAAI,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC;MACpDE,MAAM,EAAER,CAAC,CAAClC,IAAI,EAAE2C,EAAE,IAAIT,CAAC,CAACQ,MAAM,IAAKR,CAAC,CAAClC,IAAI,EAAE4C,GAAG,EAAEC,QAAQ,CAAC,CAAE,IAAIb,cAAc,IAAI,EAAE;MACnFc,SAAS,EAAEC,OAAO,CAACb,CAAC,CAACY,SAAS;IAChC,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAME,cAAc,GAAG,IAAAtB,kBAAW,EAAC,MAAO/C,UAAoB,IAAoB;IAChF,IAAI,CAACuC,OAAO,EAAE;IACd,IAAI;MACF,MAAM+B,SAAS,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAIlC,GAAG,CAACtC,UAAU,CAAC,CAAC;MACjD,MAAMuC,OAAO,CAAC1D,OAAO,CAACgE,IAAI,CAAC7C,UAAU,EAAEyE,IAAI,CAACC,SAAS,CAACJ,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC,OAAOK,GAAG,EAAE;MACZ,IAAItE,OAAO,EAAE;QACXV,OAAO,CAACW,IAAI,CAAC,6BAA6B,EAAEqE,GAAG,CAAC;MAClD;IACF;EACF,CAAC,EAAE,CAACpC,OAAO,EAAEM,IAAI,CAAC7C,UAAU,CAAC,CAAC;EAE9B,MAAM4E,cAAc,GAAG,IAAA7B,kBAAW,EAAC,CAAC8B,WAA4B,EAAEC,iBAAiB,GAAG,KAAK,KAAK;IAC9F5C,WAAW,CAAE6C,YAAY,IAAK;MAC5B,MAAMC,iBAAiB,GAAGF,iBAAiB,GACvC,IAAAG,2BAAa,EAACF,YAAY,EAAEF,WAAW,EAAE9E,eAAe,EAAE,KAAK,CAAC,GAChE,IAAAmF,sCAAwB,EAACL,WAAW,EAAE9E,eAAe,EAAE,KAAK,CAAC;;MAEjE;MACA,IAAIwC,OAAO,EAAE;QACX,MAAM4C,aAAa,GAAGH,iBAAiB,CAAC1B,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,SAAS,CAAC;QAC7Da,cAAc,CAACc,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;UACxC;QAAA,CACD,CAAC;MACJ;MAEA,OAAO,IAAAC,iCAAmB,EAACN,YAAY,EAAEC,iBAAiB,CAAC,GAAGD,YAAY,GAAGC,iBAAiB;IAChG,CAAC,CAAC;EACJ,CAAC,EAAE,CAACjF,eAAe,EAAEwC,OAAO,EAAE8B,cAAc,CAAC,CAAC;;EAE9C;EACA,MAAM,CAACiB,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAvD,eAAQ,EAAC,IAAI,CAAC;;EAElD;EACA,MAAMwD,eAAe,GAAG,IAAAzC,kBAAW,EAAC,YAA2B;IAC7D,IAAI,CAACR,OAAO,EAAE;IACd,IAAI;MACF,MAAMA,OAAO,CAACxD,UAAU,CAAC8D,IAAI,CAAC9C,eAAe,CAAC;MAC9C,MAAMwC,OAAO,CAACxD,UAAU,CAAC8D,IAAI,CAAC7C,UAAU,CAAC;IAC3C,CAAC,CAAC,OAAO2E,GAAG,EAAE;MACZ,IAAItE,OAAO,EAAE;QACXV,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEiF,GAAG,CAAC;MAC5C;MACA5D,OAAO,GAAG;QAAE0E,OAAO,EAAE,yBAAyB;QAAEC,IAAI,EAAE,eAAe;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;IACvF;EACF,CAAC,EAAE,CAACpD,OAAO,EAAEM,IAAI,EAAE9B,OAAO,CAAC,CAAC;;EAE5B;EACA,IAAA6E,gBAAS,EAAC,MAAM;IACd,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;MAC9B,IAAI;QACF,MAAMC,eAAe,GAAG,MAAMzG,UAAU,CAAC,CAAC;QAC1CmD,UAAU,CAACsD,eAAe,CAAC;MAC7B,CAAC,CAAC,OAAOpG,KAAK,EAAE;QACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,8BAA8B;QAC5FnE,uBAAY,CAAC0E,QAAQ,CAAC;UAAEtG,KAAK,EAAEqG;QAAa,CAAC,CAAC;QAC9ChF,OAAO,GAAG;UAAE0E,OAAO,EAAEM,YAAY;UAAEL,IAAI,EAAE,oBAAoB;UAAEC,MAAM,EAAE;QAAI,CAAC,CAAC;MAC/E;IACF,CAAC;IACDE,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,CAAC9E,OAAO,CAAC,CAAC;;EAEb;EACA;EACA;EACA,IAAA6E,gBAAS,EAAC,MAAM;IACd,MAAMK,QAAQ,GAAG,MAAAA,CAAA,KAAY;MAC3B,IAAI,CAAC1D,OAAO,EAAE;MACd;MACA,IAAI;QACF;QACA,MAAM2D,gBAAgB,GAAG,MAAM3D,OAAO,CAAC7D,OAAO,CAACmE,IAAI,CAAC5C,QAAQ,CAAC;QAC7D,MAAMkG,aAAa,GAAG,IAAAjD,oCAAqB,EAACgD,gBAAgB,CAAC,IAAIA,gBAAgB;QACjF,IAAIC,aAAa,EAAE;UACjBzD,kBAAkB,CAACyD,aAAa,CAAC;QACnC;;QAEA;QACA,MAAMC,oBAAoB,GAAG,MAAM7D,OAAO,CAAC7D,OAAO,CAACmE,IAAI,CAAC7C,UAAU,CAAC;QACnE,MAAMqG,gBAA0B,GAAGD,oBAAoB,GAAG3B,IAAI,CAAC6B,KAAK,CAACF,oBAAoB,CAAC,GAAG,EAAE;;QAE/F;QACA,MAAMG,qBAAqB,GAAG,MAAMhE,OAAO,CAAC7D,OAAO,CAACmE,IAAI,CAAC9C,eAAe,CAAC;QACzE,MAAMyG,aAA8B,GAAG,EAAE;;QAEzC;QACA,IAAIH,gBAAgB,CAACI,MAAM,GAAG,CAAC,EAAE;UAC/B,IAAIpG,OAAO,EAAE;YACXV,OAAO,CAAC+G,GAAG,CAAC,kCAAkC,EAAEL,gBAAgB,CAACI,MAAM,CAAC;UAC1E;;UAEA;UACA,KAAK,MAAMjD,SAAS,IAAI6C,gBAAgB,EAAE;YACxC,IAAI;cACF,MAAMM,UAAU,GAAG,MAAMjG,WAAW,CAACkG,eAAe,CAACpD,SAAS,EAAE;gBAAEqD,mBAAmB,EAAE;cAAK,CAAC,CAAC;cAC9F,IAAIF,UAAU,CAACG,KAAK,IAAIH,UAAU,CAACtF,IAAI,EAAE;gBACvCmF,aAAa,CAACO,IAAI,CAAC;kBACjBvD,SAAS;kBACTO,MAAM,EAAE4C,UAAU,CAACtF,IAAI,CAAC2C,EAAE,EAAEE,QAAQ,CAAC,CAAC,IAAI,EAAE;kBAC5CT,QAAQ,EAAE,EAAE;kBACZC,SAAS,EAAE,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAACC,WAAW,CAAC,CAAC;kBACvEC,UAAU,EAAE,IAAIH,IAAI,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC;kBACpCM,SAAS,EAAEX,SAAS,KAAK+C;gBAC3B,CAAC,CAAC;cACJ;YACF,CAAC,CAAC,OAAOnJ,CAAC,EAAE;cACV;cACA,IAAIiD,OAAO,EAAE;gBACXV,OAAO,CAACW,IAAI,CAAC,gCAAgC,EAAEkD,SAAS,EAAEpG,CAAC,CAAC;cAC9D;YACF;UACF;;UAEA;UACA,IAAIoJ,aAAa,CAACC,MAAM,GAAG,CAAC,EAAE;YAC5B7B,cAAc,CAAC4B,aAAa,EAAE,KAAK,CAAC;UACtC;QACF;;QAEA;QACA,IAAID,qBAAqB,EAAE;UACzB,IAAI;YACF,MAAMI,UAAU,GAAG,MAAMjG,WAAW,CAACkG,eAAe,CAACL,qBAAqB,EAAE;cAAEM,mBAAmB,EAAE;YAAK,CAAC,CAAC;YAC1G,IAAIF,UAAU,CAACG,KAAK,EAAE;cACpB3E,kBAAkB,CAACoE,qBAAqB,CAAC;cACzC,MAAM7F,WAAW,CAACsG,iBAAiB,CAACT,qBAAqB,CAAC;cAC1D,MAAMU,QAAQ,GAAG,MAAMvG,WAAW,CAACwG,gBAAgB,CAACX,qBAAqB,CAAC;cAC1E7E,YAAY,CAACuF,QAAQ,CAAC;cACtBlF,cAAc,CAAC;gBAAEiC,EAAE,EAAEiD,QAAQ,CAACjD,EAAE;gBAAEmD,QAAQ,EAAEF,QAAQ,CAACE,QAAQ;gBAAEC,MAAM,EAAEH,QAAQ,CAACG;cAAO,CAAC,CAAC;cAEzF,MAAMtE,uBAAuB,CAACmE,QAAQ,CAAC;cAEvC,IAAI;gBACF,MAAMI,cAAc,GAAG,MAAM3G,WAAW,CAAC4G,iBAAiB,CAACf,qBAAqB,CAAC;gBACjF,MAAMgB,iBAAiB,GAAGpE,mBAAmB,CAACkE,cAAc,EAAEG,SAAS,EAAEP,QAAQ,CAACjD,EAAE,CAAC;gBACrFY,cAAc,CAAC2C,iBAAiB,EAAE,IAAI,CAAC;cACzC,CAAC,CAAC,OAAOnK,CAAC,EAAE;gBACV,IAAIiD,OAAO,EAAE;kBACXV,OAAO,CAACW,IAAI,CAAC,uEAAuE,EAAElD,CAAC,CAAC;gBAC1F;gBACA,MAAMqK,cAAc,GAAG,MAAM/G,WAAW,CAACgH,sBAAsB,CAACnB,qBAAqB,CAAC;gBACtF3B,cAAc,CAACzB,mBAAmB,CAACsE,cAAc,EAAED,SAAS,EAAEP,QAAQ,CAACjD,EAAE,CAAC,EAAE,KAAK,CAAC;cACpF;cACAlD,iBAAiB,GAAGmG,QAAQ,CAAC;YAC/B,CAAC,MAAM;cACL;cACA,MAAM1E,OAAO,CAACxD,UAAU,CAAC8D,IAAI,CAAC9C,eAAe,CAAC;cAC9C;cACA6E,cAAc,CAAC4B,aAAa,CAACmB,MAAM,CAACpE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAK+C,qBAAqB,CAAC,EAAE,KAAK,CAAC;YACzF;UACF,CAAC,CAAC,OAAOnJ,CAAC,EAAE;YACV,IAAIiD,OAAO,EAAE;cACXV,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEtC,CAAC,CAAC;YACrD;YACA;YACA,MAAMmF,OAAO,CAACxD,UAAU,CAAC8D,IAAI,CAAC9C,eAAe,CAAC;YAC9C6E,cAAc,CAAC4B,aAAa,CAACmB,MAAM,CAACpE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAK+C,qBAAqB,CAAC,EAAE,KAAK,CAAC;UACzF;QACF;QACAhB,aAAa,CAAC,IAAI,CAAC;MACrB,CAAC,CAAC,OAAOnI,CAAC,EAAE;QACV,IAAIiD,OAAO,EAAE;UACXV,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEtC,CAAC,CAAC;QACrC;QACA,MAAMoI,eAAe,CAAC,CAAC;QACvBD,aAAa,CAAC,IAAI,CAAC;MACrB;IACF,CAAC;IACDU,QAAQ,CAAC,CAAC;EACZ,CAAC,EAAE,CAAC1D,OAAO,EAAE7B,WAAW,EAAEmC,IAAI,EAAE/B,iBAAiB,EAAEY,YAAY,EAAE8D,eAAe,EAAE1C,uBAAuB,EAAEK,mBAAmB,EAAEyB,cAAc,CAAC,CAAC;;EAEhJ;EACA,MAAMgD,mBAAmB,GAAG,IAAA7E,kBAAW,EAAC,MAAOS,SAAiB,IAAoB;IAClF,IAAI,CAACjB,OAAO,EAAE;IACd,MAAMA,OAAO,CAAC1D,OAAO,CAACgE,IAAI,CAAC9C,eAAe,EAAEyD,SAAS,CAAC;EACxD,CAAC,EAAE,CAACjB,OAAO,EAAEM,IAAI,CAAC9C,eAAe,CAAC,CAAC;EAEnC,MAAM8H,eAAe,GAAG,IAAA9E,kBAAW,EAAC,MAAOS,SAAiB,IAAoB;IAC9E,IAAI;MACF,MAAMmD,UAAU,GAAG,MAAMjG,WAAW,CAACkG,eAAe,CAACpD,SAAS,EAAE;QAAEqD,mBAAmB,EAAE;MAAK,CAAC,CAAC;MAC9F,IAAI,CAACF,UAAU,CAACG,KAAK,EAAE;QACrBlC,cAAc,CAAC3C,QAAQ,CAAC0F,MAAM,CAACpE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAKA,SAAS,CAAC,EAAE,KAAK,CAAC;QACtE,MAAM,IAAI5D,KAAK,CAAC,+BAA+B,CAAC;MAClD;MAEA,IAAI,CAAC+G,UAAU,CAACtF,IAAI,EAAE;QACpB,MAAM,IAAIzB,KAAK,CAAC,iDAAiD,CAAC;MACpE;MAEA,MAAMqH,QAAQ,GAAGN,UAAU,CAACtF,IAAI;MAChC,MAAMX,WAAW,CAACsG,iBAAiB,CAACxD,SAAS,CAAC;MAC9C+B,aAAa,CAAC,IAAI,CAAC;MAEnBpD,kBAAkB,CAACqB,SAAS,CAAC;MAC7B9B,YAAY,CAACuF,QAAQ,CAAC;MACtBlF,cAAc,CAAC;QACbiC,EAAE,EAAEiD,QAAQ,CAACjD,EAAE;QACfmD,QAAQ,EAAEF,QAAQ,CAACE,QAAQ;QAC3BC,MAAM,EAAEH,QAAQ,CAACG;MACnB,CAAC,CAAC;MAEF,MAAMQ,mBAAmB,CAACpE,SAAS,CAAC;MACpC,MAAMV,uBAAuB,CAACmE,QAAQ,CAAC;MAEvCvG,WAAW,CAAC4G,iBAAiB,CAAC9D,SAAS,CAAC,CACrC/D,IAAI,CAAE4H,cAAc,IAAK;QACxB,MAAME,iBAAiB,GAAGpE,mBAAmB,CAACkE,cAAc,EAAEG,SAAS,EAAEP,QAAQ,CAACjD,EAAE,CAAC;QACrFY,cAAc,CAAC2C,iBAAiB,EAAE,IAAI,CAAC;MACzC,CAAC,CAAC,CACDnC,KAAK,CAAE1F,KAAK,IAAK;QAChB,IAAIW,OAAO,EAAEV,OAAO,CAACW,IAAI,CAAC,6CAA6C,EAAEZ,KAAK,CAAC;MACjF,CAAC,CAAC;MAEJoB,iBAAiB,GAAGmG,QAAQ,CAAC;IAC/B,CAAC,CAAC,OAAOvH,KAAU,EAAE;MACnB,MAAMoI,gBAAgB,GAAGpI,KAAK,EAAEqI,QAAQ,EAAEpC,MAAM,KAAK,GAAG,IACtDjG,KAAK,EAAE+F,OAAO,EAAEuC,QAAQ,CAAC,4BAA4B,CAAC,IACtDtI,KAAK,EAAE+F,OAAO,EAAEuC,QAAQ,CAAC,oBAAoB,CAAC;MAEhD,IAAIF,gBAAgB,EAAE;QACpBlD,cAAc,CAAC3C,QAAQ,CAAC0F,MAAM,CAACpE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAKA,SAAS,CAAC,EAAE,KAAK,CAAC;QAEtE,IAAIA,SAAS,KAAKzD,eAAe,IAAIkC,QAAQ,CAACwE,MAAM,GAAG,CAAC,EAAE;UACxD,MAAMwB,aAAa,GAAGhG,QAAQ,CAAC0F,MAAM,CAACpE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAKA,SAAS,CAAC;UACrE,KAAK,MAAM0E,YAAY,IAAID,aAAa,EAAE;YACxC,IAAI;cACF,MAAME,eAAe,GAAG,MAAMzH,WAAW,CAACkG,eAAe,CAACsB,YAAY,CAAC1E,SAAS,EAAE;gBAAEqD,mBAAmB,EAAE;cAAK,CAAC,CAAC;cAChH,IAAIsB,eAAe,CAACrB,KAAK,EAAE;gBACzB,MAAMe,eAAe,CAACK,YAAY,CAAC1E,SAAS,CAAC;gBAC7C;cACF;YACF,CAAC,CAAC,MAAM;cACN;cACA;YACF;UACF;QACF;MACF;MAEA,MAAMuC,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,0BAA0B;MACxF,IAAIpF,OAAO,EAAE;QACXV,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC/C;MACA4B,uBAAY,CAAC0E,QAAQ,CAAC;QAAEtG,KAAK,EAAEqG;MAAa,CAAC,CAAC;MAC9ChF,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAEoC,gBAAgB,GAAG,iBAAiB,GAAG,sBAAsB;QAAEnC,MAAM,EAAEmC,gBAAgB,GAAG,GAAG,GAAG;MAAI,CAAC,CAAC;MAC/IvC,aAAa,CAAC,KAAK,CAAC;MACpB,MAAM7F,KAAK,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACgB,WAAW,EAAEI,iBAAiB,EAAEY,YAAY,EAAEkG,mBAAmB,EAAE9E,uBAAuB,EAAEK,mBAAmB,EAAEpC,OAAO,EAAEhB,eAAe,EAAEkC,QAAQ,CAAC,CAAC;EAEzJ,MAAMmG,KAAK,GAAG,IAAArF,kBAAW,EAAC,OAAOoE,QAAgB,EAAEkB,QAAgB,EAAEC,UAAmB,KAAoB;IAC1G,IAAI,CAAC/F,OAAO,EAAE,MAAM,IAAI3C,KAAK,CAAC,yBAAyB,CAAC;IACxD0B,uBAAY,CAAC0E,QAAQ,CAAC;MAAEvE,SAAS,EAAE,IAAI;MAAE/B,KAAK,EAAE;IAAK,CAAC,CAAC;IAEvD,IAAI;MACF,MAAM6I,iBAAiB,GAAGC,4BAAa,CAACC,oBAAoB,CAAC,CAAC;MAC9D,MAAMC,UAAU,GAAG,MAAMF,4BAAa,CAACG,aAAa,CAAC,CAAC;MAEtD,MAAMZ,QAAQ,GAAG,MAAMrH,WAAW,CAACkI,MAAM,CACvCzB,QAAQ,EACRkB,QAAQ,EACRC,UAAU,IAAII,UAAU,CAACJ,UAAU,IAAIE,4BAAa,CAACK,oBAAoB,CAAC,CAAC,EAC3EN,iBACF,CAAC;;MAED;MACA,IAAIR,QAAQ,IAAI,aAAa,IAAIA,QAAQ,IAAIA,QAAQ,CAACe,WAAW,EAAE;QACjE,MAAMC,QAAQ,GAAG,IAAInJ,KAAK,CAAC,sCAAsC,CAIhE;QACDmJ,QAAQ,CAACrD,IAAI,GAAG,cAAc;QAC9BqD,QAAQ,CAACC,QAAQ,GAAIjB,QAAQ,CAA2BiB,QAAQ;QAChED,QAAQ,CAACrF,SAAS,GAAIqE,QAAQ,CAA4BrE,SAAS;QACnE,MAAMqF,QAAQ;MAChB;MAEA,MAAME,eAAe,GAAGlB,QAAgC;MAExD,MAAMrH,WAAW,CAACsG,iBAAiB,CAACiC,eAAe,CAACzF,SAAS,CAAC;MAC9D,MAAMyD,QAAQ,GAAG,MAAMvG,WAAW,CAACwG,gBAAgB,CAAC+B,eAAe,CAACzF,SAAS,CAAC;MAE9E,IAAI+D,iBAAkC,GAAG,EAAE;MAC3C,IAAI;QACF,MAAMF,cAAc,GAAG,MAAM3G,WAAW,CAAC4G,iBAAiB,CAAC2B,eAAe,CAACzF,SAAS,CAAC;QACrF+D,iBAAiB,GAAGpE,mBAAmB,CAACkE,cAAc,EAAE4B,eAAe,CAACxF,QAAQ,EAAEwD,QAAQ,CAACjD,EAAE,CAAC;MAChG,CAAC,CAAC,OAAOtE,KAAK,EAAE;QACd,IAAIW,OAAO,EAAE;UACXV,OAAO,CAACW,IAAI,CAAC,+DAA+D,EAAEZ,KAAK,CAAC;QACtF;QACA,MAAM+H,cAAc,GAAG,MAAM/G,WAAW,CAACgH,sBAAsB,CAACuB,eAAe,CAACzF,SAAS,CAAC;QAC1F+D,iBAAiB,GAAGpE,mBAAmB,CAACsE,cAAc,EAAED,SAAS,EAAEP,QAAQ,CAACjD,EAAE,CAAC;MACjF;MAEA,MAAMkF,UAAU,GAAGjC,QAAQ,CAACjD,EAAE,EAAEE,QAAQ,CAAC,CAAC;MAC1C,MAAMiF,eAAe,GAAG5B,iBAAiB,CAAC6B,IAAI,CAC5C7F,CAAC,IAAIA,CAAC,CAACQ,MAAM,EAAEG,QAAQ,CAAC,CAAC,KAAKgF,UAAU,IAAI3F,CAAC,CAACC,SAAS,KAAKyF,eAAe,CAACzF,SAC9E,CAAC;MAED,IAAI2F,eAAe,EAAE;QACnB,IAAI;UACF,MAAMzI,WAAW,CAAC2I,aAAa,CAACJ,eAAe,CAACzF,SAAS,EAAEyF,eAAe,CAACzF,SAAS,CAAC;QACvF,CAAC,CAAC,OAAO8F,WAAW,EAAE;UACpB,IAAIjJ,OAAO,EAAE;YACXV,OAAO,CAACW,IAAI,CAAC,qCAAqC,EAAEgJ,WAAW,CAAC;UAClE;QACF;QACA,MAAMzB,eAAe,CAACsB,eAAe,CAAC3F,SAAS,CAAC;QAChD9B,YAAY,CAACuF,QAAQ,CAAC;QACtBlF,cAAc,CAACkH,eAAe,CAAC5H,IAAI,CAAC;QACpCuD,cAAc,CAAC2C,iBAAiB,CAACI,MAAM,CAACpE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAKyF,eAAe,CAACzF,SAAS,CAAC,EAAE,KAAK,CAAC;QAC/F1C,iBAAiB,GAAGmG,QAAQ,CAAC;QAC7B,OAAOA,QAAQ;MACjB;MAEA9E,kBAAkB,CAAC8G,eAAe,CAACzF,SAAS,CAAC;MAC7C,MAAMoE,mBAAmB,CAACqB,eAAe,CAACzF,SAAS,CAAC;MACpD9B,YAAY,CAACuF,QAAQ,CAAC;MACtBlF,cAAc,CAACkH,eAAe,CAAC5H,IAAI,CAAC;MACpCuD,cAAc,CAAC2C,iBAAiB,EAAE,IAAI,CAAC;MAEvCzG,iBAAiB,GAAGmG,QAAQ,CAAC;MAC7B,OAAOA,QAAQ;IACjB,CAAC,CAAC,OAAOvH,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,cAAc;MAC5E9D,YAAY,CAACoE,YAAY,CAAC;MAC1BhF,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,aAAa;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MACtE,MAAMjG,KAAK;IACb,CAAC,SAAS;MACR4B,uBAAY,CAAC0E,QAAQ,CAAC;QAAEvE,SAAS,EAAE;MAAM,CAAC,CAAC;IAC7C;EACF,CAAC,EAAE,CAACc,OAAO,EAAE7B,WAAW,EAAEkH,mBAAmB,EAAElG,YAAY,EAAEZ,iBAAiB,EAAEa,YAAY,EAAEwB,mBAAmB,EAAEpC,OAAO,EAAEkB,QAAQ,EAAE4F,eAAe,CAAC,CAAC;;EAEvJ;EACA,MAAMhG,MAAM,GAAG,IAAAkB,kBAAW,EAAC,MAAOwG,eAAwB,IAAoB;IAC5E,IAAI,CAACxJ,eAAe,EAAE;IAEtB,IAAI;MACF,MAAMyJ,eAAe,GAAGD,eAAe,IAAIxJ,eAAe;MAC1D,MAAMW,WAAW,CAAC2I,aAAa,CAACtJ,eAAe,EAAEyJ,eAAe,CAAC;MAEjE,MAAMC,gBAAgB,GAAGxH,QAAQ,CAAC0F,MAAM,CAACpE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAKgG,eAAe,CAAC;MAC9E5E,cAAc,CAAC6E,gBAAgB,EAAE,KAAK,CAAC;MAEvC,IAAID,eAAe,KAAKzJ,eAAe,EAAE;QACvC,IAAI0J,gBAAgB,CAAChD,MAAM,GAAG,CAAC,EAAE;UAC/B,MAAMoB,eAAe,CAAC4B,gBAAgB,CAAC,CAAC,CAAC,CAACjG,SAAS,CAAC;QACtD,CAAC,MAAM;UACLrB,kBAAkB,CAAC,IAAI,CAAC;UACxBP,WAAW,CAAC,CAAC;UACbG,cAAc,CAAC,IAAI,CAAC;UACpB,MAAMQ,OAAO,EAAExD,UAAU,CAAC8D,IAAI,CAAC9C,eAAe,CAAC;UAE/C,IAAIe,iBAAiB,EAAE;YACrBA,iBAAiB,CAAC,IAAI,CAAC;UACzB;QACF;MACF;IACF,CAAC,CAAC,OAAOpB,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,eAAe;MAC7E,IAAIpF,OAAO,EAAE;QACXV,OAAO,CAACD,KAAK,CAAC,eAAe,EAAEA,KAAK,CAAC;MACvC;MACA4B,uBAAY,CAAC0E,QAAQ,CAAC;QAAEtG,KAAK,EAAEqG;MAAa,CAAC,CAAC;MAC9ChF,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,cAAc;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;IACzE;EACF,CAAC,EAAE,CAAC5F,eAAe,EAAEW,WAAW,EAAEuB,QAAQ,EAAE4F,eAAe,EAAEjG,WAAW,EAAEW,OAAO,EAAEM,IAAI,CAAC9C,eAAe,EAAEe,iBAAiB,EAAEC,OAAO,CAAC,CAAC;EAErI,MAAM2I,SAAS,GAAG,IAAA3G,kBAAW,EAAC,YAA2B;IACvD,IAAI,CAAChD,eAAe,EAAE;MACpB,MAAML,KAAK,GAAG,IAAIE,KAAK,CAAC,yBAAyB,CAAC;MAClD0B,uBAAY,CAAC0E,QAAQ,CAAC;QAAEtG,KAAK,EAAEA,KAAK,CAAC+F;MAAQ,CAAC,CAAC;MAC/C1E,OAAO,GAAG;QAAE0E,OAAO,EAAE/F,KAAK,CAAC+F,OAAO;QAAEC,IAAI,EAAE,kBAAkB;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MAC5E,MAAMjG,KAAK;IACb;IAEA,IAAI;MACF,MAAMgB,WAAW,CAACiJ,iBAAiB,CAAC5J,eAAe,CAAC;MAEpD6E,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC;MACzBzC,kBAAkB,CAAC,IAAI,CAAC;MACxBP,WAAW,CAAC,CAAC;MACbG,cAAc,CAAC,IAAI,CAAC;MACpB,MAAMyD,eAAe,CAAC,CAAC;MACvB1E,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,OAAOpB,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,mBAAmB;MACjFnE,uBAAY,CAAC0E,QAAQ,CAAC;QAAEtG,KAAK,EAAEqG;MAAa,CAAC,CAAC;MAC9ChF,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,kBAAkB;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MAC3E,MAAMjG,KAAK;IACb;EACF,CAAC,EAAE,CAACK,eAAe,EAAEW,WAAW,EAAEkB,WAAW,EAAE4D,eAAe,EAAE1E,iBAAiB,EAAEC,OAAO,CAAC,CAAC;;EAE5F;EACA;;EAEA;EACA,MAAM6I,MAAM,GAAG,IAAA7G,kBAAW,EAAC,OAAOoE,QAAgB,EAAE0C,KAAa,EAAExB,QAAgB,KAAoB;IACrG,IAAI,CAAC9F,OAAO,EAAE,MAAM,IAAI3C,KAAK,CAAC,yBAAyB,CAAC;IAExD0B,uBAAY,CAAC0E,QAAQ,CAAC;MAAEvE,SAAS,EAAE,IAAI;MAAE/B,KAAK,EAAE;IAAK,CAAC,CAAC;IAEvD,IAAI;MACF,MAAMgB,WAAW,CAACkJ,MAAM,CAACzC,QAAQ,EAAE0C,KAAK,EAAExB,QAAQ,CAAC;MACnD,MAAMhH,IAAI,GAAG,MAAM+G,KAAK,CAACjB,QAAQ,EAAEkB,QAAQ,CAAC;MAC5C,OAAOhH,IAAI;IACb,CAAC,CAAC,OAAO3B,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,gBAAgB;MAC9E9D,YAAY,CAACoE,YAAY,CAAC;MAC1BhF,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,cAAc;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MACvE,MAAMjG,KAAK;IACb,CAAC,SAAS;MACR4B,uBAAY,CAAC0E,QAAQ,CAAC;QAAEvE,SAAS,EAAE;MAAM,CAAC,CAAC;IAC7C;EACF,CAAC,EAAE,CAACc,OAAO,EAAE7B,WAAW,EAAE0H,KAAK,EAAEzG,YAAY,EAAEZ,OAAO,CAAC,CAAC;;EAExD;EACA,MAAM+I,gBAAgB,GAAG,IAAA/G,kBAAW,EAAC,OAAOiG,QAAgB,EAAEtD,IAAY,KAAoB;IAC5F,IAAI,CAACnD,OAAO,EAAE,MAAM,IAAI3C,KAAK,CAAC,yBAAyB,CAAC;IACxD0B,uBAAY,CAAC0E,QAAQ,CAAC;MAAEvE,SAAS,EAAE,IAAI;MAAE/B,KAAK,EAAE;IAAK,CAAC,CAAC;IACvD,IAAI;MACF,MAAMqI,QAAQ,GAAG,MAAMrH,WAAW,CAACqJ,eAAe,CAACf,QAAQ,EAAEtD,IAAI,CAAC;;MAElE;MACAvD,kBAAkB,CAAC4F,QAAQ,CAACvE,SAAS,CAAC;MACtC,MAAMoE,mBAAmB,CAACG,QAAQ,CAACvE,SAAS,CAAC;;MAE7C;MACA,MAAM9C,WAAW,CAACsG,iBAAiB,CAACe,QAAQ,CAACvE,SAAS,CAAC;MACvD,MAAMyD,QAAQ,GAAG,MAAMvG,WAAW,CAACwG,gBAAgB,CAACa,QAAQ,CAACvE,SAAS,CAAC;MAEvE9B,YAAY,CAACuF,QAAQ,CAAC;MACtBlF,cAAc,CAAC;QAAEiC,EAAE,EAAEiD,QAAQ,CAACjD,EAAE;QAAEmD,QAAQ,EAAEF,QAAQ,CAACE,QAAQ;QAAEC,MAAM,EAAEH,QAAQ,CAACG;MAAO,CAAC,CAAC;MACzF,MAAMtE,uBAAuB,CAACmE,QAAQ,CAAC;;MAEvC;MACA,IAAI;QACF,MAAMI,cAAc,GAAG,MAAM3G,WAAW,CAAC4G,iBAAiB,CAACS,QAAQ,CAACvE,SAAS,CAAC;QAC9E,MAAM+D,iBAAiB,GAAGpE,mBAAmB,CAACkE,cAAc,EAAEG,SAAS,EAAEP,QAAQ,CAACjD,EAAE,CAAC;QACrFY,cAAc,CAAC2C,iBAAiB,EAAE,IAAI,CAAC;MACzC,CAAC,CAAC,OAAO7H,KAAK,EAAE;QACd;QACA,IAAIW,OAAO,EAAE;UACXV,OAAO,CAACW,IAAI,CAAC,uEAAuE,EAAEZ,KAAK,CAAC;QAC9F;QACA,MAAM+H,cAAc,GAAG,MAAM/G,WAAW,CAACgH,sBAAsB,CAACK,QAAQ,CAACvE,SAAS,CAAC;QACnF,MAAMwG,YAAY,GAAG7G,mBAAmB,CAACsE,cAAc,EAAED,SAAS,EAAEP,QAAQ,CAACjD,EAAE,CAAC;QAEhFY,cAAc,CAACoF,YAAY,EAAE,IAAI,CAAC;MACpC;MAEAlJ,iBAAiB,GAAGmG,QAAQ,CAAC;MAC7B,OAAOA,QAAQ;IACjB,CAAC,CAAC,OAAOvH,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,yBAAyB;MACvF9D,YAAY,CAACoE,YAAY,CAAC;MAC1BhF,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,WAAW;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MACpE,MAAMjG,KAAK;IACb,CAAC,SAAS;MACR4B,uBAAY,CAAC0E,QAAQ,CAAC;QAAEvE,SAAS,EAAE;MAAM,CAAC,CAAC;IAC7C;EACF,CAAC,EAAE,CAACc,OAAO,EAAE7B,WAAW,EAAEgB,YAAY,EAAEC,YAAY,EAAEiG,mBAAmB,EAAE9G,iBAAiB,EAAEgC,uBAAuB,EAAE/B,OAAO,CAAC,CAAC;EAEhI,MAAMkJ,aAAa,GAAG,IAAAlH,kBAAW,EAAC,MAAOS,SAAiB,IAAoB;IAC5E,MAAMqE,eAAe,CAACrE,SAAS,CAAC;EAClC,CAAC,EAAE,CAACqE,eAAe,CAAC,CAAC;EAErB,MAAMqC,aAAa,GAAG,IAAAnH,kBAAW,EAAC,MAAOS,SAAiB,IAAoB;IAC5E,MAAM3B,MAAM,CAAC2B,SAAS,CAAC;EACzB,CAAC,EAAE,CAAC3B,MAAM,CAAC,CAAC;EAEZ,MAAMsI,eAAe,GAAG,IAAApH,kBAAW,EAAC,YAA2B;IAC7D,IAAI,CAAChD,eAAe,EAAE;;IAEtB;IACA,IAAIqC,kBAAkB,CAACjB,OAAO,EAAE;MAC9B,OAAOiB,kBAAkB,CAACjB,OAAO;IACnC;;IAEA;IACA,MAAMiJ,cAAc,GAAG,CAAC,YAAY;MAClC,IAAI;QACF,MAAM/C,cAAc,GAAG,MAAM3G,WAAW,CAAC4G,iBAAiB,CAACvH,eAAe,CAAC;QAC3E,MAAMwH,iBAAiB,GAAGpE,mBAAmB,CAACkE,cAAc,EAAEG,SAAS,EAAEnG,IAAI,EAAE2C,EAAE,CAAC;QAClFY,cAAc,CAAC2C,iBAAiB,EAAE,IAAI,CAAC;MACzC,CAAC,CAAC,OAAO7H,KAAK,EAAE;QACd,IAAIW,OAAO,EAAE;UACXV,OAAO,CAACW,IAAI,CAAC,mEAAmE,EAAEZ,KAAK,CAAC;QAC1F;QACA,IAAI;UACF,MAAM+H,cAAc,GAAG,MAAM/G,WAAW,CAACgH,sBAAsB,CAAC3H,eAAe,CAAC;UAChF,MAAMiK,YAAY,GAAG7G,mBAAmB,CAACsE,cAAc,EAAED,SAAS,EAAEnG,IAAI,EAAE2C,EAAE,CAAC;UAC7EY,cAAc,CAACoF,YAAY,EAAE,IAAI,CAAC;QACpC,CAAC,CAAC,OAAOK,aAAa,EAAE;UACtB,IAAIhK,OAAO,EAAE;YACXV,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAE2K,aAAa,CAAC;UACzD;;UAEA;UACA,MAAMC,UAAU,GAAID,aAAa,EAAUtC,QAAQ,EAAEpC,MAAM,KAAK,GAAG,IAChE0E,aAAa,EAAU5E,OAAO,EAAEuC,QAAQ,CAAC,4BAA4B,CAAC,IACtEqC,aAAa,EAAU5E,OAAO,EAAEuC,QAAQ,CAAC,oBAAoB,CAAC;;UAEjE;UACA;UACA,IAAIsC,UAAU,IAAIjI,kBAAkB,CAAClB,OAAO,CAACpD,GAAG,CAACgC,eAAe,IAAI,EAAE,CAAC,EAAE;YACvE;YACA6E,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC;YACzBzC,kBAAkB,CAAC,IAAI,CAAC;YACxBP,WAAW,CAAC,CAAC;YACbG,cAAc,CAAC,IAAI,CAAC;YACpB,MAAMyD,eAAe,CAAC,CAAC;YACvB1E,iBAAiB,GAAG,IAAI,CAAC;YACzB;UACF;;UAEA;UACA;UACA,IAAImB,QAAQ,CAACwE,MAAM,GAAG,CAAC,EAAE;YACvB,MAAMwB,aAAa,GAAGhG,QAAQ,CAAC0F,MAAM,CACnCpE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAKzD,eAAe,IAAI,CAACsC,kBAAkB,CAAClB,OAAO,CAACpD,GAAG,CAACwF,CAAC,CAACC,SAAS,CACrF,CAAC;YAED,KAAK,MAAM+G,OAAO,IAAItC,aAAa,EAAE;cACnC,IAAI;gBACF,MAAMtB,UAAU,GAAG,MAAMjG,WAAW,CAACkG,eAAe,CAAC2D,OAAO,CAAC/G,SAAS,EAAE;kBACtEqD,mBAAmB,EAAE;gBACvB,CAAC,CAAC;gBACF,IAAIF,UAAU,CAACG,KAAK,EAAE;kBACpB,MAAMe,eAAe,CAAC0C,OAAO,CAAC/G,SAAS,CAAC;kBACxC;gBACF;cACF,CAAC,CAAC,OAAOgH,eAAoB,EAAE;gBAC7B;gBACA,MAAMC,eAAe,GAAGD,eAAe,EAAEzC,QAAQ,EAAEpC,MAAM,KAAK,GAAG,IAC/D6E,eAAe,EAAE/E,OAAO,EAAEuC,QAAQ,CAAC,4BAA4B,CAAC;gBAElE,IAAIyC,eAAe,EAAE;kBACnBpI,kBAAkB,CAAClB,OAAO,CAACuJ,GAAG,CAACH,OAAO,CAAC/G,SAAS,CAAC;kBACjD;kBACAmH,UAAU,CAAC,MAAM;oBACftI,kBAAkB,CAAClB,OAAO,CAACyJ,MAAM,CAACL,OAAO,CAAC/G,SAAS,CAAC;kBACtD,CAAC,EAAE,IAAI,CAAC;gBACV;gBACA;cACF;YACF;UACF;;UAEA;UACAoB,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC;UACzBzC,kBAAkB,CAAC,IAAI,CAAC;UACxBP,WAAW,CAAC,CAAC;UACbG,cAAc,CAAC,IAAI,CAAC;UACpB,MAAMyD,eAAe,CAAC,CAAC;UACvB1E,iBAAiB,GAAG,IAAI,CAAC;QAC3B;MACF,CAAC,SAAS;QACR;QACAsB,kBAAkB,CAACjB,OAAO,GAAG,IAAI;MACnC;IACF,CAAC,EAAE,CAAC;IAEJiB,kBAAkB,CAACjB,OAAO,GAAGiJ,cAAc;IAC3C,OAAOA,cAAc;EACvB,CAAC,EAAE,CAACrK,eAAe,EAAEW,WAAW,EAAEW,IAAI,EAAE2C,EAAE,EAAEY,cAAc,EAAE3C,QAAQ,EAAE4F,eAAe,EAAEjG,WAAW,EAAE4D,eAAe,EAAE1E,iBAAiB,EAAEqC,mBAAmB,CAAC,CAAC;;EAE7J;EACA,MAAMmE,iBAAiB,GAAG,IAAAvE,kBAAW,EAAC,YAM/B;IACL,IAAI,CAAChD,eAAe,EAAE,MAAM,IAAIH,KAAK,CAAC,mBAAmB,CAAC;IAC1D,IAAI;MACF,OAAO,MAAMc,WAAW,CAAC4G,iBAAiB,CAACvH,eAAe,CAAC;IAC7D,CAAC,CAAC,OAAOL,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,+BAA+B;MAC7F1E,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,2BAA2B;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MACpF,MAAMjG,KAAK;IACb;EACF,CAAC,EAAE,CAACK,eAAe,EAAEW,WAAW,EAAEK,OAAO,CAAC,CAAC;EAE3C,MAAM8J,uBAAuB,GAAG,IAAA9H,kBAAW,EAAC,YAA2B;IACrE,IAAI,CAAChD,eAAe,EAAE,MAAM,IAAIH,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,MAAMc,WAAW,CAACmK,uBAAuB,CAAC9K,eAAe,CAAC;MAC1D6E,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC;MACzBzC,kBAAkB,CAAC,IAAI,CAAC;MACxBP,WAAW,CAAC,CAAC;MACbG,cAAc,CAAC,IAAI,CAAC;MACpB,MAAMyD,eAAe,CAAC,CAAC;MACvB1E,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,OAAOpB,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,sCAAsC;MACpG1E,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,0BAA0B;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MACnF,MAAMjG,KAAK;IACb;EACF,CAAC,EAAE,CAACK,eAAe,EAAEW,WAAW,EAAEkB,WAAW,EAAE4D,eAAe,EAAE1E,iBAAiB,EAAEC,OAAO,CAAC,CAAC;EAE5F,MAAM+J,gBAAgB,GAAG,IAAA/H,kBAAW,EAAC,MAAOuF,UAAkB,IAAoB;IAChF,IAAI,CAACvI,eAAe,EAAE,MAAM,IAAIH,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,MAAMc,WAAW,CAACoK,gBAAgB,CAAC/K,eAAe,EAAEuI,UAAU,CAAC;MAC/D,MAAME,4BAAa,CAACsC,gBAAgB,CAACxC,UAAU,CAAC;IAClD,CAAC,CAAC,OAAO5I,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,8BAA8B;MAC5F1E,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,0BAA0B;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MACnF,MAAMjG,KAAK;IACb;EACF,CAAC,EAAE,CAACK,eAAe,EAAEW,WAAW,EAAEK,OAAO,CAAC,CAAC;;EAE3C;EACA,MAAMgK,WAAW,GAAG,IAAAhI,kBAAW,EAAC,MAAOiI,UAAkB,IAAoB;IAC3E,IAAI,CAACzI,OAAO,EAAE,MAAM,IAAI3C,KAAK,CAAC,yBAAyB,CAAC;IAExD,IAAI;MACF,MAAM2C,OAAO,CAAC1D,OAAO,CAACgE,IAAI,CAAC5C,QAAQ,EAAE+K,UAAU,CAAC;MAChDtI,kBAAkB,CAACsI,UAAU,CAAC;IAChC,CAAC,CAAC,OAAOtL,KAAK,EAAE;MACd,MAAMqG,YAAY,GAAGrG,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAAC+F,OAAO,GAAG,oCAAoC;MAClG1E,OAAO,GAAG;QAAE0E,OAAO,EAAEM,YAAY;QAAEL,IAAI,EAAE,qBAAqB;QAAEC,MAAM,EAAE;MAAI,CAAC,CAAC;MAC9E,MAAMjG,KAAK;IACb;EACF,CAAC,EAAE,CAAC6C,OAAO,EAAEM,IAAI,CAAC5C,QAAQ,EAAEc,OAAO,CAAC,CAAC;;EAErC;EACA,MAAMkK,eAAe,GAAG,IAAAlI,kBAAW,EAAEmI,cAAiG,IAAK;IACzI,IAAI7K,OAAO,EAAEV,OAAO,CAAC+G,GAAG,CAAC,8BAA8B,EAAEwE,cAAc,CAAC;IAExE,IAAIlK,cAAc,EAAEG,OAAO,EAAE;MAC3B,IAAId,OAAO,EAAEV,OAAO,CAAC+G,GAAG,CAAC,6BAA6B,CAAC;;MAEvD;MACA,IAAI1F,cAAc,CAACG,OAAO,CAACgK,MAAM,EAAE;QACjC,IAAI9K,OAAO,EAAEV,OAAO,CAAC+G,GAAG,CAAC,wBAAwB,CAAC;QAClD1F,cAAc,CAACG,OAAO,CAACgK,MAAM,CAAC,CAAC;MACjC,CAAC,MAAM,IAAInK,cAAc,CAACG,OAAO,CAACiK,OAAO,EAAE;QACzC,IAAI/K,OAAO,EAAEV,OAAO,CAAC+G,GAAG,CAAC,yBAAyB,CAAC;QACnD1F,cAAc,CAACG,OAAO,CAACiK,OAAO,CAAC,CAAC;MAClC,CAAC,MAAM,IAAI/K,OAAO,EAAE;QAClBV,OAAO,CAACW,IAAI,CAAC,yDAAyD,CAAC;MACzE;;MAEA;MACA,IAAI4K,cAAc,EAAE;QAClB;QACAP,UAAU,CAAC,MAAM;UACf,IAAI,OAAOO,cAAc,KAAK,QAAQ,EAAE;YACtC;YACA,IAAI7K,OAAO,EAAEV,OAAO,CAAC+G,GAAG,CAAC,uBAAuB,EAAEwE,cAAc,CAAC;YACjElK,cAAc,CAACG,OAAO,EAAEkK,QAAQ,GAAGH,cAAc,CAAC;UACpD,CAAC,MAAM;YACL;YACA,IAAI7K,OAAO,EAAEV,OAAO,CAAC+G,GAAG,CAAC,kCAAkC,EAAEwE,cAAc,CAACI,MAAM,EAAEJ,cAAc,CAACK,KAAK,CAAC;YACzGvK,cAAc,CAACG,OAAO,EAAEkK,QAAQ,GAAGH,cAAc,CAACI,MAAM,EAAEJ,cAAc,CAACK,KAAK,CAAC;UACjF;QACF,CAAC,EAAE,GAAG,CAAC;MACT;IACF,CAAC,MAAM,IAAIlL,OAAO,EAAE;MAClBV,OAAO,CAACW,IAAI,CAAC,wEAAwE,CAAC;IACxF;EACF,CAAC,EAAE,CAACU,cAAc,CAAC,CAAC;EAEpB,MAAMwK,eAAe,GAAG,IAAAzI,kBAAW,EAAC,MAAM;IACxC,IAAI/B,cAAc,EAAEG,OAAO,EAAE;MAC3BH,cAAc,CAACG,OAAO,CAACsK,OAAO,GAAG,CAAC;IACpC;EACF,CAAC,EAAE,CAACzK,cAAc,CAAC,CAAC;;EAEpB;EACA,MAAM0K,eAAe,GAAG,IAAA9I,cAAO,EAAC,MAAM;IACpC,IAAI,CAAC7C,eAAe,IAAI,CAACkC,QAAQ,CAACwE,MAAM,EAAE,OAAO,IAAI;IACrD,MAAMkF,aAAa,GAAG1J,QAAQ,CAACmH,IAAI,CAAC7F,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAKzD,eAAe,CAAC;IACzE,OAAO4L,aAAa,EAAElI,QAAQ,IAAI,IAAI;EACxC,CAAC,EAAE,CAAC1D,eAAe,EAAEkC,QAAQ,CAAC,CAAC;;EAE/B;EACA,MAAM2J,oBAAoB,GAAG,IAAA7I,kBAAW,EAAES,SAAiB,IAAK;IAC9D;IACAnB,kBAAkB,CAAClB,OAAO,CAACuJ,GAAG,CAAClH,SAAS,CAAC;IACzC;IACAmH,UAAU,CAAC,MAAM;MACftI,kBAAkB,CAAClB,OAAO,CAACyJ,MAAM,CAACpH,SAAS,CAAC;IAC9C,CAAC,EAAE,IAAI,CAAC;EACV,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAAqI,kCAAgB,EAAC;IACf9H,MAAM,EAAE1C,IAAI,EAAE2C,EAAE;IAChBjE,eAAe;IACf2L,eAAe;IACfvB,eAAe;IACftI,MAAM;IACNjB,OAAO,EAAEF,WAAW,CAACoL,UAAU,CAAC,CAAC;IACjCC,eAAe,EAAE,IAAAhJ,kBAAW,EAAC,MAAM;MACjCiJ,aAAK,CAACC,IAAI,CAAC,oCAAoC,CAAC;MAChDpK,MAAM,CAAC,CAAC;IACV,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;IACZqK,gBAAgB,EAAEN;EACpB,CAAC,CAAC;;EAEF;EACA,MAAMO,gBAAgB,GAAG,IAAAvJ,cAAO,EAAC,MAAM,IAAAwJ,kCAAmB,EAAC3J,eAAe,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAC/F,MAAM4J,YAAY,GAAG,IAAAzJ,cAAO,EAAC,MAAM,IAAA0J,8BAAe,EAAC7J,eAAe,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EACvF,MAAM8J,kBAAkB,GAAG,IAAA3J,cAAO,EAAC,MAAM,IAAA4J,oCAAqB,EAAC/J,eAAe,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAEnG,MAAMgK,YAA6B,GAAG,IAAA7J,cAAO,EAAC,OAAO;IACnDvB,IAAI;IACJS,WAAW;IACXG,QAAQ;IACRlC,eAAe;IACfyB,eAAe;IACfC,SAAS;IACTiL,YAAY,EAAEpH,UAAU;IACxB5F,KAAK;IACL+C,eAAe;IACfkK,uBAAuB,EAAER,gBAAgB;IACzCS,mBAAmB,EAAEP,YAAY;IACjCQ,yBAAyB,EAAEN,kBAAkB;IAC7CnE,KAAK;IACLvG,MAAM;IACN6H,SAAS;IACTE,MAAM;IACNE,gBAAgB;IAChBG,aAAa;IACbC,aAAa;IACbC,eAAe;IACfY,WAAW;IACXzD,iBAAiB;IACjBuD,uBAAuB;IACvBC,gBAAgB;IAChBpK,WAAW;IACXM,cAAc;IACdiK,eAAe;IACfO,eAAe;IACfpL,SAAS,EAAEuC;EACb,CAAC,CAAC,EAAE,CACFtB,IAAI,EAAE2C,EAAE;EAAE;EACVlC,WAAW,EAAEkC,EAAE,EACf/B,QAAQ,CAACwE,MAAM;EAAE;EACjB1G,eAAe,EACfyB,eAAe,EACfC,SAAS,EACT6D,UAAU,EACV5F,KAAK,EACL+C,eAAe,EACf0J,gBAAgB,EAChBE,YAAY,EACZE,kBAAkB,EAClBnE,KAAK,EACLvG,MAAM,EACN6H,SAAS,EACTE,MAAM,EACNE,gBAAgB,EAChBG,aAAa,EACbC,aAAa,EACbC,eAAe,EACfY,WAAW,EACXzD,iBAAiB,EACjBuD,uBAAuB,EACvBC,gBAAgB,EAChBpK,WAAW,EACXM,cAAc,EACdiK,eAAe,EACfO,eAAe,EACf7I,aAAa,CACd,CAAC;;EAEF;EACA,oBACE,IAAAzF,WAAA,CAAA4P,GAAA,EAACvO,UAAU,CAACwO,QAAQ;IAACjO,KAAK,EAAE2N,YAAa;IAAAhM,QAAA,EACtCA;EAAQ,CACU,CAAC;AAE1B,CAAC;;AAED;AAAAuM,OAAA,CAAAxM,WAAA,GAAAA,WAAA;AACO,MAAMyM,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAGzM,WAAW;;AAE7C;AACO,MAAM0M,MAAM,GAAGA,CAAA,KAAuB;EAC3C,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAAC7O,UAAU,CAAC;EACtC,IAAI,CAAC4O,OAAO,EAAE;IACZ,MAAM,IAAIvN,KAAK,CAAC,kDAAkD,CAAC;EACrE;EACA,OAAOuN,OAAO;AAChB,CAAC;AAACH,OAAA,CAAAE,MAAA,GAAAA,MAAA;AAAA,IAAAG,QAAA,GAAAL,OAAA,CAAAlP,OAAA,GAEaS,UAAU","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","deviceId","sessionIds","includes","on","off"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionSocket.ts"],"mappings":"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","ignoreList":[]}
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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAAyC,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAalC,SAASG,gBAAgBA,CAAC;EAAEC,MAAM;EAAEC,eAAe;EAAEC,eAAe;EAAEC,eAAe;EAAEC,MAAM;EAAEC,OAAO;EAAEC,eAAe;EAAEC;AAAwC,CAAC,EAAE;EACzK,MAAMC,SAAS,GAAG,IAAAC,aAAM,EAAM,IAAI,CAAC;EACnC,MAAMC,aAAa,GAAG,IAAAD,aAAM,EAAgB,IAAI,CAAC;;EAEjD;EACA,MAAME,kBAAkB,GAAG,IAAAF,aAAM,EAACN,eAAe,CAAC;EAClD,MAAMS,SAAS,GAAG,IAAAH,aAAM,EAACL,MAAM,CAAC;EAChC,MAAMS,kBAAkB,GAAG,IAAAJ,aAAM,EAACH,eAAe,CAAC;EAClD,MAAMQ,mBAAmB,GAAG,IAAAL,aAAM,EAACF,gBAAgB,CAAC;EACpD,MAAMQ,kBAAkB,GAAG,IAAAN,aAAM,EAACR,eAAe,CAAC;EAClD,MAAMe,kBAAkB,GAAG,IAAAP,aAAM,EAACP,eAAe,CAAC;;EAElD;EACA,IAAAe,gBAAS,EAAC,MAAM;IACdN,kBAAkB,CAACO,OAAO,GAAGf,eAAe;IAC5CS,SAAS,CAACM,OAAO,GAAGd,MAAM;IAC1BS,kBAAkB,CAACK,OAAO,GAAGZ,eAAe;IAC5CQ,mBAAmB,CAACI,OAAO,GAAGX,gBAAgB;IAC9CQ,kBAAkB,CAACG,OAAO,GAAGjB,eAAe;IAC5Ce,kBAAkB,CAACE,OAAO,GAAGhB,eAAe;EAC9C,CAAC,EAAE,CAACC,eAAe,EAAEC,MAAM,EAAEE,eAAe,EAAEC,gBAAgB,EAAEN,eAAe,EAAEC,eAAe,CAAC,CAAC;EAElG,IAAAe,gBAAS,EAAC,MAAM;IACd,IAAI,CAACjB,MAAM,IAAI,CAACK,OAAO,EAAE;MACvB;MACA,IAAIG,SAAS,CAACU,OAAO,IAAIR,aAAa,CAACQ,OAAO,EAAE;QAC9CV,SAAS,CAACU,OAAO,CAACC,IAAI,CAAC,OAAO,EAAE;UAAEnB,MAAM,EAAEU,aAAa,CAACQ;QAAQ,CAAC,CAAC;QAClER,aAAa,CAACQ,OAAO,GAAG,IAAI;MAC9B;MACA;IACF;IAEA,MAAME,MAAM,GAAG,QAAQpB,MAAM,EAAE;;IAE/B;IACA,IAAI,CAACQ,SAAS,CAACU,OAAO,EAAE;MACtBV,SAAS,CAACU,OAAO,GAAG,IAAAG,eAAE,EAAChB,OAAO,EAAE;QAC9BiB,UAAU,EAAE,CAAC,WAAW;MAC1B,CAAC,CAAC;IACJ;IACA,MAAMC,MAAM,GAAGf,SAAS,CAACU,OAAO;;IAEhC;IACA,IAAIR,aAAa,CAACQ,OAAO,KAAKE,MAAM,EAAE;MACpC;MACA,IAAIV,aAAa,CAACQ,OAAO,EAAE;QACzBK,MAAM,CAACJ,IAAI,CAAC,OAAO,EAAE;UAAEnB,MAAM,EAAEU,aAAa,CAACQ;QAAQ,CAAC,CAAC;MACzD;MAEAK,MAAM,CAACJ,IAAI,CAAC,MAAM,EAAE;QAAEnB,MAAM,EAAEoB;MAAO,CAAC,CAAC;MACvCV,aAAa,CAACQ,OAAO,GAAGE,MAAM;MAE9B,IAAII,OAAO,EAAE;QACXC,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAEN,MAAM,CAAC;MAChD;IACF;;IAEA;IACA,MAAMO,aAAa,GAAGA,CAAA,KAAM;MAC1B,IAAIH,OAAO,EAAE;QACXC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEH,MAAM,CAACK,EAAE,CAAC;MAC7C;IACF,CAAC;IAED,MAAMC,mBAAmB,GAAIC,IAK5B,IAAK;MACJ,IAAIN,OAAO,EAAE;QACXC,OAAO,CAACC,GAAG,CAAC,0BAA0B,EAAEI,IAAI,CAAC;MAC/C;MAEA,MAAMC,sBAAsB,GAAGhB,kBAAkB,CAACG,OAAO;MACzD,MAAMhB,eAAe,GAAGc,kBAAkB,CAACE,OAAO;;MAElD;MACA,IAAIY,IAAI,CAACE,IAAI,KAAK,iBAAiB,EAAE;QACnC;QACA,IAAIF,IAAI,CAACG,SAAS,IAAInB,mBAAmB,CAACI,OAAO,EAAE;UACjDJ,mBAAmB,CAACI,OAAO,CAACY,IAAI,CAACG,SAAS,CAAC;QAC7C;;QAEA;QACA,IAAIH,IAAI,CAACG,SAAS,KAAKF,sBAAsB,EAAE;UAC7C,IAAIlB,kBAAkB,CAACK,OAAO,EAAE;YAC9BL,kBAAkB,CAACK,OAAO,CAAC,CAAC;UAC9B,CAAC,MAAM;YACLgB,aAAK,CAACC,IAAI,CAAC,oCAAoC,CAAC;UAClD;UACAvB,SAAS,CAACM,OAAO,CAAC,CAAC;QACrB,CAAC,MAAM;UACL;UACAP,kBAAkB,CAACO,OAAO,CAAC,CAAC,CAACkB,KAAK,CAAEC,KAAK,IAAK;YAC5C;YACA,IAAIb,OAAO,EAAE;cACXC,OAAO,CAACa,KAAK,CAAC,mDAAmD,EAAED,KAAK,CAAC;YAC3E;UACF,CAAC,CAAC;QACJ;MACF,CAAC,MAAM,IAAIP,IAAI,CAACE,IAAI,KAAK,gBAAgB,EAAE;QACzC;QACA,IAAIF,IAAI,CAACS,UAAU,IAAIzB,mBAAmB,CAACI,OAAO,EAAE;UAClD,KAAK,MAAMe,SAAS,IAAIH,IAAI,CAACS,UAAU,EAAE;YACvCzB,mBAAmB,CAACI,OAAO,CAACe,SAAS,CAAC;UACxC;QACF;;QAEA;QACA,IAAIH,IAAI,CAACU,QAAQ,IAAIV,IAAI,CAACU,QAAQ,KAAKtC,eAAe,EAAE;UACtD,IAAIW,kBAAkB,CAACK,OAAO,EAAE;YAC9BL,kBAAkB,CAACK,OAAO,CAAC,CAAC;UAC9B,CAAC,MAAM;YACLgB,aAAK,CAACC,IAAI,CAAC,yDAAyD,CAAC;UACvE;UACAvB,SAAS,CAACM,OAAO,CAAC,CAAC;QACrB,CAAC,MAAM;UACL;UACAP,kBAAkB,CAACO,OAAO,CAAC,CAAC,CAACkB,KAAK,CAAEC,KAAK,IAAK;YAC5C;YACA,IAAIb,OAAO,EAAE;cACXC,OAAO,CAACa,KAAK,CAAC,kDAAkD,EAAED,KAAK,CAAC;YAC1E;UACF,CAAC,CAAC;QACJ;MACF,CAAC,MAAM,IAAIP,IAAI,CAACE,IAAI,KAAK,kBAAkB,EAAE;QAC3C;QACA,IAAIF,IAAI,CAACS,UAAU,IAAIzB,mBAAmB,CAACI,OAAO,EAAE;UAClD,KAAK,MAAMe,SAAS,IAAIH,IAAI,CAACS,UAAU,EAAE;YACvCzB,mBAAmB,CAACI,OAAO,CAACe,SAAS,CAAC;UACxC;QACF;;QAEA;QACA,IAAIH,IAAI,CAACS,UAAU,IAAIR,sBAAsB,IAAID,IAAI,CAACS,UAAU,CAACE,QAAQ,CAACV,sBAAsB,CAAC,EAAE;UACjG,IAAIlB,kBAAkB,CAACK,OAAO,EAAE;YAC9BL,kBAAkB,CAACK,OAAO,CAAC,CAAC;UAC9B,CAAC,MAAM;YACLgB,aAAK,CAACC,IAAI,CAAC,oCAAoC,CAAC;UAClD;UACAvB,SAAS,CAACM,OAAO,CAAC,CAAC;QACrB,CAAC,MAAM;UACL;UACAP,kBAAkB,CAACO,OAAO,CAAC,CAAC,CAACkB,KAAK,CAAEC,KAAK,IAAK;YAC5C;YACA,IAAIb,OAAO,EAAE;cACXC,OAAO,CAACa,KAAK,CAAC,oDAAoD,EAAED,KAAK,CAAC;YAC5E;UACF,CAAC,CAAC;QACJ;MACF,CAAC,MAAM;QACL;QACA1B,kBAAkB,CAACO,OAAO,CAAC,CAAC,CAACkB,KAAK,CAAEC,KAAK,IAAK;UAC5C;UACA,IAAIb,OAAO,EAAE;YACXC,OAAO,CAACa,KAAK,CAAC,kDAAkD,EAAED,KAAK,CAAC;UAC1E;QACF,CAAC,CAAC;;QAEF;QACA,IAAIP,IAAI,CAACG,SAAS,KAAKF,sBAAsB,EAAE;UAC7C,IAAIlB,kBAAkB,CAACK,OAAO,EAAE;YAC9BL,kBAAkB,CAACK,OAAO,CAAC,CAAC;UAC9B,CAAC,MAAM;YACLgB,aAAK,CAACC,IAAI,CAAC,oCAAoC,CAAC;UAClD;UACAvB,SAAS,CAACM,OAAO,CAAC,CAAC;QACrB;MACF;IACF,CAAC;IAEDK,MAAM,CAACmB,EAAE,CAAC,SAAS,EAAEf,aAAa,CAAC;IACnCJ,MAAM,CAACmB,EAAE,CAAC,gBAAgB,EAAEb,mBAAmB,CAAC;IAEhD,OAAO,MAAM;MACXN,MAAM,CAACoB,GAAG,CAAC,SAAS,EAAEhB,aAAa,CAAC;MACpCJ,MAAM,CAACoB,GAAG,CAAC,gBAAgB,EAAEd,mBAAmB,CAAC;;MAEjD;MACA,IAAInB,aAAa,CAACQ,OAAO,KAAKE,MAAM,EAAE;QACpCG,MAAM,CAACJ,IAAI,CAAC,OAAO,EAAE;UAAEnB,MAAM,EAAEoB;QAAO,CAAC,CAAC;QACxCV,aAAa,CAACQ,OAAO,GAAG,IAAI;MAC9B;IACF,CAAC;EACH,CAAC,EAAE,CAAClB,MAAM,EAAEK,OAAO,CAAC,CAAC,CAAC,CAAC;AACzB","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","deviceId","sessionIds","includes","on","off"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionSocket.ts"],"mappings":"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","ignoreList":[]}
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;CAC9B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,qBAAqB,QAiJtJ"}
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.29",
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(s => s.sessionId !== activeSessionId);
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) {