mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-07-18 23:34:04 +02:00
feat: Disconnect sockets for deactivated users in saveUser function
This commit is contained in:
parent
923d0ede7e
commit
28dc77f9e3
3 changed files with 9 additions and 4 deletions
|
@ -68,6 +68,12 @@ async function saveUser(socket, user) {
|
||||||
|
|
||||||
io.to(socket.userID).emit("saveUser", bean);
|
io.to(socket.userID).emit("saveUser", bean);
|
||||||
|
|
||||||
|
// If user is deactivated, disconnect his sockets
|
||||||
|
if (!bean.active) {
|
||||||
|
const roomId = typeof id === "number" ? id : parseInt(id, 10);
|
||||||
|
io.in(roomId).disconnectSockets();
|
||||||
|
}
|
||||||
|
|
||||||
timeLogger.print(`Save user ${user.id}`);
|
timeLogger.print(`Save user ${user.id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div :class="classes">
|
<div :class="classes">
|
||||||
<div v-if="! $root.socket.connected && ! $root.socket.firstConnect" class="lost-connection">
|
<div v-if="! $root.socket.connected && ! $root.socket.firstConnect" class="lost-connection" data-testid="lost-connection">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
{{ $root.connectionErrorMsg }}
|
{{ $root.connectionErrorMsg }}
|
||||||
<div v-if="$root.showReverseProxyGuide">
|
<div v-if="$root.showReverseProxyGuide">
|
||||||
|
|
|
@ -34,12 +34,11 @@ test.describe("Multiple Users", () => {
|
||||||
|
|
||||||
// Disable the admin user
|
// Disable the admin user
|
||||||
await page.getByTestId("toggle-active-user-admin").click();
|
await page.getByTestId("toggle-active-user-admin").click();
|
||||||
// Click on the button containing Yes and having btn-danger class
|
|
||||||
await page.getByRole("button", {
|
await page.getByRole("button", {
|
||||||
name: "Yes",
|
name: "Yes",
|
||||||
exact: true
|
exact: true
|
||||||
}).click();
|
}).click();
|
||||||
await expect(page.getByText("You are not logged in.")).toBeVisible();
|
await expect(page.getByTestId("lost-connection")).toBeVisible();
|
||||||
|
|
||||||
// Make sure we're back on the login page after refresh
|
// Make sure we're back on the login page after refresh
|
||||||
await page.reload();
|
await page.reload();
|
||||||
|
@ -52,8 +51,8 @@ test.describe("Multiple Users", () => {
|
||||||
|
|
||||||
// Disable self-user
|
// Disable self-user
|
||||||
await page.goto("./settings/users/edit/2");
|
await page.goto("./settings/users/edit/2");
|
||||||
await expect(page.getByTestId("active-checkbox")).toBeVisible();
|
|
||||||
await page.getByTestId("active-checkbox").uncheck();
|
await page.getByTestId("active-checkbox").uncheck();
|
||||||
|
await expect(page.getByTestId("lost-connection")).toBeVisible();
|
||||||
|
|
||||||
await screenshot(testInfo, page);
|
await screenshot(testInfo, page);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue