@ You seem to be a bit ahead of your time: https://darch.dk/timeline/conv/jl2mf2a
Z for UTC +00:00- is that allowed in your specs?
Regarding url = I would suggest to only allow one and the maybe add url_old = or url_alt = !?
I'm still not a fan of a DM feature, even thou it helps that i have now been split out into a separate feed file. Instead if would suggest a contact = field for where people can put an email or other id/link for an established chat protocol like signal or matrix.
Yes it seem to work(ish) on timeline at least: https://darch.dk/timeline/post/imopblq
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.
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.
@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)
@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!!!
@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. ā¹ļø
@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.
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.
@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.
@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.
@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 ā¦
"twtxtfeevalidator/0.0.1" UA about? I thought I could ask before throwing a 1000GB file at it šŖ¤ could it be the same 'xt' thing @lyse was talking about the other day?
hmm⦠apparently the invalid twts are the latest ones Iād posted from Timeline but highly probably because Iād tried to restore them manually, after unintentionally overriding my twtxt file with one that was out of date š¤¦
Saved, I hope that didnāt anyoneās timeline⦠š
Shi⦠I forgot to pull my twtxt file before twtinā ⦠let me see if I can recover them lost timeline twts.
Ok, amma start twting from my timeline instance, let me know if I break something xD
nick = _@domain.tld in the twtxt.txt?
hmm any ideas how to fix this case when there is no nick and it on a shared tilde hosting? http://darch.dk/timeline/profile?url=https://tilde.club/~deepend/twtxt.txt
nick = _@domain.tld in the twtxt.txt?
Iāve implemented Use only nick as handle if nick and domain is the same Ā· sorenpeter/timeline@8c12444
See it live at:
- nick = domain: https://darch.dk/timeline/profile?url=https://eapl.me/tw.txt
- nick ā domain: https://darch.dk/timeline/profile?url=https://twtxt.net/user/prologic/twtxt.txt
- no nick, use domain: https://darch.dk/timeline/profile?url=https://akkartik.name/twtxt.txt
Iām not sure I like the leading @ thouā¦
@prologic@twtxt.net Well I just mirrored yarndās JSON in my webfinger endpoint and lookup, so not much else to do for standardization.
And for people who donāt like PHP you can always just go with Added WebFinger support to my email address using one rewrite rule and one static file. or simply putting a static JSON in place for .well-know/webfinger
I like the cleaness and indiewebness of using just domains for handles/shorthands similar to blusky, but the situations with more users on the same domain and that people in the fediverse (threads too?) are already familiar with the syntax speaks for webfinger. And since we already got support for webfinger in both yarnd and timeline it makes sense to stick with it.
@aelaraji@aelaraji.com https://github.com/sorenpeter/timeline/commit/555baefcd0e75e6a281472994e8eb7ae9b5d2a1c
or timeline.txt ;)
@eapl.mx@eapl.mx Yes, the idea is to add User Agent support to #Timeline.
Right now it just adds every request to a growing log file, but I have also been working on a way to analyse it, so it only saves the time of the latest request.
Iām not sure how to make it part of timeline itself, since it requeses that you redirect/rewrite from twtAgent.php to the acctual twtxt.txt
Help with making Timeline send proper User Agents to others would be much appreciated:)
@eapl.mx@eapl.mx Super to see you got webmentions working too :)
EDIT: A webmention was send to: https://eapl.mx/timeline/webmention (Status: 202)
Iām giving a shot talk about twtxt/yarn/timeline tommow around noon CET at Piksel Festival in Norway. More info and link for live stream at: https://24.piksel.no
(So I will most likely not be joining the call)
@bender@twtxt.net The tagline of Timeline is āa single user twtxt/yarn podā not just a yarn pod. Similar to GNU/Linux. When we came up with the concept of Yarn Social it was a way to rebrand twtxt with the extensions that makes conversations like this possible.
I installed GrapheneOS for the first time on Wednesday last week on a used Pixel 7a, and Iām impressed. Installation was almost seamless, and I was able to do it from another Android phone. Iāve run into very few wrinkles, even using Googleās proprietary apps with GrapheneOSās āsandboxedā version of Google Play Services. The main problems Iāve noticed: I canāt cast, and Google Timeline doesnāt seem to work (though I imagine the intersection between people keen to use GrapheneOS and keen to have Google log their location history is pretty small).
@2024-10-08T19:36:38-07:00@a.9srv.net Thanks for the followup. I agrees with most of it - especially:
Please nobody suggest sticking the content type in more metadata. š
Yes, URL can be considered ugly, but they work and are understandable by both humans and machines. And its trivial for any client to hide the URLs used as reference in replies/treading.
Webfinger can be an add-on to help lookup people, and it can be made independent of the nick by just serving the same json regardless of the nick as people do with static sites and a as I implemented it on darch.dk (wf endpoint). Try RANDOMSTRING@darch.dk on http://darch.dk/wf-lookup.php (wf lookup) or RANDOMSTRING@garrido.io on https://webfinger.net
Thank you @aelaraji@aelaraji.com, Iām glad you like it. I use PHP because itās everywhere on cheap hosting and no need for the user to log into a terminal to setup it up. Timeline is not mean to be use locally. For that I think something like twtxt2html is a better fit. (and happy to see you using simple.css on you new log page;)
So this is a great thread. I have been thinking about this too.. and what if we are coming at it from the wrong direction? Identity being tied to a given URL has always been a pain point. If i get a new URL its almost as if i have a new identity because not only am I serving at a new location but all my previous communications are broken because the hashes are all wrong.
What if instead we used this idea of signatures to thread the URLs together into one identity? We keep the URL to Hash in place. Changing that now is basically a no go. But we can create a signature chain that can link identities together. So if i move to a new URL i update the chain hosted by my primary identity to include the new URL. If i have an archived feed that the old URL is now dead, we can point to where it is now hosted and use the current convention of hashing based on the first url:
The signature chain can also be used to rotate to new keys over time. Just sign in a new key or revoke an old one. The prior signatures remain valid within the scope of time the signatures were made and the keys were active.
The signature file can be hosted anywhere as long as it can be fetched by a reasonable protocol. So say we could use a webfinger that directs to the signature file? you have an identity like frank@beans.co that will discover a feed at some URL and a signature chain at another URL. Maybe even include the most recent signing key?
From there the client can auto discover old feeds to link them together into one complete timeline. And the signatures can validate that its all correct.
I like the idea of maybe putting the chain in the feed preamble and keeping the single self contained file.. but wonder if that would cause lots of clutter? The signature chain would be something like a log with what is changing (new key, revoke, add url) and a signature of the change + the previous signature.
# chain: ADDKEY kex14zwrx68cfkg28kjdstvcw4pslazwtgyeueqlg6z7y3f85h29crjsgfmu0w
# sig: BEGIN SALTPACK SIGNED MESSAGE. ...
# chain: ADDURL https://txt.sour.is/user/xuu
# sig: BEGIN SALTPACK SIGNED MESSAGE. ...
# chain: REVKEY kex14zwrx68cfkg28kjdstvcw4pslazwtgyeueqlg6z7y3f85h29crjsgfmu0w
# sig: ...
Kinda cool tool for bringing together all your timeline based data across socials.
@prologic@twtxt.net on the the timeline with mentions filter I missing the latest mention that comes up in the mentions page.
Oh.. And you are mentioning my dev instance here š
It looks okay on my timeline: http://darch.dk/timeline/conv/omu7e4q
@Prologic@twtxt.net can you pleas fix this line in your twtxt.txt:
# follow = dbucklin@www.davebucklin.com https://www.davebucklin.com/twtxt.txt?nick=dbucklin
It is cause this weird effect on my timeline, where you are now called dbucklin
http://darch.dk/timeline/?profile=https://twtxt.net/user/prologic/twtxt.txt
@prologic@twtxt.net and @bender@twtxt.net for a start a single user twtxt/yarn pod could look like this š
The wording can be more subtle like āThis feed have not seen much activity within the last yearā and maybe adding a UI like I did in timeline showing time ago for all feeds
I agree that it good to clean up the Mastodon re-feeds, but it should also be okay for anyone to spin up a twtxt.txt just for syndicating they stuff from blog or what ever.
The ānot receiving repliesā could partly be fixed by implementing a working webmentions for twtxt.txt
Just fleshed out the README for timeline at https://github.com/sorenpeter/timeline - Comments/corrections and PRs are welcome:)
@bender@twtxt.net you can over at http://darch.dk/timeline/conv/ba3xbfa or by looking at the raw txt https://lyse.isobeef.org/twtxt.txt
I canāt help it that twtxt.net only have temporary caching ĀÆ_(ć)_/ĀÆ
Thanks for your feedback @lyse@lyse.isobeef.org. For some reason i missed it until now. For now I have implemented endpoint discovery for #webmentions as a metadata field in the twtxt.txt like this:
# webmention = http://darch.dk/timeline/webmention
Added support for #tag clouds and #search to timeline. Based on code from @dfaria.eu@dfaria.euš
Live at: http://darch.dk/timeline/?profile=https://darch.dk/twtxt.txt
It not that easy @xuu@txt.sour.is since I implemented webmentions in a different way that how it have been done in yarnd to work with txt-files. You can find the code in webmention_endpoint.php and new_twt.php at main Ā· sorenpeter/timeline
@eapl.me@eapl.me Take a look at http://darch.dk/timeline/conv/i4nt3ma
Just hacked together this small webfinger endpoint to be used as a companion with timeline: .well-known/webfinger/index.php at main Ā· sorenpeter/timeline