GreenGale
banner
greengale.app
GreenGale
@greengale.app
📜 Come and post: https://greengale.app
Long-form Markdown blogs on the Atmosphere
Semantic search engine
WhiteWind compatible
Standard Site publishing
Custom Themes, LaTeX, SVGs, built in text-to-speech
🧑‍💻 Lead developer: @3fz.org
Sorry about this! we made a few changes to the homepage feed UI recently. What browser are you on, and is it consistent after a refresh?
February 6, 2026 at 4:01 AM
The embedding model is BGE-M3, with Cloudflare Vectorize for the DB.
February 3, 2026 at 11:56 PM
RSS feeds are on the roadmap, stay tuned :)
February 2, 2026 at 3:04 AM
No problem, sorry about the broken login! Appreciate the bug reports.
February 1, 2026 at 11:07 PM
Login should be working in Firefox now. As for the 400, it's looking for publication preferences in your publication record which doesn't exist yet, but this won't functionally affect anything.
February 1, 2026 at 11:00 PM
Thanks for raising this issue. I've just deployed a fix, you can try again.
February 1, 2026 at 10:26 PM
Could you give it one more try? I've been watching the logs, and added a couple more steps to detect Exa requests which have `cf-connecting-o2o` indicating that it's proxied through another Cloudflare origin, as well as browser UA's with JS detection not passed.
January 29, 2026 at 7:02 PM
Anyway, I've just added some datacenter detection that should identify when a request is coming from a known datacenter IP, and serve the prerendered version. It's a process of just adding datacenter ASNs as needed, but I've had increased success with Exa.
January 29, 2026 at 6:35 PM
I've been troubleshooting this; what tool are you using under the hood? There is a prerendered html endpoint that's served to bots, but I've had a lot of trouble with a few crawlers including Exa because they try very hard to pretend to be humans using Chrome, and just get a minimal placeholder.
January 29, 2026 at 6:35 PM
The spec and the validator are still relatively early, but the .well-known endpoint does exist, it just doesn't use a separate root domain per blog. If you want to see yours: greengale.app/youronly.one...
https://greengale.app/youronly.one/.well-known/site.standard.publication
at://did:plc:bpotnohnlgcj3fbmp7ugx4en/site.standard.publication/3mc3hctrn6ca2
greengale.app
January 24, 2026 at 2:55 AM
Yeah, I noticed that as well. This is because the validator expects the .well-known endpoint to exist for the root of a domain, e.g. `example.greengale.app`. GreenGale uses path-based routing with user handles for the publication, e.g. `greengale.app/example.user`.
January 24, 2026 at 2:55 AM