This content originally appeared on dbushell.com (blog) and was authored by dbushell.com (blog)
Croissant v0.4 is out! I fixed a few minor bugs and added favicons.
Feature Requests
I’ve had a surprising amount of feedback. I wasn’t expecting anyone to care about an app I designed for myself. Thanks to all who managed to navigate my contact form.
Croissant’s design philosophy is vague because I’m just making it up as I go along. Essentially it’s an experiment in keeping it simple. Not “MVP” because MVP is nonsense — and not “minimalism” because that does not mean good. Croissant is just basic and unbloated.
The three most requested features have been:
- Favicons
- Bookmarks
- Folders
Folders is never going to happen, sorry! That would literally double the codebase for a feature I’d never use myself but have to maintain.
Bookmarks is possible. Croissant is just a reader not an organisation tool but I see the value of “read later”. Not sure how this will work yet. I do not want to build a bookmark manager.
Favicons has happened! When I declared “no icons” I was talking about the craze of UI icons everywhere. Icons without labels! Meaningless béziers from self-important designers that leave the rest of us saying “WTF does this button do?”
Favicons actually serve a purpose and improve the design.
Favicons are a simple feature but were not easy to implement.
Tauri Troubles
Tauri is causing me headaches. I’m starting to rethink if I should continue the native app wrapper or focus solely on the
The web platform always wins. How many cautionary tales must I read before I accept the truth! Why am I wasting time debugging Tauri and Apple’s webview for issues that don’t even exist in Safari? Wasted time and energy. I’m accruing non-transferable knowledge in my (very) limited brain capacity.
Croissant v0.4 might be the last native macOS version. It only exists because the PWA requires a server proxy (CORS) that has privacy concerns. Maybe I can add a “bring your own proxy” feature?
Where’s the Icon?
Podcast feeds include an image tag but basic RSS does not. There are standardised ways to provide an image/icon with <link rel="icon">
and web manifests. These both require parsing the website’s HTML to discover.
I’m relying on “known” root locations; namely:
/apple-touch-icon.png
/favicon.ico
These locations aren’t required for either icon but browsers check there by default so it’s a good place to guess. For the 200-ish blogs I subscribe to I get a ~65% success rate. Not ideal but good enough for now. I really want to avoid HTML spelunking but I may have to. Expect an improvement in the next update. For now a croissant emoji is used for missing icons.
Implementation Details
I’m using the Offscreen Canvas API to generate a standard image size to cache locally. Favicons are currently cached for a week before refreshing.
First I tried using a
So you can see why Tauri is on thin ice! I don’t want tech choices dictating what parts of the web platform I can use without jumping through non-standard hurdles.
That’s all for now. I hope to have another update this year! Visit CroissantRSS.com to download or install Croissant as a progressive web app.
Oh yeah… and I kinda messed up deployment of the PWA service worker so you may need to backup, remove, and reinstall… sorry!
Thanks for reading! Follow me on Mastodon and Bluesky. Subscribe to my Blog and Notes or Combined feeds.
This content originally appeared on dbushell.com (blog) and was authored by dbushell.com (blog)

dbushell.com (blog) | Sciencx (2025-10-16T15:00:00+00:00) Croissant Favicons and Tauri Troubles. Retrieved from https://www.scien.cx/2025/10/16/croissant-favicons-and-tauri-troubles/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.