# 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 55
# self = https://watcher.sour.is/conv/f45oiqq
@prologic idk, is admin abuse or user abuse the biggest concern? Giving users the tools they need to seamlessly migrate to a new pod helps with admin abuse. User abuse is a different matter, especially given the decentralized structure.
@abucci Actually I agree with this. We already have all the tools a user needs to basically migrate their feed off a pod to another or even host their own. The only thing left I can think of is a feature to "Delete and Redirect" your feed to somewhere else.
@abucci Actually I agree with this. We already have all the tools a user needs to basically migrate their feed off a pod to another or even host their own. The only thing left I can think of is a feature to "Delete and Redirect" your feed to somewhere else.
So maybe we can not worry about the "operator abuse" aspect, as that _might_ be a moot point as there is no "proprietary data formats" here and tools exist to move your feed anywhere else you want/desire.

I _think_ for multi-user pods, _some_ level of trust has to exist between its users (a pod's small community) and its operator -- I mean after-all I run twtxt.net as a multi-user pod free of charge and free from ads, etc, etc šŸ˜…
So maybe we can not worry about the "operator abuse" aspect, as that _might_ be a moot point as there is no "proprietary data formats" here and tools exist to move your feed anywhere else you want/desire.

I _think_ for multi-user pods, _some_ level of trust has to exist between its users (a pod's small community) and its operator -- I mean after-all I run twtxt.net as a multi-user pod free of charge and free from ads, etc, etc šŸ˜…
@abucci I agree. It should be as easy as possible to migrate a feed between pods.

A user of a pod certainly needs to trust the operator to some extent. Abuse of admin powers by the operator of your own pod isn't a big concern in theory because it can be countered by moving to a different pod or self-hosting your feed.

However, admin abuse is a real concern when the admin of a pod you're not using gets to police the content of your posts.
@mckinley In order to complete "this ease" I _thin_ the only missing feature right now is "Delete and Redirect". That is to say, a user downloads their feed, deletes their account, puts in a redirect on the old pod and moves to a new one.
@mckinley In order to complete "this ease" I _thin_ the only missing feature right now is "Delete and Redirect". That is to say, a user downloads their feed, deletes their account, puts in a redirect on the old pod and moves to a new one.
@prologic maybe that's adequate for now? pod operators take a zero tolerance stance with respect to their pod policies, whatever those are, and users are fully empowered to change pods if they don't like how the admin is administrating?
@prologic

> "Delete and Redirect"

That's a great idea.
@mckinley I was also thinking in general (need to make sure we have a feature request / issue for this) that the redirection would say last for 90 days before the pod stopped redirecting the feed.
@mckinley I was also thinking in general (need to make sure we have a feature request / issue for this) that the redirection would say last for 90 days before the pod stopped redirecting the feed.
@abucci @prologic we had a conversation about this a few months ago... While the redirect option is nice to have, I still feel it might not be enough, specially since it depends on the support of the poderator. Having the possibility to point a new feed to a specific old one would help (ie, prev allowing full URIs instead of relative paths, and pods letting users define their feeds prev).

Sorry I'm pulling this topic into an already complex thread ;-), specially when I was supposed to write a proposal for this change, and never did (yet?)...
@abucci @prologic we had a conversation about this a few months ago... While the redirect option is nice to have, I still feel it might not be enough, specially since it depends on the support of the poderator. Having the possibility to point a new feed to a specific old one would help (ie, prev allowing full URIs instead of relative paths, and pods letting users define their feeds prev).

Sorry I'm pulling this topic into an already complex thread ;-), specially when I was supposed to write a proposal for this change, and never did (yet?)...
@marado No need for any apologies šŸ˜… Super glad to have someone like you around and welcome back btw to Yarn.social / Twtxt šŸ¤—

I _think_ there was a good reason to only allow the # prev field to be relative, so that feed authors (malicious ones) couldn't just arbitrarily point a feed to some other random feed that wasn't there or something. I _think_ @movq wrote the spec if I'm not mistaken. I agreed with it at the time, I think I still do and yarnd fully implements it as of a few weeks ago.

Why do you think redirects won't work for deleted feeds/accounts? I've seen that before I _think_ on Bitbucket of all places, where if you delete a repo, you can tell the system where the new location will be.
@marado No need for any apologies šŸ˜… Super glad to have someone like you around and welcome back btw to Yarn.social / Twtxt šŸ¤—

I _think_ there was a good reason to only allow the # prev field to be relative, so that feed authors (malicious ones) couldn't just arbitrarily point a feed to some other random feed that wasn't there or something. I _think_ @movq wrote the spec if I'm not mistaken. I agreed with it at the time, I think I still do and yarnd fully implements it as of a few weeks ago.

Why do you think redirects won't work for deleted feeds/accounts? I've seen that before I _think_ on Bitbucket of all places, where if you delete a repo, you can tell the system where the new location will be.
@movq @prologic Redirects will work for on feed removals, *if* the poderator is interested in providing them - it depends on its benevolence and good will. In any case, removals must be implemented somehow (at least in pods operating under EU law), so there's no downside in implementing it with a redirect option.

Regarding # prev, maybe it is best to recover the old thread (which I think was (#opev6mq)).
@movq @prologic Redirects will work for on feed removals, *if* the poderator is interested in providing them - it depends on its benevolence and good will. In any case, removals must be implemented somehow (at least in pods operating under EU law), so there's no downside in implementing it with a redirect option.

Regarding # prev, maybe it is best to recover the old thread (which I think was (#opev6mq)).
@marado We can read that old Yarn/thread here:

https://search.twtxt.net/search?q=conv%3a%23opev6mq&p=1&t=qs&s=created&s=_id
@marado We can read that old Yarn/thread here:

https://search.twtxt.net/search?q=conv%3a%23opev6mq&p=1&t=qs&s=created&s=_id
@marado Also to be clear, feed redirects when a user deletes their account/feeds would be handled by the backend, no operator involvement required.
@marado Also to be clear, feed redirects when a user deletes their account/feeds would be handled by the backend, no operator involvement required.
@prologic I suppose https://search.twtxt.net/search?q=%23opev6mq&t=term&f=conv is the right link...
@prologic I suppose https://search.twtxt.net/search?q=%23opev6mq&t=term&f=conv is the right link...
@prologic good link: https://search.twtxt.net/search?q=%23opev6mq&t=term&f=conv
@prologic good link: https://search.twtxt.net/search?
@prologic good link: https://search.twtxt.net/search?q=%23opev6mq&t=term&f=conv
@prologic well, this is embarrassing, I manage to reach the result on the web interface, but not to find an URL that will point to them...
@prologic well, this is embarrassing, I manage to reach the result on the web interface, but not to find an URL that will point to them...
@prologic assuming the pod is running a recent version of yarn, unmodified. But we can assume that...
@prologic assuming the pod is running a recent version of yarn, unmodified. But we can assume that...
@prologic @marado The reason for keeping # prev relative were multi-protocol feeds, pretty sure. (I haven’t read the rest of this massive thread.)
@prologic @marado The reason for keeping # prev relative were multi-protocol feeds, pretty sure. (I haven’t read the rest of this massive thread.)
@prologic @marado The reason for keeping # prev relative were multi-protocol feeds, pretty sure. (I haven’t read the rest of this massive thread.)
@prologic @marado The reason for keeping # prev relative were multi-protocol feeds, pretty sure. (I haven’t read the rest of this massive thread.)
@prologic @movq I'll need to re isit the old thread to be sure if there isn't more to it than that, but if multiprotocol is the only reason, then we can allow "relative or full", so both scenarios are catered for, right?
@prologic @movq I'll need to re isit the old thread to be sure if there isn't more to it than that, but if multiprotocol is the only reason, then we can allow "relative or full", so both scenarios are catered for, right?
@marado I _think_ the way yarnd (Yarn.social pods) and yarns (Twtxt Search Engine) implements this is as per-the-spec, where it is treated as # prev = <hash> <relative-path> -- So if we want to support absolute URIs, we're going to have to make an amendment to the spec and to implementations that already implement it.
@marado I _think_ the way yarnd (Yarn.social pods) and yarns (Twtxt Search Engine) implements this is as per-the-spec, where it is treated as # prev = <hash> <relative-path> -- So if we want to support absolute URIs, we're going to have to make an amendment to the spec and to implementations that already implement it.
@marado @prologic FWIW, this is the PR that introduced the spec:

https://git.mills.io/yarnsocial/yarn/pulls/494

It was indeed more than just ā€œmulti-protocolā€: Having a relative URI also makes it easier to move your entire feed (including archived feeds) to another domain.

We quickly settled on relative URIs, there wasn’t that much of a discussion in the PR. Probably just felt like the right thing to do. šŸ¤”
@marado @prologic FWIW, this is the PR that introduced the spec:

https://git.mills.io/yarnsocial/yarn/pulls/494

It was indeed more than just ā€œmulti-protocolā€: Having a relative URI also makes it easier to move your entire feed (including archived feeds) to another domain.

We quickly settled on relative URIs, there wasn’t that much of a discussion in the PR. Probably just felt like the right thing to do. šŸ¤”
@marado @prologic FWIW, this is the PR that introduced the spec:

https://git.mills.io/yarnsocial/yarn/pulls/494

It was indeed more than just ā€œmulti-protocolā€: Having a relative URI also makes it easier to move your entire feed (including archived feeds) to another domain.

We quickly settled on relative URIs, there wasn’t that much of a discussion in the PR. Probably just felt like the right thing to do. šŸ¤”
@marado @prologic FWIW, this is the PR that introduced the spec:

https://git.mills.io/yarnsocial/yarn/pulls/494

It was indeed more than just ā€œmulti-protocolā€: Having a relative URI also makes it easier to move your entire feed (including archived feeds) to another domain.

We quickly settled on relative URIs, there wasn’t that much of a discussion in the PR. Probably just felt like the right thing to do. šŸ¤”
@prologic @movq :

Thanks!, reading that was useful.

It seems to me that the choice of 'relative' was meant to consider users' use cases (multi-protocol, moving the feeds from one place to another, etc.), without any added convenience to the clients, specifically. Thus, I'd argue that there is nothing against extending the spec to also allow full paths: current users are unnafected, and we'd be catering for new/other use cases.

Yes, I do realize that would mean this would have to go into a new
@prologic @movq :

Thanks!, reading that was useful.

It seems to me that the choice of 'relative' was meant to consider users' use cases (multi-protocol, moving the feeds from one place to another, etc.), without any added convenience to the clients, specifically. Thus, I'd argue that there is nothing against extending the spec to also allow full paths: current users are unnafected, and we'd be catering for new/other use cases.

Yes, I do realize that would mean this would have to go into a new version of the spec, and clients would have to implement it in order to comply with the new version of the spec.
@prologic @movq :

Thanks!, reading that was useful.

It seems to me that the choice of 'relative' was meant to consider users' use cases (multi-protocol, moving the feeds from one place to another, etc.), without any added convenience to the clients, specifically. Thus, I'd argue that there is nothing against extending the spec to also allow full paths: current users are unnafected, and we'd be catering for new/other use cases.

Yes, I do realize t
@prologic @movq :

Thanks!, reading that was useful.

It seems to me that the choice of 'relative' was meant to consider users' use cases (multi-protocol, moving the feeds from one place to another, etc.), without any added convenience to the clients, specifically. Thus, I'd argue that there is nothing against extending the spec to also allow full paths: current users are unnafected, and we'd be catering for new/other use cases.

Yes, I do realize that would mean this would have to go into a new version of the spec, and clients would have to implement it in order to comply with the new version of the spec.
@prologic @movq I created an issue so we can have this conversation outside of twtxt.
@prologic @movq I created an issue so we can have this conversation outside of twtxt.
@marado Yup, that’s probably a better place for that discussion. šŸ‘
@marado Yup, that’s probably a better place for that discussion. šŸ‘
@marado Yup, that’s probably a better place for that discussion. šŸ‘
@marado Yup, that’s probably a better place for that discussion. šŸ‘
Awesome! šŸ‘Œ
Awesome! šŸ‘Œ