Page MenuHomePhabricator

Add "1 year" to watchlist duration dropdown box
Open, Needs TriagePublicFeature


Feature summary

Would like "1 year" to appear as an option in the following dropdown box

image.png (701×613 px, 39 KB)

Use case(s)

On enwiki, drafts are automatically deleted after 6 months of no edits. 1 year would allow the watchlister to see the deletion event when the creator edits the draft for a month, then goes inactive, then the draft gets deleted at the 7 month mark.


  • Increased usefulness
  • Easy to code

Don't forget to verify that the API will accept 1 year as a value, and possibly change API code if needed.

Event Timeline

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

The 6 month limit was imposed because we were unsure if this feature would cause problematic growth of watchlist_expiry table (and in turn the watchlist table itself, which is the real concern). To my knowledge it has not, especially after T258108 and T258098, which purged a lot of unused rows from the main watchlist table and kept new unused rows from being added.

That said, I think we can probably increase to 1 year or even higher (via wgWatchlistExpiryMaxDuration), but I'd like to get DBA input. @Marostegui to your knowledge, has the watchlist tables on any wiki grown to be problematic again? Our belief is the watchlist expiry is actually helping reduce the overall size, since instead of watchlisting indefinitely, you only do so for N amount of time. This helps i.e. for editors who later leave the project, or forget to unwatch, etc. See T268096 for monitoring we did back in 2020.

I think we can go for a year. The table on enwiki and commons is quite big already though (not necessarily because of this!) but they are both +30GB
cc @Ladsgroup

I think this is a good opportunity to do a double of check of biggest users of watchlist table and possibly clean it up a bit more but generally it should be fine.

Also please postpone enabling it on commons for a couple of weeks, once the templatelinks clean up is done, it'll be back to 1.5TB "only"

I looked at some data, These users have massive watchlists that can be cleaned up:


|  940976 | Reinheitsgebot      |  2040900 |
| 2454409 | MicrobeBot          |  1751222 |
| 3084860 | GeneDBot            |  1573162 |
|  201281 | Liangent-bot        |  1452716 |
|  282770 | ProteinBoxBot       |  1315370 |
|  300311 | SuccuBot            |  1088604 |


| 28207637 | Test.user.watchlist   |   450234 |
|  1215485 | Cydebot               |   187162 |

I don't know who created Test.user.watchlist, who is the owner, etc. Nothing on wiki


| 2120548 | Slick-o-bot      |   637814 |

If people talk to the owners and get their approval, I can clean them up.

Also note that we have ~4k rows with wl_user = 0 in several old wikis (enwiki, commons, etc.), not a big thing but would be nice to clean it up.

Change 815802 had a related patch set uploaded (by Novem Linguae; author: NovemLinguae):

[mediawiki/core@master] [WIP] Add "1 year" to watchlist expiry

@Ladsgroup. I left user talk messages to all the bot operators mentioned above. A couple should start trickling in to this Phab thread to give permission to wipe their watchlists. About half of them were active.

I've received permission from the following users. I will edit this post as new data comes in. Some or all of the permission granters might have also self-cleared their watchlists.


|  940976 | Reinheitsgebot      |  2040900 |  Permission received
| 2454409 | MicrobeBot          |  1751222 |
| 3084860 | GeneDBot            |  1573162 |  Permission received
|  201281 | Liangent-bot        |  1452716 |
|  282770 | ProteinBoxBot       |  1315370 |  Permission received
|  300311 | SuccuBot            |  1088604 |  Permission received


| 28207637 | Test.user.watchlist   |   450234 |
|  1215485 | Cydebot               |   187162 |


| 2120548 | Slick-o-bot      |   637814 |  Permission received