From c0a4ff3c504171bfcaf0eb0ef9b42e8802cfd46f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 24 Dec 2025 00:35:57 +0000 Subject: [PATCH] Auto-logout when user edits their own username Co-authored-by: KingIronMan2011 <176780813+KingIronMan2011@users.noreply.github.com> --- server/socket-handlers/user-management-socket-handler.js | 5 +++++ src/components/settings/Users.vue | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/server/socket-handlers/user-management-socket-handler.js b/server/socket-handlers/user-management-socket-handler.js index 21783dd0f..6767a6695 100644 --- a/server/socket-handlers/user-management-socket-handler.js +++ b/server/socket-handlers/user-management-socket-handler.js @@ -85,6 +85,10 @@ module.exports.userManagementSocketHandler = (socket, server) => { throw new Error("User not found"); } + // Check if user is editing their own username + const isEditingSelf = (userId === socket.userID); + const usernameChanged = userData.username && userData.username.trim() !== user.username; + // Update user fields if (userData.username && userData.username.trim() !== user.username) { // Check if new username already exists @@ -114,6 +118,7 @@ module.exports.userManagementSocketHandler = (socket, server) => { callback({ ok: true, msg: "User updated successfully", + requiresLogout: isEditingSelf && usernameChanged, }); } catch (e) { log.error("user-management", e.message); diff --git a/src/components/settings/Users.vue b/src/components/settings/Users.vue index 15363c331..98d74ff6e 100644 --- a/src/components/settings/Users.vue +++ b/src/components/settings/Users.vue @@ -222,6 +222,13 @@ export default { this.$root.toastSuccess(res.msg); this.closeDialog(); this.loadUsers(); + + // If user edited their own username, logout immediately + if (res.requiresLogout) { + setTimeout(() => { + this.$root.logout(); + }, 1000); + } } else { this.$root.toastError(res.msg); }