Единое состояние веб-телефона на всех страницах
- При обновлении неглавной страницы состояние "Не беспокоить" в телефоне сбрасывается и получается на главной странице оно установлено, а в неглавной - нет.
- Неправильная работа с микрофоном: проблема состоит в том, что при отключении микрофона в одной из открытых страниц Мегаплана, события mute/unMute возникают на всех страницах, что вызывает отключение звука, но микрофон при этом не меняет цвет. Моделирую проблему полностью:
1. Имеется 2 страницы Мегаплана, какая из них главная не видно, если не открыть консоль заранее. Но мы будем иметь в виду, что знаем, что первая вкладка - главная.
2. Пришел вызов, ответили на него, разговариваем.
3. По какой-то причине оказались на второй странице (не главной) и там нажимаем отключить микрофон. Микрофон становится красным, звука нет, т.е. оператора не слышно.
4. Переходим на первую страницу и видим, что микрофон включен.
5. Обновляем первую страницу. Это приводит к активации приложения на второй странице, т.к. она становится главной. Поднимается сокет, восстанавливается вызов, микрофон красный, но звук есть, т.к. при обновлении страницы микрофон возвращает свое состояние в исходное - включенное.
Получается такая картина, что микрофон можно отключить на одной из страниц, а его состояние будет актуальным только там, где он был нажат и то, до обновления страницы. И если при этом обновить главную страницу, то вызов перейдет на другую - и если там микрофон был выключен, то надо самостоятельно делать проверку и включать микрофон, но метода для этого нет. Приходиться городить костыли - искать кнопку в DOM и кликать на нее, если панель с телефоном свернута, то ее надо развернуть, или страница еще не загружена до конца, то кнопки с микрофоном нет и нажимать не на что. Приходится вешать таймауты и снова искать кнопку, чтобы ее нажать.