Skip to content

Releases: daily-co/daily-react

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.

0.2.5

12 Jul 13:35
Compare
Choose a tag to compare

Bugfixes

  • Fixed a bug, where assigning an updated callObject instance to DailyProvider was not stored internally and useDaily would still return the initial callObject instance.

0.2.4

08 Jul 13:11
Compare
Choose a tag to compare

Improvements

  • useDevices is now registering for the new available-devices-updated event to keep the list of media devices up to date
  • When switching to a different microphone via setMicrophone from useDevices there won't be a camera blip anymore

Bugfixes

  • Fixed useLocalParticipant to stay synchronized with daily.participants().local, even when leaving and joining a new meeting from the same callObject instance

Maintenance

0.2.3

12 May 14:30
Compare
Choose a tag to compare

Bugfixes

  • Fixed component types to be compatible with React 18

0.2.2

12 May 09:30
Compare
Choose a tag to compare

Improvements

Bugfixes

  • Fixed return type for useRoom(). It is now DailyRoomInfo | null as intended since 0.2.0, not DailyPendingRoomInfo | DailyRoomInfo | null as before 0.2.0.