summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-10-12 19:36:18 +0200
committerRory& <root@rory.gay>2026-10-12 19:36:18 +0200
commitf6d5ceab7517459fb19c6ceff03eba898cd5bc88 (patch)
tree8bfbb768eb3535e0a6c00120c39c5426cd84dae1
parentIdentify: try using ajv for validation (diff)
downloadserver-ts-f6d5ceab7517459fb19c6ceff03eba898cd5bc88.tar.xz
No bigints in identify
-rw-r--r--assets/openapi.json8
-rw-r--r--assets/schemas.json8
-rw-r--r--src/gateway/opcodes/Identify.ts2
-rw-r--r--src/gateway/util/WebSocket.ts4
-rw-r--r--src/schemas/gateway/IdentifySchema.ts4
5 files changed, 9 insertions, 17 deletions
diff --git a/assets/openapi.json b/assets/openapi.json

index b614cb38a..9dcd1d2dd 100644 --- a/assets/openapi.json +++ b/assets/openapi.json
@@ -7714,9 +7714,7 @@ "additionalProperties": false }, "intents": { - "type": "number", - "properties": {}, - "additionalProperties": false + "type": "integer" }, "presence": { "$ref": "#/components/schemas/ActivitySchema" @@ -7735,9 +7733,7 @@ "maxItems": 2, "type": "array", "items": { - "type": "number", - "properties": {}, - "additionalProperties": false + "type": "integer" } }, "guild_subscriptions": { diff --git a/assets/schemas.json b/assets/schemas.json
index 49d8b294c..194d583fd 100644 --- a/assets/schemas.json +++ b/assets/schemas.json
@@ -8264,9 +8264,7 @@ "additionalProperties": false }, "intents": { - "type": "number", - "properties": {}, - "additionalProperties": false + "type": "integer" }, "presence": { "$ref": "#/definitions/ActivitySchema" @@ -8285,9 +8283,7 @@ "maxItems": 2, "type": "array", "items": { - "type": "number", - "properties": {}, - "additionalProperties": false + "type": "integer" } }, "guild_subscriptions": { diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts
index 81a65a3ee..3b0093171 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts
@@ -128,7 +128,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { const userQueryTime = taskSw.getElapsedAndReset(); // Check intents - if (!identify.intents) identify.intents = 0b11011111111111111111111111111111111n; // TODO: what is this number? + if (!identify.intents) identify.intents = 0b11011111111111111111111111111111111; // TODO: what is this number? this.intents = new Intents(identify.intents); // TODO: actually do intent things. diff --git a/src/gateway/util/WebSocket.ts b/src/gateway/util/WebSocket.ts
index 50c7bbb14..11e874d11 100644 --- a/src/gateway/util/WebSocket.ts +++ b/src/gateway/util/WebSocket.ts
@@ -35,8 +35,8 @@ export interface WebSocket extends WS { ipAddress?: string; userAgent?: string; // for cdn request signing fingerprint?: string; - shard_count?: bigint; - shard_id?: bigint; + shard_count?: number; + shard_id?: number; deflate?: Deflate; inflate?: Inflate; zstdEncoder?: Encoder; diff --git a/src/schemas/gateway/IdentifySchema.ts b/src/schemas/gateway/IdentifySchema.ts
index 3e5006f3f..654ca1395 100644 --- a/src/schemas/gateway/IdentifySchema.ts +++ b/src/schemas/gateway/IdentifySchema.ts
@@ -109,7 +109,7 @@ export interface IdentifySchema { system_locale?: string; qos_token?: string; }; - intents?: bigint; // discord uses a Integer for bitfields we use bigints tho. | instanceOf will automatically convert the Number to a BigInt + intents?: number; presence?: ActivitySchema; compress?: boolean; large_threshold?: number; @@ -118,7 +118,7 @@ export interface IdentifySchema { * @minItems 2 * @maxItems 2 */ - shard?: bigint[]; // puyo: changed from [bigint, bigint] because it breaks openapi + shard?: number[]; // puyo: changed from [bigint, bigint] because it breaks openapi guild_subscriptions?: boolean; capabilities?: number; client_state?: {