UBERF-9710: Fix always on status on front (#8391)
Some checks are pending
CI / build (push) Waiting to run
CI / svelte-check (push) Blocked by required conditions
CI / formatting (push) Blocked by required conditions
CI / test (push) Blocked by required conditions
CI / uitest (push) Waiting to run
CI / uitest-pg (push) Waiting to run
CI / uitest-qms (push) Waiting to run
CI / uitest-workspaces (push) Waiting to run
CI / docker-build (push) Blocked by required conditions
CI / dist-build (push) Blocked by required conditions

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
Andrey Sobolev 2025-03-30 01:35:06 +07:00 committed by GitHub
parent 32d96e5dce
commit 8d2a7b541b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -801,7 +801,7 @@ export class TSessionManager implements SessionManager {
// No response
},
ctx,
socialStringsToUsers: this.getActiveSocialStringsToUsersMap(workspaceId),
socialStringsToUsers: this.getActiveSocialStringsToUsersMap(workspaceId, session),
sendError: async () => {
// Assume no error send
},
@ -1072,19 +1072,19 @@ export class TSessionManager implements SessionManager {
}
// TODO: cache this map and update when sessions created/closed
getActiveSocialStringsToUsersMap (workspace: WorkspaceUuid): Map<PersonId, AccountUuid> {
getActiveSocialStringsToUsersMap (workspace: WorkspaceUuid, ...extra: Session[]): Map<PersonId, AccountUuid> {
const ws = this.workspaces.get(workspace)
if (ws === undefined) {
return new Map()
}
const res = new Map<PersonId, AccountUuid>()
for (const s of ws.sessions.values()) {
const sessionAccount = s.session.getUser()
for (const s of [...Array.from(ws.sessions.values()).map((it) => it.session), ...extra]) {
const sessionAccount = s.getUser()
if (sessionAccount === systemAccountUuid) {
continue
}
const userSocialIds = s.session.getUserSocialIds()
const userSocialIds = s.getUserSocialIds()
for (const id of userSocialIds) {
res.set(id, sessionAccount)
}
@ -1358,7 +1358,7 @@ export function startSessionManager (
opt.brandingMap,
{
pingTimeout: opt.pingTimeout ?? 10000,
reconnectTimeout: 500
reconnectTimeout: 5 // seconds to reconnect
},
opt.profiling,
opt.accountsUrl,