Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for DAVE (Discord Audio/Video end-to-end Encryption) protocol #9948

Open
MisterSheeple opened this issue Sep 26, 2024 · 6 comments
Labels
feature request This is a feature request.

Comments

@MisterSheeple
Copy link

Summary

Today, Discord announced their E2EE protocol, DAVE. This issue is requesting the addition of DAVE support to discord.py.

What is the feature request for?

The core library

The Problem

The presence of a bot running discord.py in a call will cause the call to revert to not using E2EE, because discord.py does not currently support the DAVE protocol.

The Ideal Solution

If discord.py were to add support for the DAVE protocol, this can be fixed, allowing bots running discord.py to utilize E2EE in calls.

The whitepaper can be found here: https://github.com/discord/dave-protocol

There is also a library (libdave) written in C++ that can be found here: https://github.com/discord/libdave

The Current Solution

No response

Additional Context

No response

@MisterSheeple MisterSheeple added the feature request This is a feature request. label Sep 26, 2024
@imayhaveborkedit
Copy link
Contributor

The addition E2EE adds no new functionality for bots. What's your use case for this?

@MCausc78
Copy link
Contributor

The addition E2EE adds no new functionality for bots. What's your use case for this?

It adds nothing for bots, but non-e2ee connections are going to be discontinued after 6 months (see changelog entry). The only benefit I see for users of bot is faster connecting speed (without Discord having to downgrade connection to non-e2ee)

@mikeshardmind
Copy link
Contributor

For anyone who hasnt read it, the protocol is intended to change soon. The whitepaper currently says:

We are actively working on removing the synthesization of silence packets from the SFU, and will update the protocol to remove the silence packet passthrough exception once this is completed.

@No767
Copy link

No767 commented Sep 27, 2024

You are not immediately required to support the E2EE protocol, as calls will automatically upgrade/downgrade to/from E2EE depending on the support of clients in the call.

From what I read in the changelogs, it's implying that DAVE will be the new standard protocol at some point in the near future. We can probably wait until the deprecation timeline is announced and then work on migration the voice connections to E2EE.

@MisterSheeple
Copy link
Author

We can probably wait until the deprecation timeline is announced and then work on migration the voice connections to E2EE.

In any case, it'd probably be better to get a head start, if possible.

@No767
Copy link

No767 commented Sep 28, 2024

For now I'd propose that we wait. If you want to make the change, feel free to make a PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request This is a feature request.
Projects
None yet
Development

No branches or pull requests

5 participants