7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) š
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! š± #Twtxt #Update
just for the record I didnāt say I was leaving the twtxt ācommunityā (did I?) but than I have other priorities to focus on in the following months. Please donāt be condescending, is not cool.
Development of Timeline (PHP client) has been stale for some reasons, a few of them in my side, so I think it wonāt be updated to the new thread model, at least pretty soon.
So is not that Iāll stop using twtxt, just the client I use wonāt be compatible with the new model in July.
7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) š
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! š± #Twtxt #Update
Iām with @andros@twtxt.andros.dev and @eapl.me@eapl.me on this one. But I have also lost interest in twtxt lately and currently rethinking what digital tools truly add value to my life. So I will not spending my time on adding more complexity to Timeline
. Still a big thanks to you @prologic@twtxt.net for all the great work you have done and all the nice conversations both here and on our video calls.
7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) š
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! š± #Twtxt #Update
July 1st. 63 days from now to implement a backward-incompatible change, apparently not open to other ideas like replacing blake with SHA, or discussing implementation challenges for other languages and platforms.
Finally just closing #18, #19 and #20 without starting a proper discussion and ignoring a āmicro consensusā feels⦠not right.
I donāt know what to think rather than letting it rest (May will be busy here) and focus on other stuff in the future.
tt2
from @lyse and Twtxtory from @javivf?
@prologic@twtxt.net I have:
- jenny
- buckketās original (patched, or not)
- tt/tt2
- Timeline
- Twtxtory
- Yarnd
@kat@yarn.girlonthemoon.xyz saving you a bookmark:
The following flags no longer exist:
--max-cache-items
--max-cache-ttl
Instead use --max-age-days
, which controls how much of the cache is pulled back for Timeline, Discover and Mentions views.
PhD Timeline
ā Read more
hehe, just catching up on this thread! Iāve replied in another that using periods/dots sounds good to me as itās usual in domains, but perhaps some agreement would be needed. For now I think any character is valid as long as it is not a space.
For example we are using this for PHP twtxt.php#L153
.
(s) / dot(s) like @eapl.me are valid? š¤ Or nicks even? š¤
on timeline the mention looks OK. Is there an issue on Yarn?
Itās an interesting topic. For example on Bsky itās natural to allow domains https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial
Although TwiXter only allows (letters A-Z, numbers 0-9 and of underscores)
https://help.x.com/en/managing-your-account/x-username-rules
dm-only.txt
feeds. š
by commenting out DMs are you giving up on simplicity? See the Metadata extension holding the data inside comments, as the client doesnāt need to show it inside the timeline.
I donāt think that commenting out DMs as we are doing for metadata is giving up on simplicity (itās a feature already), and it helps to hide unwanted DMs to clients that will take months to add itās support to something named⦠an extension.
For some other extensions in https://twtxt.dev/extensions.html (for example the reply-to hash #abcdfeg
or the mention @ < example http://example.org/twtxt.txt >
) is not a big deal. The twt is still understandable in plain text.
For DM, itās only interesting for you if you are the recipient, otherwise you see an scrambled message like 1234567890abcdef=
. Even if you see it, youāll need some decryption to read it. Iāve said before that DMs shouldnāt be in the same section that the timeline as itās confusing.
So my point stands, and as Iāve said before, we are discussing it as a community, so letās see what other maintainers add to the convo.
@bender@twtxt.net You said:
as long as those working on clients can reach an agreement on how to move forward. That has proven, though, to be a pickle in the past.
I think this is because we probably need to start thinking about three different aspects to the ecosystem and document them out:
- Specifications (as they are now)
- Server recommendations (e.g: Timeline, yarnd, etc)
- Client recommendations (e.g: jenny, tt, tt2, twet, etc)
also I may have forgor to bookmark this when I started using zen primarily instead of librewolf hallo timeline again
dm-only.txt
feeds. š
After reading you, @eapl.me@eapl.me, Iāll tell you my point of view.
In my opinion, a feed does not have to be equivalent to a timeline. A timeline is a representation of the feed adapted to a user. You may not be interested in seeing other peopleās threads or DMs. But perhaps they are interested in seeing mentions or DMs directed at them. It is important not to fall into the trap. With that clarificationā¦
I insist, this is my point of view, it is not an absolute truth: I donāt think extensions should be respectful of customers who are no longer maintained.
We cannot have a system that is simple, backwards compatible and extensible all at the same time. We have to give up some of the 3 points. I would not like to give up simplicity because it will then make it harder to maintain the customers who do stay. Therefore, I think it is better to give up backwards compatibility and play with new formulas in the extensions. I donāt think itās a good idea to make a hash keep so much load: a hashtag, a thread and also a DM.
@bender@twtxt.net I noticed that although the Discover view (and your own Timeline) is much improved with a MaxAgeDays
configuration at the pod level, that now some profiles are rather empty. This is only because well, theyāre a bit āinactiveā so to speak š£ļø Not sure what to do about this at the moment⦠Open to ideas? š”
Timeline of Evolution of Twtxt/Yarn.social:
- 2016 ā Twtxt created by John Downey: plain text + HTTP = minimalist microblogging
- 2017ā2019 ā Community builds CLI tools, but adoption remains niche
- 2020 ā Yarn.social launched by @prologic@twtxt.net with federation, threading, UI
- 2021ā2023 ā Pods sync, user mentions, blocking, search, and media support added
- 2024+ ā Yarn.social becomes the reference Twtxt platform, with active federated pods
AS136907 HWCLOUDS-AS-AP HUAWEI CLOUDS
@prologic@twtxt.net This shi_ is as fun as it is frustrating! š the bot is poking at me from a different ASN now, Alibabaās.
- Short term solution: Iāve geo-locked my Timeline instance since Iām the only one using it (and I only do so for reading twts when Iām away from terminal).
- Long term: I took a look at your Caddy WAF but couldnāt figure things out on my own; until then, Iāll be poking at Caddy-Defender, maybe throw in a Crowdsec for lols⦠#FUN
Some A hole has been trying to pull every single Twtxt feed that existed/still exists since forever. How do I know? Welpā Theyāve been querying my Timeline⢠instance for all of it, every single twtxt file and twt Hash they can find. šš¤¦ It must have been going on for days and I have just noticed⦠+ itās all coming from the same ASN AS136907 HWCLOUDS-AS-AP HUAWEI CLOUDS
Thank you Huawei for the DDos you sons of Glitches!!!
dm-only.txt
feeds. š
@andros@twtxt.andros.dev I give you not creating another file, but then Iād vote for commenting out DMs. See https://eapl.me/timeline/post/z5e2bna
Itās easier to find the DM in comments from your side, than asking all the client maintainers to add the regex =P
You can even use a Modified comment, such as
#! <DM content>
Or something like that
This approach is retro-compatible with current and older clients.
dm-only.txt
feeds. š
@bender@twtxt.net For example:
If you can see this twt in any feedā¦
xxxx-xx-xxTxx:xx:xxZ !<bender https://twtxt.net/user/bender/twtxt.txt> U2FsdGVkX1+QmwBNmk9Yu9jvazVRFPS2TGJRGle/BDDzFult6zCtxNhJrV0g+sx0EIKbjL2a9QpCT5C0Z2qWvw==
It is for you. Any other possibility must be ignore (hidden in your timeline).
If your client doesnāt have the posibility to decrypt the twt, hide all direct message. It is all :)
New version release of twtxt-el!
- Fixed many bugs.
- New back buttons.
- Updated documentation.
I am currently fixing an important bug that break the timeline in some cases and I am working around direct messages.
my main itch with the DMs extensions is that these messages are intended to be private, not public information. Thatās why other extensions make sense, but DMs are another kind of feature.
TwiXter, Mastodon, FB and some other services usually hide the DMs in another section, so they are not mixed with the public timeline.
I find the DM topic interesting, I even made an indie experiment for a centralized messaging system here https://github.com/eapl-gemugami/owl.
Although, as Iāve said a few times here, Iām not particularly interested in supporting it on microblogging, as I donāt use it that much. In the rare case Iāve used them, I donāt have to manage public and private keys, and finally none of my acquaintances use encrypted email.
Nothing personal against anyone, and although I like to debate and even fight, itās not the case here. This proposal is the only one allowing DMs on twtxt, and if the community wants it, Iāll support it, with my personal input, of course.
A good approach I could find with a good compromise between compatibility with current clients and keeping these messages private is āhidingā the DMs in comments. For example:
# 2025-04-13T11:02:12+02:00 !<dm-echo https://dm-echo.andros.dev/twtxt.txt> U2FsdGVkX1+QmwBNmk9Yu9jvazVRFPS2TGJRGle/BDDzFult6zCtxNhJrV0g+sx0EIKbjL2a9QpCT5C0Z2qWvw==
well, I suggested that in https://eapl.me/timeline/conv/k2ob6bq
The idea was to help those following the spec in https://twtxt.dev/exts/directmessage.Html, to replicate the steps and validate whether your implementation gives the same result.
BTW, you could add a link to the spec in the echo web.
thanks for sharing @xuu@txt.sour.is!
Checking for example https://watcher.sour.is/api/plain/twt or https://registry.twtxt.org/api/plain/tweets, I donāt know whether this syntax is being used by clients or by people. Is it integrated on Yarn in any way? Genuinely asking to know more about it.
If I might throw a quick thought to those working on the registries, it would be nice to have an endpoint with a valid twtxt output (perhaps cached or dumped to a static file) which a client could point to, helping to discover itās content in a way which is compatible with the twtxt spec.
Taking the first twt I found in https://watcher.sour.is/api/plain/twt as an example:
reddit_world_news https://feeds.twtxt.net/Reddit_World_News/twtxt.txt 2025-03-28T00:29:25Z **China bans US logs. 3 billion dollar[...])
it would be something like
TIME <@NICK URL> TWT
2025-03-28T00:29:25Z <@reddit_world_news https://feeds.twtxt.net/Reddit_World_News/twtxt.txt> **China bans US logs. 3 billion dollar[...])
That way you could watch the latest twts with your client, something similar to what we find on Mastodon: https://mastodon.online/public/local
Some support from the clients to separate these ādiscoveryā content, from your following timeline might be required. š¤
sorry @prologic@twtxt.net, timeline
doesnāt autocomplete the mentions yet, and it was ādifficultā to look for your URL from the phone.
@prologic@twtxt.net In all seriousness: Donāt worry, Iām not going to host some Fediverse thingy at the moment, probably never will. š
But I do use it quite a lot. Although, I donāt really use it as a social network (as in: following people). I follow some tags like #retrocomputing, which fills my timeline with interesting content. If there was a traditional web forum or mailing list or even a usenet group that covered this topic, Iād use that instead. But thatās all (mostly) dead by now. ā¹ļø
Timeline and twtxt-php, donāt support Gemini, only HTTP/S, as a design choice (although originally it was intended to work on Gemtext, it was a niche inside a niche, so it was discarded very soon).
At the moment of building the engine there werenāt many Gemini URLs supporting twtxt 1.1 (with twtxt.dev extensions).
Also User-Agent wonāt work there, and many Gemini URLs are a mirror of the HTTP one, so I think is not strictly necessary.
my 2c
do you mind sharing a picture ?
I canāt find something similar here, but my wife gave this one last year, and Iāve been using it a bit. Iād say itās useful as youāve shared.
We also have a shared calendar in the kitchen for family events, and itās working great.
hi! I hope you can see this message
As in https://eapl.me/timeline/post/s7gv6zq
I changed my URL to experiment on this exact situation, and deleted the symlink on my server, so now tw.txt is the only way to get the file, although I could bring it back, what does everyone say?
I was on the hunt for new twts and found what I was looking for. Welcome to my timeline:
@javivf@adn.org.es @lafe@tilde.club @melyanna@tilde.club @nff@www.noizhardware.com @shreyan@twtxt.net
also @Andros, I see that if I open that URL on my browser, I see weird characters in the .txt
file:
description = ðŸĀā
Perhaps your nginx server is missing a Content-Type: text/html; charset=utf-8
header?
https://serverfault.com/a/975289
In timeline
it looks OK however, I think itās relying on
The file must be encoded with UTF-8
of the original spec:
https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html
Testing out this image upload featureā¦
@falsifian@www.falsifian.org
it look like your markdown image tags are missing the protocol part (https://
) so they donāt render at least on my server: https://darch.dk/timeline/conv/3vtnszq
Added support for uploading images to to #Timeline
Right now you need to copy the markdown code yourself, but next up would be to lean some JS or use HTMX to make the process more smooth.
I think it is not easy to implement, you need a database. Timeline is an elegant solution: read and sort.
thatās a fair point.
Perhaps, since Twitter in 2006 never implemented read flags, every derivative microblogging system never saw that as an expected feature. This is curious because Twitter started with SMS, where on our phones we can mark messages as read or unread.
I think it all comes from the difference between reading an email (directed to you) vs. reading public posts (like a blog or a āwall,ā where you donāt mark posts as read). Itās not necessary to mark it as āreadā, you just jump over it.
Reading microblogging posts in an email program is not common, I think, and I havenāt really used it, so I cannot say how it works, and whether it would be better for me or not.
However, Iāve used Thunderbird as a feed reader, and I understand the advantages when reading blog posts.
About read flags being simple, well⦠we just had a discussion this morning about how tracking read messages would require a lot of rethinking for clients such as timeline
where no state is stored. Even considering some kind of ānotification of unread messages or mentionsā is not expected for those minimalist client, so itās an interesting compromise to think about.
Skill Issues
of course, but that's going away next as soon as I get my php-fpm shi_ together.
@doesnm.p.psf.lt@doesnm.p.psf.lt yes, thatās what I did while testing things out on locally but Timeline
kept freaking out on me. Iām still RTFMing trying to wrap my head around the rewrites and such.
@lyse@lyse.isobeef.org Danke! Ja, es gibt noch unzƤhlige Stellschrauben an dem Ding. Deine Anmerkungen werde ich einarbeiten. Eine mobile Ansicht wƤr auch noch schƶn. Derzeit sitzt es auf dem Smartphone doch noch recht stramm.
@Unterhaltungen: Die von gestern zu verschlüsselten Nachrichten war ausschlaggebend für die Umsetzung. In āTimelineā und āYarnā haben mich die LƶsungsansƤtze bisher nicht überzeugt. Aber wir kƶnnen ja alle etwas von einander lernen.
@aelaraji@aelaraji.com Iāve been noticing the same, so I opened an issue now (https://github.com/sorenpeter/timeline/issues/55) and then we will have to look into it.
@lyse@lyse.isobeef.org @prologic@twtxt.net š There was something weird going on with my #Timeline instance, the text input box was visible even though I was logged out and I was able to twt from it ⦠It has to do with cache because it wouldnāt disappear unless I whip my websiteās cache from the browser.
Poke @sorenpeter@darch.dk and @eapl.me@eapl.me I have no Idea how to reproduce this.
interesting idea. Iām not personally interested on having DM conversations on twtxt
(for now), although I see the community could be interested in.
Iād suggest to enable the Discussion section in your Github repo to receive comments, as we did for timeline
https://github.com/sorenpeter/timeline/discussions
Thx @sorenpeter@darch.dk. Yepp, Yellow CMS is great! I stumbled across your extension and became aware of Twtxt and Timeline. Now Iām onto building my own little TwtxtReader.
@doesnmppsflt@doesnm.p.psf.lt It looks like it⦠Although they shouldnāt be empty since Timeline took care of sending those. I believe I have an idea as to why that happened, but will have to test before filing an issue.
My webmention script are the same as Timeline
@doesnm.p.psf.lt@doesnm.p.psf.lt I donāt know if you have already noticed, but your Twtxt/Webmention script outputs Timestamps from the future š¤ I wonder if Timelineās does the same ā¦
Finally my (web/txt)mention sender ready. Receiver iām borrow from sorenpeterās timeline
Iām sharing new developments on the client. I now have a more stable timeline. The first version will appear in the next few weeks.
#emacs #twtxt