summary refs log tree commit diff
path: root/src/gateway/util/WebSocket.ts
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-08-15 17:09:40 +0200
committerRory& <root@rory.gay>2026-08-15 17:15:40 +0200
commit9f5f2a2c3b71550f21f75500534bf1332b94f771 (patch)
tree4572ef19b7e25fee06da36a62105b197cb45fade /src/gateway/util/WebSocket.ts
parentAllow avatar_description field in profile update (diff)
downloadserver-ts-dev/gwsep.tar.xz
Decouple gateway connection state from inner ws object github/dev/gwsep dev/gwsep
Diffstat (limited to 'src/gateway/util/WebSocket.ts')
-rw-r--r--src/gateway/util/WebSocket.ts17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/gateway/util/WebSocket.ts b/src/gateway/util/WebSocket.ts

index 50c7bbb1..cf912ddf 100644 --- a/src/gateway/util/WebSocket.ts +++ b/src/gateway/util/WebSocket.ts
@@ -24,8 +24,13 @@ import { Intents, ListenEventOpts, Permissions } from "@spacebar/util"; import { QoSPayload } from "../opcodes/Heartbeat"; import { Capabilities } from "./Capabilities"; -export interface WebSocket extends WS { - recentTransactions: string[]; +export class WebSocket { + rawSocket: WS; + constructor(socket: WS) { + this.rawSocket = socket; + } + + recentTransactions: string[] = []; version: number; user_id: string; session_id: string; @@ -44,10 +49,10 @@ export interface WebSocket extends WS { heartbeatTimeout: NodeJS.Timeout; readyTimeout: NodeJS.Timeout; intents: Intents; - sequence: number; - permissions: Record<string, Permissions>; - events: Record<string, undefined | (() => Promise<unknown>)>; - member_events: Record<string, () => Promise<unknown>>; + sequence: number = 0; + permissions: Record<string, Permissions> = {}; + events: Record<string, undefined | (() => Promise<unknown>)> = {}; + member_events: Record<string, () => Promise<unknown>> = {}; listen_options: ListenEventOpts; capabilities?: Capabilities; large_threshold: number;