Участие в проекте
Помочь можно отчётом об ошибке, исправлением или переводом. Для большой новой функции сначала откройте issue, чтобы обсудить поведение и объём работы.
Сообщить об ошибке
Проверьте существующие issues. В новом отчёте укажите версии приложения и сервера, систему, ожидаемый результат и шаги воспроизведения. Добавьте относящийся к ошибке журнал без секретов и личных данных.
Уязвимости сообщайте приватно.
Подготовить исправление
Сборка и тестирование (на английском) описывает локальное окружение. Перед pull request выполните проверки сервера или приложения, которого касается изменение.
- Один pull request — одно законченное изменение с описанием причины.
- Обновляйте инструкции, если изменились настройки или поведение.
- Изменение медиатракта должно сопровождаться сквозным тестом реального потока: кадры, уровни аудио или RTP-статистика.
- Пользовательские строки приложения проходят через
client/src/renderer/i18n/. Английские и русские ключи должны совпадать. - Соблюдайте стиль окружающего кода. Python форматируется Ruff.
Переводы
Английские файлы client/src/renderer/i18n/en/ задают структуру. Новая локаль повторяет их и типизируется через typeof en; её нужно зарегистрировать в i18n/index.ts. Запустите npm run typecheck в client/, чтобы проверить полноту ключей.
Продуктовый сайт использует website/tools/copy.mjs. Инструкции находятся в docs/ и docs/ru/; после изменений выполните npm run build в website/.
Лицензирование
Изменения принимаются под AGPL-3.0-or-later. Для новых зависимостей и встроенных ресурсов укажите лицензию и убедитесь в её совместимости. Полные правила находятся в CONTRIBUTING.md и кодексе поведения.