From 19b5047c12e439180fbec4edb240386c7953db6b Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 13 May 2026 12:50:12 +0900 Subject: [PATCH] fix: refactor disconnectedUsers for readability Signed-off-by: Juan Escalada --- .../AutoLogout/disconnectedUsers.ts | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/packages/core-components/src/components/AutoLogout/disconnectedUsers.ts b/packages/core-components/src/components/AutoLogout/disconnectedUsers.ts index 65093333be..4d1d8bf833 100644 --- a/packages/core-components/src/components/AutoLogout/disconnectedUsers.ts +++ b/packages/core-components/src/components/AutoLogout/disconnectedUsers.ts @@ -46,26 +46,27 @@ export const useLogoutDisconnectedUserEffect = ({ const shouldCheckDisconnectedUser = autologoutIsEnabled && enableEffect; // Prevent lastSeen getting deleted before logged state is checked - if (shouldCheckDisconnectedUser && isLoggedIn === null) { + if (isLoggedIn === null) { return; } - if (shouldCheckDisconnectedUser && isLoggedIn) { - const lastSeenOnline = lastSeenOnlineStore.get(); - if (lastSeenOnline) { - const now = new Date(); - const nowSeconds = Math.ceil(now.getTime() / 1000); - const lastSeenOnlineSeconds = Math.ceil( - lastSeenOnline.getTime() / 1000, - ); - if (nowSeconds - lastSeenOnlineSeconds > idleTimeoutSeconds) { - identityApi.signOut(); - } - } - lastSeenOnlineStore.save(new Date()); - } else { + if (!shouldCheckDisconnectedUser || !isLoggedIn) { lastSeenOnlineStore.delete(); + return; } + + const lastSeenOnline = lastSeenOnlineStore.get(); + if (lastSeenOnline) { + const now = new Date(); + const nowSeconds = Math.ceil(now.getTime() / 1000); + const lastSeenOnlineSeconds = Math.ceil(lastSeenOnline.getTime() / 1000); + if (nowSeconds - lastSeenOnlineSeconds > idleTimeoutSeconds) { + lastSeenOnlineStore.delete(); + identityApi.signOut(); + return; + } + } + lastSeenOnlineStore.save(new Date()); }, [ autologoutIsEnabled, enableEffect,