SDK vidéo Javascript Release Notes

v2.35.3 — octobre 2026

Fixe

  • Correction d'un problème survenant lors des sessions AMR, dans lesquelles un abonné pouvait émettre un disconnected événement sans émettre par la suite un connected événement survenant une fois la connexion rétablie.
  • Correction d'un problème qui provoquait networkDegradationSource ne pourrait rendre compte que de bothOrUnclear dans les sessions routées 1:1 prenant en charge l'AMR. L'activation des statistiques de l'émetteur fait désormais l'objet d'une nouvelle tentative une fois l'abonnement établi, si nécessaire, ce qui permet de mieux déterminer si la dégradation est locale ou à distance.
  • Correction d'un problème pour lequel la vidéo pouvait rester désactivée après un basculement vers l'audio et une transition vers le mode multimédia AMR, même après l'amélioration des conditions réseau.
  • Correction d'un problème qui provoquait networkDegradationSource pourrait identifier de manière erronée la source de la dégradation du réseau dans les connexions peer-to-peer (P2P).
  • Correction d'un problème : l'activation d'un filtre vidéo, la modification de la résolution préférée de l'éditeur, puis l'activation et la désactivation successives de la vidéo provoquaient un effet de zoom inattendu.
  • Correction d'une condition de concurrence pouvant entraîner une OpenTok:MediaProcessor:error erreur lorsque publishVideo(true) a été appelé alors que applyVideoFilter() était encore en cours.
  • Amélioration de la gestion de l'état de repli audio des abonnés afin que networkConditionChanged signale en permanence l'état du réseau lorsque la fonction « Subscriber Audio Fallback » est active.
  • Réduction des éléments superflus audioAcquisitionProblem événements survenant lors de la reconnexion, de la déconnexion ou d'une défaillance de PeerConnection.
  • Correction d'un doublon promise des déclarations dans les définitions TypeScript susceptibles de provoquer les erreurs TS2300 et TS2717 dans les projets utilisant OpenTok.js 2.35.1 ou 2.35.2.
  • Correction d'un problème qui faisait que la fonction « Publisher Audio Fallback » pouvait rester active après l'appel de publishVideo(false) suivi immédiatement par publishVideo(true), ce qui empêchait la lecture de la vidéo de reprendre lorsque les conditions réseau s'amélioraient.
  • Correction d'un problème lié à l'appel de publishAudio(false) lorsque la fonction « Publisher Audio Fallback » est activée, les abonnés pourraient recevoir des données inattendues videoEnabled ou videoDisabled événements avec reason=publishVideo.
  • Correction d'un problème empêchant un abonné de recevoir un connected événement survenu après que l'AMR se soit remis d'une déconnexion de la connexion P2P et soit revenu en mode « Routed media ».
  • Amélioration de la fiabilité des abonnements dans Safari 26 grâce à l'allongement du délai d'attente pour la collecte des candidats ICE de relais, ce qui permet de réduire les erreurs de délai d'attente 1501 et 1554.

v2.34.3 — septembre 2026

Fixe

  • Correction d'un problème qui pouvait entraîner l'apparition d'une erreur lors de la récupération des statistiques WebRTC. TypeError sur iOS, dans WKWebView et les applications intégrées à Capacitor, ce qui provoque des erreurs lors de la collecte de statistiques ou de l'exécution de tests réseau.
  • Correction d'un problème qui faisait que le audioLocalCandidateType, videoLocalCandidateType, audioRemoteCandidateTypeet videoRemoteCandidateType Les champs des statistiques de qualité de service (QoS) pourraient afficher des valeurs erronées en utilisant le dernier candidat ICE au lieu de celui qui a été sélectionné.
  • La logique de reconnexion automatique a été améliorée afin que le délai d'expiration de la reconnexion ne soit plus réinitialisé à chaque reconnexion du transport, ce qui évite au client de se retrouver bloqué dans un cycle de reconnexion infini.
  • Correction d'un problème empêchant le fonctionnement des filtres vidéo, du flou d'arrière-plan et du remplacement d'arrière-plan sur Safari 27 et iOS 27.

v2.35.2 — septembre 2026

Fixe

  • Correction d'un problème provoquant l'apparition brève d'un scintillement noir sur un flux suivi immédiatement après s'être abonné, lors d'appels en tête-à-tête sur Safari.
  • Correction d'un problème qui pouvait entraîner l'apparition d'une erreur lors de la récupération des statistiques WebRTC. TypeError sur iOS, dans WKWebView et les applications intégrées à Capacitor, ce qui provoque des erreurs lors de la collecte de statistiques ou de l'exécution de tests réseau.
  • Correction d'un problème sur Firefox où le fait d'activer et de désactiver rapidement la vidéo (en appelant publishVideo(false) suivi immédiatement par publishVideo(true)) pouvait parfois laisser la vidéo publiée désactivée, affichant un cadre noir jusqu'à la prochaine modification.
  • Correction d'un problème qui faisait que le audioLocalCandidateType, videoLocalCandidateType, audioRemoteCandidateTypeet videoRemoteCandidateType Les champs des statistiques de qualité de service (QoS) pourraient afficher des valeurs erronées en utilisant le dernier candidat ICE au lieu de celui qui a été sélectionné.
  • Correction d'un problème qui pouvait empêcher le lancement d'un abonné lorsque la politique de lecture automatique du navigateur bloquait la lecture de la vidéo. Désormais, l'abonné attend l'expiration du délai de tentative de lecture et poursuit la lecture avec le son coupé (que l'utilisateur peut réactiver), au lieu d'échouer à s'abonner.
  • La logique de reconnexion automatique a été améliorée afin que le délai d'expiration de la reconnexion ne soit plus réinitialisé à chaque reconnexion du transport, ce qui évite au client de se retrouver bloqué dans un cycle de reconnexion infini.
  • Correction d'un problème empêchant le fonctionnement des filtres vidéo, du flou d'arrière-plan et du remplacement d'arrière-plan sur Safari 27 et iOS 27.

v2.35.1 — août 2026

Ajouté

  • Prise en charge prévue des méthodes asynchrones du SDK (sans rupture de compatibilité). Le SDK JS prend désormais en charge les technologies modernes async/await et des modèles basés sur les promesses, parallèlement à l'API existante basée sur les callbacks. Cette modification est entièrement rétrocompatible : tout le code existant basé sur les callbacks continue de fonctionner sans modification. Dans le cadre de ce travail, le SDK bénéficie désormais d’un contrôle plus précis sur les erreurs dans ses flux internes et affiche désormais les informations d’erreur avec plus de précision. À partir de la version 2.35.1, certaines fonctions signalent des erreurs qui passaient auparavant inaperçues. Il ne s’agit pas de nouvelles défaillances, mais d’erreurs préexistantes qui sont désormais correctement propagées ; vous pourrez donc constater l’apparition d’erreurs dans des cas qui passaient auparavant inaperçus. Pour plus d’informations, consultez cette documentation.

  • API du mode d'évolutivité. Cette version intègre une nouvelle API qui permet aux éditeurs de définir explicitement le mode d'évolutivité cible, offrant ainsi aux développeurs un contrôle précis sur le nombre de couches spatiales (résolution) et temporelles (fréquence d'images) utilisées lors de l'encodage. Cela permet aux applications de trouver un meilleur équilibre entre la qualité vidéo, l'adaptabilité et l'utilisation des ressources en fonction de leurs besoins spécifiques. Pour plus d'informations, consultez cette documentation. Il s'agit d'une fonction bêta.

  • La validation d'Android 17 a été effectuée. Le SDK Web de Vonage a été validé sur Android 17, ce qui confirme son bon fonctionnement sur les navigateurs mobiles Android et les applications WebView.

Fixe

  • Correction d'un problème qui, dans certains cas, empêchait l'abonnement à un flux VP9 lorsque l'éditeur avait défini videoContentHint vers « détail » ou « texte ».
  • Correction d'une fuite de mémoire dans le traitement audio lors des cycles d'abonnement/désabonnement et de publication/dépublication, qui pouvait, dans certains cas, entraîner une croissance illimitée du tas et une dégradation de la qualité audio au fil du temps.
  • Correction d'un problème qui, dans certains cas, entraînait un faux positif lors d'une nouvelle tentative de publication après un échec, ce qui faisait que la fonction de rappel `session.publish` signalait un succès alors que la publication n'avait en réalité pas abouti.
  • Correction d'un problème qui, dans certains cas, empêchait l'inclusion des candidats ICE de relais lors de l'établissement d'une connexion, ce qui pouvait entraîner des échecs de connexion sur les réseaux nécessitant un relais TURN.
  • Correction d'un problème qui, dans certains cas, provoquait un effet de zoom inattendu lors de l'application ou de la suppression d'un filtre vidéo après modification de la résolution définie par l'éditeur.
  • Correction d'un problème qui provoquait OT.hasMediaProcessorSupport() renvoyait à tort la valeur « false » sur iOS 26 avec WKWebView en raison de la chaîne d'agent utilisateur figée d'Apple, ce qui empêchait l'utilisation de Publisher.applyVideoFilter() sur les appareils concernés. De plus, une nouvelle variante asynchrone OT.hasMediaProcessorSupport.promise() a été ajoutée ; elle effectue une vérification plus approfondie des capacités du navigateur et est recommandée de préférence à la version statique pour obtenir un résultat plus précis et pérenne.
  • Correction d'un problème empêchant le chiffrement de bout en bout de fonctionner sur Safari lorsque les outils de développement étaient ouverts.
  • Correction d'un problème apparu dans la version 2.34.0 : les applications appliquant une politique de sécurité du contenu (CSP) stricte pouvaient rencontrer des violations lors de l'utilisation du flou d'arrière-plan ou du remplacement d'arrière-plan sur Safari et Firefox, en raison de l'utilisation d'un web worker intégré. Ce web worker intégré a été supprimé, ce qui a permis d'éliminer ces violations de la CSP.
  • Correction d'un problème dans le SDK JS lié à l'appel de publishVideo(false) après setPreferredResolution() ou setPreferredFrameRate() provoquerait à tort une erreur de contrainte sur Firefox et Safari.

v2.34.2 — juin 2026

Fixe

  • Correction d'un problème dû auquel le fait de changer de périphérique d'entrée audio (par exemple, en connectant un casque Bluetooth) peu après le démarrage de la session pouvait déclencher un audioAcquisitionProblem ce qui a entraîné une perte totale du son pour les participants à distance dès que la session est passée à une topologie acheminée.

  • Correction d'un problème empêchant les applications s'exécutant dans un Chrome WebView sous Android d'accéder au test préalable à l'appel ou de rejoindre une visioconférence.

  • Correction d'une définition TypeScript manquante : la constraints ce bien n'était pas inclus dans le GetUserMediaProperties interface dans ot.d.ts, ce qui entraîne un décalage par rapport au comportement réel du SDK lors de l'exécution.