From 1cacd4413a2129c054b71fed1bb989cecbd7b591 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Mon, 31 Oct 2022 12:16:15 +1100 Subject: [PATCH] Add `private_channels_version` to `client_state` in identity. also set sentry user in gateway --- assets/schemas.json | Bin 844214 -> 813502 bytes src/gateway/events/Message.ts | 7 ++++++- src/gateway/opcodes/VoiceStateUpdate.ts | 6 +++++- src/util/schemas/IdentifySchema.ts | 2 ++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/assets/schemas.json b/assets/schemas.json index 316d512b8b189eafa01befa2afe2ad5f82f2c161..d37a97d96fbe4767b4c73cc7cbf32dde825f531f 100644 GIT binary patch delta 707 zcmXYt-Aj{U7{+;@_xr=PiV~q<)u!{H(Di{tgK1lqquB=yJJM@&5gWlmnRZ?09x@a4e&M)w=IZd00;*e5q=MN4 z&qy0p#jsCtLD(M6Go~zDusFiI4S<#!jCZ>K_@2C84=T zJ!%H#dg+T^HH=SdA@DvBT8rp0>uX-?gC!@OT=sJaCS%mnjY7uaQR3{FCS!wc522F{&V*U;~Jvl MrZHh-glL!k14U{ZrvLx| delta 6249 zcmdmY*>Kxo;|<@^rUzs(@=rU(&S6oVoS&0lWR+K%o0M8)onD%mlM0$beGLsV+Ij1-9GX_jv zpsz4pp_N&DdVnLR{p5xo)9C^ancb&9U}f~5&cA~>bhCH*3Ae%Fl8kk)Tn2|rmVXv> z9TYCv&TGl|*>6xdWjfF)?Av2H7}pPcB*jnRjM|=hmhsQvNV(g$i7;&(_)r05=k0qU znf?!wv@5WH$!U;8(DG+YY=gupOuEcp2T5A-DPlf6;Av$$Fxi?8xGO+)VeIyWf0=I# zlDIkN#4>x}odPUq6SkjhXJPRe6m`&cr3)$gGTlmk($X#-!nfh*;P zg{<-eo|(7Lf5zH7;I05SueUequsv}f9GPcV2^;6&2$ktTr|@o9-Nkl$kmR7y|7^B{ zBWSiicVT}tC_*J{yL=aW{~&P+%XxN{K@vf=A{;LVNp-k8mV;xE6fP1=Ia2%wM>%)# z3x~J>XoMqf`%YF)??Dnkk-nU41MZaVz)G6QXK+N*wg;RS2T7K`qsH~eb5MlJbYNSK zWxHV^SHd6(nrGX%ehm(%OgH_@6*hf-6cgKYMt1Jl$qm|K&H;%&&Vv9?#Ry;ynUho_kzI@0^8fdxF0wVigdbt g_bl$0gQ9H^y8Y*U?x};sDUVfnx(9_*{Fu0E0l*r4V*mgE diff --git a/src/gateway/events/Message.ts b/src/gateway/events/Message.ts index 4ed715b2..204f0025 100644 --- a/src/gateway/events/Message.ts +++ b/src/gateway/events/Message.ts @@ -53,11 +53,16 @@ export async function Message(this: WebSocket, buffer: WS.Data) { try { var ret = await OPCodeHandler.call(this, data); - transaction?.finish(); + Sentry.withScope((scope) => { + scope.setSpan(transaction); + scope.setUser({ id: this.user_id }); + transaction?.finish(); + }); return ret; } catch (error) { Sentry.withScope((scope) => { scope.setSpan(transaction); + if (this.user_id) scope.setUser({ id: this.user_id }); Sentry.captureException(error); }); transaction?.finish(); diff --git a/src/gateway/opcodes/VoiceStateUpdate.ts b/src/gateway/opcodes/VoiceStateUpdate.ts index 17ed7e4f..daefc504 100644 --- a/src/gateway/opcodes/VoiceStateUpdate.ts +++ b/src/gateway/opcodes/VoiceStateUpdate.ts @@ -12,8 +12,12 @@ import { VoiceStateUpdateEvent, VoiceStateUpdateSchema, } from "@fosscord/util"; + // TODO: check if a voice server is setup -// Notice: Bot users respect the voice channel's user limit, if set. When the voice channel is full, you will not receive the Voice State Update or Voice Server Update events in response to your own Voice State Update. Having MANAGE_CHANNELS permission bypasses this limit and allows you to join regardless of the channel being full or not. + +// Notice: Bot users respect the voice channel's user limit, if set. +// When the voice channel is full, you will not receive the Voice State Update or Voice Server Update events in response to your own Voice State Update. +// Having MANAGE_CHANNELS permission bypasses this limit and allows you to join regardless of the channel being full or not. export async function onVoiceStateUpdate(this: WebSocket, data: Payload) { check.call(this, VoiceStateUpdateSchema, data.d); diff --git a/src/util/schemas/IdentifySchema.ts b/src/util/schemas/IdentifySchema.ts index 409a03da..848ea0a6 100644 --- a/src/util/schemas/IdentifySchema.ts +++ b/src/util/schemas/IdentifySchema.ts @@ -43,6 +43,7 @@ export const IdentifySchema = { $user_guild_settings_version: Number, $user_settings_version: undefined, $useruser_guild_settings_version: undefined, + $private_channels_version: Number, }, $clientState: { $guildHashes: Object, @@ -94,6 +95,7 @@ export interface IdentifySchema { user_guild_settings_version?: number; user_settings_version?: number; useruser_guild_settings_version?: number; + private_channels_version?: number; }; clientState?: { guildHashes?: any;