User story:
As a user of a large watchlist, I want to be able to prepare for labelling my watched pages by adding, editing, and removing watchlist labels via Special:WatchlistLabels
This story is concerned with adding the watchlist label manager special page. It covers adding, editing, and removing labels in a table on the new special page. The interface is not implemented in Codex.
Acceptance Criteria
- View list of existing labels for the current user.
- Add labels one at a time to the list.
- Edit and delete existing labels, one at a time.
Notes
- No API is required.
- We'll use the standard MediaWiki PHP systems for creating the pagination, lists, forms etc. and not an SPA Vue app. This is because it likely be quicker and simpler to build.
- The form's displayFormat will be codex, but this has some limitations. This form is just a single text field though, so shouldn't be too complicated.
Tasks
Tasks (to be created as separate Phab tasks once we've agreed on things):
- Add new feature flag $wgEnableWatchlistLabels, defaulting to false. T408771: Add $wgEnableWatchlistLabels feature flag
- Create database schema for watchlist labels (adding two new tables, linking watchlist to labels, by actor). This is a separate Story, and a prerequisite to this one. T406843: Create watchlist labels database tables
- Add new special page Special:WatchlistLabels (probably a QueryPage) that lists all labels:
- Add new special page Special:WatchlistLabel (probably a FormSpecialPage) for creating and editing individual labels.
- Add a means of deleting individual labels.
Designs
Original designs are available on Figma, and screenshots from there are copied here for reference:
| Main table | Dialogs |
These still need to be updated to match what will actually be built.

