Цель

Закрыть пункт 2 из DV-045 («выкидывает из созвона когда взаимодействуешь с платформой») — не как багфикс MiroTalk, а как дефект НАШЕЙ интеграции.

Симптом (basis: quoted, слово владельца 07.11)

«выкидывает из созвона когда взаимодействуешь с платформой»

Root cause (derived, проверено по коду)

Iframe созвона размещался внутри #app (public/static/modules/rooms.js). SPA-роутер при любом переходе перерисовывает #app → iframe уничтожался, медиасессия рвалась. Клик по любой ссылке платформы = конец созвона.

Решение

Звонок вынесен в плавающую панель на document.body — вне перерисовываемого контейнера. Панель переживает навигацию; кнопки: свернуть / во весь экран / завершить. Кнопка «Начать звонок» в комнате отражает реальное состояние (syncMirotalkButton), состояние живёт в window.__dvCall.

Evidence

  • Коммит: c2fa955 (main dv-hub), файл public/static/modules/rooms.js.
  • Выкачено на прод, проверено: https://re-search.wiki/static/modules/rooms.js содержит dv-call-panel; /rooms отдаёт 200.
  • Живая проверка камеры/микрофона — за владельцем (тестовая комната dv-room-1).

Остаток

Пункты 1, 3, 4, 5 из DV-045 остаются в её скоупе (backlog).