release: версия 0.0.30

This commit is contained in:
2026-08-04 22:21:36 +03:00
parent 4f82ebe17a
commit f81a2a8992
4 changed files with 36 additions and 3 deletions

View File

@@ -122,7 +122,7 @@ SMTP_TIMEOUT_S=30
# --- Версия инстанса (релиз v0.0.1) --- # --- Версия инстанса (релиз v0.0.1) ---
# install.sh копирует значение из корневого файла VERSION при каждой # install.sh копирует значение из корневого файла VERSION при каждой
# установке/обновлении — руками менять не нужно. # установке/обновлении — руками менять не нужно.
VIDCONF_VERSION=0.0.29 VIDCONF_VERSION=0.0.30
# --- Профили compose. Дефолт ниже (`media,monitoring`) — только для ручного # --- Профили compose. Дефолт ниже (`media,monitoring`) — только для ручного
# `docker compose up` БЕЗ install.sh: медиа (LiveKit+coturn) + мониторинг, # `docker compose up` БЕЗ install.sh: медиа (LiveKit+coturn) + мониторинг,

View File

@@ -3,6 +3,39 @@
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/), Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/),
проект придерживается [семантического версионирования](https://semver.org/lang/ru/). проект придерживается [семантического версионирования](https://semver.org/lang/ru/).
## [0.0.30] — 2026-08-04
Согласие на обработку персональных данных при регистрации + отключаемый модуль.
### Добавлено
- На форме регистрации — галочка согласия на обработку персональных данных
со ссылкой на публичную страницу регламента (`/legal/personal-data-consent`).
Кнопка регистрации неактивна, пока галочка не отмечена; сервер тоже
отказывает без согласия (`POST /auth/register` → 400 `consent_required`,
второй эшелон проверки — тот же принцип, что у `hand_queue_disabled`).
- Текст регламента — настройка инстанса, редактируемая в админке
(вкладка «Настройки» → карточка «Согласие на обработку персональных
данных»): текстовое поле + тумблер «требовать согласие при регистрации».
Дефолтный текст — типовой шаблон с плейсхолдерами под организацию
(наименование оператора, адрес, контакты, цели и срок обработки),
**не проходил юридическую проверку** — в карточке администратора
об этом явное предупреждение.
- Номер редакции текста растёт автоматически при каждой правке —
у каждого пользователя, давшего согласие, в БД фиксируется и версия
документа, и дата согласия (`users.consent_version`, `consent_given_at`).
- Модуль отключаем (`instance_settings.consent_policy`), по умолчанию
выключен — поведение существующих инсталляций не меняется. У уже
зарегистрированных пользователей согласие не запрашивалось и не
запрашивается задним числом, вход не блокируется.
### Технические детали
- Миграция Alembic добавляет `users.consent_version`/`consent_given_at`
(nullable — `NULL` означает «согласие не запрашивалось»).
- Публичный `GET /auth/registration-options` (уже существующий, без нового
эндпоинта) дополнен полями `consent_required`/`consent_text`/`consent_version`
тем же ответом пользуется и страница регламента, доступная всегда,
независимо от того, включён ли модуль.
## [0.0.29] — 2026-08-04 ## [0.0.29] — 2026-08-04
Кнопка «демонстрация экрана» в мини-окне конференции. Кнопка «демонстрация экрана» в мини-окне конференции.

View File

@@ -1 +1 @@
0.0.29 0.0.30

View File

@@ -89,7 +89,7 @@ services:
MEDIA_ROOT: ${MEDIA_ROOT:-/app/media} MEDIA_ROOT: ${MEDIA_ROOT:-/app/media}
# Версия инстанса (релиз v0.0.1) — install.sh копирует значение # Версия инстанса (релиз v0.0.1) — install.sh копирует значение
# из файла VERSION (корень репозитория) в .env; отдаётся в GET /api/health. # из файла VERSION (корень репозитория) в .env; отдаётся в GET /api/health.
VIDCONF_VERSION: ${VIDCONF_VERSION:-0.0.29} VIDCONF_VERSION: ${VIDCONF_VERSION:-0.0.30}
# Число процессов uvicorn (см. backend/Dockerfile). Дефолт 2 рассчитан # Число процессов uvicorn (см. backend/Dockerfile). Дефолт 2 рассчитан
# на 4-ядерный сервер, где ядра делятся с LiveKit. Поднимая значение, # на 4-ядерный сервер, где ядра делятся с LiveKit. Поднимая значение,
# проверьте бюджет соединений с БД: каждый воркер держит свой пул # проверьте бюджет соединений с БД: каждый воркер держит свой пул