Nimesh Nayaju Shrestha
@nayajunimesh
Followers
218
Following
10K
Media
15
Statuses
89
Software Engineer @liveblocks 🇳🇵
Toronto, Canada
Joined July 2017
Internally, we pass a plain‑text stream through a transform stream that incrementally parses tables (and other markdown nodes 👀). This works even better for streaming code blocks after server‑side highlighting with shiki‑stream. Will share a demo soon.
0
0
3
Wrote a semi-incremental markdown parser that parses tables, one row at a time. Once the row's string is parsed, we don't re-parse it again. In this demo, the markdown is parsed on the server, and each chunk is a table delta (or another markdown node).
1
0
4
CSS anchor positioning API is so amazing. You can build interactive charts with collision-aware tooltips using only HTML and CSS. Thank you @Una @jh3yy and everyone involved! Can't wait for full support on Safari 🙌 Demo: https://t.co/bruqqxJDsY
6
12
217
In the video, I also parse and sanitize the markdown on server and perform syntax highlighting on server, which helps with security and offloads some heavy work from client. @ChromiumDev published an article recently that talks about best practices. https://t.co/kNQ6hnVVzr
developer.chrome.com
Use these frontend best practices to display streamed responses from Gemini with APIs like the Prompt API.
1
1
7
Rendering markdown stream can be tricky. Most open source solutions append the incoming chunk to the previous chunks and re-parse the entire markdown string. A more optimal solution is to maintain a buffer of unparsed markdown and only re-parse that buffer string.
1
0
6
@ShopifyDevs published an article about a similar approach in 2023! - they call it 'selective markdown buffering'. https://t.co/DbwM1ZkuuJ
shopify.engineering
In this post, learn how Shopify's Sidekick solves markdown rendering jank and response delay in LLM chatbots with buffering parser and async content resolution.
1
0
5
In the video, only a fully formed block token is sent to the client for rendering, but we could also be more granular and send fully parsed inline tokens. We could even combine optimistic markdown parsing with this buffering approach for ambiguous markdown elements e.g. links.
1
0
5
At @liveblocks, we've exploring different ways to render streaming markdown. I've been experimenting with an approach where you only ever enqueue a fully parsed/formed token so you never see an incorrect or partial markdown. 🧵
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, …)
3
5
19
Nothing meaningful is built alone. A new chapter begins next week.
12
10
103
The extension is built using @extensionjs from @cezaraugusto, which was a a joy to use! The source code for the extension is available on GitHub. https://t.co/h3FvuuO1Bq
github.com
Developer tools for Lexical.js. Contribute to nimeshnayaju/lexical-devtools development by creating an account on GitHub.
0
0
6
I just published an extension to inspect @lexicaljs editor state from your browser. https://t.co/azJFfLnn9E
1
0
16
the new liveblocks site is as unbelievable as liveblocks the library/tool. a @reactjs dev doesn't have to be a networking expert, or a webGL wizard. through basic composition and smart tools (@liveblocks + @pmndrs in this case) experiences like that are accessible to you.
2
14
185
Remote job—@liveblocks is looking for a full-stack engineer! If you're intrigued by real-time collaboration, love developer experience, and care about the details, we want to hear from you. Very flexible, friendly, and inclusive workplace. https://t.co/dUn2Te2FSt
join.team
2
6
27
We’re incredibly excited to share that Liveblocks has powered over 100,000,000 WebSocket connections in the last 2 years! ⚡️ From AI products to text editing tools, we appreciate every one of you.
5
4
37
Our design engineers blow me away every time. Feeling very lucky to work with such a talented bunch! → https://t.co/Qj6CaO40JD
3
8
134
Introducing Liveblocks Yjs. A real-time persisted data store designed for collaborative text & code editors. Build & scale your Yjs app using our REST API, webhooks, dashboard, and more. https://t.co/v1NZzd6DNY
liveblocks.io
For teams who want to build a collaborative text editing experince, like Google Docs, Liveblocks Yjs is a fully managed, highly scalable realtime data store for Yjs documents.
6
32
170
Here is the exported video. Really happy with how it's coming together. @screenstudio on the web!
0
0
2