Skip to content

Releases: daily-co/react-native-daily-js

0.83.0

28 Jan 03:26

Choose a tag to compare

react-native-daily-js 0.83.0

Features

  • Introduced a new option to startRecording() called dataOutputs to enable recording of events that occur during the meeting in addition to the actual recording media. This configuration option takes an array of auxiliary output types. For each type specified, an extra file will be provided with the recording download link (accessible via the REST API). When using a custom S3 bucket, the data output files are written to the same bucket as the AV media recording. These data outputs are timecode-aligned with the recording media, so they can be used in post-processing workflows.

    Currently three types are supported: event-json, transcript-webvtt, chat-webvtt

    • event-json — produces a JSON that describes all relevant events during the recording session, e.g. when a recording media file started, track updates, etc.
    • transcript-webvtt — produces a WebVTT file with all transcription events. The timecode of this file starts with the recording media (the mp4 or m4a file).
      • A live transcription needs to be active for the meeting to get these events.
    • chat-webvtt — produces a WebVTT file with all chat events. The timecode of this file starts with the recording media (the mp4 or m4a file).

    The user can pass any combination of options to to capture all events, live transcription, and/or chat messages in separate files during a cloud recording.

    Note that these outputs are capturing events, not starting services. If there's no active transcription in the room, there won't be any transcription written to the file. (In other words, passing dataOutputs: ['transcript-webvtt'] doesn't start the transcription, it just configures the recording session to also capture transcription events.)

  • Added support for new cloud-audio-only recording type.

    • This produces m4a files with the audio/mp4 MIME content type on S3.
    • Can be configured together with other existing recording types.
    • Doesn’t share an instance id with RTMP/HLS streaming like regular cloud recording does (because streaming plain audio isn’t typically useful, as many streaming platforms require a video track even if it’s black).

Bugfixes

  • Fixed issue where sessions will reconnect and try, often successfully, to resume after long periods of idleness when the laptop lid is closed. Now, after 5 minutes of inactivity is detected (on lid open), the session will automatically disconnect.
  • Fixed uncaught errors surrounding join() and startCamera() when no room url is provided, or the url is invalid. These will now throw and error and join() will leave the meetingState() in "left-meeting" to allow trying again.

Other improvements

  • Improved the cpu-load-change event by requiring multiple consecutive high CPU readings before reporting a high load and by refining the global decode time calculation to exclude videos with empty frame metrics.
  • Added max_app_message_size to DailyRoomInfo types
  • Added missing type definitions for streaming and recordings

0.82.0

15 Oct 16:11

Choose a tag to compare

Bugfixes

  • Fixed an issue where the initial send settings were not being respected for cam video.

0.81.0

11 Sep 19:36

Choose a tag to compare

Features

  • Added support for Android 16KB page size.
  • Added support for calling phone extensions during dialout operations, allowing users to specify an extension number and wait time before dialing the extension after the main call connects.

Other improvements

  • Improved reliability of handling auto-start recording/transcription options when joining room.

0.80.0

19 Aug 18:20

Choose a tag to compare

Improvements

  • Updated mediasoup-client dependency to latest
  • Removed deprecated and unused support for rtp-tracks recording

0.79.0

06 Aug 22:09

Choose a tag to compare

Improvements

  • Updated dependencies to resolve security vulnerabilities

0.78.0

16 Jul 12:26

Choose a tag to compare

Features

  • Added a new dialin-error type: start-failed.

Bugfixes

  • Preventing potential null pointer exception in DailyNativeUtils when the module is destroyed before being initialized. For example, if JS never accessed it.

Other improvements

  • Updated enumerateDevices() to report errors only when significant, and added improved logging to track enumerateDevices timing.

0.77.0

05 Jun 20:41

Choose a tag to compare

Features

  • Added support for join time permissions for the SIP/PSTN user.

Bugfixes

  • Fixed an issue that prevented building react-native-daily-js when the React Native New Architecture was enabled.

Other improvements

  • Removed the use of STUN from Xirsys.
  • Updated packages to address security vulnerabilities.

0.76.0

30 Apr 22:54

Choose a tag to compare

Improvements

  • Removed a client-side limit on max_live_streams
  • Disabled redux devtools

0.75.0

19 Apr 01:44

Choose a tag to compare

Bugfixes

  • Various fixes to the ejection logic, where a user could be ejected at the wrong time if their local computer clock is off or join if the time resulted in the past. ⚠️ PLEASE NOTE: This means that if you were for some reason setting eject_after_elapsed to a negative value, participants will no longer be allowed to join.

Other improvements

  • Added instanceId to webhooks for raw tracks.
  • Added a log around enumerateDevices() to identify any time it takes longer than expected. This primarily is for knowing when join times are affected on Firefox due to the tab not being in focus.
  • Improved the new networkState calculations, removing recvPacketLoss from the calculations for now as it is typically misleading.

0.74.0

27 Mar 21:27

Choose a tag to compare

react-native-daily-js 0.74.0

Features

  • Added support for the new canReceive permission, which controls which tracks participants are permitted to receive from one another. Check out the docs for updateParticipant() and the participant properties for more information.

  • Introduced two new fields to getNetworkStats() intended to replace threshold and quality:

    1. networkState: Will hold a value of goodwarningbad, or unknown to match the API of testCallQuality() and are based on packet loss, the available outgoing bitrate, and round trip times.
    2. networkStateReasons: An array of strings stating which stats fields triggered the warning or bad state. (If the state is good, the reasons will be empty or undefined).

    See the docs for getNetworkStats() and the network-quality-change event for more information.

  • ‡ Added support for setting the callerId when using sipCallTransfer() to transfer a call to a PSTN number

Bugfixes

  • Fixed broken proxyUrl support

Other improvements

  • Updated packages to resolve security vulnerabilities
  • ‡ Removed recordings_bucket details from the return of room(). This field will now be simply set to true if a custom bucket is in use.

‡ These features depend on a server-side release expected to go out 4/2/25