# 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 4
# self = https://watcher.sour.is/conv/soadb5q
It seems related to us poor single user pods not getting the trust to share twts.. which it seems to still untrust on restart for me.
@xuu I added some logging when a "dead" peer is removed as I suspect this to be a hot candidate for all the trouble. https://git.mills.io/yarnsocial/yarn/commit/21538951f9dc71b9366db6dbb784a8078096a4c8 Does this yield anything?
@xuu The Pod.LastSeen and Pod.LastUpdated fields are only ever updated in the Cache.DetectPodFromUserAgent(…) function as far as I can tell. This function is called in Cache.DetectClientFromRequest(…) and Cache.DetectClientFromResponse(…).

Cache.DetectClientFromRequest(…) is only invoked when the twtxt.txt is requested and looks at the User-Agent HTTP request header.

Cache.DetectClientFromResponse(…) is only called in Cache.FetchFeeds(…) and looks at the Powered-By HTTP response header. This header would be set in twtxt.txt HTTP responses from yarnd. A bunch of places invoke Cache.FetchFeeds(…), including a periodic job (UpdateFeedsJob.Run()). Maybe something is iffy around these locations.
@lyse i trusted all pods yesterday and now when i pull it up they are all untrusted.