Page MenuHomePhabricator

"Group changes by page in recent changes and watchlist" magically forced on by Recent Changes only if JavaScript interface enabled (MW 1.35)
Open, Needs TriagePublicBUG REPORT

Description

[I've searched through Phabricator and can't find anything like this, but this is at tricky search. The closest I found is T208868, which is clearly a very different bug. If this is already fixed, great, but otherwise...]

In a two-week-old MediaWiki 1.35 installed under Ubuntu 20.04, with Firefox as the client:

Unchecking the user preference "Group changes by page in recent changes and watchlist" is magically set back to checked when "Recent Changes" is loaded, but ONLY IF "Use non-JavaScript interface" is not checked. As a result, RC lists are always grouped. This is true even if "Expand watchlist to show all changes, not just the most recent" is already checked.

If "Use non-JavaScript interface" is checked, -then- it is possible to uncheck "Group changes by page in recent changes and watchlist", reload Recent Changes, and have the setting persist. Once the setting has survived at least one RC reload, it is then possible to uncheck "Use non-JavaScript interface", reload RC, and it stays ungrouped and "Group changes by page in recent changes and watchlist" stays unchecked.

I originally thought this might be my preferences somehow not getting saved, because I would uncheck "Group changes by page in recent changes and watchlist" and would find it magically checked again after I tested whether it had affected RC. But I could load other pages, and I could also either hop around in the Preferences tab, or reload the page, or load it fresh in a separate browser tab, and the unchecked setting would stay unchecked, -until- I reloaded Recent Changes---whereupon Group was magically checked again as soon as I reloaded the Preferences page.

And other preferences -do- get saved normally, so that rules out (for example) some weird 302 POST problem because I'm using shortened URLs---and, having figured out the workaround where I turn off the JS interface and my grouping preference then get saved, it's clear that prefs are really being saved.

If someone needs me to reproduce this, I have a copy of the database from that time and could if necessary reload it. I would rather -not- have to try to reproduce this in 1.36; I'm running 1.35 because it's LTS and I don't want to be on an upgrade treadmill with a non-LTS release. (It would be a lot of work to install 1.36 in parallel.)

Note that the client side of this was Ubuntu 14.04 running an old (66.0.3) version of Firefox. It's got NoScript running but I've told it to trust scripts on my own wiki. I could attempt to reproduce this in 20.04 with the current version of Firefox without much trouble.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
kostajh changed the subtype of this task from "Task" to "Bug Report".
kostajh added a subscriber: kostajh.

Thanks for filing this. I can reproduce. Worth noting that the "Group by page" option from the RecentChanges UI

is persistent, so that somewhat mitigates this.

I hadn't even realized that option was there in RC, but the fact that it -is- there at least explains (perhaps---I haven't looked at the code) why RC had the ability to change -any- options related to grouping, as opposed to just following instructions from preferences set elsewhere. Maybe that might help in locating the bug.