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-js
downloads 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-js
dependency. 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 youruserData
change 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.