If you use @xyflow.com with @liveblocks.io, you can now also update it from your Node.js backend super easily and with a beautiful API. This is _the_ way to let your React Flow be edited from custom agents. Read all about it here: liveblocks.io/docs/api-ref...
Posts by Marc Bouchenoire
The API looks like plain @xyflow.com, but underneath, it's synchronizing your graph in the smartest way possible.
Selection state? Local only. Node position while dragging? Live. Conflicts? Auto-resolved. Undo/redo? Just works. β¨
Thanks
I couldn't be happier with how this turned out, both its API and how it integrates and clicks with the other Liveblocks pieces π₯Ή
3 years with this lil guy π€
Integrate presence and contextual commenting in 5 minutes.
We've released new React components, making it even quicker to build your collaborative app. Add realtime cursors, live avatars, and use new pinned comments in canvases or table libraries like ag-grid.com
Blog post β
I'm honored. (love the Frankie pfp)
Yay!! Thank you Stacy, can't wait π«Ά
4 years at @liveblocks.io π
My plan for today: announce that we're open sourcing the Liveblocks server! π
The internet's plan for today: continvoucly morging my mentions π
Anyway, here's what I actually wanted to share today:
A ticket for One Battle After Another at 8:30am, in IMAX 70mm.
The things I do for PTA (can't wait)
Our components will have this out-of-the-box, but weβll also look into releasing it as a standalone package. π
Weβre exploring ways to improve how Markdown is rendered in our components during streaming.
β’ Complete partial syntax when possible (bold, links, table headers, β¦)
β’ Buffer incomplete elements (partial images, broken emojis, β¦)
π§‘ www.youtube.com/watch?v=yTaz...
<AiChat /> just dropped.
β¦ AI understands app context, can take actions, modify state.
β¦ Render custom components or use pre-built UI skeletons.
β¦ Persistent chats, RAG support, choose your AI, more.
Just import the component and @liveblocks.io handles the rest.
π
π€ youtube.com/watch?v=CJ54...
I missed being able to see the films from Cannes without having to wait for months π«Ά letterboxd.com/film/sentime...
Finally shipped this, I've had a lot of fun making a Mac OS 9-styled design for this and keeping it "retro web" while using modern techniques. I have a blog post about the whole thing as well as what I plan to do with the site in the future, read it maybe?
damien.zone/introducing-...
(I can't recommend The Rehearsal enough, there's no one else dropping Kaufmanesque gems week after week like Nathan)
www.youtube.com/watch?v=6Gx5...
One more for the "nathan earbuds edits" folder bsky.app/profile/marc...
Nathan: "The chorus to Howie Dayβs Collide just happens to be exactly 23 seconds long"
1000 GitHub stars
Frimousse, our open-source emoji picker, has just hit 1,000 stars on GitHub β
Instantly thought of Heat when this came on. www.youtube.com/watch?v=tUSc...
Two reactions on Frimousse's site: π° and π₯.
π°π₯
We made a tiny site for it with @pierrelevaillant.bsky.social during the last @liveblocks.io hackathon, and I finally found an excuse to try @nextjs.orgβs Partial Prerendering to show a snapshot of actual data from the server before connecting to Liveblocks on the client.
Combine it with Vaul from @emilkowal.ski to show it as a drawer on mobile.
It was initially built for @liveblocks.io Comments almost 2 years ago and weβve improved a few things when moving it to its own package:
β¦ Now dependency-free
β¦ Faster, with its state driven by a tiny store and selectors
β¦ Supports dynamically-sized elements in the virtualized list