Changelog

Week 7

Week 7
WEEK7

v2.18.1

@liveblocks/react-ui

  • Fix <Composer /> and <Comment /> overrides not working when set on <Thread />.

@liveblocks/yjs

@liveblocks/react-tiptap

  • Fixed a bug where documents would no longer sync after room the ID changed.

v2.18.0

Introducing user notification settings. You can now create beautiful user notification settings pages in your app.

User notification settings (public beta)

Our packages @liveblocks/client, @liveblocks/react and @liveblocks/node are now exposing functions to manage user notification settings on different notification channels and kinds.

You can support thread, textMention and custom notification kinds (starting by a $) on email, Slack, Microsoft Teams and Web Push channels.

Notification settings in the dashboard

You can choose from our new notifications dashboard page to enable or disable notification kinds on every channels you want to use in your app. It means our internal notification system on our infrastructure will decide to send or not an event on your webhook.

@liveblocks/client

We're adding two new methods in our client to get and update user notification settings:

import { createClient } from '@liveblocks/client'const client = createClient({ ... })
const settings = await client.getNotificationSettings();// { email: { thread: true, ... }, slack: { thread: false, ... }, ... }console.log(settings);
const updatedSettings = await client.updateNotificationSettings({ email: { thread: false, }});

@liveblocks/react

We're adding a new set of hooks to manage user notification settings.

You can either choose useNotificationSettings if you need to get the current user notification settings and update them at the same time:

// A suspense version of this hook is availableimport { useNotificationSettings } from "@liveblocks/react";
const [{ isLoading, error, settings }, updateSettings] = useNotificationSettings();// { email: { thread: true, ... }, slack: { thread: false, ... }, ... }console.log(settings);
const onSave = () => { updateSettings({ slack: { textMention: true, }, });};

Or you can choose useUpdateNotificationSettings if you just need to update the current user notification settings (e.g an unsubscribe button):

// A suspense version of this hook is availableimport { useUpdateNotificationSettings } from "@liveblocks/react";
const updateSettings = useUpdateNotificationSettings();
const onUnsubscribe = () => { updateSettings({ slack: { thread: false, }, });};

@liveblocks/node

Our Node.js client now exposes three new methods to manage user notification settings:

import { Liveblocks } from "@liveblocks/node";const liveblocks = new Liveblocks({ secret: "sk_xxx" });
const settings = await liveblocks.getNotificationSettings({ userId });// { email: { thread: true, ... }, slack: { thread: false, ... }, ... }console.log(settings);
const updatedSettings = await liveblocks.updateNotificationSettings({ userId, data: { teams: { $fileUploaded: true, }, },});await liveblocks.deleteNotificationSettings({ userId });

@liveblocks/emails

Examples

Documentation

Website

Dashboard

  • Added new Notifications page to projects, allowing you to enable/disable webhooks events for different notification kinds, on different channels.

Infrastructure

  • Preparing foundation in the backend to make Storage more efficient in the future.

Contributors

Contributors include:ctnicholaspierrelevaillantflowflorentsugardariusjrownymarcbouchenoirenvie

7 authors

We use cookies to collect data to improve your experience on our site. Read our Privacy Policy to learn more.