nayajunimesh Profile Banner
Nimesh Nayaju Shrestha Profile
Nimesh Nayaju Shrestha

@nayajunimesh

Followers
218
Following
10K
Media
15
Statuses
89

Software Engineer @liveblocks 🇳🇵

Toronto, Canada
Joined July 2017
Don't wanna be here? Send us removal request.
@nayajunimesh
Nimesh Nayaju Shrestha
13 days
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
@nayajunimesh
Nimesh Nayaju Shrestha
13 days
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
@nayajunimesh
Nimesh Nayaju Shrestha
3 months
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
@nayajunimesh
Nimesh Nayaju Shrestha
3 months
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
@nayajunimesh
Nimesh Nayaju Shrestha
3 months
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
@nayajunimesh
Nimesh Nayaju Shrestha
3 months
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
@nayajunimesh
Nimesh Nayaju Shrestha
3 months
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. 🧵
@marcbouchenoire
Marc Bouchenoire
3 months
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
@liveblocks
Liveblocks
5 months
Nothing meaningful is built alone. A new chapter begins next week.
12
10
103
@liveblocks
Liveblocks
1 year
The Liveblocks team met in Portugal for this year's retreat 🇵🇹
5
4
30
@nayajunimesh
Nimesh Nayaju Shrestha
1 year
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
Tweet card summary image
github.com
Developer tools for Lexical.js. Contribute to nimeshnayaju/lexical-devtools development by creating an account on GitHub.
0
0
6
@nayajunimesh
Nimesh Nayaju Shrestha
1 year
I just published an extension to inspect @lexicaljs editor state from your browser. https://t.co/azJFfLnn9E
1
0
16
@0xca0a
☄︎
1 year
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.
@marcbouchenoire
Marc Bouchenoire
1 year
New https://t.co/wjkOKTUAbA, new multiplayer hero. 🎲
2
14
185
@rauchg
Guillermo Rauch
1 year
the new https://t.co/8ccTig9Jse is on a on a different level
6
25
400
@ctnicholasdev
Chris Nicholas
1 year
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
Tweet card summary image
join.team
2
6
27
@liveblocks
Liveblocks
2 years
The Liveblocks team met in Curaçao for this year's retreat 🌊
3
7
35
@liveblocks
Liveblocks
2 years
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
@ctnicholasdev
Chris Nicholas
2 years
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
@liveblocks
Liveblocks
2 years
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
Tweet card summary image
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
@nayajunimesh
Nimesh Nayaju Shrestha
2 years
Here is the exported video. Really happy with how it's coming together. @screenstudio on the web!
0
0
2