Page MenuHomePhabricator

Users are unable to edit (add new topics to) [[:fa:wikipedia:پرسش‌های متفرقه]]
Closed, ResolvedPublic

Description

Open the following page:

https://fa.wikipedia.org/wiki/%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D9%BE%D8%B1%D8%B3%D8%B4%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%85%D8%AA%D9%81%D8%B1%D9%82%D9%87?debug=true

It does not load correctly. The flow-ui-load-overlay div tag is preventing users from editing.

With all gadgets disabled from preferences, my Firefox 63.0b12 (64-bit) console is showing the following messages: P7652

I think the issue is related to the fact that mw.config.get( 'wgPageName' ) is returning null on that page.

I can't tell when exactly the issue has started, but the last edit on the page has been on 2018-06-30, for a page that has been having tens of edits per month, so my guess is sometime around that point.

Event Timeline

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

I've pinged the developers.

I think the issue is related to the fact that mw.config.get( 'wgPageName' ) is returning null on that page.

This seems to be causing Flow initialization to break in the middle.

Worth noting that all js variables coming from OutputPage::getJSVars are missing on that page. Other flow boards on fawiki are working properly.

This was caused by the log reason for the hide action on June 10th not being valid UTF-8, which meant that JSON-encoding it (and the rest of the config blob) failed. At @SBisson's suggestion, I un-hid and re-hid the post in question so that the hide reason at the top of its history would be different, and that fixed it.

The reason this was so hard to track down is that MW core silently ignores failures to JSON-encode these blobs and just drops them. I'm going to propose a patch that throws an exception in this case instead, so that it fails more loudly and it's obvious what the cause is.

Change 465515 had a related patch set uploaded (by Catrope; owner: Catrope):
[mediawiki/core@master] ResourceLoader: Throw exception when config serialization fails

https://gerrit.wikimedia.org/r/465515

Change 465515 merged by jenkins-bot:
[mediawiki/core@master] resourceloader: Throw exception when config serialization fails

https://gerrit.wikimedia.org/r/465515