@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.
@bender@twtxt.net On twtxt, I follow all feeds that I can find (there are some exceptions, of course). Thereās so little going on in general, it hardly matters. š
And I just realized: Muttās layout helps a lot. Skimming over new twts is really easy and itās not a big loss if there are a couple of shitposts⢠in my ātimelineā. This is very different from Mastodon (both the default web UI and all clients Iāve tried), where the timeline is always huge. Posts take up a lot of space on screen. Makes me think twice if I want to follow someone or not. š
(I mostly only follow Hashtags on Mastodon anyway. Itās more interesting that way.)
@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?
I just manually followed the steps at https://dev.twtxt.net/doc/twthashextension.html and got 6mdqxrq. I wonder what happened. Did @cuaxolo@sunshinegardens.org edit the twt in some subtle way after twtxt.net downloaded it? I couldnāt spot a diff, other than ā appearing as ā on yarn.social, which I assume is a transformation done by twtxt.net.
@prologic@twtxt.net How does yarn.socialās API fix the problem of centralization? I still need to know whose API to use.
Say I see a twt beginning (#hash) and I want to look up the start of the thread. Is the idea that if that twt is hosted by a a yarn.social pod, it is likely to know the thread start, so I should query that particular pod for the hash? But what if no yarn.social pods are involved?
The community seems small enough that a registry server should be able to keep up, and I can have a couple of others as backups. Or I could crawl the list of feeds followed by whoever emitted the twt that prompted my query.
I have successfully used registry servers a little bit, e.g. to find a feed that mentioned a tag I was interested in. Was even thinking of making my own, if I get bored of my too many other projects :-)
@movq@www.uninformativ.de Thanks, it works!
But when I tried it out on a twt from @prologic@twtxt.net, I discovered jenny and yarn.social seem to disagree about the hash of this twt: https://twtxt.net/twt/st3wsda . jenny assigned it a hash of 6mdqxrq but the URL and prologicās reply suggest yarn.social thinks the hash is st3wsda. (And as a result, jenny āfetch-context didnāt work on prologicās twt.)
jenny --fetch-context
š
@movq@www.uninformativ.de I think you are worrying about a non-issue. I see nothing to do on your example twt, because there is no context. Furthermore, if I wanted to follow the feed, everything I need is already on that twt example. :-)
@falsifian@www.falsifian.org @bender@twtxt.net I pushed an alternative implementation to the fetch-context
branch. This integrates the whole thing into mutt/jenny.
You will want to configure a new mutt hotkey, similar to the āreplyā hotkey:
macro index,pager <esc>C "\
<enter-command> set my_pipe_decode=\$pipe_decode nopipe_decode<Enter>\
<pipe-message> jenny -c<Enter>\
<enter-command> set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<Enter>" \
"Try to fetch context of current twt, like a missing root twt"
This pipes the mail to jenny -c
. jenny will try to find the thread hash and the URL and then fetch it. (If thereās no URL or if the specific twt cannot be found in that particular feed, it could query a Yarn pod. That is not yet implemented, though.)
The whole thing looks like this:
https://movq.de/v/0d0e76a180/jenny.mp4
In other words, when thereās a missing root twt, you press a hotkey to fetch it, done.
I think I like this version better. š¤
(This needs a lot of testing. š)
@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.)
@movq@www.uninformativ.de I donāt know if Iād want to discard the twts. I think what Iām looking for is a command ājenny -g https://host.org/twtxt.txtā to fetch just that one feed, even if itās not in my follow list. I could wrap that in a shell script so that when I see a twt in reply to a feed I donāt follow, I can just tap a key and the feed will get added to my maildir. I guess the script would look for a mention at the start of a selected twt and call jenny -g on the feed.
@movq@www.uninformativ.de Is there a good way to get jenny to do a one-off fetch of a feed, for when you want to fill in missing parts of a thread? I just added @slashdot@feeds.twtxt.net to my private follow file just because @prologic@twtxt.net keeps responding to the feed :-P and I want to know what heās commenting on even though I donāt want to see every new slashdot twt.
@falsifian@www.falsifian.org I do like to think of that recommendation as sarcastic stab at twt-errrās rules š so, IMO the more a twt exceeds the recommended limit the merrier! š
Hmmm Iām a little concerned, as Iām seeing quite a few feeds I follow in an error state:
Iām not so concerned with the 15x context deadline exceeded
but more concerned with:
aelaraji@aelaraji.com Unfollow (6 twts, Last fetched 5m ago with error:
dead feed: 403 Forbidden
x4 times.)
And:
anth@a.9srv.net Unfollow (1 twts, Last fetched 5m ago with error:
Get "http://a.9srv.net/tw.txt": dial tcp 144.202.19.161:80: connect: connection refused
x3733 times.)
Hmmm, maybe the stats are a bit off? š¤
twts are taking a very long time to post from yarn
after the latest upgrade. Like a good 60 seconds.
receieveFile()
)? š¤
@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.
This is a test. I am not seeing twts from @stigatle@yarn.stigatle.no and it seems like @prologic@twtxt.net might not be seeing twts from me. Do people see this?
@prologic@twtxt.net I am not seeing twts from @stigatle@yarn.stigatle.no anymore. Are you seeing twts from me?
@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.
There are also a bunch of log messages scrolling by. Iāve never seen this much activity in the log:
Jul 25 01:37:39 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:39 (149.71.56.69) "GET /external?nick=lovetocode999&uri=https://pagez.co.uk/services/your-own-100-fully-owned-online-vi>
Jul 25 01:37:39 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:39 (162.211.155.2) "GET /twt/112135496802692324 HTTP/1.1" 400 12 826.65µs
Jul 25 01:37:40 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:40 (51.222.253.14) "GET /conv/muttriq HTTP/1.1" 200 36881 20.448309ms
Jul 25 01:37:40 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:40 (162.211.155.2) "GET /twt/112730114943543514 HTTP/1.1" 400 12 663.493µs
Jul 25 01:37:40 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:40 (27.75.213.253) "GET /external?nick=lovetocode999&uri=http%3A%2F%2Falfarah.jo%2FHome%2FChangeCulture%3FlangCode%3Den>
Jul 25 01:37:40 buc.ci yarnd[829]: time="2024-07-25T01:37:40Z" level=error msg="http://bynet.com.br/log_envio.asp?cod=335&email=%21%2AEMAIL%2A%21&url=https%3A%2F%2Fwww.almanacar.c>
Jul 25 01:37:40 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:40 (162.211.155.2) "GET /twt/111674756400660911 HTTP/1.1" 400 12 545.106µs
Jul 25 01:37:40 buc.ci yarnd[829]: time="2024-07-25T01:37:40Z" level=warning msg="feed FetchFeedRequest: @<lovetocode999 http://alfarah.jo/Home/ChangeCulture?langCode=en&returnUrl>
Jul 25 01:37:41 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:41 (162.211.155.2) "GET /twt/112507964696096567 HTTP/1.1" 400 12 838.946µs
Something really weird is going on?
The delete twt is not working.
So updated. Seems to duplicate here in the ui. And what is this āRead Moreā on every twt now?
By the way, @xuu@txt.sour.is, it looks like youāre running an old, buggy version of yarnd, that duplicates twts in the feed on edit.
Testing something.. can someone mention me in a twt?
@prologic@twtxt.net LOL fare enough! Iāll keep that in mind fir future twts ⦠I hope invidious instances are ok š¤£
@prologic@twtxt.net I was replaying to your twt and thing got too long and messy, so I emailed you. I hope you donāt mind.
This is a test twt to see if :set formatoptions-=t
in vim would stop the annoying line breaking Iāve been having in my twts⦠And I guess, thatās it! Things are looking OK on my end.
How about if I add in a separate paragraph like this one? Did hit return twice for it. I hope it isnāt breaking anything else.
@bender@twtxt.net /me taking notes for future twts ā¦
Sorry for the confusion lads! o.oā
@bender@twtxt.net TBH It was quite late (where I am) when I wrote that twt, way past 2 AM ⦠š
But there wasnāt much activity during the day either. It got me wondering if there was something wrong with my cron task for fetching your feeds.
Maybe itās just the weekends. + there isnāt much bloat content around this space as on the usual platforms anyway.
Is Yarn.social dead or just too niche? (uyrrria) š§
Hah 𤣠@dfaria@twtxt.net Your @dfaria.eu@dfaria.eu feed really does consume about >50% of a āDiscoverā search with filters āWithout repliesā and āHide my postsā. š¤£
36/2 = 18
at 25 Twts per page, thatās about ~72% of the search/view real estate youāre taking up! wow 𤩠ā Iād be very interested to hear what ideas you have to improve this? Those search filters were created so you could sift through either your own Timeline or the Discover view easily.
@bender@twtxt.net Yeah I know! š Iāve checked their blog and mastodon earlier. Thatās what inspired me to replay to their twt, just in case.
I might have found the actual source of my problem.
Jenny uses an .eml file when composing a twt ā¦
and vim kinda auto formats it and inserts in those line breaks every ~70 character.
Then, I stumbled upon this link where Where someone reports that saving a .eml into a .txt might⦠corrupt the data?
@prologic@twtxt.net Thank
you! and hereās a twt with the said random characters, since Iāve been
cleaning them up manually, earlier before scp-ing my twtxt.txt file. And
maybe a screenshot of how things look in my editor?
Those new lines are added automatically as I type (except for the ones
after the screenshot.
@bender@twtxt.net Iām using both machines in English.
Checked my locale and it spits out:
LANG=en_US.UTF-8
LC_CTYPE=āen_US.UTF-8ā
LC_NUMERIC=āen_US.UTF-8ā
LC_TIME=āen_US.UTF-8ā
LC_COLLATE=āen_US.UTF-8ā
LC_MONETARY=āen_US.UTF-8ā
LC_MESSAGES=āen_US.UTF-8ā
LC_PAPER=āen_US.UTF-8ā
LC_NAME=āen_US.UTF-8ā
LC_ADDRESS=āen_US.UTF-8ā
LC_TELEPHONE=āen_US.UTF-8ā
LC_MEASUREMENT=āen_US.UTF-8ā
LC_IDENTIFICATION=āen_US.UTF-8ā
LC_ALL=
š¤·š½ ⦠and that only happens when vi, vim or nvim are launched by Jenny to compose a twt.
@prologic@twtxt.net it actually does!
But I broke something trying to get rid of the random characters showing on my twts as mentioned here #k7tcqwq.
I taught it was as easy as swapping the ā\u2028ā in jennyās new_twt_from_file function but thereās a reason Iām not a developer (yet) š
It kinda got rid of them in a way but broke the new lines in the process. So I put things back the way the were till I figure out something else.
@lyse@lyse.isobeef.org Thank you! and sorry, Iāve just noticed your twt. About the funky characters, itās probably something off with my editor, Iāve just ssh-ed from mobile and checked my .txt file, it looked like that when I cat the file but normal on neoutt. Iāll try and see whatās the deal first thing in the morning. (/me wondering if the same thing would happen with this twt)
Hey @sorenpeter@darch.dk, Iām sorry to tell you, but the prev
field in your feedās headers is invalid. š
First, it doesnāt include the hash of the last twt in the archive. Second, and thatās probably more important, it forms an infinite loop: The prev
field of your main feed specifies http://darch.dk/twtxt-archive.txt and that file then again specifies http://darch.dk/twtxt-archive.txt. Some clients might choke on this, mine for example. š Iāll push a fix soon, though.
For reference, the prev
field is described here: https://dev.twtxt.net/doc/archivefeedsextension.html
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
@shreyan@twtxt.net What do you mean when you say federation protocol?
Either use webfinger for identity like mastodon etc. or use ATproto from Bluesky (or both?)
We can use webmentions or create our own twt-mentions for notifying someones feed (WIP code at: https://github.com/sorenpeter/timeline/tree/webmention/views)
Iām not sure we need much else. I would not even bother with encryption since other platforms does that better, and for me twtxt/yarn/timeline is for making things public
Twtxt spec enhancement proposal thread š§µ
Adding attributes to individual twts similar to adding feed attributes in the heading comments.
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
The basic use case would be for multilingual feeds where there is a default language and some twts will be written a different language.
As seen in the wild: https://eapl.mx/twtxt.txt
The attributes are formatted as [key=value]
They can show up in the twt anywhere it is not enclosed by another element such as codeblock
or part of a markdown link.
>
?
@sorenpeter@darch.dk this makes sense as a quote twt that references a direct URL. If we go back to how it developed on twitter originally it was RT @nick: original text
because it contained the original text the twitter algorithm would boost that text into trending.
i like the format (#hash) @<nick url> > "Quoted text"\nThen a comment
as it preserves the human read able. and has the hash for linking to the yarn. The comment part could be optional for just boosting the twt.
The only issue i think i would have would be that that yarn could then become a mess of repeated quotes. Unless the client knows to interpret them as multiple users have reposted/boosted the thread.
The format is also how iphone does reactions to SMS messages with +number liked: original SMS
>
?
@eapl.me@eapl.me this is interesting. Is the square bracket something used in the wild for multilingual twts?
@prologic@twtxt.net what are your thoughts? Should we extend the parser to handle [lang] and [boost] ? Or a generic attribute spec. Single word is a boolean attribute. And one with an =
is a string key/value.
Un twt pour tester mon nouveau client qui doit māafficher le nombre de twt publiĆ©s
Iāve been thinking of how to notify someone else that youāve replied to their twts.
Is there something already developed, for example on yarn.social?
Letās say I want to notify https://sour.is/tiktok/America/Denver.txt that Iāve replied to some twt. They donāt follow me back, so they wonāt see my reply.
I would send my URL to, could be, https://sour.is/tiktok/replies?url=MY_URL and theyāll check that I have a reply to some of their twts, and could decide to follow me back (after seeing my twtxt profile to avoid spam)
Another option could be having a metadata like
follow-request=https://sour.is/tiktok/America/Denver.txt TIMESTAMP_IN_SECONDS
that the other client has to look for, to ensure that the request comes from that URL (again, to avoid spam)
This could be deleted after the other .txt has your URL in the follow list, or auto-expire after X days to clean-up old requests.
What do you think?
My cli work-apps: note, plan, dlog (daily log), status and twt.
Early morning twt from me
Hmm when I said āWireguard is kind of coolā in this twt now Iām not so sure š¢ I canāt get āstable tunnelsā to freakān stay up, survive reboots, survive random disconnections, etc. This is nuts š¤¦āāļø
Oh btw all, Fairphone 5 is out https://www.fairphone.com/en/, I remember @jlj@twt.nfld.uk was interested in it! :D