release: версия 0.0.25
This commit is contained in:
36
CHANGELOG.md
36
CHANGELOG.md
@@ -3,6 +3,42 @@
|
||||
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/),
|
||||
проект придерживается [семантического версионирования](https://semver.org/lang/ru/).
|
||||
|
||||
## [0.0.25] — 2026-08-03
|
||||
|
||||
Два дефекта мини-окна конференции (Document PiP), оба видны только в Chrome.
|
||||
|
||||
### Исправлено
|
||||
- В Chrome пропадал звук других участников после возврата сцены из
|
||||
мини-окна в основное. `RoomAudioRenderer` жил внутри `RoomStage` и
|
||||
рендерился в обеих её ветках, поэтому скрытые `<audio>` с чужими
|
||||
аудиотреками физически переезжали в документ PiP-окна и обратно.
|
||||
После такого переезда Chrome теряет аудиовыход у remote-трека: пакеты
|
||||
продолжают приходить (`packetsReceived` растёт), а
|
||||
`totalSamplesDuration` и `totalAudioEnergy` замирают, и трек молчит
|
||||
даже в свежесозданном `<audio>` со свежим `MediaStream`. Тот же цикл
|
||||
detach/attach в пределах одного документа безвреден — дело именно в
|
||||
переезде между документами. Рендерер вынесен в `RoomPage`: один
|
||||
экземпляр, всегда в основном документе, в PiP-окне аудиоэлементов нет
|
||||
вовсе. В Safari бага не было — там Document PiP не используется
|
||||
(video-фолбэк), сцена из основного окна не уезжает.
|
||||
- В мини-окне не действовало закрепление участника, а демонстрация
|
||||
экрана слетала на говорящего от любой чужой реплики. Мини-плеер
|
||||
намеренно ходил с упрощёнными правилами выбора фокуса (без
|
||||
`holdScreenShare`, без приоритета говорящего с камерой, без
|
||||
антидребезга) и с собственным локальным состоянием закрепления.
|
||||
Теперь `pickStageFocus` получает одинаковые правила в обоих вариантах
|
||||
сцены, а закрепление переезжает между окнами тем же мостиком через
|
||||
`RoomPage`, что и фокус. Сознательно оставлено одно отличие —
|
||||
фолбэк «показать себя» (`localKey`) только у мини-плеера: это защита
|
||||
от дефекта 0.0.11, когда мини-окно открывалось на самом пользователе.
|
||||
- Закрепление сбрасывалось при каждом монтировании сцены: на первом
|
||||
рендере `useTracks` отдаёт пустой набор треков, и правило «закреплённый
|
||||
вышел из комнаты» принимало это за уход участника.
|
||||
|
||||
### Изменено
|
||||
- Кнопка-булавка на плитке подписана «Закрепить» вместо «Закрепить в
|
||||
основном окне» — закрепление больше не ограничено основным окном.
|
||||
|
||||
## [0.0.24] — 2026-08-03
|
||||
|
||||
Три артефакта вёрстки, вылезающие за границы блоков (эмодзи-поповер чата,
|
||||
|
||||
Reference in New Issue
Block a user