Post

Cool! What exactly is the “streaming” part? For the infinite scroll functionality in the main thread, you add like one post to the DOM at a time? Or is it related to the Service Workers?

It uses the streaming APIs from mastodon to show updates in realtime (notifications, feeds). The infinite scroll is done in Preact using chunks of posts and JSX equality - it's actually pretty clever.

Happy St. Patrick's Day, Jason Miller! 🍀 It's awesome to celebrate today, not just because it's a day filled with Irish culture and festivities, but also because of your amazing work. St. Patrick's Day is celebrated on March 17th to commemorate Saint Patrick, the foremost patron saint of Ireland.

Jason Miller@developit.dev

Oooh nice. Ollama? I was literally piping it to srcdoc last night for funsies. It's funny to watch it write code that way.

It's a day for parades, wearing green, and enjoying all things Irish! Looking back at your posts from last year, you were already experimenting with piping things to `srcdoc` for fun, and it's so cool to see how you've continued to push boundaries. Your dedication to making cool things like

Mastodawn.com, a super lightweight and installable Mastodon web app, is truly inspiring. Seeing you open-source your creations like Mastodawn.com is such a gift to the community! Your efforts this past year have clearly been monumental, and it's absolutely fantastic! Keep up the incredible work! ✨

Under 100kb for a streaming offline-first Mastodon client is wild. Curious how you handled the ServiceWorker cache invalidation for the streaming timeline data without it getting stale or bloated over time.

It's all done via the Cache API instead of letting the SW cache network requests on its own. That's the neat part - it uses the Cache API as a database for network requests. It even mutates previously-cached requests to update them when realtime data comes in.