Releases: daily-co/daily-react
Releases · daily-co/daily-react
0.15.0
Bugfixes
useParticipantIds
: Fixed an issue that caused temporary CPU spikes and potential memory leaks when handling participant events
We recommend updating from any version from 0.11.0 and upwards to this version.
0.14.1
Bugfixes
- Added missing export for
useDailyError
0.14.0
Improvements
- Improved type inference for
useThrottledDailyEvent
callback event objects - Improved state management for
useParticipantProperty
: instead of looking up participant state properties from entire participant objects, we'll now store participant properties in separate state atoms, as recommended by Recoil. This means that participant state properties returned fromuseParticipantProperty
don't subscribe to the entire participant object anymore, which leads to more targeted and fewer render cycles.
Bugfixes
- Fixed an issue in
useNetwork
where returned network state information could be stale - Fixed an issue where participant audio tracks might not have been assigned to an
<audio>
tag inDailyAudio
- Fixed checks in
usePermissions
to avoid potential property lookups onundefined
0.13.0
Features
- New hook
useDailyError
: this hook returns a stateful representation of the lastmeetingError
(emitted pererror
event) andnonFatalError
(emitted pernonfatal-error
event)
Improvements
- Improved type inference for
useDailyEvent
event objects: when passing a memoized callback you don't have to specify the event object types yourself anymore! (Thanks @HegarGarcia) - New callback
onError
foruseScreenShare
: maps tononfatal-error
of type'screen-share-error'
- New callback
onError
foruseMeetingSessionState
: maps tononfatal-error
of type'meeting-session-data-error'
- New callback
onLiveStreamingWarning
foruseLiveStreaming
: maps tononfatal-error
of type'live-streaming-warning'
- Improved type inference for
onError
callback foruseInputSettings
- Improved state management for
useScreenShare
: before this release every instance ofuseScreenShare
maintained its own version of state representing screen shares. This state management has now moved into an internal wrapper component, so screen share state is only managed once. Every instance ofuseScreenShare
now returns the same state. - Improved state management for
useParticipantIds
: recent refactors of this hook unveiled some complexities originating from different variations for thefilter
andsort
options. We've updateduseParticipantIds
to always return optimized states from Recoil when using a string-basedfilter
and/orsort
option. This also means that instances ofuseParticipantIds
with optimizedfilter
/sort
options will return the correct list of ids on first render. A custom functionfilter
and/orsort
will fall back to a manual state and remain the same behavior as introduced in 0.11.0. - Improved state management for
useParticipantProperty
: we restructured our internal recoil selectors for participant properties to better handle arrays of properties.
0.12.0
Features
DailyAudio
now has an optionautoSubscribeActiveSpeaker
to automatically subscribe to the active speaker (only relevant when using manual track subscriptions)
Improvements
- Updated callback type definitions to infer arguments from the daily-js types. This affects
useDevices
can now skip thepending
state, in case the browser's Permissions API reports granted access for camera and/or microphone.
Bugfixes
- Fixed an issue where some hooks were potentially returning stale state information after switching to a different Daily room.
- Fixed an issue where
useThrottledDailyEvent
potentially handled events for a session that was already left or destroyed.
0.11.6
Bugfixes
- Fixed an issue where
useRecording
would return stale state when leaving and joining a new meeting - Fixed TypeScript definition for
useAudioLevel
hook (thanks @joakimgrr!)
Maintenance
- Simplified object comparison checks in our
customDeepEqual
method
0.11.5
Bugfixes
- Fixed an issue where comparing
Map
s andSet
s internally inside theusePermissions
would lead to an infinite recursive loop.
0.11.4
Bugfixes
useParticipantProperty
: fixed an issue whereuseParticipantProperty
returnedundefined
on first render, despite the correct value being available in store already.
0.11.3
Bugfixes
useScreenShare
: Fixes an issue where optimized render cycles inuseParticipantIds
(see 0.11.0) could lead to stalescreens
returned fromuseScreenShare
0.11.2
Bugfixes
useParticipantProperty
: fixed an issue introduced in 0.11.1 where changes to tracks and permissions were not picked up correctly byuseParticipantProperty
.