Проверка поддержки была строже, чем требует библиотека, и молча отрезала два браузера: кнопки выбора фона не было ни в превью, ни в комнате. У `@livekit/track-processors` ДВА конвейера обработки кадров: современный (`MediaStreamTrackProcessor`/`Generator`, только Chrome и производные) и запасной — рисует кадры в canvas и отдаёт `canvas.captureStream()`. Проверка требовала именно современный, хотя запасной путь доступен и в Safari, и в Firefox. Заодно она проверяла `OffscreenCanvas`, но пропускала `VideoFrame`, `createImageBitmap` и WebGL2, которые библиотеке реально нужны. Теперь условие буквально повторяет `supportsBackgroundProcessors()` из самой библиотеки: «умеет считать сегментацию» И «есть хоть какой-то конвейер». При обновлении пакета сверять с ним. Пробный WebGL2-контекст (иначе поддержку не определить) создаётся один раз на жизнь страницы и сразу отпускается через `WEBGL_lose_context`: браузеры держат ограниченное число живых контекстов. Проверено: в Firefox 153 детект возвращает «поддерживается» (современного конвейера нет, запасной есть), в Chrome регрессии нет — процессор поднимается, трек живой.
65 lines
1.5 KiB
Plaintext
65 lines
1.5 KiB
Plaintext
# Python
|
|
.venv/
|
|
venv/
|
|
__pycache__/
|
|
*.py[cod]
|
|
*.egg-info/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
.pytest_cache/
|
|
.coverage
|
|
htmlcov/
|
|
# uv
|
|
.uv/
|
|
uv.lock.bak
|
|
|
|
# Node / frontend
|
|
node_modules/
|
|
dist/
|
|
.vite/
|
|
frontend/coverage/
|
|
|
|
# Env / secrets
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
# Models
|
|
*.gguf
|
|
|
|
# Editors / OS
|
|
.DS_Store
|
|
.idea/
|
|
.vscode/
|
|
|
|
# Docker
|
|
deploy/**/*.local.yml
|
|
|
|
# Сгенерированные из *.template скриптом deploy/render-templates.sh —
|
|
# содержат реальные секреты/IP, рендерятся перед `docker compose up`.
|
|
deploy/coturn/turnserver.conf
|
|
deploy/livekit/livekit.yaml
|
|
deploy/egress/egress.yaml
|
|
|
|
# Артефакты Celery beat
|
|
celerybeat-schedule*.db
|
|
celerybeat-schedule
|
|
|
|
# Загруженные медиа-файлы (аватары) — dev-каталог backend/media
|
|
backend/media/
|
|
|
|
# Рабочая папка Claude Code (промпты, агенты, заметки) — не в репозиторий
|
|
.forcc/
|
|
|
|
# Локальные конфиги инструментов сессий (launch.json dev-сервера и т.п.) —
|
|
# привязаны к конкретной машине, в репозиторий не идут.
|
|
.claude/
|
|
|
|
# Wasm-рантайм MediaPipe — копируется из node_modules плагином `mediapipeWasm`
|
|
# (frontend/vite.config.ts), ~19 МБ, в репозитории ему не место.
|
|
frontend/public/mediapipe/wasm/
|
|
|
|
# Рабочая страница замера CPU (сессия 35), в репозиторий не идёт.
|
|
frontend/bg-bench.html
|
|
frontend/bg-support.html
|