Releases: liveblocks/liveblocks
Releases · liveblocks/liveblocks
2.4.0
2.3.0
@liveblocks/react-lexical
- New default components:
AnchoredThreads
andFloatingThreads
to display threads that are tied to a specific part of the document, similar to Notion, Linear, etc:FloatingThreads
displays floatingThread
components below text highlights in the editor.AnchoredThreads
displays a list ofThread
components vertically alongside the editor.- These components can be used in the same application to create a UI that works on both mobile and desktop.
@liveblocks/react
- Add
useDeleteInboxNotification
anduseDeleteAllInboxNotifications
hooks. - Fix
resolved
query not being applied when filtering threads withuseThreads
. - Various refactorings to Suspense internals.
@liveblocks/react-ui
- Add "Delete notification" action to
InboxNotification
. - Hide "Mark as read" action in
InboxNotification
when already read. - Improve keyboard navigation within emoji pickers.
@liveblocks/node
- Add
deleteInboxNotification
anddeleteAllInboxNotifications
methods.
2.2.2
@liveblocks/react-ui
- Fix missing avatar in
textMention
inbox notifications. - Fix
textMention
usage (and its props type) when customizing rendering viakinds
onInboxNotification
. - Fix broken CSS selector in default styles.
2.2.1
2.2.0
We are making resolved
a first-class citizen property on threads, for more information about this change please read our Upgrade Guide for 2.2.
@liveblocks/react
- Add
useMarkThreadAsResolved
anduseMarkThreadAsUnresolved
hooks. - Support
query.resolved
when filtering threads. - The
useStorageStatus
hook now also has a{ smooth: true }
setting to make building calm UIs with it a bit easier. - The
useClient()
hook is now also available for users ofcreateRoomContext()
and/orcreateLiveblocksContext()
- Fix: avoid unnecessary re-renders if inbox notifications haven't changed
@liveblocks/react-ui
- Use first-class citizen
resolved
property inThread
component. - Preserve rich text when pasting into the composer.
- Add support for custom links to the composer. (either by pasting URLs with plain text selected or by pasting existing links)
- Preserve whitespace and empty lines in comments.
- Mark threads as read when visible (like before), but only if the window is focused.
- Fix improper
useTransition
fallback which would break on React versions lower than 18.
@liveblocks/node
- Add
markThreadAsResolved
andmarkThreadAsUnresolved
methods. - Add
ThreadMarkedAsResolvedEvent
andThreadMarkedAsUnresolvedEvent
webhook events. - Support
query.resolved
when querying threads.
@liveblocks/react-lexical
- Upgrade
lexical
peer dependency to version^0.16.1
that fixes compatibility issues with Next.js versions 14.2.0 and above.
@liveblocks/node-lexical
- Upgrade
lexical
peer dependency to version0.16.1
.
2.1.0
@liveblocks/client
- Various internal refactorings
@liveblocks/react
- Add new hook
useStorageStatus
, which returns the current storage status of the room, and will re-render your component whenever it changes. This can used to build "Saving..." UIs. - Add
useDeleteThread
hook to delete a thread and its associated comments. - Fix: add missing JSDoc comments.
- Fix: improve some error messages and stack traces to contain more info.
- Refactorings to Suspense internals.
@liveblocks/react-ui
- Fix improper
useSyncExternalStore
import which would break on React versions lower than 18.
2.0.5
@liveblocks/react
- Improved DX:
useDeleteThread
will now throw a client-side error if someone
else than the thread owner tries to delete the thread. This will help you
catch and handle this case more easily.
2.0.4
All packages
- Improve TS error messages and error locations if custom
UserMeta
orActivitiesData
types do not match their requirements
@liveblocks/client
- Add missing type export for
CommentReaction
- Don’t attempt to write missing
initialStorage
keys if the current user has no write access to storage. This will no longer throw, but issue a warning message in the console.
@liveblocks/react
- Add
useDeleteThread
hook to delete a thread and its associated comments.
2.0.3
@liveblocks/client
- In
client.enterRoom()
, the optionsinitialPresence
andinitialStorage
are now only mandatory if your custom type requires them to be.
@liveblocks/react
- In
<RoomProvider>
, the propsinitialPresence
andinitialStorage
are now only mandatory if your custom type requires them to be. - Nesting
<LiveblocksProvider>
s will now throw to prevent incorrect usage
@liveblocks/react-ui
- Prevent the composer from splitting text being composed.
- Handle parentheses around and within auto links.
- Count whitespace as empty to prevent posting empty comments.
- Prevent clearing the composer if it's not handled. (via
onComposerSubmit
)
@liveblocks/yjs
- Add missing type exports
2.0.2
@liveblocks/node
- Add
deleteThread
method to the client to delete a room's thread. - Add the
threadDeleted
webhook event to notify when a thread is deleted. - Fix type signatures of
client.identifyUser()
andclient.prepareSession()
to requireuserInfo
if it's mandatory according to your globalUserMeta
type definition.