# 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 13
# self = https://watcher.sour.is/conv/nxzy3ca
I think my Followers list broke some time ago, probably when I force deleted the database and re-imported my profile feed manually to correct my base URL gaffe, so my own fault. I know for a fact the list is higher than 5, for example the one and only @prologic isn't even listed yet DOES follow me
@eldersnake Yeah that's a bit weird for sure 😳 I _think_ we're gonna have to do what @lyse suggested and write a periodic job that nukes this data every now and again and lets it get re-populate dover time, so it's actually more accurate (_or convergent_). Problem is I don't really have an idea of what a good cleanup interval would be 🤔
@eldersnake Yeah that's a bit weird for sure 😳 I _think_ we're gonna have to do what @lyse suggested and write a periodic job that nukes this data every now and again and lets it get re-populate dover time, so it's actually more accurate (_or convergent_). Problem is I don't really have an idea of what a good cleanup interval would be 🤔
@eldersnake @lyse Oh! 🤦‍♂️ I know why this is! There are multiple users from my pod following you on your pod, that means Multi User User-Agent Extension is at play, but I never bloody implemented it because at the time the no. of pods in the wild (_that weren't my own_) wasn't as many as they are now 🤣 -- Who wants to implement this? 🤔
@eldersnake @lyse Oh! 🤦‍♂️ I know why this is! There are multiple users from my pod following you on your pod, that means Multi User User-Agent Extension is at play, but I never bloody implemented it because at the time the no. of pods in the wild (_that weren't my own_) wasn't as many as they are now 🤣 -- Who wants to implement this? 🤔
Ohhhh gotcha 😁 Well, I mean that's exciting that the number of pods has gotten to the point where this is noticed!
@eldersnake @prologic I propose one week. If we spot users in the wild that refresh their feeds less often than that (identified by flickering entries in the following list), we can enlarge that duration. I'd select that fairly high number initially, because people might be in internet free holidays or just have busy lives in general. So maybe once a week is a good start.
@eldersnake @lyse I think that’s fairly reasonable actually 👌
@eldersnake @lyse I think that’s fairly reasonable actually 👌
@eldersnake @prologic Great. You could implement some logging when new follower feeds are added and dropped. On TTL reset the debug logs are probably getting too noisy. This way we can get some more heuristics to tweak the duration. To simplify experiments, this duration could be adjustable by experts via the command line and/or settings, too.
@eldersnake @lyse Might be worth refactoring the code that handles this too and implement the missing Multi UserAgemt handling too 👌 I’m thinking of a TTL per “follower” 🤔 Wiyh something like Green Yellow Red to capture how likely they actually do follow you based on last fetch time
@eldersnake @lyse Might be worth refactoring the code that handles this too and implement the missing Multi UserAgemt handling too 👌 I’m thinking of a TTL per “follower” 🤔 Wiyh something like Green Yellow Red to capture how likely they actually do follow you based on last fetch time
@eldersnake @prologic Exactly, one TTL per follower and followee (if that is a term). Oh, a traffic light is a thing I never thought of. To make things even harder you could look at the followers feed and scan for mentions of that user… No, let's start very simple!