Skip to content

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

0.54.0

15 Dec 16:35
Compare
Choose a tag to compare

Features

  • Added support for the new auto_start_transcription meeting token setting.
  • Added a transcription-message event, simplifying receiving transcriptions. Previously, the only way would be to listen for app-message events from the sender 'transcription' (this approach still works).

Other improvements

  • Added logging to allow better tracking of various join time actions.
  • ⚠️ Breaking change: remove support for the detect_language transcription option, as it's not supported for real-time transcriptions. This change will require you to remove detect_language to use this version of daily-js.
  • ⚠️ Breaking change: remove daily-js-provided transcription settings defaults, instead relying on the transcription service’s defaults. This allows the users to set only the settings they need without interference from our default settings. This is useful, for example, in the case of the nova-2 model, where a user should only need to specify the model without having to specify anything else. Since this change may alter your exact transcription settings, please double-check transcription behavior when migrating to this version of daily-js.
  • Add support for punctuate and endpointing transcription parameters. Also adding support for an extra object which can be used to specify additional transcription properties.
  • Silence annoying console errors when you leave() or destroy() your call object before you join().

0.53.1

01 Dec 20:41
Compare
Choose a tag to compare

Bugfixes

  • Fixed issue with 0.53.0 npm package missing artifacts, including the typeScript definition.

0.53.0

30 Nov 18:46
Compare
Choose a tag to compare

Features

  • Return transcriptId in the transcription-started event.
    • This transcriptId can be used to query transcription via REST APIs.
  • Integrated Sentry for specific tracking of connection issues.
  • Introduced the new method meetingSessionSummary() as a replacement for getMeetingSession() and event meeting-session-summary-updated as a replacement for meeting-session-updated.
    • These updates allow us to align the naming with other functionality, like meetingSessionState() as well as update the signatures to be more developer friendly.
    • Session summary info is now cached so that querying it is not an asynchronous operation and can be called at any time.
      • If called prior to ever joining a call, it will return an empty object.
      • If called after leaving but before any new call state updates (like preAuth'ing or joining a new call), it will return the previous session's summary.
  • Deprecated getMeetingSession() in favor of meetingSessionSummary().
  • Deprecated meeting-session-updated in favor of meeting-session-summary-updated.

Bugfixes

  • Resolved an issue in React Native versions below 0.70.6 that was causing audio reception to fail.
  • Trigger the transcription-error event if a meeting is moved while transcribing.
  • Included the missing production environment in Sentry for tracking issues.

Other improvements

  • The recent updates to the uuid dependency requires the installation of the react-native-get-random-values@^1.9.0 module in React Native applications.
  • Updated the name from DailyIframe to Daily.
  • Improved the logic for triggering the cpu-load-change event based on scheduleDuration.
    • It now requires multiple schedule duration misses before triggering the event.
  • Implemented optimizations to remove redundant information from metrics.
  • Removed functionalities that had been deprecated for over a year:
    • Removed deprecated setInputDevices(); use replacement setInputDevicesAsync().
    • Removed deprecated setOutputDevice(); use replacement setOutputDeviceAsync().
  • Add missing error type: 'ejected' to the meeting error thrown when a room is deleted out from under a user.
  • Updated the redact transcription to support Array<boolean>. This allows [true] as a valid value.

0.52.0

08 Nov 20:32
Compare
Choose a tag to compare

Features

Bugfixes

  • Fixed issue with automatic device switching (on plugging in a new headset, say) a custom track was previously being used
  • Fixed various issues related to calling things like sendAppMessage() prior to joining a call by either performing no-ops or throwing an error to indicate the call was done too early rather than getting cryptic console errors like null is not an object
  • Fix some meeting move log messages.
  • Fixed return type of getCallInstance()

Other improvements

  • Changed logging message when requested track differed from preferred track on the SFU. Now we log both the preferred and the requested in the same log line.
  • Upgraded dependencies to resolve security threats

0.51.0

19 Oct 21:35
Compare
Choose a tag to compare

Features

  • Implemented the byRemoteRequest off reason for screen track representations in the participants() objects.

Bugfixes

  • Fixes on the client side to eliminate confusing logs & unnecessary calls to the server related to preferred received spatial layers.
  • Fixed an occasional bug where after a meeting move a client could be stuck not hearing or seeing anyone.
  • Fixed an issue causing outbound metrics to go missing after SFU reconnects.

Other improvements

  • Added a log line indicating that a mediasoup video consumer started with a given preferred simulcast layer.
  • Mark the startTranscription() detect_language property as deprecated.
  • Mark the setInputDevices() and setOutputDevice() methods as deprecated. Replaced by setInputDevicesAsync() and setOutputDeviceAsync(), respectively.
  • Ease up a bit on the aggressive timeout when trying to start video processor.
  • Lots of improvements to the metrics reported from the /logs endpoint, including:
    • Added lots of new stats, like roundTripTimeMax/roundTripTimeMin and all new LastValue stats for some metrics to report the most recent value.
    • Improved the packetLoss calculations to report packetLoss more accurately.
    • packetsLostPct is deprecated and replaced by packetLossPctAvg.
    • New values have been added which provide a more information about packet loss: packetLossPctMax, packetLossPctMin, and packetLossPctLastValue.
    • Improved accuracy of metrics around times when metrics aren't reported.

0.50.0

06 Oct 20:00
Compare
Choose a tag to compare

Features

  • Added the ability to remotely stop a participant's screen share.

Bugfixes

  • Fixed an issue where leave() or destroy() would fail if called between a load() and one of startCamera(), preAuth(), or join().
  • Fixed an issue where your mic could seemingly get stuck in the unmuted state when there was a dial-in participant.
  • Fixed issue preventing admins with hidden presence from being able to mute or eject participants.

Other improvements

  • Eliminated 2 internal calls to Daily servers during call join in order to decrease the time to join a call.

0.49.1

20 Sep 19:26
Compare
Choose a tag to compare

Bugfixes

  • Fixed an error encountered in some development environments, where tracks being muted reported that MediaStreamTrack is non-extensible.

0.49.0

13 Sep 20:01
Compare
Choose a tag to compare

Bugfixes

  • Fixed the advanced firewall control feature case where custom iceServers are used in addition to Daily-provided ones.
  • Fixed an issue where an iOS user receiving a GSM phone call (e.g. from a landline) while on a Daily call would not have their video re-appear locally or remotely after waiting at least six seconds to decline the call.

Other improvements

  • Added type definitions for custom tracks in DailyParticipant track objects.
  • Added average jitter values to the result of getNetworkStats().
  • Updated daily-js dependencies to close vulnerabilities.

0.48.0

31 Aug 14:04
Compare
Choose a tag to compare

Features

  • Enhanced sendAppMessage() to add the ability to specify an array of participants to send to, e.g. callObject.sendAppMessage({ message: 'Hello, World!' }, ['participant-id-1', 'participant-id-2']);

Bugfixes

  • Added validations to prevent against sending empty encodings objects via sendSettings or updateSendSettings(), which resulted in unexpected behavior of browser-default encodings being used.
  • Fix for some issues where screenshares on react-native could conflict with cam-video tracks.

Other improvements

  • Updated threshold and quality values in the network-quality-change event to use the overall send-side packet loss values rather than relying on video send-side only.
  • Added alwaysIncludeCamInPermissionPrompt and alwaysIncludeMicInPermissionPrompt to our TypeScript definitions.
  • Version bumps of oldest supported and nearing-end-of-support daily-js versions.

0.47.0

17 Aug 22:15
Compare
Choose a tag to compare

Features

  • Add testNetworkConnectivity() and abortTestNetworkConnectivity() methods to react-native-daily-js.
  • Add testConnectionQuality() and stopTestConnectionQuality() to daily-js.
  • Add audio stats to DailyNetworkStats returned from getNetworkStats(). Today we have video stats and total stats (which takes audio into account) but do not provide specific audio stats. This release adds fields audioRecvBitsPerSecond, audioRecvPacketLoss, audioSendBitsPerSecond, audioSendPacketLoss, worstAudioRecvPacketLoss, and worstAudioSendPacketLoss to the stats object, and includes improvements on how the packet loss calculations are done.

Bugfixes

  • Fixed eject_after_elapsed type in tokenConfig from boolean to a number.
  • Fixed a permission issue which would occur when attempting to activate a wake lock from embedded Prebuilt.
  • Fixed the return type of getCpuLoadStats() when the call is not in a joined state.
  • Fixed an issue where on occasion, a screenshare track state would get stuck in 'loading' and appear to be on locally and remotely after it was stopped.

Other improvements

  • v2CamAndMic will be enabled by default in Call Object apps beginning with this release.
    • Reiterating from earlier release notes: We've implemented a complete refactor of our internal logic that deals with gathering and updating a client's local media (unmuting, changing devices, etc) in order to resolve a number of longstanding issues.
    • This new logic has already rolled out to all Prebuilt users, and with this release it is becoming the default for Call Object usage, too.
    • If you think you're facing issues as a result of this change, you can opt out of the new code path using dailyConfig: { v2CamAndMic: false } wherever you provide your call options.
    • Note that in an upcoming release (version to be determined) you will no longer be able to opt out, so please report any issues you believe may have been introduced.
  • Allowed passing in Arrays in addition to Sets for canSend and canAdmin permissions in the updateParticipant() and updateParticipants() methods.
  • Added handling for additional URLs with proxyUrl. In particular, noise cancellation (powered by Krisp) is now supported when using proxyUrl.
  • Linter cleanup and general housekeeping.
  • Redux dispatcher cleanup of unnecessary async calls and unused variables.
  • Added Brazilian Portuguese support to react-native-daily-js types for Daily Prebuilt configuration
  • Marked cam_info, screen_info, and DailyVideoElementInfo as deprecated in the daily-js and react-native-daily-js type declaration files.