Skip to content

vsnal/jazz-web-sdk-case-01

Repository files navigation

Jazz Web SDK case 01

Приложение для демонстрации бага с инициализацией SDK 1.42.35

Что происходит

При инициализации SDK (createJazzWebSdk) в useEffect и работе с локальными устройствами (getLocalDevices) зависают методы:

  • requestUserMediaPermissions
  • getSelectedAudioInputStream
  • getSelectedVideoInputStream

Проблема проявляется ТОЛЬКО если сайту уже были ранее предоставлены разрешения на доступ к камере и микрофону.

В React 18 проблема проявляется нестабильно (см. комментарии в коде).

В React 17 проблема обходится (см. комментарии в коде), но нет 100% уверенности, что это работает всегда.

Предположительно это зависит от тайминга вызова createJazzWebSdk. Если вызов createJazzWebSdk делать непосредственно после инициализации пакета @salutejs/jazz-sdk-web (вне компонентов React без использования useEffect), то все ОК.

Где проверялось

Проблема ЕСТЬ:

  • Chrome 122.0.6261.131 (Windows)
  • Yandex 24.1.4.827 (Windows)
  • Yandex 22.11.0.2408 (Mac OS)
  • Sber 9.2.60.1 (Mac OS)

Проблемы НЕТ:

  • Firefox 124.0.1 (Windows)
  • Safari 17.4 (Mac OS)

Как воспроизвести

  1. В браузере удаляем разрешения на использование камеры и микрофона для сайта localhost:8080
  2. Переходим по ссылке http://localhost:8080
  3. Даем разрешение на использование камеры и микрофона
  4. В консоли смотрим что Test completed, все отработало, бага нет
  5. Обновляем страницу
  6. В консоли видим, что зависли на Start requestUserMediaPermissions ...

Ожидаемое поведение

После обновления страницы в консоли должны увидеть Test completed

Запуск веб-приложения

Для начала установим зависимости

npm install

Запускаем проект

npm start

Переходим по ссылке http://localhost:8080

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published