January 26, 2021

Changelog #009

A sample webinar app showing local video and participants being hidden

daily-js 0.9.997

  • 🛤  The participant list returned by participants() (and all events that return a list of participants), now includes a tracks property which gives you a more granular representation of the state of each track. See participants() docs for more. (Also available in react-native-daily-js).
  • 👩  In the prebuilt UI you can now control whether your local video is displayed in the corner, with a setter (setShowLocalVideo()), a getter (showLocalVideo()), and a property to pass into factory methods or at meeting join time (showLocalVideo).
  • 👩‍👩‍👧‍👧  Additionally, in the prebuilt UI you can now control whether the participants bar (the row of videos during a screenshare) is displayed, with a setter (setShowParticipantsBar()), a getter (showParticipantsBar()), and a property to pass into factory methods or at meeting join time (showParticipantsBar).
  • 📛  Added setUserName() for programmatically setting the user name that other participants see either visually in the prebuilt UI or through the user_name property in the participants object corresponding to you.
  • The new setInputDevicesAsync() method returns a Promise.

Live streaming

  • 📺  Our RTMP streaming backend is now more stable and compatible with more services.
  • 🎞  The keyframe interval while live streaming has been dropped from 3 seconds to 2 seconds, in line with ingest stream recommendations on major streaming services.

Bugfixes and other improvements

  • 🐛  Fixed a bug where when leaving an iframe-based meeting by clicking the leave button in the iframe, stale participants from that meeting would "linger" in participants(), necessitating the creation of a new DailyIframe for a new meeting.
  • 🛤  TypeScript declaration fixes for track-started and track-stopped events.
  • 🎨  TypeScript declaration fixes wherever CSS properties are expected.