I think something has caused my feed to be in a bad state and is now unpardable😥
I can read this on jenny, but the twt isn’t making it to my own pod. Something has gone really wrong, me thinks.
jenny -f. Have now jennys cache under revision control, automatically commiting changes after each fetch. Let's see if this helps finding a (possible) bug.
@movq@www.uninformativ.de Your scenario would produce observed behaviour, agreed. On the other side I’m sure I’ve set very URL in lasttwt > 1630000000.0 (manually, in my editor).
But I can’t reproduce any weird behaviour right now. I’ve tried to “blackhole” twt.nfld.uk temporarily. That does not have any effect.
I’ve also tried to force twt.nfld.uk to deliver an empty twtxt. That does not have any effect either.
So I guess everything is fine with jenny.
I have wrapped jenny into some shell script to versionize ~/.cache/jenney. This way I have better data if anything unexprected is showing again.
@movq@www.uninformativ.de Today I had unexpected old twts after jenny -f. Have now jennys cache under revision control, automatically commiting changes after each fetch. Let’s see if this helps finding a (possible) bug.
@fastidious@arrakis.netbros.com
I hit RETURN after the subject, and nick […]
I shows fine on jenny. Let’s see how Yarn renders mine above.
Not to boast, but jenny has never failed me 😂. It is so neat, powerful, and streamlined, not even funny! Thank you very much, @movq@www.uninformativ.de for it! 💛
@movq@www.uninformativ.de What do you think about this?
diff –git a/jenny b/jenny
index b47c78e..20cf659 100755
— a/jenny
+++ b/jenny
@@ -278,7 +278,8 @@ def prefill_for(email, reply_to_this, self_mentions):
def process_feed(config, nick, url, content, lasttwt):
nick_address, nick_desc = decide_nick(content, nick)
url_for_hash = decide_url_for_hash(content, url)
new_lasttwt = parse(‘1800-01-01T12:00:00+00:00’).timestamp()
# new_lasttwt = parse(‘1800-01-01T12:00:00+00:00’).timestamp()
new_lasttwt = None
for line in twt_lines_from_content(content):
res = twt_line_to_mail(@@ -296,7 +297,7 @@ def process_feed(config, nick, url, content, lasttwt):
twt_stamp = twt_date.timestamp() if lasttwt is not None and lasttwt >= twt_stamp: continueif twt_stamp > new_lasttwt:
if not new_lasttwt or twt_stamp > new_lasttwt:
new_lasttwt = twt_stamp mailname_new = join(config['maildir_target'], 'new', twt_hash)
@movq@www.uninformativ.de
When I look in my twtxt maildir for duplicated messages they all have F in their name.
I see that in mail_file_exists jenny does not consider flagged messages when testing if a message already exists.
I understand that looking up only 12 combinations is faster than reading huge directories. I’m astonished that globbing would be slower. Learning something new every day…
@prologic@twtxt.net @movq@www.uninformativ.de
Exactly, you see correct UTF-8 encoded version (even with content-type: text/plain leaving out charset declaration).
After following utf8test twtxt myself I now see that jenny does not handle it as UTF-8 when charset is missing from HTTP header, just like @quark@ferengi.one has observed.
So should jenny treat twtxt files always as UTF-8 encoded? I’m not sure about this.
I believe Yarn assumes utf-8 anyway which is why we don’t see encoding issues
Are you sure? I think in #kj2c5oa @quark@ferengi.one mentioned exactly that problem. My logs say “jenny/latest” was fetching my twtxt for quark.
All I did to fix this was to adding AddCharset utf-8 .txt to .htaccess. Especially I did not change encoding of stackeffect.txt.
Don’t miss step 0 (I should have made this a separate point): having a meta header promising appending twts with strictly monotonically increasing timestamps.
(Also, I’d first like to see the pagination thingy implemented.)
In jenny I would like to see “don’t process previously fetched twts” AKA “Allow the user to archive/delete old twts” feature implemented ;-)
@prologic@twtxt.net
Awesome! Hope he will reply as fast as he did with me. And yes about the noise and length. Not an issue on jenny, or my own pod (I have it set to 2048, I think), but yes, ephemeral is right.
@jlj@twt.nfld.uk
Yup, jenny. She is so cool! 😋
@movq@www.uninformativ.de How is deletion supposed to work? In mutt I deleted by D~d>1m and then fetched by !jenny -f. This brings back all deleted twts. Isn’t lastmods used to skip older twts?
@fastidious@arrakis.netbros.com
The signs show fine on jenny. So, it is a display thing. Probably related to Markdown.
FOLLOW: @xuu@txt.sour.is from @quark@ferengi.one using jenny/latest
@prologic@twtxt.net
Jenny populates Mutt’s subject with the entire twt. That makes for very, very long subject lines.
@movq@www.uninformativ.de What I would really like to see if jenny could use HTTP range requests to fetch only new content.
E.g. it could refetch only last twtext line of last request to make sure it starts off at correct position.
I guess there are twtxt files that only grow, then this will save a lot bandwidth over time.
For twtxt files that “forget” older content this situation would be detected and as a fallback the whole twtxt file could then be fetched.
@movq@www.uninformativ.de
Fair enough, I will modify my cron job to match. When I come across edited twts, I just delete both knowing jenny will fetch the right one next iteration. I like keeping things tidy. 😊
@movq@www.uninformativ.de what is your cron job repeat time for jenny? Currently I have mine to every minute, and while it allows me to participate fairly quick on conversations it has some drawbacks: it captures every single edited twt, so I end up with seemingly the same twt, but not quite—as it has minor edits, etc. So, “repeats”. Perhaps setting cron to check every 5 minutes or so is best?
FOLLOW: @xuu@txt.sour.is from @stackeffect@twtxt.stackeffect.de using jenny/latest
@lyse@lyse.isobeef.org Unless you are stripping stuff on your twts, there is no much to implement. Things will be bold , italics , underlined , and so on, on a client that can render them. Since jenny uses Mutt, I can use my own regex in it to color them as I like. That’s pretty much it.
@movq@www.uninformativ.de Goryon parsing is broken. Yarn shows it as I see it on jenny. Exactly the same.
@movq@www.uninformativ.de To clarify, Markdown is just text. 😊 I can do bolding, link things, and if single return multilines ever comes to jenny, I would be able to do bulleted and numbered lists.
Headings are OK tooThe only things—that I know of—that doesn’t work is “> “, but I can use “>”, like so:
D’oh!
So, jenny allows me to write Markdown almost just fine!
Boy, do I love jenny/latest, and Neomutt! 😊
Only thing jenny is missing, to be completely happy, @movq@www.uninformativ.de already knows about. 🙈
@movq@www.uninformativ.de This is my env, on language:
LANGUAGE=en_US.UTF-8
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
I had to explicitly set it on the cron job to make jenny work.
@quark@ferengi.one If so, @movq@www.uninformativ.de, not quite https://www.uninformativ.de/git/jenny/commit/4a02eeec58317107c07e759733312d168e319f17.html#h0-0-5... Markdown needs single new lines for many things. Bulleted, numbered, code, etc. need them.
@movq@www.uninformativ.de I am getting this when I run it on cron (extra lines in between becuase otherwise jenny will make them a mash):
Traceback (most recent call last):
File “/home/quark/jenny/jenny”, line 565, in
if not retrieve_all(config):
File “/home/quark/jenny/jenny”, line 373, in retrieve_all
refresh_self(config)
File “/home/quark/jenny/jenny”, line 294, in refresh_self
process_feed(config, config[‘self_nick’], config[‘self_url’], content)
File “/home/quark/jenny/jenny”, line 280, in process_feed
fp.write(mail_body)
File “/usr/lib/python3.8/encodings/iso8859_15.py”, line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: ‘charmap’ codec can’t encode character ‘\U0001f4e3’ in position 31: character maps to
@quark@ferengi.one By the way, you reply did not showed as a reply to a conversation on jenny this time. I wonder is something broke with the latest changes.
FOLLOW: @xuu@txt.sour.is from @vain-test@www.uninformativ.de using jenny/latest
How would jenny handle multiline twts? Let’s find out! - One - Two - Three And: 1. One 2. Two 3. Three
@quark@twtxt.netbros.com I have removed the cron job, and added jenny -f to the small script that starts mutt with the .muttrc-jenny file. That way when I open, it refresh the feed before. Let’s see how it goes.
Seeing repeated twts again. Only thing I am doing different is running jenny every 5 minutes on a cron job. I really don’t know what to think.
@movq@www.uninformativ.de I got it! I had jenny under my ~/.local/bin/, and didn’t realised the one on the repo changed. D’oh! I am symlinking it now, so this doesn’t happen again. I love autocomplete!
@movq@www.uninformativ.de I did a git pull but that isn’t pulling jenny-posting.eml. Am I missing something?
@movq@www.uninformativ.de I noticed that if I ran jenny -f on a cron job, and kept mutt open, messages will get duplicated (same message, time, different message-id). I run it now on a small script before opening mutt.
@movq@www.uninformativ.de Ah, I see. I mean, it is not biggie, as normally I just reply to people, so that part works beautifully. A vi/vim script would work, but it is not universal. What if I use joe, or Emacs, or nano? Meh, jenny is awesome as is, thank you for it! ☺️
I need someone with a nice, and clean twtxt.txt feed. One that doesn’t include much–if any–images, and in which twts have more content. Just looking to see how formatting is handled in jenny and how to tweak it to my liking.
I might have figure out what was causing duplicated entries here. I think running jenny -f while mutt is open was causing it. I have disabled the cron job, and it doesn’t seem to be happening anymore. Let’s see how accurate my theory is. 😂
@movq@www.uninformativ.de is there a better way to mention others while using jenny?
❓ How do I mention someone while using jenny? I wonder if I have to use the whole @nick@nick… 🤔
@movq trying your jenny/latest. I am loving it so far!
Another one from jenny (why don’t you love me Jenny?!)
This is a new twtxt from jenny.
This is a test from jenny.
How to Do Nothing: Jenny Odell’s case for resisting “The Attention Economy” / Boing Boing https://boingboing.net/2019/04/09/resisting-attention-economy.html
Jenny Owen’s website - Gosper’s Algorithm Explained https://jennyhasahat.github.io/hashlife.html
A look at Barbara Kruger and Jenny … https://catnormoyle.com/2011/02/02/a-look-at-barbara-kruger-and-jenny-holzers-use-of-typographic-art/