Releases: daily-co/daily-react
Releases · daily-co/daily-react
0.7.2
Improvements
DailyVideo
: Improvedloadedmetadata
andresize
listeners (see #11)useRecording
: Fixed a bug where the state returned fromuseRecording
could become stale, when events related to recording were emitted fromdaily-js
while no instance ofuseRecording
was rendered (fixes #13)useLiveStreaming
: Fixed a bug where the state returned fromuseLiveStreaming
could become stale, when events related to live streaming were emitted fromdaily-js
while no instance ofuseLiveStreaming
was rendered
Thanks to contributions from @rileyjshaw!
0.7.1
0.7.0
Features
- New hook
useAudioLevel
: this hook allows to monitor the volume of a givenMediaStreamTrack
. Read more in our docs
Improvements
DailyAudioTrack
andDailyVideo
now both accept aref
and additional HTML attributes to be passed to the underlying DOM elementDailyAudio
now accepts aref
as an imperative handle. The assignedref
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"
forcamState
andmicState
. 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'ssession_id
afterleave()
-ing a call andpreAuth()
-ing again
0.6.2
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 touseActiveSpeakerId
to allow limiting active speakers to subgroups
Bugfixes
- Fixed an issue where
DailyDevices
could throw an error due to a non-existentlocal
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
Improvements
DailyProvider
now acceptsrecoilRootProps
to control the behavior of its internalRecoilRoot
. You can passrecoilRootProps={{ override: false }}
to letdaily-react
store its state in your application's ownRecoilRoot
- 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
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 assigningMediaStreamTrack
s to<video>
elements! All it takes is asessionId
andDailyVideo
will take care of the rest. Learn more aboutDailyVideo
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 aboutDailyAudio
in our docs! - 🆕 🎻
DailyAudioTrack
component: in cases whereDailyAudio
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 aboutDailyAudioTrack
in, yup, you guessed right, our docs! - 🆕 🎤
useActiveSpeakerId
hook: use this hook, when you're only interested in the active speaker'ssession_id
.useActiveSpeakerId
is a drop-in replacement foruseActiveParticipant()?.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 bycamera-error
events. Head over to our docs to learn more!
This release requires @daily-co/daily-js@0.33.0.
0.5.0
Features
- 🆕
useTranscription
hook: check our docs to learn when and how to use it.
Improvements
- Breaking:
useNetwork
now returns'none'
fortopology
until the network topology is defined. Previouslytopology
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
Maintenance
- Added
fs-extra
in order to make autocompletion foruseParticipantProperty
- 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 newDailyDevices
wrapper component, to reducedaily-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
Features
- New hook
useLocalSessionId
: This optimizes render cycles compared to callinguseLocalParticipant
in order to get the local participant'ssession_id
. We recommend migrating touseLocalSessionId
when only thesession_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 theirsession_id
. Similar touseLocalSessionId
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 tounsafe-eval
issues when usingdaily-react-hooks
in a CSP-configured runtime environment. - Bumped peerDependency on daily-js to 0.29.0
0.2.6
Bugfixes
- Fixed an issue where
useLocalParticipant()
did not return the correct participant object, after calling.leave()
and.startCamera()
afterwards.