mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 03:23:29 +01:00
feat: implement DAVE end-to-end encryption (#10921)
* feat(voice): implement DAVE E2EE encryption * chore(voice): update dependencies * chore(voice): update debug logs and dependency report * feat(voice): emit and propogate DAVESession errors * chore(voice): export dave session things * chore(voice): move expiry numbers to consts * feat(voice): keep track of and pass connected client IDs * fix(voice): dont set initial transitions as pending * feat(voice): dave encryption * chore(voice): directly reference package name in import * feat(voice): dave decryption * chore(deps): update @snazzah/davey * fix(voice): handle decryption failure tolerance * fix(voice): move and update decryption failure logic to DAVESession * feat(voice): propogate voice privacy code * fix(voice): actually send a transition ready when ready * feat(voice): propogate transitions and verification code function * feat(voice): add dave options * chore: resolve format change requests * chore: emit debug messages on bad transitions * chore: downgrade commit/welcome errors as debug messages * chore: resolve formatting change requests * chore: update davey dependency * chore: add types for underlying dave session * fix: fix rebase * chore: change "ID" to "id" in typedocs --------- Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
This commit is contained in:
@@ -8,11 +8,22 @@ import type { DiscordGatewayAdapterCreator } from './util/adapter';
|
||||
export interface CreateVoiceConnectionOptions {
|
||||
adapterCreator: DiscordGatewayAdapterCreator;
|
||||
|
||||
/**
|
||||
* Whether to use the DAVE protocol for end-to-end encryption. Defaults to true.
|
||||
*/
|
||||
daveEncryption?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* If true, debug messages will be enabled for the voice connection and its
|
||||
* related components. Defaults to false.
|
||||
*/
|
||||
debug?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The amount of consecutive decryption failures needed to try to
|
||||
* re-initialize the end-to-end encrypted session to recover. Defaults to 24.
|
||||
*/
|
||||
decryptionFailureTolerance?: number | undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -61,5 +72,7 @@ export function joinVoiceChannel(options: CreateVoiceConnectionOptions & JoinVoi
|
||||
return createVoiceConnection(joinConfig, {
|
||||
adapterCreator: options.adapterCreator,
|
||||
debug: options.debug,
|
||||
daveEncryption: options.daveEncryption,
|
||||
decryptionFailureTolerance: options.decryptionFailureTolerance,
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user