Add private_channels_version to client_state in identity. also set sentry user in gateway

This commit is contained in:
Madeline 2022-10-31 12:16:15 +11:00
parent 5a5a20c203
commit 1cacd4413a
4 changed files with 44 additions and 933 deletions

File diff suppressed because it is too large Load Diff

View File

@ -53,11 +53,16 @@ export async function Message(this: WebSocket, buffer: WS.Data) {
try { try {
var ret = await OPCodeHandler.call(this, data); 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; return ret;
} catch (error) { } catch (error) {
Sentry.withScope((scope) => { Sentry.withScope((scope) => {
scope.setSpan(transaction); scope.setSpan(transaction);
if (this.user_id) scope.setUser({ id: this.user_id });
Sentry.captureException(error); Sentry.captureException(error);
}); });
transaction?.finish(); transaction?.finish();

View File

@ -12,8 +12,12 @@ import {
VoiceStateUpdateEvent, VoiceStateUpdateEvent,
VoiceStateUpdateSchema, VoiceStateUpdateSchema,
} from "@fosscord/util"; } from "@fosscord/util";
// TODO: check if a voice server is setup // 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) { export async function onVoiceStateUpdate(this: WebSocket, data: Payload) {
check.call(this, VoiceStateUpdateSchema, data.d); check.call(this, VoiceStateUpdateSchema, data.d);

View File

@ -43,6 +43,7 @@ export const IdentifySchema = {
$user_guild_settings_version: Number, $user_guild_settings_version: Number,
$user_settings_version: undefined, $user_settings_version: undefined,
$useruser_guild_settings_version: undefined, $useruser_guild_settings_version: undefined,
$private_channels_version: Number,
}, },
$clientState: { $clientState: {
$guildHashes: Object, $guildHashes: Object,
@ -94,6 +95,7 @@ export interface IdentifySchema {
user_guild_settings_version?: number; user_guild_settings_version?: number;
user_settings_version?: number; user_settings_version?: number;
useruser_guild_settings_version?: number; useruser_guild_settings_version?: number;
private_channels_version?: number;
}; };
clientState?: { clientState?: {
guildHashes?: any; guildHashes?: any;