September 15th, 2022
daily-js 0.31.0
🔐 A new permissions system allows you to specify a couple of different permissions for each participant:
canSend, which specifies which kinds of media the participant is allowed to send ('video','audio','screenVideo','screenAudio').hasPresence, which specifies whether the participant appears as “present” (as opposed to “hidden”) in the meeting, i.e. whether they are listed in everyone'sparticipants().
Participant permissions can be specified in a couple of ways:
- Initial default permissions for new participants in your domain, room, or meeting token configurations
- A meeting owner can change other participants' permissions at runtime with a call to
updateParticipant()orupdateParticipants(), e.g.updateParticipant('<participant-id>', { updatePermissions: { canSend: new Set(['video', 'audio']), hasPresence: true } })
📌 The code that
daily-jsdownloads before you join a call is now “pinned” to this version ofdaily-js. That means you will no longer get (in many cases, unwanted) updates to Daily client-side code without updating yourdaily-jsdependency. Read more about this change in the last version's release notes.🐛 We fixed a bug where if you attempted to update your desired max spatial layer for some subscribed media (for example, via
updateReceiveSettings({ '<participant-id>': { video: { layer: } } })) while the subscription was still being established, the updated layer would never take effect.🏔
getNetworkTopology()will now return the currently-chosen topology as soon as we know it, not after a delay.🪵 We've stopped polluting your Sentry logs with our noisy breadcrumbs.
👤 If you invoke
setUserData(null), other participants will see youruserDatachange tonull, notundefined.
react-native-daily-js 0.29.0
- 💪 Includes all of the above changes, except the fix for
getNetworkTopology(), which doesn't apply to SFU-mode-only React Native.