Discord на Rust: E2EE-голос и выложили код в Open Source.
Что мы сделали (Цифры и факты)
1. Интерфейс на GPU — честные 120 FPS и <60 МБ RAM Мы полностью отказались от идеи веб-обёрток. GUI написан на GPUI / WGPU (том самом движке, на котором построен сверхбыстрый редактор Zed). Никакого DOM, Chromium и утечек памяти. Окно открывается мгновенно, отрисовка плавная, а потребление ОЗУ в 25 раз меньше официального клиента. 2. DAVE MLS v1 (RFC 9420) E2EE на чистом Rust Discord недавно внедрил сквозное шифрование для звонков. Мы реализовали криптографический протокол DAVE в нативном Rust-стеке. Голосовая сигнализация, генерация ключей и безопасные медиа-пакеты работают без закрытых бинарных блобов. 3. Стриминг экрана в Wayland на 60 FPS через PipeWire Боль всех пользователей Linux в Discord — демонстрация экрана со звуком на Wayland. Мы сделали аппаратный захват через PipeWire и DMA-BUF с нулевым копированием. Видеопоток 1080p/60fps кодируется на лету без фризов системы. 4. 1500+ автотестов и 100% зелёный CI Каждая строчка защищена TDD-тестами и мутационным тестированием (5/5 убитых мутаций на фичу). Любой сбой в протоколе ловится до сборки. ──────
Честная ложка дегтя: что НЕ работает
Мы выкладываем именно Developer Alpha / Tech Preview, а не «убийцу Дискорда для бабушки». Проект уникален инженерно, но в нем полно белых пятен: • Нет автодополнения @тегов — упоминания участников пока приходится вводить вручную. • Вкладка Direct Messages (ЛС) скрыта — движок готов, но UI-список диалогов 1-на-1 в процессе вёрстки. • Ленивая синхронизация гигантских серверов — на серверах с 500+ каналами глубокие ветки подгружаются с задержкой. • Ошибки переподключения WebRTC (2007 / 2012) — при резкой смене сети иногда требуется ретрай голосовой сессии. ──────
Зачем мы открыли код и кого мы ищем
Мы доказали, что нативный сверхбыстрый клиент реален. Но чтобы довести его до идеала, одному человеку и даже стае ИИ-агентов нужен настоящий инженерный краудсорсинг. Кому это будет круто: • Rust-разработчикам: поковырять GPUI, асинхронный Tokio, Ring-буферы и WebRTC на низком уровне. • Системщикам и C++ девам: оптимизировать захват аудио через ALSA/PulseAudio/PipeWire и кодеки Opus/AV1. • Реверс-инженерам: дожать недокументированные опкоды шлюза и структуры данных. • Тем, кто хочет крутой кейс в портфолио: реальный highload десктоп-проект с 1500+ тестами, а не очередной To-Do лист. Если у вас чешутся руки переписать кусок UI, починить баг с @тегами или просто форкнуть репозиторий и собрать свой идеальный легковесный мессенджер — добро пожаловать! Репозиторий на GitHub: https://github.com/Userbash/chord Релиз v0.1.0-alpha: https://github.com/Userbash/chord/releases/tag/v0.1.0-alpha Подробный список проблем (Issue backlog): docs/DEVELOPER_ALPHA_LIMITATIONS.md ────── Вопрос к сообществу: Как вы считаете, есть ли сегодня будущее у нативных клиентов на Rust/WGPU против засилья Electron, или веб- технологии победили окончательно из-за дешевизны разработки? Напишите в комментариях, и заглядывайте в код!
#Rust #OpenSource #Discord #Linux #ReverseEngineering #Wayland #WebRTC #GPUI #Разработка #Программирование #DevOps #IT #Сетка