Files
vidconf/CHANGELOG.md
Max Ronzhin 904db83450
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
docs: уточнить в CHANGELOG поведение топбара комнаты на мобильном
В записи 0.0.3 было описано обратное: скрывается не инвайт-чип, а название
конференции со строкой статуса — чип «№ … / Пригласить» остаётся.
2026-07-26 12:11:50 +03:00

93 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Изменения
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/),
проект придерживается [семантического версионирования](https://semver.org/lang/ru/).
## [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` (+ UDP `54000-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.
[0.0.3]: https://github.com/MaxRonzhin/vidconf_rel/releases/tag/v0.0.3
[0.0.2]: https://github.com/MaxRonzhin/vidconf_rel/releases/tag/v0.0.2
[0.0.1]: https://github.com/MaxRonzhin/vidconf_rel/releases/tag/v0.0.1