Releases: daily-co/daily-react
Releases · daily-co/daily-react
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.
0.2.5
Bugfixes
- Fixed a bug, where assigning an updated
callObject
instance toDailyProvider
was not stored internally anduseDaily
would still return the initialcallObject
instance.
0.2.4
Improvements
useDevices
is now registering for the newavailable-devices-updated
event to keep the list of media devices up to date- When switching to a different microphone via
setMicrophone
fromuseDevices
there won't be a camera blip anymore
Bugfixes
- Fixed
useLocalParticipant
to stay synchronized withdaily.participants().local
, even when leaving and joining a new meeting from the same callObject instance
Maintenance
- ESLint configuration updates
- Updated
peerDependency
on @daily-co/daily-js to 0.28.0
0.2.3
Bugfixes
- Fixed component types to be compatible with React 18
0.2.2
Improvements
useRoom()
initializes room info with the [access-state-updated
] (https://docs.daily.co/reference/daily-js/events/meeting-events#access-state-updated) event. This means full room information is available as soon as eitherpreAuth()
orjoin()
are called.useRoom()
doesn't reset anymore when a meeting transitions to theleft-meeting
meeting state.
Bugfixes
- Fixed return type for
useRoom()
. It is nowDailyRoomInfo | null
as intended since 0.2.0, notDailyPendingRoomInfo | DailyRoomInfo | null
as before 0.2.0.