В записи 0.0.3 было описано обратное: скрывается не инвайт-чип, а название конференции со строкой статуса — чип «№ … / Пригласить» остаётся.
7.2 KiB
7.2 KiB
Изменения
Формат основан на Keep a Changelog, проект придерживается семантического версионирования.
0.0.3 — 2026-07-26
Мобильная версия: адаптивная вёрстка для узких экранов на ключевых экранах сервиса, найденная и поправленная по итогам ручного прохода по мобильному интерфейсу.
Исправления
- Вход/регистрация (
AuthLayout): заголовок «Ваша инфраструктура» вылезал за край брендовой панели на узких экранах — кегль теперь адаптивно уменьшается (clamp()) вместо обрезки. - Комната конференции: топбар и тулбар не помещались на мобильной ширине (тулбар с 8 кнопками физически шире экрана, крайние кнопки были обрезаны без возможности до них докрутить). На мобильном тулбар сокращён до микрофона/камеры/устройств/чата/выхода (демонстрация экрана, полноэкранный режим и мини-окно скрыты — редко нужны с телефона), в топбаре скрыты название конференции и строка статуса, а чип «№ … / Пригласить» оставлен — с телефона он нужнее.
- Админка: заголовок и 4 вкладки раздела не помещались в ширину (вкладки переносятся в 2 ряда, поясняющий текст под заголовком скрыт на мобильном); таблицы «Конференции» и «Пользователи» обрезались вбок — на мобильном в них остаются только ключевые колонки, название конференции стало кнопкой, открывающей то же окно редактирования, что и раньше (туда же добавлена кнопка удаления — на мобильном столбец действий скрыт).
- Подключение к конференции (
/join): кнопка «Ввести другую ссылку или номер» на экране завершённой конференции вылезала за карточку на узких экранах (единственная кнопка на этом флоу без формы-обёртки, задающей ей ширину, а.btnдержитwhite-space: nowrap).
0.0.2 — 2026-07-26
Релиз воспроизводимого боевого развёртывания: конфигурация деплоя перенесена в репозиторий как источник истины, устранён инцидент безопасности, добавлена пошаговая инструкция для девопсов.
Безопасность
postgresиredisсняты с публикации на0.0.0.0и привязаны к127.0.0.1(docker писал DNAT в обходufw, порты были открыты в интернет).- Порты
backend,livekit-signaling,prometheus,grafana,llmтакже переведены на loopback — наружу остаются только80/443/7881(+ UDP54000-54100). - Для
redisвключена обязательная аутентификация (--requirepass); пароль проброшен во всех потребителей (backend, worker, exporter, livekit, egress).
Развёртывание и инфраструктура
nginx/coturn/livekit: TLS на 443, http→https редирект, ACME-webroot; конфиги вынесены в*.templateи рендерятся черезdeploy/render-templates.sh(envsubst). Секреты — только из.env, обязательны (${VAR:?}), без небезопасных дефолтов.--env-file .envдобавлен во все вызовыdocker compose(без него compose не подхватывал корневой.envи брал dev-дефолты — корень бага «конференции не работают у других» иWARN: LIVEKIT_API_KEY not set).- Мониторинг развязан от опционального LLM:
job=llm/алертLlmDownзакомментированы для профилей безllm/llm-gpu. install.sh: fail-fast валидация — установка останавливается с понятной ошибкой, если на боевом домене остались dev-плейсхолдеры (example.com,ws://localhost,devkeyи т.п.), вместо тихого подъёма нерабочего прода.install.sh: флаг--monitoring(Grafana/Prometheus раньше не поднимались ни в одном пресете)..env.exampleпокрывает все параметры деплоя; дефолтные профили —media,monitoring.
Исправления
nginx:/openapi.jsonбольше не перехватывается SPA-фолбэком, а отдаётся схемой backend.- Предупреждение в
.env.example:LIVEKIT_PUBLIC_URLв HTTPS-проде обязан бытьwss://.
Документация
- Добавлено
docs/deploy/DEPLOYMENT.md— полное руководство от голой Ubuntu 24 до рабочегоhttps://<домен>: SSL,.env, профили, траблшутинг, доступ к мониторингу через ssh-туннель, описание панелей, runbook включения транскрибации/суммаризации. Ссылки добавлены вREADME.md. docs/deploy/install.md: задокументирован флаг--monitoring.
Примечания по эксплуатации
- На боевом сервере исправлен certbot deploy-hook (
nginx -s reload→restart): без этого после автопродления сертификата nginx продолжал бы отдавать старый. - TURN-раздача клиентам (
rtc.turn_servers+ TURN/TLS на 443) остаётся опциональной — кросс-сетевое медиа проверено вживую и работает без неё; нужна только для экстремального NAT (CGNAT/жёсткий корпоративный firewall).
0.0.1
Первоначальная версия VidConf.