Skip to content

VoiceBridge v1.3.0

Latest

Choose a tag to compare

@SL1dee36 SL1dee36 released this 23 Aug 20:49
· 5 commits to main since this release
b61770b

Это крупное обновление полностью перерабатывает архитектуру приложения, переходя от клиент-серверной модели к децентрализованной Peer-to-Peer (P2P) системе. Теперь для общения не требуется отдельный выделенный сервер.

Ключевые преимущества новой версии

  • Полная независимость: Больше нет необходимости запускать и поддерживать отдельный серверный скрипт. Любой пользователь может создать временный голосовой канал прямо из своего клиента.
  • Простота использования: Интерфейс был значительно упрощен. Вместо ввода IP-адреса и порта теперь есть удобный стартовый экран с возможностью создать новый канал одним кликом или подключиться к существующему.
  • Сохранение сессий: Приложение запоминает ваш никнейм и список каналов, к которым вы подключались или которые создавали. Это позволяет быстро переподключаться к частым комнатам или перезапускать свой собственный канал на том же порту.
  • Повышенная стабильность и надёжность:
    • Устранены критические ошибки, приводившие к падению приложения при работе с поврежденным файлом конфигурации.
    • Заменен устаревший модуль audioop, что гарантирует совместимость с будущими версиями Python.
    • Система уведомлений стала менее навязчивой — ошибки и статусы отображаются внутри интерфейса, а не в виде системных всплывающих окон.

🚀 Новые возможности (Added)

  • Архитектура Peer-to-Peer (P2P): Приложение теперь включает в себя как клиентскую, так и серверную логику.
  • Стартовый экран: Добавлен новый главный экран, который служит центральным узлом для создания каналов, подключения к ним и управления сохраненными каналами.
  • Хостинг каналов: Реализована возможность для любого пользователя создать (захостить) свой собственный голосовой канал. Сервер запускается в фоновом потоке.
  • Сохранение конфигурации: Приложение автоматически сохраняет никнейм пользователя и список каналов в файл voicebridge_config.json.
  • Память типов каналов: Система теперь различает каналы, которые вы создали (hosted), и те, к которым вы подключались как клиент (joined).
  • Перезапуск хост-каналов: Вы можете выбрать ранее созданный канал из списка, чтобы запустить сервер на том же самом порту, который использовался ранее.
  • Управление каналами: Добавлено контекстное меню (вызывается правой кнопкой мыши) для сохраненных каналов, позволяющее подключиться или удалить запись.

🛠️ Изменения и улучшения (Changed)

  • Замена audioop: Устаревший и подлежащий удалению модуль audioop был полностью заменен на собственные функции для вычисления RMS (уровня громкости) и изменения громкости аудиопотока с использованием стандартных библиотек math и struct.
  • Система уведомлений: Все системные всплывающие окна (QMessageBox) и уведомления в трее были заменены на встроенные в интерфейс сообщения:
    • Ошибки подключения и работы сервера теперь отображаются в виде текста на стартовом экране.
    • Сообщения об отключении теперь появляются как системные уведомления в чате.
  • Структура кода: Весь функционал объединен в один файл с четким разделением на логические классы (StyleManager, ConfigManager, ServerThread, ClientThread, MainWindow), что улучшает читабельность и поддержку кода.
  • Отображение информации о хосте: При создании канала информация о его адресе (IP и порт) теперь выводится не только на главном экране, но и в виде первого системного сообщения в чате для удобства копирования.

🐛 Исправления (Fixed)

  • KeyError при чтении конфигурации: Устранена критическая ошибка, которая приводила к падению приложения при запуске, если файл voicebridge_config.json содержал некорректные или устаревшие записи. Теперь приложение безопасно пропускает поврежденные элементы.
  • TypeError при создании компоновки: Исправлена ошибка в синтаксисе создания QVBoxLayout, которая могла приводить к сбою на некоторых версиях Qt.

🗑️ Удалено (Removed)

  • Экран входа: Старый экран для ввода имени и адреса сервера был полностью удален и заменен новым, более функциональным стартовым экраном.
  • Уведомление в трее: Удалено всплывающее уведомление при сворачивании приложения в системный трей.

Full Changelog: v1.2.0...v1.3.0