Releases: daily-co/daily-react
Releases · daily-co/daily-react
0.8.0
Improvements
- The
'screen'
filter foruseParticipantIds
now filters participants with active screen shares, based on theirtracks
property. The booleanscreen
property, as returned by.participants()
is deprecated. - Attempts to
.play()
video tags rendered fromDailyVideo
components have been improved. DailyAudio
andDailyAudioTrack
now supportrmpAudio
tracks.DailyVideo
now supportsrmpVideo
tracks.
Bugfixes
- Fixed an issue that could lead to
DailyAudio
not re-rendering audio tags correctly, which would result in missing sound from remote participants.
0.7.3
Improvements
- Updated wrapper methods to daily-js exposed from hooks to infer function types from daily-js to avoid type mismatches between daily-react and daily-js. This impacts:
useInputSettings().updateInputSettings
useLiveStreaming().startLiveStreaming
useLiveStreaming().stopLiveStreaming
useLiveStreaming().updateLiveStreaming
useReceiveSettings().updateReceiveSettings
useRecording().startRecording
useRecording().stopRecording
useRecording().updateRecording
useScreenShare().startScreenShare
useScreenShare().stopScreenShare
useTranscription().startTranscription
useTranscription().stopTranscription
- Added checks for destroyed call objects to prevent calling daily-js methods on already destroyed instances
- Dropped Node.js 12 from our CI/CD checks. This means that using daily-react in Node.js 12 setups isn't tested anymore. Node.js 12 stopped receiving security updates in April 2022.
Bugfixes
- Fixed potentially stale state information for waiting participants returned from
useWaitingParticipants()
- Fixed an issue where
useReceiveSettings()
could return outdated information about received layers
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