@prologic@twtxt.net @bender@twtxt.net is it normal that twtxtappās <tab> (white space) between the timestamps and posts look a bit shorter than the ones from jenny? just noticed that and thought maybe itās someting youād want to know.
The Rectangle highlights the whitespaces from Jenny and the Ellipse is over the ones from twtxtapp.

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.
This is how it shows in jenny:

I donāt know why, but either Jennyās behaving different after the last update, or I Fucked up something and I have no Idea how to fix it.
Symptoms:
- I donāt have copies of my New Posts in my Maildir after posting them (as in I donāt see them in neomuttās inbox).
- Nor fetch or fetch context (if they get replied to) seem to fech them auto-magically.
- I had to do a full whipe (~/Maildir/twtxt and ~/.cache/jenny) in order to get them fetched back.
Hmm, or maybe it is jenny, but I wouldnāt know how to start researching that. Maybe you could help, @lyse@lyse.isobeef.org?
šØ jenny was broken due to the switch to v2 hash tags.
I pushed a hotfix to main, but this needs a few more test cases. Iāll do that tomorrow.
Shit. Jenny is broken. š„“
@tftp@tilde.town mentioning in here requires he whole shebang. With jenny, if using vim, there is a key combination:
Nick name completions: Allows you to use ^X ^U to turn verbatim nick names into full twtxt mentions. For example, typing ācathā and then pressing ^X ^U will turn ācathā into a full mention, like ā@ā. (This function will read the contents of your ā~/.config/jenny/followā file.)
@movq@www.uninformativ.de cd ~/jenny && watch -n 25 git pull. :-D
@prologic@twtxt.net @lyse@lyse.isobeef.org Yay! Time for a new jenny release, then. š
yey! I remembered how to prune my Jenny/Neomutt Twtxt feed! (I only keep 6 months worth of Twts) Now, I need to figure out how to set up a macro for that.
@rdlmda@rdlmda.me I am reasonably happy with jenny. If I find time for a twtxt project, I would like to make a web page that works as follows: you point it to your own twtxt feed (as a URL parameter), and then it shows you all the feeds referenced by your ā# follow =ā lines. So, if I put this up, anyone could use it to view their own feed, with no login required. (Probably a difficult project. For example, Iād want to make sure the backend couldnāt be tricked into helping ddos a web server by trying to fetch lots of āfeedsā from it. Anyway, I have too many other projects.)
@bender@twtxt.net Oops, missed this. I havenāt done any client work since my brief experiment modifying jenny a while back.
@bender@twtxt.net Sweet! So glad that Twtxt still lives, and that everyoneās been keeping busy. My main computer is broken, Itāll take me some time to setup jenny on the R-pi and try to catch-up.
Have a blessed week-end everyone!
@lyse@lyse.isobeef.org Damn. That was stupid of me. I should have posted examples using 2026-03-01 as cutoff date. š
In my actual test suite, everything uses 2027-01-01 and then I have this, hoping that thatās good enough. š„“
def test_rollover():
d = jenny.HASHV2_CUTOFF_DATE
assert len(jenny.make_twt_hash(URL, d - timedelta(days=7), TEXT)) == 7
assert len(jenny.make_twt_hash(URL, d - timedelta(seconds=3), TEXT)) == 7
assert len(jenny.make_twt_hash(URL, d - timedelta(seconds=2), TEXT)) == 7
assert len(jenny.make_twt_hash(URL, d - timedelta(seconds=1), TEXT)) == 7
assert len(jenny.make_twt_hash(URL, d, TEXT)) == 12
assert len(jenny.make_twt_hash(URL, d + timedelta(seconds=1), TEXT)) == 12
assert len(jenny.make_twt_hash(URL, d + timedelta(seconds=2), TEXT)) == 12
assert len(jenny.make_twt_hash(URL, d + timedelta(seconds=3), TEXT)) == 12
assert len(jenny.make_twt_hash(URL, d + timedelta(days=7), TEXT)) == 12
(In other words, I donāt care as long as itās before 2027-01-01. šš )
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.
@aelaraji@aelaraji.com yeah, it looks tedious because it is. LOL. I can twt no matter where I am because a) with Yarn is as easy as opening a web browser, and b) with jenny is as easy at SSHing to my VPS. But, the keyword is fun. Thatās what matters!
@movq@www.uninformativ.de streamlining jenny.vim?
index adc0db9..cb54abc 100644
--- a/vim/ftdetect/jenny.vim
+++ b/vim/ftdetect/jenny.vim
@@ -1 +1,2 @@
au BufNewFile,BufRead jenny-posting.eml setl completefunc=jenny#CompleteMentions fo-=t wrap
+au BufRead,BufNewFile jenny-posting.eml normal $
# url = field in your feed. I'm not sure if you had already, but the first url field is kind of important in your feed as it is used as the "Hashing URI" for threading.
@prologic@twtxt.net @movq@www.uninformativ.de My metadata only has my HTTPS URL. I didnāt consider having multiple. I was talking about my config.yaml. Jenny sounds like a good client, so I might give that a try.
@dce@hashnix.club Ah, oh, well then. š„“
My client supports that, if you set multiple url = fields in your feedās metadata (the top-most one must be the āmainā URL, that one is used for hashing).
But yeah, multi-protocol feeds can be problematic and some have considered it a mistake to support them. š¤
@kingdomcome@yarn.girlonthemoon.xyz I REPLIED TO THIS AND NOW ITāS NOT SHOWING WTFFFF anyway what i said was that i have some fun stuff in the daily note template already like ASCII weather forecast from wttr AND a jenny holzer quote from fortune!!! i should add more fun stuff!!!
setpriv on Linux supports Landlock.
@prologic@twtxt.net Yeah, itās not a strong sandbox in jennyās case, it could still read my SSH private key (in case of an exploit of some sort). But I still like it.
I think my main takeaway is this: Knowing that technologies like Landlock/pledge/unveil exist and knowing that they are very easy to use, will probably nudge me into writing software differently in the future.
jenny was never meant to be sandboxed, so it canāt make great use of it. Future software might be different.
(And this is finally a strong argument for static linking.)
PSA: setpriv on Linux supports Landlock.
If this twt goes through, then restricting the filesystem so that jenny can only write to ~/Mail/twt, ~/www/twtxt.txt, ~/.jenny-cache, and /tmp works.
I have zero mental energy for programming at the moment. š«¤
Iāll try to implement the new hashing stuff in jenny before the ādeadlineā. But I donāt think youāll see any texudus development from me in the near future. ā¹ļø
@andros@twtxt.andros.dev You know, Iād really love to see how/if location-based addressing works in practice. I might fork jenny to judy and run both things in parallel for a while ⦠š¤
tt2 from @lyse and Twtxtory from @javivf?
@prologic@twtxt.net I have:
- jenny
- buckketās original (patched, or not)
- tt/tt2
- Timeline
- Twtxtory
- Yarnd
@prologic@twtxt.net well, this fork will work. I an fork this one with jenny, not so with Yarnd.
Interesting factoid⦠By inspecting my āfollowersā list every now and again, I can tell who uses a client like jenny, tt or any other client where fetches are driven by user interactions of invoking the app. What do we call this type of client? Hmmm š¤ Then I can tell who uses yarnd because they are āseenā more frequently š¤£
@bender@twtxt.net It isnāt @aelaraji@aelaraji.comās fault at all here š I think the only way I can improve this somewhat is by introducing a similar convergence that I believe @movq@www.uninformativ.de built for Jenny which would fetch the mentioned feed temporarily to see if it contains the subject being replied to (in case itās not in the cache).
Iāll think about doing this too, but I have to do it carefully so as not to cost too much in terms of resources or performanceā¦
@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)
@movq@www.uninformativ.de json and database put together sounds terrifying. i must try jenny
jenny really isnāt well equipped to handle edits of my own twts.
For example, in 2021, this change got introduced:
https://www.uninformativ.de/git/jenny/commit/6b5b25a542c2dd46c002ec5a422137275febc5a1.html
This means that jenny will always ignore my own edits unless I also manually edit its internal ājson databaseā. Annoying.
That change was requested by a user who had the habit of deleting twts or moving them to another mailbox or something. I think that person is long gone and I might revert that change. š¤
si4er3q. See https://twtxt.dev/exts/twt-hash.html, a timezone offset of +00:00 or -00:00 must be replaced by Z.
Scratch that, no bug in jenny. Thereās actually a test case for this. Python normalizes -00:00 to +00:00, so the negative case never happens.
@david@collantes.us @andros@twtxt.andros.dev The correct hash would be si4er3q. See https://twtxt.dev/exts/twt-hash.html, a timezone offset of +00:00 or -00:00 must be replaced by Z.
(That said, thereās a bug in jenny as well. It only replaces +00:00, not -00:00. š¤”)
@movq@www.uninformativ.de completely off-topic, this conversation is so broken at twtxt.net! With this one, itās like the third one that has issues on Yarnd, but it is all fine for me on jenny.
i have got to try the jenny yarn client it looks so fun and old schoolā¦ā¦..
@andros@twtxt.andros.dev jenny can and, IIRC, Yarn also supports it. š¤
I think @movq@www.uninformativ.de removed support for it in jenny. š«
@andros@twtxt.andros.dev I believe you have just reproduced the bug⦠it looks like youāve replayed to a twt but the hash is wrong. I can see the hash here from Jenny, but it doesnāt look like it corresponds to any{twt,thing}. if you check it out on any yarn instance it wonāt look like a replay.
@andros@twtxt.andros.dev hmmm⦠pretty strange, isnāt it? replaying to threads worked perfectly, Iāve only had that problem trying to replay to a twt that was part of a thread.
As an example, this one is a Fork-Replay from Jenny. My next twt will be a replay to this exact twt but from twtxt-el as a test.
Then Iāwill file an issue if it doesnāt behave the way itās supposed to. Cheers!
Yes, error on my side. All of the sudden jenny refused to show me my own posts. Had to recreate mailbox (got rid of cache too) to make it work.
@prologic@twtxt.net LMAO thats so funny i need to try jenny i was trying it but i couldnāt figure out my twtxt sync script for it
trying to set up @movq@www.uninformativ.deās jenny client⦠currently trying to find where twtxt files are stored on the server so i can set up the scp script i have for this
I mean bug where jenny donāt know about these idās and tried to request from twtxt.net (prologic sent access logs)
@doesnmppsflt@doesnm.p.psf.lt Not sure which bug youāre referring to. š¤ (Did I forget?)
Those long IDs like (#113797927355322708) are simply part of that feed. Looks like the author just dumps ActivityPub IDs into twtxt. I think this used to work in the past, but the corresponding spec (https://twtxt.dev/exts/hash-tag.html) has been deprecated and jenny doesnāt support ā actually, jenny never supported that.
jenny can only group threads by exactly one criterium (because it writes a Message-ID into the mail file) and thatās the regular twt hash. So, anything else, like people doing ā#CoolTopicā, isnāt possible.
Hello @movq@uninformativ.de . Did you fixed jenny bug which causes fetching long ids from yarn instances on feeds like https://ciberlandia.pt/@marado.txt ? Iām asking because i want to store links in brackets on some of my posts and donāt want to confuse jenny users
@<url> form of mentions. Strictly require that all mentions include a nickname/name; i.e: @<name url>.
For the record; we consider the new authority on the Twtxt spec(s) going forward (has been for some years actually) to be implementers / primary maintainers of widely used clients. To date that is:
yarnd@prologic@twtxt.net (me and others)
jenny@movq@www.uninformativ.de
tt@lyse@lyse.isobeef.org
Timeline@darch@neotxt.dk / @eapl.me@eapl.me and others
twtxt-el? ā @andros@twtxt.andros.dev
Full list of supported and widely used clients can be found at https://twtxt.dev/clients.html ā which I note a few above are actually missing from this page haha š¤£
:set spell to catch up with the typos
Done! but then again, thereās something weired going on with my muttrc-jenny config file xD ⦠Iām seeing a bunch of ????s in the TUIās subjects section⦠checking a couple of twtās headers I see somethings like \360\237\230\261 (escapesd unicode?), sometime that shows in the mail body and sometimes not.
Could it have something to do with the remote/pubnix machinās Locale or something? one more thing to digg through š«
