# 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 14
# self = https://watcher.sour.is/conv/jhncnpq
btw, I don’t want to “push” this spec. 😅 Let’s gather feedback. Let’s carefully think about whether we *really* want to do this.
After all, there *are* other ways of notifying users about followers. Like, just send an e-mail. Or ping someone on IRC. Or whatever. I think that it would *help* if there was a solid built-in mechanism in twtxt – but it’s not *strictly* required.
@benk has already mentioned that this might not be the most pressing issue.
To be completely honest: I’m lazy when it comes to implementing new features and I use HTTP anyway, so this is not my *personal* agenda. 😅 I’d be perfectly happy with dropping this idea, if it doesn’t gain enough momentum.
btw, I don’t want to “push” this spec. 😅 Let’s gather feedback. Let’s carefully think about whether we *really* want to do this.
After all, there *are* other ways of notifying users about followers. Like, just send an e-mail. Or ping someone on IRC. Or whatever. I think that it would *help* if there was a solid built-in mechanism in twtxt – but it’s not *strictly* required.
@benk has already mentioned that this might not be the most pressing issue.
To be completely honest: I’m lazy when it comes to implementing new features and I use HTTP anyway, so this is not my *personal* agenda. 😅 I’d be perfectly happy with dropping this idea, if it doesn’t gain enough momentum.
btw, I don’t want to “push” this spec. 😅 Let’s gather feedback. Let’s carefully think about whether we *really* want to do this.
After all, there *are* other ways of notifying users about followers. Like, just send an e-mail. Or ping someone on IRC. Or whatever. I think that it would *help* if there was a solid built-in mechanism in twtxt – but it’s not *strictly* required.
@benk has already mentioned that this might not be the most pressing issue.
To be completely honest: I’m lazy when it comes to implementing new features and I use HTTP anyway, so this is not my *personal* agenda. 😅 I’d be perfectly happy with dropping this idea, if it doesn’t gain enough momentum.
@movq I agree with the gather feedback. Email and IRC doesn't work all the time, specially if you don't know who they are on email or IRC. If communication across HTTP users and Gemini users is wanted, or even between Gemini users themselves, this is rather important. At least, I see it that way.
@david The problem is there aren't enough mechanisms in Gemini or Gopher to build any useful experiences IMHO 😢
@david The problem is there aren't enough mechanisms in Gemini or Gopher to build any useful experiences IMHO 😢
@apex So we solve this in Yarn.social pods by peering with neighbouring pods and injecting Twts by hash which we can retrieve by simple JSON endpoints. This means we can avoid the need to "soft-follow" or "follow" the world just to get a complete "thread". In case this works quite well. -- Technically any client can peer with a Yarn.social pod too actually -- Might be worthwhile documenting the protocol, it's quite simple really.
@apex So we solve this in Yarn.social pods by peering with neighbouring pods and injecting Twts by hash which we can retrieve by simple JSON endpoints. This means we can avoid the need to "soft-follow" or "follow" the world just to get a complete "thread". In case this works quite well. -- Technically any client can peer with a Yarn.social pod too actually -- Might be worthwhile documenting the protocol, it's quite simple really.
Or you could just spin up a yarnd
pod 😅
Or you could just spin up a yarnd
pod 😅
@apex Sorry, what's what called? The WebMention handlers or the Peering code that handles injection of Twts amongst peers to "fill in missing" gaps without requiring users to "follow the world"? 🤔
@apex Sorry, what's what called? The WebMention handlers or the Peering code that handles injection of Twts amongst peers to "fill in missing" gaps without requiring users to "follow the world"? 🤔
@apex It is mostly all in internal/cache.go
if you're looking at the source tree already.
The "magic"™ all happens here:
=> [Cache.Converage()](https://git.mills.io/yarnsocial/yarn/src/branch/main/internal/cache.go#L1228-L1281)
It's called internally "Cache Convergence". Every time we fetch feeds, we converge the globally shared cache (_shared amongst users of a pod_) with other peers for things like "missing roots" and (TBD) "missing side of a conversation"=
@apex It is mostly all in internal/cache.go
if you're looking at the source tree already.
The "magic"™ all happens here:
=> [Cache.Converage()](https://git.mills.io/yarnsocial/yarn/src/branch/main/internal/cache.go#L1228-L1281)
It's called internally "Cache Convergence". Every time we fetch feeds, we converge the globally shared cache (_shared amongst users of a pod_) with other peers for things like "missing roots" and (TBD) "missing side of a conversation"=