# 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 40
# self = https://watcher.sour.is/conv/krlhs5a
@abucci Hmmm I'll have a look at this today, hopefully. 🤞 Thanks for bringing this up! 🙇♂️
@abucci Hmmm I'll have a look at this today, hopefully. 🤞 Thanks for bringing this up! 🙇♂️
@abucci I've fixed this and pushed a commit to main
. Will test it on my pod and see how it goes. Basically reporting an error if the feed isn't in the cache and you're unauthenticated (anonymous).
@abucci I've fixed this and pushed a commit to main
. Will test it on my pod and see how it goes. Basically reporting an error if the feed isn't in the cache and you're unauthenticated (anonymous).
Now responds with an error page; but still a 200 OK
which I'm not entirely sure I agree with or am happy with? Hmm
Now responds with an error page; but still a 200 OK
which I'm not entirely sure I agree with or am happy with? Hmm
I've pushed a slightly improved version of this that will return a HTTP 404 Not Found if the UserAgent is determined to NOT be a Browser.
I've pushed a slightly improved version of this that will return a HTTP 404 Not Found if the UserAgent is determined to NOT be a Browser.
@prologic hmm... I think we should do better than this. It is an improvement though. Ideally we check that URI to make sure it is a twtxt.txt (contents, or otherwise). If it isn't, don't link, don't follow, don't "create" an empty page. If it is not twtxt, it shouldn't be on twtxt. :-)
@bender The problem with this is we just don't know until we try. That's why if the external feed you're looking for isn't found in the cache, it'll try to fetch it in the background. It's a bit of a sucky UX really, but its better than the experience of "waiting, waiting waiting and then timeout".
@bender The problem with this is we just don't know until we try. That's why if the external feed you're looking for isn't found in the cache, it'll try to fetch it in the background. It's a bit of a sucky UX really, but its better than the experience of "waiting, waiting waiting and then timeout".
I'm happy with the current implementation though, because the only reason you should be hitting the external profile endpoint at all is a) you're logged in and happen to click on someone's profile that is external to the pod or b) you're anonymous and just clicking through the frontpage (see a)
I'm happy with the current implementation though, because the only reason you should be hitting the external profile endpoint at all is a) you're logged in and happen to click on someone's profile that is external to the pod or b) you're anonymous and just clicking through the frontpage (see a)
@prologic sounds fair. Let's see how it works for @abucci. Speedy fix, that's awesome! :-)
@prologic sounds fair. Let's see how it works for @abucci. Speedy fix, that's awesome! :-)
@abucci This is already in place. It will error, return 404 Feed Not Found
for non-browsers and external feeds are never fetched (_unless you are an authenticated/valid user of the pod_) -- I patched that hole a while ago, because I already picked up it was being abused by bots 🤖
@abucci This is already in place. It will error, return 404 Feed Not Found
for non-browsers and external feeds are never fetched (_unless you are an authenticated/valid user of the pod_) -- I patched that hole a while ago, because I already picked up it was being abused by bots 🤖
@abucci Blah my cache was poisoned 🤦♂️ it's fine now! And this is no monger possible to do now.
@abucci Blah my cache was poisoned 🤦♂️ it's fine now! And this is no monger possible to do now.
@abucci Bo worries! If you curl it too it'll return a proper 494 👌 Should make bots go away 🤞
@abucci Bo worries! If you curl it too it'll return a proper 494 👌 Should make bots go away 🤞
It appears to be working to 👌
silly bots 🙄
It appears to be working to 👌
silly bots 🙄
It appears to be working to 👌
silly bots 🙄
@abucci You don't actually appear to be running that sha hmmm? 🤔
@abucci You don't actually appear to be running that sha hmmm? 🤔
How did you nuke your cache?
How did you nuke your cache?
@abucci nuke the cache file before starring
@abucci nuke the cache file before starring
But this is super weird, should behave the same as my pod 🤦♂️
But this is super weird, should behave the same as my pod 🤦♂️