Page MenuHomePhabricator

"do not reduce watchtime if already watched" API option
Open, Needs TriagePublicFeature

Description

Feature summary:
Option for the API that, if set, causes the watchlist setting to remain unchanged if the user is already watching the page for a longer period of time than the period specified. This could be implemented as a new value for "watchlist" besides the existing "nochange", "preferences", "unwatch" and "watch". I'd suggest "nodecrease" or "onlyincrease".

For example when setting "watchlist:onlyincrease" with "watchlistexpiry:30 days":

  • User is not yet watching the page: set watchlist expiry to 30 days
  • User has 5 days left on their watchlist for the page: set expiry to 30 days
  • User has 42 days left on their watchlist for the page: do nothing
  • User is watching the page indefinitely: do nothing

Use case(s):
Useful for any script or extension developer who uses the API to let the user perform watchable actions and the users of those scripts and extensions.

Benefits:
Prevent unintentionally reducing watch time.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
kostajh subscribed.

Thanks for filing this. Tagging other teams in case it fits with upcoming roadmaps, otherwise it is not on the short-to-medium term work for the Growth team.

See also T270057 for a way to get the current expiry in the browser

See also T270057 for a way to get the current expiry in the browser

I appreciate this, but as my scripts regularly edit pages other than the current page it's not an ideal solution for me. But for other scripts that'll surely help.