-
Notifications
You must be signed in to change notification settings - Fork 219
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
VoIP call support via webrtc-rs #3295
Comments
Hello @DemiMarie and thank you for your suggestion. What kind of helpers do you imagine? There is this |
@Hywan I’m imagining an implementation of one-to-one calls that doesn’t rely on an embedded browser engine. Secure end-to-end encryption requires that all servers be treated as untrusted, which means that relying on a webview that loads JavaScript from Element’s servers isn’t an option. |
@Hywan To be specific, I would like matrix-rust-sdk to integrate with https://github.com/webrtc-rs/webrtc, which provides a memory-safe WebRTC implementation that doesn’t rely on a web browser. |
@manuroe what do you think about this suggestion? |
To elaborate: Windows, macOS, iOS, and Android have a system-provided webview, but desktop Linux and embedded systems do not. Embedded devices, obviously, have no webview unless they bring their own. Desktop Linux has WebKitGTK+ and Qt WebEngine, but these are tied to specific UI frameworks, and not every desktop Linux program uses GTK or Qt. Qt WebEngine also has a rather long patch gap compared to upstream Chromium. WebRTC is also a large C++ library that has had remote code execution vulnerabilities in the past. Signal’s mobile apps disable some especially risky functionality, but I’m not sure if this can be done in a web environment. |
Implementing VoIP calls in downstream projects is not simple. Web clients can and must use the native browser implementation, but desktop and mobile clients don’t have that option, so e.g. Fractal doesn’t support calls at all. matrix-rust-sdk could provide helpers that make it easy to support calls in desktop and mobile clients.
The text was updated successfully, but these errors were encountered: