# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 1793
# self = https://watcher.sour.is?uri=https://arrakis.netbros.com/user/fastidious/twtxt.txt&offset=393
# next = https://watcher.sour.is?uri=https://arrakis.netbros.com/user/fastidious/twtxt.txt&offset=493
# prev = https://watcher.sour.is?uri=https://arrakis.netbros.com/user/fastidious/twtxt.txt&offset=293
Found it. Is a feature, so magic_link_auth.
@prologic how to enable this? I have update to latest rev, copied the right templates to my theme, but still do not see it anywhere. What must I do to enable/activate this feature?
I am late to this request. The one thing is bugging me real bad is clicking on a yarn while logged out, clicking login and not being sent back to the yarn I was looking to reply to after login in. Same applies to login in, clicking on a yarn, and having to force refresh the page to see the reply link, and/or box.

There are issues with that. I consider the mobile app a second hand citizen and truly care very little about it. Usability for web/mobile web is, for me, paramount.
You should be OK as long as you precede your submission stating you are the creator of Yarn.social. I might be wrong, but I don’t think anyone here knows Yarn as much as you do.

I really don’t care about Privacy Guides, but if you want Yarn.social in it, I think you should be the one doing it. Again, because you have insider knowledge we don’t. Or, let me rephrase, *I* don’t. 😊
@prologic there is no server I can pick on Speedtest that renders that ping. I guess we are too busy around here doing crap on the tubes, while things are quieter in the Land Down Under? 😅
@prologic latency is hard to control, and it varies drastically, but 16ms is awesome compared to what we had before. Most people I know have 120-180ms in game.
@eldersnake
> I wouldn’t say the experience is that bad

I almost exclusively use a mobile app (Apollo) to browse, read and post to Reddit. I don’t see ads, and the experience is superb.

On desktop I go seldom—once every couple of months?—but I don’t see much problems with it, even while using the newer, much hated, UI.
@lyse cool! I shall do that.
@movq what's the IP? I sure hope it isn't me. 😬
@adi
> What sort of problems if you’re ok with sharing?

If he tells you, he will have to kill you. Some things are better left unspoken 😅.
Repeat after me “there is nothing wrong with JavaScript”. Do it again, and again, mantra like. Atta boy/girl! 😂
@thecanine behold, the power of the card! If @adi concentrates well while looking at it, he will send €20 to everyone replying to this yarn.

Come join us, we might all get some from @adi for a beer, or two! 🥴
@prologic 😳
@prologic check this out, some info there.
@prologic well, on Caddy, I can simply add this to the Yarnd server declaration:


handle_errors {
               rewrite * /twtxt.txt
               file_server
}


And all errors will show that file. More on Caddy's error handling.
@prologic
> custom 502 response for /user/.*/twtxt.txt myself with basically a custom feed that behaves like a Twtxt feed

It is possible, but reading that made me re-live one of 'Rick and Morty' episodes. 🤣
@prologic
> What’s this? 🤔 What are you up to?

I have my server spit out that custom error 502 when yarnd is down.
@prologic I am playing with the refactor_twt_options branch. I am afraid that CSS is over my head. I am not giving up yet, but not getting too far.
Test. Disregard this bananas.
@prologic it ain't bad. I mean, the background of the thee dots needs to match the card, but the placement---which I didn't think of---is pretty good. I vote for it.
@stackeffect @movq is certainly a gentleman and a scholar. Jenny is truly a little gem!
@anth Dolly is a national hero!
@prologic 🥳🎉. Let's see how long this solution lasts (kidding, kidding!). LOL.
@prologic OK, devils advocate. Let's say many pods pull the same feed. Their pulling time vary, but since they are many pulls really happen every few seconds. That means edits/deletions are never possible.
@prologic
> given very strong and very valid opinions here in this thread I’m not sure we should bother with the idea of a “Timer”

There should only be one captain per ship. You have the helm! 😊
@lyse LOL... and heat. I mean, it is pretty much hot and humid all year round. Getting low 10°Cs during our "Winter" is like seeing a Jackalope 😂.
@prologic yes!
@lyse
> or is there a file import feature these days?

No import/sync yet. That is something @prologic has in mind, but not implemented yet.
@prologic sounds like a good plan! Now, what about if I wanted out pronto, right away? Is there a way to tell it "yup, I am fine with this twt, send it!"?
@xuu yeah, I am in FL. 😂
@lyse it is Autumn in here. I know, weird Florida. The flower is a Dahlia.
@lyse I read everything you wrote, with some difficulty. Not because of the sentiments, but because it is a huge block of text. Can't tt use paragraphs?

I agree that I did not think about EU GDPR laws. I tend to forget about those, because we do not have them in the States---nor they exist in Australia, I believe. Now, for GDPR you simply delete your account, and everything goes. Isn't that a solution?
@movq yup! Thank you!
@movq I am getting this:


Traceback (most recent call last):
  File "/home/david/.local/bin/jenny", line 647, in <module>
    compose(app, args.reply_to_this)
  File "/home/david/.local/bin/jenny", line 60, in compose
    res = compose_new(app, None)
  File "/home/david/.local/bin/jenny", line 93, in compose_new
    mtime_before = getmtime(filename)
  File "/usr/lib/python3.8/genericpath.py", line 55, in getmtime
    return os.stat(filename).st_mtime
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpy6r_hfmv/jenny-posting.eml'
@xuu ah, I see. Wow, so many things to account for!
@movq
> Also, are we just talking about the implementation in yarn here or twtxt in general?

This is all just Yarn. Because the way yarn works, with caching and the likes, it is not as a straightforward as editing a text file and removing a line on deletions.
@thecanine
> but the time would have to be pretty short

Maybe provide the ability to overwrite the timer, by simply allowing a "TWT now" option.

> it would probably be harder to implement, than the other solutions.

Showing a preview is harder, I think, but @prologic can chime in on this one.
The timer, of course, is set by the pod's owner.
I don't think adding a preview would solve anything. Discourse has preview while you type, and people still makes lots of mistakes.

How about this approach? Allow edit/deletion not based on the last twt, but make it time sensitive. A twt is posted, and for X minutes remains available for edit/deletion. It doesn't make it to the twtxt.txt file, so it doesn't syndicate, it doesn't allow replies to it, until the timer has expired. Once timer expires, no more editing/deletion, it makes it to the twtxt.txt file, and allows replies to it.
@prologic love skies, and clouds! 😍
@adi typos are the most common problem for everyone. We can either be a) more careful when twtxting, or b) live with it, and follow up on a separate twt correcting---and expanding---if the error is so bad it can't be understood. Most of typos are understood regardless, so there is no need for a correction.
Hear, hear! I voted.
@meff you have my vote on that. I believe @prologic would want it to work with a fallback, for those without JS. Now, considering how the fetch works, it is never going to be instant; there will always be a delay (5m as per default).
@prologic I was referring to the dupes from Adi, didn’t see those two. Hmm, weird. I mean, dupes are no good.
But the feed is right. Caching issues again, @prologic?
Woah! Duplicates from @adi.
@adi everything you would want to know, any answers, and then some, is on Google. 😂
@darch
> do you have some kind of firewall running

None whatsoever. I live my life dangerously! 🤣
@darch
> did you download the theme again after @prologic fixed the issue?

Yes, and still a very weird behaviour.
@prologic simple:


yarnd -O -u https://arrakis.netbros.com -b 127.0.0.1:8080 -A fastidious -d "../data" --fetch-interval "@every 3m" -s "bitcask://../yarn.db" -t "../dashTheme/" --twts-per-page 100
Since I haven't being able to get the theme to work on my own pod, does anyone has it up, so I can see it in real use? I tried making it work, flushed caches, everything. It shows all broken, with user sp popping up on places; a really weird behaviour.

So, please, if any of you have it running in the wild, let me know, I am curious!
@prologic
> What if it were customizable on a per user basis? With a pod level default?

Now you are cooking!
“How did you hear of me?” — “Bob told me.”

“How did you find such an interesting feed to follow?” — “Through Bob!”
@prologic “bob” is good too. 😂
@prologic why don't we call it "Jeeves" or "Jarvis"?
@prologic commented there, but also here. I think the proposal includes things I would have wanted, and some I would not have thought of. It is pretty good!
@prologic I swear I get my best ideas, and come up with solutions to problems, all while sitting on the "throne". 😂
Hello @pedantic
Hmm…
@prologic just wanted to point out that our IRC channel is #yarn.social. Notice the dot. ☺️

Hiya, @meff! 👋🏻
@movq antenna sizes match the frequency they were made for. Location is another story. He could place the antenna atop a 20-30M pole, but the antenna size itself, as I wrote, is determined by frequency.
Let me test it, because I haven't edited a twt in a while. Can't repro.
@eldersnake it is the catching, I believe. Dupes will go away. It has happened to me too before.
@prologic it is an anti-Biden (Joe Biden, the US president) political slogan. The beeswax candles... well, yeah.
@prologic I say, having such feelings qualify as being sick. 😉
@prologic alright, issue entered.
@assets she has her own—and you will agree, very lovely—style. Other than listening to her playing, nothing else comes to mind.
@prologic the wording I proposed takes more than just changing words, but because the plural isn't longer needed, and the date change after 30d (months and years are not longer used), it will imply logic change. I am not knowledgable enough to make that kind of change.

Would you want me to add it as an issue instead?
I will have to start from scratch that thoughts blog I used to have. Got trigger happy and wiped for Monterey, without remembering that new dot directory I had recently created. In it my Hugo sources and rendered content.

Oh well, “more was loss in the war”, as my parents used to say when dealing with drawbacks. “Build back better.” And thus I shall.
@eldersnake I think @prologic deleted those twts. I don't think I am missing them, I think jenny cached them before they were deleted. 😅
@lyse
> what do you mean exactly by aborting?

Aborting is cancelling the twt in progress. Right, that's what I said: deleting all content, saving, and exiting aborts right now.
@lyse wow, such great clicks, mate! I will have to agree that is eerie, or dreamy to be atop the clouds/fogs. I have experienced it quite a few times, and each time brought that feeling of awe, and peacefulness to me.

On your photos, that autumn colour is a perfect match for the foggy surroundings. Truly awesome!

↳ In reply to#32xtbda
@prologic way too early for you to be here. 😛

↳ In reply to #32xtbda
@prologic way too early for you to be here. 😛

↳ In reply to#32xtbda
@prologic way too early for you to be here. 😛
@adi
> https://adi.onl/, better?

You are getting there! Right now the main page (that is, /) is also the "About" one. You might want to work that out, so that root is a more general welcoming, etc. page, while the about is more about the site, you, and the like.
@adi
↳ In reply to #i3hppxa

You are getting there! Right now the main page (that is, /) is also the "About" one. You might want to work that out, so that root is a more general welcoming, etc. page, while the about is more about the site, you, and the like.
@xuu
> fixed this one yesterday. https://git.mills.io/yarnsocial/yarn/pulls/502

Sorry, what was the fix? Time related, or? I see something about subject on the PR, not sure if I am missing anything.
@movq I think it is too much work. I mean, right now I know, so it is never a problem anymore. Just making it evident somewhere that deleting all content and saving would cancel the twt would do it. Something like:


 --->8--- everything below this line will be removed --->8---
@movq I think it is too much work. I mean, right now I know, so it is never a problem anymore. Just making it evident somewhere that deleting all content and saving would cancel the twt would do it. Something like:


 ---8<--- Everything below this line will be removed. Empty, save and quit to cancel. ---8<---
@movq
> What’s your workflow here?

I start a twt or a reply/fork, and :x when done. If I were to change my mind, and wanted to abort, yes, I would :q!. I don’t think you can catch the abort easily, right?
Even older (and a bug there, @prologic).
Example of old, searchable content.
@thecanine I really prefer exact time, not the “x y ago”, humanised, format. I might be wrong, but I believe you can search for a tag (hash) that might no longer be browsable.
@eldersnake I am old gen. If I can’t read it, I pass. Ain’t nobody got time to watch a 30 minutes quasi-sensationalist video. 😂

Got a TL;DS (too long; didn’t see) version? 🙈
@movq guts have also been used in sutures. Animal guts, that is.
@prologic I propose this, which I believe will reduce some code. The last of the references I found on this subject states that “if you are writing about more than one second[minute/hour/day/year], the plural abbreviation is the same as the singular”. So, how about:


1s ago
2s ago
1m ago
2m ago
1d ago
2d ago


After 30d ago we simply stop, and show short date and time instead. What do you think?
So, there has to be a space, so it) seems. For example:


1 s ago
2 s ago
1 min ago
2 mins ago
1 day ago
2 days ago


And so on.
Test. Will delete.
@prologic no, I really don't know. Let me research it a bit.
@prologic
> Don’t get me wrong my family does have two wireless access points in our home but wireless absolutely does not beat fiber optic cable or Cat6e

Not yet, right. It is just a matter of time.

All 20 devices in our house are wireless. The only wired device is my Synology, and the cable modem, of course.
@eldersnake the time will come when no computer will have a floppy disk drive. Oh, wait! That's now! OK, OK, the time will come when no computer will have a CD ROM drive. Oh, wait! That's also happening now! Soon, no consumer computer will come with an RJ45 jack. It is happening now!

A headphone jack is soon to be legacy, and gone. Wireless earbuds are simply amazing.
ping @prologic.
I am curious. Why is there no space on 1hr ago, but there is for any other number (any other than 1). Same applies to min, month, etc. is it a lack of space somewhere, or are single minutes, hours, days, etc., normally written without a space from 1?
@eldersnake yes, the window setting isn’t sticking.
@prologic not anymore! 🙂
@thecanine
> Apple emoji people. I can forgive many things, but your dog

Oh?! I have never used the dog emoji. Let’s see:

🐶🐕🦮🐩🐕‍🦺🐾🦴🌭🥺

All those come up when I search for dog.
@thecanine
> on team Android since version 2.2

LOL. Kids these days. You are only 1 year older than my kid 😜!

I had an Android G1, from T-Mo, the first Android smartphone. I had had other Android phones after that too, including a few Pixels. You need to use the platform to hate it, otherwise is silly, baseless, hate 😅.
@thecanine are you sure you don’t have “snowflakes” there? 🤣