@kat@yarn.girlonthemoon.xyz OMG! You used the video capabilities of yarnd đ€Ł Nice! đ
@abucci@anthony.buc.ci two things. Conduwuit, a Matrix server written in Rust, is no longer going to be developed. The other is, I didnât mean to tag you, but because Yarnd was broken it happened. Apologies.
@prologic@twtxt.net why not blanket closing everything older than, say, 3 months? Yarnd is quite a different beast today, right? Letâs start over!
@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)
@lyse@lyse.isobeef.org oh, and thanks for the bigger photo! I like how it lovely fill the twtxt in Yarnd. Woot!
yarnd UI/UX experience (for those that use it) and as "client" features (not spec changes). The two ideas are quite simple:
All these remind me of the âblogâ ability once existed in Yarnd. I hate to be the party pooper, but little to non interest from me. LOL. I am up to increase the length of a twtxt, though. It is rather limiting right now.
yarnd UI/UX experience (for those that use it) and as "client" features (not spec changes). The two ideas are quite simple:
The nice thing here is that any Ui/UX rendering for a âgood user experienceâ is similar to what yarnd does for Youtube/Spotify/whatever embedding. Plus anyone can participate, even if they donât really have a client that understand it, itâs just text with some âsyntaxâ afterall.
đĄ I had this crazy idea (or is it?) last night while thinking about Twtxt and Yarn.social đ
There are two things I think that could be really useful additions to the yarnd UI/UX experience (for those that use it) and as âclientâ features (not spec changes). The two ideas are quite simple:
- Voting â a way to cast, collect a vote on a decision, topic or opinion.
- RSVP â a way to ârsvpâ to a virtual (pr physical) event.
Both would use âplain textâ on top of the way we already use Twtxt today and clients would render an appropriate UI/UX.
@movq@www.uninformativ.de wouldnât editing your own twtxts cause the same issue Yarnd (or any other client) has, which is breaking any replies to it? Under which conditions would this work the best? When copying the twtxt.txt file asynchronously? In my case I copy the twtxt.txt file to its web root right away, but I figure I could not do that, which would give me a set period of time to edit without worries.
@andros@twtxt.andros.dev I donât see any âfightingâ here. This is just good experimentation. Unfortunately there hasnât really been enough time or effort by other âclient authorsâ yet, me especially as Iâve been super busy with yaâ know my âday jobâ that pays the bills and refactoring yarnd to use a new and shiny and much better SqliteCache đ€Ł â I certainly donât think your efforts are wasted at all. I would however like @doesnm.p.psf.lt@doesnm.p.psf.lt encourage you to look at the work weâve done as a community (which was also driven out of the Yarn.social / Twtxt community years back).
@bender@twtxt.net You will be pleased to know that yarnd now only consumes ~60-80MB of memory depending on load đ€Ł And bugger all CPU đ
Hmm, Yarnd is duplicating the rendering of /twt/5jlfuua. Thatâs quite odd.
./yarnc debug <your feed url>:
Iâm so confused. None of this code has changed in yarnd at all. Hmmm đ€
Iâm thinking you may have edited. Lemme check actually⊠yarnd (on this branch) will now restore every version, and maybe I might have introduced a bit of a weird behavior there. One momentâŠ
Just saw this user agent popping up:
yarnd/ERSION@OMMIT go1.23.4 (+https://.../twtxt.txt; @username)
ERSION? OMMIT? đ
@doesnm@doesnm.p.psf.lt haha its not coming back. he talked of a stand alone thing like feeds. but not in yarnd
@movq@www.uninformativ.de letâs host yarnd! Or maybe wait until @prologic@twtxt.net return activitypub support which deleted in this commit
i rebuilt the yarnd binary several times and yet the version print is still omitting the first letter lol? wtf
For point 1 and others using the metadata tags. we have implemented them in yarnd as [lang=en][meta=data]
@prologic@twtxt.net All the URL are missing the protocol part (https://) and my markdown parser does not know how to handle but I see yarnd does it just fine.
Yarnd can store password-protected keys without risk because pod owner donât have password, but looks like i/someone should enter password for every message sent or receive? Upd: oh, itâs about ssh? i have key without password lol
Are we talking about profile view heading, heading of posts or inline mentions?
In yarnd I recall there is a setting for changing the heading of posts, but not for the two others as of yet.
I like the hover option for inline mentions. For the other places some like how yarnd does it in two line or â nick (domain.tld) â could also work.
@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.
@bender@twtxt.net @prologic@twtxt.net Iâm not exactly asking yarnd to change. If you are okay with the way it displayed my twts, then by all means, leave it as is. I hope you wonât mind if I continue to write things like 1/4 to mean âfirst out of fourâ.
What has text/markdown got to do with this? I donât think Markdown says anything about replacing 1/4 with ÂŒ, or other similar transformations. Itâs not needed, because ÂŒ is already a unicode character that can simply be directly inserted into the text file.
Whatâs wrong with my original suggestion of doing the transformation before the text hits the twtxt.txt file? @prologic@twtxt.net, I think it would achieve what you are trying to achieve with this content-type thing: if someone writes 1/4 on a yarnd instance or any other client that wants to do this, it would get transformed, and other clients simply wouldnât do the transformation. Every client that supports displaying unicode characters, including Jenny, would then display ÂŒ as ÂŒ.
Alternatively, if you prefer yarnd to pretty-print all twts nicely, even ones from simpler clients, thatâs fine too and you donât need to change anything. My 1/4 -> ÂŒ thing is nothing more than a minor irritation which probably isnât worth overthinking.
@prologic@twtxt.net Iâm not a yarnd user, so it doesnât matter a whole lot to me, but FWIW Iâm not especially keen on changing how I format my twts to work around yarndâs quirks.
I wonder if this kind of postprocessing would fit better between composing (via yarndâs UI) and publishing. So, if a yarnd user types ÂŒ, it could get changed to ÂŒ in the twtxt.txt file for everyone to see, not just people reading through yarnd. But when I type ÂŒ, meaning first out of four, as a non-yarnd user, the meaning wouldnât get corrupted. I can always type ÂŒ directly if thatâs what I really intend.
(This twt might be easier to understand if you read it without any transformations :-P)
Anyway, again, Iâm not a yarnd user, so do what you will, just know you might not be seeing exactly what I meant.
(#2024-09-24T12:34:31Z) WebMentions does would work if we agreed to implement it correctly. I never figured out how yarndâs WebMentions work, so I decide to make my own, which Iâm the only one usingâŠ
I had a look at WebSub, witch looks way more complex than WebMentions, and seem to need a lot more overhead. We donât need near realtime. We just need a way to notify someone that someone they donât know about mentioned or replied to their post.
Weâre happy to report that @burglar@yarnd.lyse.isobeef.org was taken into custody, @prologic@twtxt.net. Always remember, criminals cannot escape the law.
Our investigations revealed: https://lyse.isobeef.org/tmp/twtinjector.tar.bz2
@prologic@twtxt.net Do you have a link to some past discussion?
Would the GDPR would apply to a one-person client like jenny? I seriously hope not. If someone asks me to delete an email they sent me, I donât think I have to honour that request, no matter how European they are.
I am really bothered by the idea that someone could force me to delete my private, personal record of my interactions with them. Would I have to delete my journal entries about them too if they asked?
Maybe a public-facing client like yarnd needs to consider this, but that also bothers me. I was actually thinking about making an Internet Archive style twtxt archiver, letting you explore past twts, including long-dead feeds, see edit histories, deleted twts, etc.
@prologic@twtxt.net sorry but nope. Neither jenny, nor yarnd supports it at all. This was treated as a thread because I picked one of @falsifian@www.falsifian.orgâs twtxts (with the âold subjectâ), and replied to it (hence starting the thread).
@prologic@twtxt.net based on @falsifian@www.falsifian.orgâs findings, I donât believe this is quite accurate.
âyarnd
(_at least_) doesn't support creating such a custom TwtSubject, but it will reply and respect and thread one if one was constructed."
Hmm, but yarnd also isnât showing these twts as being part of a thread. @prologic@twtxt.net you said yarnd respects customs subjects. Shouldnât these twts count as having a custom subject, and get threaded together?
yarnd just doesnât render the subject. Fair enough. Itâs (replyto http://darch.dk/twtxt.txt 2024-09-15T12:50:17Z), and if you donât want to go on a hunt, the twt hash is weadxga: https://twtxt.net/twt/weadxga
@prologic@twtxt.net Specifically, I could view yarndâs copy here, but only as rendered for a human to view: https://twtxt.net/twt/st3wsda
@movq@www.uninformativ.de thanks for getting to the bottom of it. @prologic@twtxt.net is there a way to view yarndâs copy of the raw twt? The edit didnât result in a visible change; being able to see what yarnd originally downloaded would have helped me debug.
@prologic@twtxt.net One of your twts begins with (#st3wsda): https://twtxt.net/twt/bot5z4q
Based on the twtxt.net web UI, it seems to be in reply to a twt by @cuaxolotl@sunshinegardens.org which begins âIâve been sketching outâŠâ.
But jenny thinks the hash of that twt is 6mdqxrq. At least, thereâs a very twt in their feed with that hash that has the same text as appears on yarn.social (except with â instead of â).
Based on this, it appears jenny and yarnd disagree about the hash of the twt, or perhaps the twt was edited (though I canât see any difference, assuming â vs â is just a rendering choice).
@prologic@twtxt.net I believe you when you say registries as designed today do not crawl. But when I first read the spec, it conjured in my mind a search engine. Now I donât know how things work out in practice, but just based on reading, I donât see why it canât be an API for a crawling search engine. (In fact I donât see anything in the spec indicating registry servers shouldnât crawl.)
(I also noticed that https://twtxt.readthedocs.io/en/latest/user/registry.html recommends âThe registries should sync each others user list by using the users endpointâ. If I understood that right, registering with one should be enough to appear on others, even if they donât crawl.)
Does yarnd provide an API for finding twts? Is it similar?
yarnd that's been around for awhile and is still present in the current version I'm running that lets a person hit a constructed URL like
@prologic@twtxt.net Hereâs a log entry:
Aug 27 15:59:43 buc yarnd[1200580]: [yarnd] 2024/08/27 15:59:43 (IP_REDACTED) "GET /external?nick=lovetocode999&uri=https://URL_REDACTED HTTP/1.1" 200 35442 14.554763ms
HTTP 200 status, not 404.
yarnd that's been around for awhile and is still present in the current version I'm running that lets a person hit a constructed URL like
@prologic@twtxt.net This does not seem to fix the problem for me, or Iâve done something wrong. I did the following:
- Pull the latest version from
git(I have commit7ad848, same as ontwtxt.netI believe).
make buildandmake install
- Restart
yarnd
- Refresh cache in Poderator Settings
Yet I still see these bogus /external things on my pod when I hit URLs like the one I sent you recently. When I hit such a URL with curl I think itâs giving an error? But in a web browser, the (buggy) response is the same as it was before I updated.
So, this problem is not fixed for me.
@lyse@lyse.isobeef.org Interesting. The yarnd --help currently says (for me):
-R, --open-registrations whether or not to have open user registgration
meaning it doesnât give the default setting or warn you that you need to use -R=false and not -R false. It also leaves unclear whether --open-registrations false would work or if you need to do --open-registrations=false. Itâs also unclear whether the setting change in the user interface is overridden by the command line arguments, overrides the command line arguments, is persisted across restarts.
Maybe all this is worth posting an issue for additional documentation on the git repo if there isnât one already.
âregistgrationâ is misspelled that way in the help by the way.
There is a bug in yarnd thatâs been around for awhile and is still present in the current version Iâm running that lets a person hit a constructed URL like
YOUR_POD/external?nick=lovetocode999&uri=https://socialmphl.com/story19510368/doujin
and see a legitimate-looking page on YOUR_POD, with an HTTP code 200 (success). From that fake page you can even follow an external feed. Try it yourself, replacing âYOUR_PODâ with the URL of any yarnd pod you know. Try following the feed.
I think URLs like this should return errors. They should not render HTML, nor produce legitimate-looking pages. This mechanism is ripe for DDoS attacks. My pod gets roughly 70,000 hits per day to URLs like this. Many are porn or other types of content I do not want. At this point, if itâs not fixed soon I am going to have to shut down my pod. @prologic@twtxt.net please have a look.
@prologic@twtxt.net Yes, fetching the twt by hash from some service could be a good alternative, in case the twt I have does not @-mention the source. (Besides yarnd, maybe this should be part of the registry API? I donât see fetch-by-hash in the registry API docs.)
@bender@twtxt.net Iâm not a yarnd user, but automatically unfollowing on 404 doesnât seem right. Besides @lyse@lyse.isobeef.orgâs example, I could imagine just accidentally renaming my own twtxt file, or forgetting to push it when I point my DNS to a new web server. Iâd rather not lose all my yarnd followers in a situation like that (and hopefully they feel the same).
@prologic@twtxt.net I donât know if this is new, but Iâm seeing:
Jul 25 16:01:17 buc yarnd[1921547]: time="2024-07-25T16:01:17Z" level=error msg="https://yarn.stigatle.no/user/stigatle/twtxt.txt: client.Do fail: Get \"https://yarn.stigatle.no/user/stigatle/twtxt.txt\": dial tcp 185.97.32.18:443: i/o timeout (Client.Timeout exceeded while awaiting headers)" error="Get \"https://yarn.stigatle.no/user/stigatle/twtxt.txt\": dial tcp 185.97.32.18:443: i/o timeout (Client.Timeout exceeded while awaiting headers)"
I no longer see twts from @stigatle@yarn.stigatle.no at all.
@prologic@twtxt.net There are a lot of logs being generated by yarnd, which is something I havenât seen before too:
Jul 25 14:32:42 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:42 (162.211.155.2) "GET /twt/ubhq33a HTTP/1.1" 404 29 643.251”s
Jul 25 14:32:43 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:43 (162.211.155.2) "GET /twt/112073211746755451 HTTP/1.1" 400 12 505.333”s
Jul 25 14:32:44 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:44 (111.119.213.103) "GET /twt/whau6pa HTTP/1.1" 200 37360 35.173255ms
Jul 25 14:32:44 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:44 (162.211.155.2) "GET /twt/112343305123858004 HTTP/1.1" 400 12 455.069”s
Jul 25 14:32:44 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:44 (168.199.225.19) "GET /external?nick=lovetocode999&uri=http%3A%2F%2Fwww.palapa.pl%2Fbaners.php%3Flink%3Dhttps%3A%2F%2Fwww.dwnewstoday.com HTTP/1.1" 200 36167 19.582077ms
Jul 25 14:32:44 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:44 (162.211.155.2) "GET /twt/112503061785024494 HTTP/1.1" 400 12 619.152”s
Jul 25 14:32:46 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:46 (162.211.155.2) "GET /twt/111863876118553837 HTTP/1.1" 400 12 817.678”s
Jul 25 14:32:46 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:46 (162.211.155.2) "GET /twt/112749994821704400 HTTP/1.1" 400 12 540.616”s
Jul 25 14:32:47 buc yarnd[1911318]: [yarnd] 2024/07/25 14:32:47 (103.204.109.150) "GET /external?nick=lovetocode999&uri=http%3A%2F%2Fampurify.com%2Fbbs%2Fboard.php%3Fbo_table%3Dfree%26wr_id%3D113858 HTTP/1.1" 200 36187 15.95329ms
Iâve seen that nick=lovetocode999 a bunch.
watch -n 60 rm -rf /tmp/yarn-avatar-* in a tmux because all of a sudden, without warning, yarnd started throwing hundreds of gigabytes of files with names like yarn-avatar-62582554 into /tmp, which filled up the entire disk and started crashing other services.
@prologic@twtxt.net Iâm still getting this crap:
abucci@buc:~/yarnd/yarn$ ls -lh /tmp/yarnd-avatar-*
-rw------- 1 abucci abucci 863M Jul 25 14:19 /tmp/yarnd-avatar-1594499680
-rw------- 1 abucci abucci 7.8G Jul 25 14:19 /tmp/yarnd-avatar-2144295337
-rw------- 1 abucci abucci 9.8G Jul 25 14:19 /tmp/yarnd-avatar-2334738193
-rw------- 1 abucci abucci 10G Jul 25 14:14 /tmp/yarnd-avatar-2494107777
-rw------- 1 abucci abucci 9.5G Jul 25 13:59 /tmp/yarnd-avatar-2619243454
-rw------- 1 abucci abucci 11G Jul 25 14:04 /tmp/yarnd-avatar-2922187513
-rw------- 1 abucci abucci 7.5G Jul 25 14:14 /tmp/yarnd-avatar-349775570
-rw------- 1 abucci abucci 10G Jul 25 14:09 /tmp/yarnd-avatar-3640724243
-rw------- 1 abucci abucci 901M Jul 25 14:19 /tmp/yarnd-avatar-3921595598
-rw------- 1 abucci abucci 9.5G Jul 25 13:59 /tmp/yarnd-avatar-609094539
-rw------- 1 abucci abucci 9.3G Jul 25 14:04 /tmp/yarnd-avatar-755173392
-rw------- 1 abucci abucci 7.9G Jul 25 14:09 /tmp/yarnd-avatar-984061000
Something like 100 Gbytes of this junk has accumulated since I updated and re-started the server. Iâm now running the latest version of yarnd, so the update did not fix the problem. Something else is going wrong.
How are temporary files growing to 10 Gbytes in size? The name of the file is âyarn-avatarâ, but why would avatars be so large?
watch -n 60 rm -rf /tmp/yarn-avatar-* in a tmux because all of a sudden, without warning, yarnd started throwing hundreds of gigabytes of files with names like yarn-avatar-62582554 into /tmp, which filled up the entire disk and started crashing other services.
@prologic@twtxt.net Alright, running yarnd 0.15.1 now. I stopped my hack so weâll see if the VPS gets clogged with junk đ
watch -n 60 rm -rf /tmp/yarn-avatar-* in a tmux because all of a sudden, without warning, yarnd started throwing hundreds of gigabytes of files with names like yarn-avatar-62582554 into /tmp, which filled up the entire disk and started crashing other services.
abucci@buc:~/yarnd/yarn$ make preflight
Checking Go version ... [ ERR ]
Go 1.16+ is required, found go1.22.5
FATAL: đ preflight failed
make: *** [Makefile:33: preflight] Error 1
đ€
Hack of the day: running watch -n 60 rm -rf /tmp/yarn-avatar-* in a tmux because all of a sudden, without warning, yarnd started throwing hundreds of gigabytes of files with names like yarn-avatar-62582554 into /tmp, which filled up the entire disk and started crashing other services.