openskynet / src /gateway /server /presence-events.ts
Darochin's picture
Mirror OpenSkyNet workspace snapshot from Git HEAD
fc93158 verified
import { listSystemPresence } from "../../infra/system-presence.js";
import type { GatewayBroadcastFn } from "../server-broadcast.js";
export function broadcastPresenceSnapshot(params: {
broadcast: GatewayBroadcastFn;
incrementPresenceVersion: () => number;
getHealthVersion: () => number;
}): number {
const presenceVersion = params.incrementPresenceVersion();
params.broadcast(
"presence",
{ presence: listSystemPresence() },
{
dropIfSlow: true,
stateVersion: {
presence: presenceVersion,
health: params.getHealthVersion(),
},
},
);
return presenceVersion;
}