Page MenuHomePhabricator

Special:EditWatchlist: Cannot remove pages in some circumstances
Closed, ResolvedPublicBUG REPORT

Description

What is the problem?

Testing Special:EditWatchlist on beta, I am finding there are cases where I cannot remove pages from the watchlist.

It seems intermittent and I have not tracked down the exact circumstances where this happens.

My current speculation is that the code here means some POST data, which contains the pages you want removed, is not being passed correctly.

Steps to reproduce problem
  1. Login to beta as a user who has a lot of watched pages in different namespaces https://en.wikipedia.beta.wmcloud.org
  2. Go to https://en.wikipedia.beta.wmcloud.org/wiki/Special:EditWatchlist
  3. Click last
  4. Click the checkbox next to the last watched page in the form
  5. Click the "Remove titles" button

Expected behaviour: You go to a page which lists the page you selected in step 4 as having been removed
Observed behaviour: The form just reloads with nothing happening

Environment

Wiki(s): https://en.wikipedia.beta.wmflabs.org MediaWiki 1.45.0-alpha (bfd1290) 12:49, 21 October 2025.


Derived Requirement

Ensure that on Special:EditWatchlist, a user can successfully remove selected watched pages from any pagination state, including the last page of results, and that the removal action results in visible confirmation rather than silently reloading the form.

Test Steps

Test Case 1: Ensure watched pages can be removed from the last page of Special:EditWatchlist

  1. Navigate to Special:EditWatchlist.
  2. Use pagination controls to navigate to the last page of watched items.
  3. Select the checkbox next to a watched page.
  4. Click the "Remove titles" button.
  5. Observe the resulting page or confirmation state.
  6. ✅❓❌⬜ AC1: The selected page is removed from the watchlist and the UI reflects the removal instead of reloading with no visible change.

QA Results -Beta

ACStatusDetails
1T407853#11575667

Event Timeline

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

@dom_walden I've seen behaviour like this when I was writing the code, but I don't seem to be able to reproduce it now on beta

What I'm doing:

... and the item gets removed from the list. It's the same if I don't select the namespace. FWIW I have 106 items in my watchlist

Cparle changed the task status from Open to In Progress.Oct 23 2025, 5:30 PM
Cparle claimed this task.
Cparle edited projects, added Community-Tech (Fox Squad); removed Community-Tech.
Cparle moved this task from Ready for Dev to In Development on the Community-Tech (Fox Squad) board.

... and the item gets removed from the list. It's the same if I don't select the namespace. FWIW I have 106 items in my watchlist

It might be that this bug only happens if the namespace of the item you are trying to remove does not exist in the first page of results, e.g. the first page of results only shows Main namespace pages and you try to delete a page from the File namespace.

... and the item gets removed from the list. It's the same if I don't select the namespace. FWIW I have 106 items in my watchlist

It might be that this bug only happens if the namespace of the item you are trying to remove does not exist in the first page of results, e.g. the first page of results only shows Main namespace pages and you try to delete a page from the File namespace.

I tried this and was able to remove a page from a namespace that only started showing up on the 2nd page.

I can confirm the behaviour in T410247 - I click 'last' and try to remove a page and it just refreshes Special:EditWatchlist, taking me back to the first page. This also happens if I click 'Next X' until reaching the last page.

The same happens if I switch the number of entries shown to 500 (on a 261 page watchlist), removing the pagination UI elements. Attempting to remove an item simply refreshes the page and returns me to default pagination settings.

If I filter for a namespace, leaving a single page in my view, it gets removed successfully.

If it helps, so far with testing this the cases where I'm not on the first page of results and it works an offset value is sent in the payload, and where it fails the offset value is missing

did not work:

title: Special:EditWatchlist
wpTitlesNs6[]: File:Page b6
wpEditToken: 856f4640f46e57f58e4d44a99a995386693a9789+\
offset:

worked:

title: Special:EditWatchlist
wpTitlesNs6[]: File:Page 0e
wpEditToken: 8232fe15e97b88c3ac091c628687908b693a9774+\
offset: 0|Page_9a

I've also had mixed results with showing 500 entries/clicking last/getting to the last page by clicking next 50

I still can't reproduce this consistently, and the construction of the form is changed drastically in T411596, so gonna put this to one side for now and see if the patch for T411596 fixes it

Moving back into QA as I can't reproduce

I can confirm the behaviour in T410247 - I click 'last' and try to remove a page and it just refreshes Special:EditWatchlist, taking me back to the first page. This also happens if I click 'Next X' until reaching the last page.

The same happens if I switch the number of entries shown to 500 (on a 261 page watchlist), removing the pagination UI elements. Attempting to remove an item simply refreshes the page and returns me to default pagination settings.

I've just tested both of these cases and neither is happening to me now, pages are removed successfully - I think we can close this out.

@Cparle Confirmed in Special:EditWatchlist: pages can be removed, as seen in the videos below. Based on the above comments, I also can not reproduce as seen in the videos below. I will mark this task as Resolved. We can reopen this task if the error pops up again. Thanks for all your work!

Test Result - Beta

Status: ✅ PASS
Environment: Beta
OS: macOS Tahoe 26.2
Browser: Chrome 143
Device: MBA
Emulated Device: NA

Test Artifact(s): Screenshots or screen recording of Special:EditWatchlist before and after removal

Test Steps

Test Case 1: Ensure watched pages can be removed from the last page of Special:EditWatchlist

  1. Navigate to Special:EditWatchlist.
  2. Use pagination controls to navigate to the last page of watched items.
  3. Select the checkbox next to a watched page.
  4. Click the "Remove titles" button.
  5. Observe the resulting page or confirmation state.
  6. AC1: The selected page is removed from the watchlist and the UI reflects the removal instead of reloading with no visible change.
Last PageNext Page
GMikesell-WMF updated the task description. (Show Details)
GMikesell-WMF updated Other Assignee, removed: GMikesell-WMF.
GMikesell-WMF updated the task description. (Show Details)