aboutsummaryrefslogtreecommitdiff
path: root/src/server/ApiManagers/UserManager.ts
diff options
context:
space:
mode:
authorGeireann <60007097+geireann@users.noreply.github.com>2022-02-15 13:33:35 -0500
committerGeireann <60007097+geireann@users.noreply.github.com>2022-02-15 13:33:35 -0500
commit3405850fb254eb3de71e3c77f3f998edafe6a81f (patch)
tree9e488da3a2da3c62896c4f6deb7379aa27c56a15 /src/server/ApiManagers/UserManager.ts
parentd58b6a077930454cd7b1f6b9c24aa3ac58c0683d (diff)
parent66fb0e4bbf88a5e9bcb5869dd7c8b8a7714de024 (diff)
Merge branch 'master' of https://github.com/brown-dash/Dash-Web
Diffstat (limited to 'src/server/ApiManagers/UserManager.ts')
-rw-r--r--src/server/ApiManagers/UserManager.ts10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/server/ApiManagers/UserManager.ts b/src/server/ApiManagers/UserManager.ts
index f36506b14..fe80c6a7c 100644
--- a/src/server/ApiManagers/UserManager.ts
+++ b/src/server/ApiManagers/UserManager.ts
@@ -4,6 +4,7 @@ import { Database } from "../database";
import { msToTime } from "../ActionUtilities";
import * as bcrypt from "bcrypt-nodejs";
import { Opt } from "../../fields/Doc";
+import { WebSocket } from "../websocket";
export const timeMap: { [id: string]: number } = {};
interface ActivityUnit {
@@ -131,9 +132,12 @@ export default class UserManager extends ApiManager {
for (const user in timeMap) {
const time = timeMap[user];
- const duration = now - time;
- const target = (duration / 1000) < (60 * 5) ? activeTimes : inactiveTimes;
- target.push({ user, duration });
+ const socketPair = Array.from(WebSocket.socketMap).find(pair => pair[1] === user);
+ if (socketPair && !socketPair[0].disconnected) {
+ const duration = now - time;
+ const target = (duration / 1000) < (60 * 5) ? activeTimes : inactiveTimes;
+ target.push({ user, duration });
+ }
}
const process = (target: { user: string, duration: number }[]) => {