@prologic@twtxt.net For what it’s worth, the twt hash extension is specifically modeled after yarnd’s implementation with all the quirks coming from Go’s stdlib: https://twtxt.dev/exts/twt-hash.html#timestamp-format
“All timezones representing UTC must be formatted using the designated Zulu indicator Z rather than the numeric offsets +00:00 or -00:00. If the timestamp does not explicitly include any timezone information, it must be assumed to be in UTC.”
🥳 Finally! After nearly 4 years, yarnd v0.16.0 “Silver Sojourner” is out! 🚀 Twt Hash v2, SQLite FTS5 search, HTMX-powered UI, first-time setup wizard and literally hundreds of bug fixes 🐛
Release notes: https://git.mills.io/yarnsocial/yarn/releases/tag/0.16.0
Upgrading is fully automatic — the Twt Hash v2 migration re-fetches all feeds on first start, so expect the first cycle to be a bit heavier. Images on Docker Hub as prologic/yarnd:0.16.0 👌
cc @kat@yarn.girlonthemoon.xyz @abucci@anthony.buc.ci @shinyoukai@yume.laidback.moe @eldersnake@we.loveprivacy.club 🙏
Thanks to twtxt.app, I probably won’t need to build a yarnd. Instead, I can either install twtd and manage it on my VPS or similar, or put the twtxt text file in a Git repository. Consider other options as well.
@prologic@twtxt.net Could it be…… I edited several times earlier, so that might be the influence. Not the old yarnd.
👍 definitely using the Twtxt App as my daily-driver now for Twtxt/Yarn. Not using twtd however, as I just pair the app with my already existing yarnd powered profile on twtxt.net
Looks like twtxt.app on mobile emits +00:00 UTC timestamps instead of Z – Yarnd should handle both, but doesn’t 🤦♂️ On the list 🤞
@bender@twtxt.net @david@daiwei.me Good debugging session 👌 Sounds like the root cause is twtxt.app on mobile — +00:00 timestamps and quoted mentions. I’ll dig into Yarnd’s side of that 🧐
@bender@twtxt.net Yeah, Yarnd’s mention parser is pretty naive — if twtxt.app wraps the mention in quotes it probably strips them wrong. Worth fixing 🤔
+00:00 vs Z should be treated as equivalent UTC 🤦♂️ I’ll take a look at the timestamp parsing in Yarnd 🧐
@david@daiwei.me bender variable in. First thing I see on Yarnd is that my mention is broken. It was entered between quotes on twtxt.app. Yarnd has always had parsing problems, so I am not blaming twtxt.app this time.
Now let’s wait, and stop posting from here, and after this one shows at Yarnd, I will introduce the “@ variable”.
So, far, all conversations and all forks show fine in Yarnd.
root=idtig63uigwe fork. I am forking:
And I am saying that, because everything looks fine on twtxt.app, but not in Yarnd. But I am confused because jenny is also showing things not the way it should be.
And I am saying that, because everything looks fine on twtxt.app, but not in Yarnd. But I am confused because jenny is also showing things not the way it should be.
Now I don’t know if Yarnd is the one having issues, or if twtxt.app is at fault.
@movq@www.uninformativ.de this is what I see on twtxt.app (all looks good there, though, but not here, on Yarnd):

This one isn’t showing right on Yarnd (here):

And I don’t know why.
I’m starting to use the twtxt.app as my daily driver now as opposed to yarnd and my pod twtxt.met 🥳
@bender@twtxt.net Please create an issue for this too! Probably against twtd right? We should validate new fetchers and see if they are real clients or not. I think yarnd already does ybis quite well? 🧐
Yarnd seems broken. It’s the common denominator. The two twts above are totally disconnected from the twt they are supposed to be replying to.
Hello everyone ! 👋 Behold I bring you (after many years) the launch of the Twtxt App 😅 – Ye, this is a Desktop and Mobile app built as a Progressive Web App (PWA) using a little framework (Swag) I put together iafter some experiments @xuu@txt.sour.is and I did in Go and HTMX and Service Workers.
The App is offline-first and supports installing to Desktop and Mobile (add to Home screen) and supports a number of publishing backends, including Yarn.social’s yarnd Pod, Github, Codeberg/Gitea, and a little tiny twtd Twtxt server (See: https://git.mills.io/yarnsocial/twtd).
Please try it out, no need for any account(s) or such, works with your existing feed(s) (as long as the publishing backends work well enough for you!). Please give me feedback! 🙏
Also, did you know the Twtxt Search Engine is back? 🎉
git pull && make build and updating your yarnd instance so it's in-line with the new Hash v2 spec 🙏
@prologic@twtxt.net I’m just registering and using yarn, I haven’t built it. But maybe I could build yarnd on my server.
@balloonfu-sen@yarn.girlonthemoon.xyz Do you mind git pull && make build and updating your yarnd instance so it’s in-line with the new Hash v2 spec 🙏
@balloonfu-sen@yarn.girlonthemoon.xyz I think you need to update your yarnd instance 🙏
Seems to be good now 😅 As-is yarnd 🤣
Shit i need to update yarnd 😅
@balloonfu-sen@yarn.girlonthemoon.xyz Oh! You’re running Yarn.social’s yarnd? 😅 That’s why I was able to see your reply so quickly/easily ! Nice! And welcome! 🙏
That reminds me, I need to update yarnd too. I haven’t done so yet 😅 Been so bloody busy with work 🥵
@movq@www.uninformativ.de I really like your style of writing, btw. It’s much calmer and less aggressive then mine. :-) When I turned my bullet points into paragraphs, I got a bit mad in the process.
Sure, feel free to include anything you want. Regarding citing, this is where twtxt falls short in my opinion. Especially with feed rotation, classic links die quickly. Message hashes only help so much. Nobody outside the twtxt universe knows how to deal with them. So, not perfect for inclusion on a web page. Linking to a thread or message on some yarnd instance might be the more user-friendly option. But the disadvantage is that it’s “just” a mirror, not the primary or original source. In all reality, this could be considered splitting hairs, though.
I should have probably written a proper article. That would have given me time to review the result more carefully, too. ;-) Perhaps that’s something for the future. But honestly, I’m not sure if I really want to waste my time and energy on that subject. So many other fun or useless things come to mind right away that I could do instead. 8-)
So, yeah, do whatever feels best to you. I don’t mind being cited or linked, but I also don’t mind not to be cited or not to be linked to. :-D Not a helpful answer, I know. Sorry. ;-) But anyway, thanks for asking, mate! I do appreciate it.
To finish my thought, linking to my frontpage is probably also useless, since I deliberatly do not have a table of contents there. In fact, my entire frontpage is rather silly.
@lyse@lyse.isobeef.org yes, yarnd has a few parser (?) issues that were never resolved. If only a powerful token predictor could fix it, once and for all… 😅
@yarn_police@twtxt.net Looks like the rendering in yarnd is off. The second subject (prisoner error!) was robbed, its link text got stolen.
@klaxzy@klaxzy.net yarnd/*
@bender@twtxt.net Hahaha! I was also very surprised to see snow. I didn’t remember that at all. It was gone by the evening again, see archive feed twtxt-2024-11.txt#2024-11-23T18:30:00+01:00. Unfortunately, neither Prologic’s nor Xuu’s yarnd searches yield anything. That message has probably long fallen out of the index.
Replies aren’t actually broken, I just… need to add myself to the follow list?! That’s quite counter-intuitive and (IIRC) not mentioned in the docs. But… It seems to be working now, which is nice (I still don’t know how webmentions and webfinger works, so can’t speak about this so far)
yarnd (what runs here at twtxt.net) actually does this automatically by default. I think it’s just an implementation detail to be honest. There’s nothing about this in the specs over at https://twtxt.dev
@bender@twtxt.net Fixed 🤣 Nobody was following that feed 😅 yarnd had no reason to “pull” it in.
Btw, @shinyoukai@neko.laidback.moe, that’s a super cool logo on your yarnd. I like it a lot!
It just doesn’t look aligned properly: https://lyse.isobeef.org/tmp/misalignment.png Could be a yarnd issue, though, it might not expect a logo this large. Just wildguessing, no idea.
I have to say. A well designed Hypermedia Driven Web Application such as yarnd‘ using HTMX is just as good, i'd not better, than one written in React.
yarnd installation has been properly fixed.
cat /etc/mokou/yarnd.conf
exec=/usr/pkg/sbin/daemonize -c/var/db/yarnd -u www -p /var/run/yarnd.pid /usr/pkg/sbin/chpst -e /usr/local/etc/yarnd /usr/local/sbin/yarnd -b 127.0.0.1:[classified information]
I know this might seem a bit overengineered, but the previous command until now had the secrets exposed on the process list
Alright, this yarnd installation has been properly fixed.
Obviously yarnd 🙋♂️
@arne@uplegger.eu @lukas@lukasthiel.de In fact, Yarn.social’s yarnd client implementation actually uses (or did, still kinda does today) PicoCSS 🤟 It was/is a good CSS library! 👍
@lyse@lyse.isobeef.org @bender@twtxt.net that’s also what Yarn.social’s logo is, and just happens to be the yarnd default. Hmmm figured times for a change? 🤔
technically I can put the Bridge verificaiton code in my feed’s metadata so no-one really ever sees or notices it 🤔 Maybe I’ll add a first-class button/field thingy in yarnd so users can “register their feed” straight from their pod? 🤔
Hmmm, looks like my twt hash algorithm implementation calculates incorrect values. Might be the tilde in the URL that throws something off. :-? At least yarnd and jenny agree on a different hash.
Hmmm all these tilde.club feeds have no # nick and is messing with yarnd’s behavior 😅
@zvava@twtxt.net yarnd fetches the feeds roughly every ten minutes:
grep twtxt.net www/logs/twtxt.log | cut -d ' ' -f1 | tail -n 20
2025-10-04T07:00:45+02:00
2025-10-04T07:10:26+02:00
2025-10-04T07:22:43+02:00
2025-10-04T07:30:45+02:00
2025-10-04T07:40:48+02:00
2025-10-04T07:52:59+02:00
2025-10-04T08:00:07+02:00
2025-10-04T08:13:33+02:00
2025-10-04T08:23:13+02:00
2025-10-04T08:31:22+02:00
2025-10-04T08:41:29+02:00
2025-10-04T08:53:25+02:00
2025-10-04T09:03:31+02:00
2025-10-04T09:11:42+02:00
2025-10-04T09:23:11+02:00
2025-10-04T09:29:49+02:00
2025-10-04T09:36:17+02:00
2025-10-04T09:46:33+02:00
2025-10-04T09:58:40+02:00
2025-10-04T10:06:54+02:00
I suspect that the timing was just right. Or wrong, depending on how you’re looking at it. ;-)
@prologic@twtxt.net I can’t upload a screenshot (tried, but Yarnd simple “ate” my reply). See https://zsblog.mills.io/posts/hello-zs-blog.html. Is has no date/time on it.
@zvava@twtxt.net And yes yarnd does have a well documented API and two clients (CLI and unmaintained Flutter App)
Wanting to add, this isn’t a twtxt client. It is Yarnd on steroids! 😂

