release: версия 0.0.35

This commit is contained in:
2026-08-10 09:00:46 +03:00
parent b0e30ead57
commit 7ba182f018
4 changed files with 40 additions and 3 deletions

View File

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

View File

@@ -3,6 +3,43 @@
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/),
проект придерживается [семантического версионирования](https://semver.org/lang/ru/).
## [0.0.35] — 2026-08-10
Замена фона видео на картинку — отключаемый модуль (по умолчанию выключен).
Три готовые сцены и свои картинки (до 10 штук, загружаются в профиле).
**Только на компьютере:** сегментацию силуэта считает нейросеть на каждом
кадре, и на телефоне это греет устройство, ест батарею и просаживает FPS
в самой встрече — портить основное ради украшения нельзя.
### Добавлено
- Кнопка «Фон» в тулбаре комнаты и выбор фона в превью на входе. Выбранный
до входа фон применяется к публикуемому треку сразу в конференции.
- Три дефолтные сцены (офис, пляж с пальмами, космическая станция) —
собственные векторные рисунки (`design/backgrounds/`), а не фотографии
из интернета: у нарисованной сцены нет чужой лицензии, а продукт
расходится по инсталляциям, и проверять права на каждую копию некому.
- Раздел «Свои фоны» в профиле: загрузка (не больше 10 штук) и удаление.
Картинка уменьшается до 1280px по длинной стороне и переводится в WebP
прямо в браузере перед отправкой — «чтобы не грузили БД». Файлы лежат
на диске, в БД только пути, как у аватаров.
- Тумблер «Замена фона видео» в админке. Лимит на число картинок и формат
файла проверяются на сервере, а не только в интерфейсе.
### Особенности реализации
- **Модель сегментации и wasm-рантайм отдаются со своего домена.** По
умолчанию библиотека тянет их с внешних CDN (jsdelivr и
storage.googleapis.com), и в закрытом контуре фича молча не работала бы.
Модель (Apache 2.0) лежит в репозитории, рантайм копируется из
node_modules при сборке; nginx отдаёт их сжатыми и с долгим кэшем.
- Библиотека и модель грузятся **лениво**, только когда фон реально
включают: вход в конференцию не стал медленнее, основной бандл не вырос.
- «Десктоп» определяется по возможностям устройства (точный указатель +
hover + число точек касания), а НЕ по ширине окна: узкое окно на
десктопе — всё ещё десктоп, а широкий планшет — всё ещё планшет.
На мобильном кнопки нет вовсе, а не задизейбленной.
- Фон переживает выключение и включение камеры и смену устройства съёмки.
Удаление применённой сейчас картинки сбрасывает выбор на «без фона».
## [0.0.34] — 2026-08-09
Правка к проверке устройств на входе (0.0.33): превью и кнопки

View File

@@ -1 +1 @@
0.0.34
0.0.35

View File

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