Skip to content

Releases: daily-co/daily-react

0.7.2

08 Feb 08:37
Compare
Choose a tag to compare

Improvements

  • DailyVideo: Improved loadedmetadata and resize listeners (see #11)
  • useRecording: Fixed a bug where the state returned from useRecording could become stale, when events related to recording were emitted from daily-js while no instance of useRecording was rendered (fixes #13)
  • useLiveStreaming: Fixed a bug where the state returned from useLiveStreaming could become stale, when events related to live streaming were emitted from daily-js while no instance of useLiveStreaming was rendered

Thanks to contributions from @rileyjshaw!

0.7.1

13 Jan 11:14
Compare
Choose a tag to compare

Bugfixes

  • Fixed an issue (#12) where camState returned from useDevices() switched back to "idle" when muting the camera
  • Fixed an issue where useLocalSessionId returned a stale session_id when the local participant was updated immediately before calling leave()

0.7.0

12 Jan 08:18
Compare
Choose a tag to compare

Features

  • New hook useAudioLevel: this hook allows to monitor the volume of a given MediaStreamTrack. Read more in our docs

Improvements

  • DailyAudioTrack and DailyVideo now both accept a ref and additional HTML attributes to be passed to the underlying DOM element
  • DailyAudio now accepts a ref as an imperative handle. The assigned ref has a couple of getter methods to query for a subset of <audio> elements. Check our docs for detailed information.
  • useDevices now returns a new initial state "idle" for camState and micState. Before this release it defaulted to "pending", which is now only true while a request for device access is actually pending.
  • Other improvements to speaker slot assignment logic in DailyAudio

Bugfixes

  • useLocalSessionId now correctly returns the local participant's session_id after leave()-ing a call and preAuth()-ing again

0.6.2

05 Dec 10:59
Compare
Choose a tag to compare

Improvements

  • Prefixed recoil atom keys with daily-react- to avoid naming conflicts when integrating Daily React with an application based on Recoil itself
  • Added filter option to useActiveSpeakerId to allow limiting active speakers to subgroups

Bugfixes

  • Fixed an issue where DailyDevices could throw an error due to a non-existent local participant object
  • Fixed DailyAudio to only consider subscribed audio tracks

Full Changelog: daily-react-2022-11-25-0.6.1...daily-react-2022-12-05-0.6.2

0.6.1

25 Nov 08:29
Compare
Choose a tag to compare

Improvements

  • DailyProvider now accepts recoilRootProps to control the behavior of its internal RecoilRoot. You can pass recoilRootProps={{ override: false }} to let daily-react store its state in your application's own RecoilRoot
  • Hooks with event callbacks no longer wrap calling the passed callback in setTimeout(() => onX.?(ev), 0) to reduce fragmentation of stack traces.

Thanks to contributions from @zukilover!

0.6.0

15 Nov 14:43
Compare
Choose a tag to compare

Moved package and repository

We're excited to announce that we've moved @daily-co/daily-react-hooks to @daily-co/daily-react!
Please note that @daily-co/daily-react-hooks is now deprecated. To get the latest updates, please upgrade to @daily-co/daily-react. To help you migrate swiftly we created a small codemod. It removes the old package, installs the new one and updates all import statements in your codebase.

Features

  • 🆕 🎥 DailyVideo component: no more battles when assigning MediaStreamTracks to <video> elements! All it takes is a sessionId and DailyVideo will take care of the rest. Learn more about DailyVideo in our docs!
  • 🆕 🔉 DailyAudio component: having a hard time managing audio tracks? Sweat no more: DailyAudio is a plug-and-play component to keep audio rolling in your Daily React app! Learn more about DailyAudio in our docs!
  • 🆕 🎻 DailyAudioTrack component: in cases where DailyAudio doesn't fit as nicely and developers need more fine-grained control on which audio tracks should play in the browser, DailyAudioTrack allows to setup a custom audio composition. Read up about DailyAudioTrack in, yup, you guessed right, our docs!
  • 🆕 🎤 useActiveSpeakerId hook: use this hook, when you're only interested in the active speaker's session_id. useActiveSpeakerId is a drop-in replacement for useActiveParticipant()?.session_id to optimize render performance. Check our docs for more info!

Improvements

  • useThrottledDailyEvent now allows multiple daily-js events to be registered in a single throttling queue. Events handled in the same queue are guaranteed to be handled in the same order as they were emitted. Check the docs for more info!
  • useDevices returns new error states as returned by camera-error events. Head over to our docs to learn more!

This release requires @daily-co/daily-js@0.33.0.

0.5.0

29 Sep 07:53
Compare
Choose a tag to compare

Features

  • 🆕 useTranscription hook: check our docs to learn when and how to use it.

Improvements

  • Breaking: useNetwork now returns 'none' for topology until the network topology is defined. Previously topology defaulted to 'peer' which could lead to wrong assumptions when joining a call running in 'sfu' mode. This change goes hand in hand with a fix in [email protected].

This release requires @daily-co/daily-js@0.31.0.

0.4.0

23 Aug 08:58
Compare
Choose a tag to compare

Maintenance

  • Added fs-extra in order to make autocompletion for useParticipantProperty
  • Added listener to the selected-devices-updated event to the useDevices hook
  • Fixed daily-js types and type assumptions in daily-react-hooks tests.
  • Moved all state management from useDevices to a new DailyDevices wrapper component, to reduce daily-js APIs being invoked from events
  • Refactored useMediaStreamTrack state selection
  • Improve the DX of the useParticipantProperty hook by making it return the exact type of property that we subscribed for and also allow to take multiple inputs
  • Improve typing for useParticipantProperty
  • DailyProvider Now cleans up inner callObject state, when callObject prop is destroyed or nullified
  • Bumped peerDependency on daily-js to 0.30.0

0.3.0

29 Jul 18:42
Compare
Choose a tag to compare

Features

  • New hook useLocalSessionId: This optimizes render cycles compared to calling useLocalParticipant in order to get the local participant's session_id. We recommend migrating to useLocalSessionId when only the session_id is of interest in a component.
  • New hook useParticipantProperty: This hook allows to subscribe to only a specific property for a specific participant, identified by their session_id. Similar to useLocalSessionId this hook allows to reduce re-render cycles when only a single, or small subset of participant properties are relevant to a component.

Maintenance

  • Removed babel-plugin-transform–regenerator from our Babel config to unsafe-eval issues when using daily-react-hooks in a CSP-configured runtime environment.
  • Bumped peerDependency on daily-js to 0.29.0

0.2.6

14 Jul 14:37
Compare
Choose a tag to compare

Bugfixes

  • Fixed an issue where useLocalParticipant() did not return the correct participant object, after calling .leave() and .startCamera() afterwards.