🧮 USERS:1 FEEDS:6 TWTS:660 ARCHIVED:124286 CACHE:10259 FOLLOWERS:24 FOLLOWING:45
**
🧮 USERS:3 FEEDS:6 TWTS:234 BLOGS:0 ARCHIVED:56804 CACHE:2094 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:234 BLOGS:0 ARCHIVED:56804 CACHE:2094 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:657 ARCHIVED:124059 CACHE:8773 FOLLOWERS:23 FOLLOWING:45
@movq@www.uninformativ.de i believe the delete of any twt was a tech limitation with retwt parser not knowing where in the file a twt came from. lextwt tracks the bytes in file where a twt was read from. which could be used to delete a twt from file.. in theory.
I am in the camp of wishing i could delete arbitrary twts.
**
🧮 USERS:3 FEEDS:6 TWTS:233 BLOGS:0 ARCHIVED:56550 CACHE:2066 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:233 BLOGS:0 ARCHIVED:56550 CACHE:2066 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:651 ARCHIVED:123454 CACHE:6499 FOLLOWERS:23 FOLLOWING:45
**
🧮 USERS:3 FEEDS:6 TWTS:232 BLOGS:0 ARCHIVED:56318 CACHE:2033 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:232 BLOGS:0 ARCHIVED:56318 CACHE:2033 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44582 ARCHIVED:122836 CACHE:10043 FOLLOWERS:23 FOLLOWING:45
@movq@www.uninformativ.de I don’t by your example (rebasing behaviour), sorry.
Writing a twt is more similiar to writing a commit message. Git does quite some checks to detect that nothing new was written and happily discards a commit if you just leave the editor. You don’t need any special action, just quit your editor. Git will take care for the rest.
But it’s OK as it is. I just didn’t expect that I have to select and delete all to discard a twt. So it’s C-x h C-w C-x C-c for me.
@darch@twtxt.net
Getting this when trying to use it:
error executing template timeline: template: timeline:131:43: executing "twt" at <formatForDateTime>: wrong number of args for formatForDateTime: want 2 got 1
**
🧮 USERS:3 FEEDS:6 TWTS:231 BLOGS:0 ARCHIVED:56056 CACHE:2038 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:231 BLOGS:0 ARCHIVED:56056 CACHE:2038 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44581 ARCHIVED:122474 CACHE:9991 FOLLOWERS:23 FOLLOWING:45
**
🧮 USERS:3 FEEDS:6 TWTS:230 BLOGS:0 ARCHIVED:55821 CACHE:2086 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:230 BLOGS:0 ARCHIVED:55821 CACHE:2086 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44580 ARCHIVED:122069 CACHE:11727 FOLLOWERS:23 FOLLOWING:45
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.
**
🧮 USERS:3 FEEDS:6 TWTS:229 BLOGS:0 ARCHIVED:55620 CACHE:2133 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:229 BLOGS:0 ARCHIVED:55620 CACHE:2133 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44578 ARCHIVED:120748 CACHE:10544 FOLLOWERS:23 FOLLOWING:45
**
🧮 USERS:3 FEEDS:6 TWTS:228 BLOGS:0 ARCHIVED:55428 CACHE:2134 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:228 BLOGS:0 ARCHIVED:55428 CACHE:2134 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
@prologic@twtxt.net Its not FormatText stripping out the lines. That formats with \n newlines so when unmarshalling it tries to parse the text and sees that as the end of twt. LiteralText keeps the newlines as \u2028
@prologic@twtxt.net make the text field twt.LiteralText() instead of twt.FormatText() and you should be good. https://i.imgur.com/FIpSnkj.png
🧮 USERS:1 FEEDS:6 TWTS:44574 ARCHIVED:120245 CACHE:6137 FOLLOWERS:23 FOLLOWING:45
multi.
line.
twt..
multi
line
twt
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.
**
🧮 USERS:3 FEEDS:6 TWTS:227 BLOGS:0 ARCHIVED:55228 CACHE:2173 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:227 BLOGS:0 ARCHIVED:55228 CACHE:2173 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44571 ARCHIVED:117826 CACHE:19109 FOLLOWERS:23 FOLLOWING:45
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 Yes, it was exactly those twts. I don’t think I’ve managed to “match” the downtime while fetching twts. But even if I had, how can this lead to inserting old twts?
@movq@www.uninformativ.de Another feature request: sometimes I start writing a twt but then would like to discard it. It would be great if jeny could detect that I did not wrote (or saved) anything and then discards the twt instead of creating an “empty” one.
@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 will reply to this twt, quoting something in it. I will do that same afterwards on his reply.
**
🧮 USERS:3 FEEDS:6 TWTS:226 BLOGS:0 ARCHIVED:54944 CACHE:2124 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:226 BLOGS:0 ARCHIVED:54944 CACHE:2124 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44569 ARCHIVED:115777 CACHE:17622 FOLLOWERS:23 FOLLOWING:45
**
🧮 USERS:3 FEEDS:6 TWTS:225 BLOGS:0 ARCHIVED:54681 CACHE:2086 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:225 BLOGS:0 ARCHIVED:54681 CACHE:2086 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44562 ARCHIVED:113664 CACHE:14484 FOLLOWERS:23 FOLLOWING:45
@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 I just observed unexpected old twts coming back.
It looks like lasttwts is reset to -5364619200.0 every time no new content wasfetched for example if if-modified-since did not produce new twts?
**
🧮 USERS:3 FEEDS:6 TWTS:224 BLOGS:0 ARCHIVED:54447 CACHE:2059 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:224 BLOGS:0 ARCHIVED:54447 CACHE:2059 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44561 BLOGS:3 ARCHIVED:108163 CACHE:15398 FOLLOWERS:23 FOLLOWING:44
**
🧮 USERS:3 FEEDS:6 TWTS:223 BLOGS:0 ARCHIVED:54236 CACHE:2108 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:223 BLOGS:0 ARCHIVED:54236 CACHE:2108 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44560 BLOGS:3 ARCHIVED:107759 CACHE:15365 FOLLOWERS:23 FOLLOWING:44
@lyse@lyse.isobeef.org
Sorry, I should have mentioned your twt #vjjdara where you already described the same idea.
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 ;-)
**
🧮 USERS:3 FEEDS:6 TWTS:222 BLOGS:0 ARCHIVED:54048 CACHE:2122 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:222 BLOGS:0 ARCHIVED:54048 CACHE:2122 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44559 BLOGS:3 ARCHIVED:107383 CACHE:15350 FOLLOWERS:23 FOLLOWING:44
My thoughts about range requests
Additionally to pagination also range request should be used to reduce traffic.
I understand that there are corner cases making this a complicated matter.
I would like to see a meta header saying that the given twtxt is append only with increasing timestamps so that a simple strategy can detect valid content fetched per range request.
- read meta part per range request
- read last fetched twt at expected range (as known from last fetch)
- if fetched content starts with expected twt then process rest of data
- if fetched content doesn’t start with expected twt discard all and fall back to fetching whole twtxt
Pagination (e.g. archiving old content in a different file) will lead to point 4.
Of course especially pods should support range requests, correct @prologic@twtxt.net?
My thoughts about pagination (paging)
Following the discussion about pagination (paging) I think that’s the right thing to do.
Fetching the same content again and again with only a marginal portion of actually new twts is unbearable and does not scale in any way. It’s not only a waste of bandwidth but with increasing number of fetchers it will also become a problem for pods to serve all requests.
Because it’s so easy to implement and simple to understand, splitting twtxt file in parts with next and prev pointers seems a really amazing solution.
As in RFC5005 there should also be a meta header pointing to the main URL, e.g. current or baseurl or something like that. This way hashes can calculated correctly even for archived twts.
**
🧮 USERS:3 FEEDS:6 TWTS:221 BLOGS:0 ARCHIVED:53815 CACHE:2111 FOLLOWERS:7 FOLLOWING:23
**
🧮 USERS:3 FEEDS:6 TWTS:221 BLOGS:0 ARCHIVED:53815 CACHE:2111 FOLLOWERS:7 FOLLOWING:23 ⌘ Read more
🧮 USERS:1 FEEDS:6 TWTS:44558 BLOGS:3 ARCHIVED:106992 CACHE:15325 FOLLOWERS:23 FOLLOWING:44
@jlj@twt.nfld.uk
Yup, jenny. She is so cool! 😋