Skip to content

0.46.0

Compare
Choose a tag to compare
@wcarss wcarss released this 25 Jul 21:49
· 148 commits to react-native-daily-js-releases since this release

Features

  • Added screenshare-send support for React Native.
  • Added a new canAdmin key to the participant.permissions object, which expresses which types of administrative tasks a participant is able to perform. This feature allows specification of which participants are allowed to take which administrative actions in specific areas, like streaming, transcription, and participant moderation. For more information, see our docs (coming soon).
  • Related to the above canAdmin feature, participants with a suitable administrative role can now also modify their own permissions, for instance to remove their own presence in a call. There are some caveats, for instance: a meeting owner cannot revoke their own participant administration privileges. For more detailed information, please see the (upcoming) documentation.
  • New advanced firewall control add-on features:
    • These provide advanced mechanisms allowing end-users to join Daily-powered calls when they cannot connect directly to Daily servers and Daily TURN servers. For example, when restrictive firewall policies are in use. These mechanisms are enabled via the new frame properties proxyUrl  and iceConfig and the corresponding methods setProxyUrl  and setIceConfig.
    • This is currently a beta release; please reach out to support to enable these features. Additional charges apply.
    • Full documentation links are coming soon. In summary:
      • proxyUrl, if defined, will cause connections that would normally be made to Daily’s https and websocket endpoints to instead be sent to the proxy server, with the Daily endpoint appended to the proxyUrl. For example, if proxyUrl = "https://my-proxy:8080/proxyDaily", then a call to https://gs.daily.co/something would become https://my-proxy:8080/proxyDaily/gs.daily.co/something.
        • Note: proxyUrl must be a valid URI, with no query or fragment components.
      • iceConfig, if defined, will allow customers to specify their own TURN servers rather than only using ours. iceConfig is an object containing the following keys:
        • iceServers, an array of objects specifying urls and credentials.
        • placement, a string controlling how the provided iceServers are used relative to the Daily-provided servers, allowing values "front", "back", or "replace", defaulting to "front", meaning “use the custom servers first”.
        • iceTransportPolicy, a string with possible values "all" or "relay", controlling whether to use all or only relay candidates. Defaults to "all".
  • Allowed specifying recording parameters in a new start_cloud_recording_opts key in the join token. These will take effect when automatically starting recordings using the related start_cloud_recording key. See the documentation for more information.
  • Added testWebsocketConnectivity() and abortTestWebsocketConnectivity() methods, which respectively begin and abort a connectivity test to various regions Daily operates in. Each returns an object with a key result, corresponding to a string with a value of "passed", "failed", or "aborted", and with keys abortedRegions, failedRegions, and passedRegions, each of which is an array of string region names. Calling abort before the test completes will return the same object.

Bugfixes

  • Fixed an issue where sendSettings would not apply when supplied as a property to DailyIframe.createFrame().
  • Fixed an issue where certain ICE candidate information could be missing from logs.
  • Fixed an issue where on Chrome we were erroneously categorizing screen video tracks as 'interrupted' when their content was not changing.
  • Prevented an unwanted websocket warning after leave when we've manually closed the websocket channel.
  • Make the encodings other than "low" in DailyVideoSendSettings optional.
  • v2CamAndMic fixes (these only apply if you have v2CamAndMic enabled in your app):
    • Fixed an issue where muting the cam wouldn't pause the producer on the server, which would result (probably among other things) in pause states not showing up properly in recordings.
    • Fixed a bug where enabling noise cancellation via inputSettings could lead to processed audio always coming through silent if there wasn't a user gesture on the page by a certain time.
    • Fixed an issue where, on certain browser and platform combinations, the sdk could attempt to unmute and send a null track from blocked devices, which caused errors to be logged despite nothing actually being broken.

Other improvements

  • Added logic to improve our ability to bill for media processor use.
  • Bumped warnings for oldest supported versions of daily-js to 0.40.0.