Page MenuHomePhabricator

[Regression pre-wmf.8] Opening the wikitext editor fails
Closed, ResolvedPublic1 Story Points

Description

Clicking the pencil icon or navigating directly to #/editor/0 opens the wikitext editor, which then immediately closes, e.g. http://en.m.wikipedia.beta.wmflabs.org/wiki/Claude_Monet#/editor/0.

The Chrome DevTools Console shows the following error:

Error: Property "onUpdateState" is not a function Error: Property "onUpdateState" is not a function
    at validateMethod (eval at <anonymous> (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=minerva&version=eHtnlG51:4:681), <anonymous>:8:245)
    at OoUiToolbar.oo.EventEmitter.on (eval at <anonymous> (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=minerva&version=eHtnlG51:4:681), <anonymous>:8:487)
    at OoUiToolbar.oo.EventEmitter.connect (eval at <anonymous> (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=minerva&version=eHtnlG51:4:681), <anonymous>:10:135)
    at EditVeTool.OoUiTool (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=oojs-ui&skin=minerva&version=d8515bc6cc9d:82:118)
    at new EditVeTool (eval at <anonymous> (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=minerva&version=eHtnlG51:4:681), <anonymous>:6:2034)
    at OoUiToolFactory.oo.Factory.create (eval at <anonymous> (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=minerva&version=eHtnlG51:4:681), <anonymous>:17:36)
    at OoUiListToolGroup.OO.ui.ToolGroup.populate (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=oojs-ui&skin=minerva&version=d8515bc6cc9d:91:605)
    at OoUiListToolGroup.OO.ui.ListToolGroup.populate (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=oojs-ui&skin=minerva&version=d8515bc6cc9d:134:157)
    at OoUiListToolGroup.OoUiToolGroup (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=oojs-ui&skin=minerva&version=d8515bc6cc9d:88:750)
    at OoUiListToolGroup.OoUiPopupToolGroup (http://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=oojs-ui&skin=minerva&version=d8515bc6cc9d:129:767)

This was picked up in linux-firefox-sauce#885.

Details

Related Gerrit Patches:
mediawiki/extensions/MobileFrontend : masterAdd missing #onUpdateState method to OO.ui.Tool subclasses

Event Timeline

phuedx created this task.Nov 19 2015, 7:30 PM
phuedx raised the priority of this task from to Unbreak Now!.
phuedx updated the task description. (Show Details)
phuedx added a project: MobileFrontend.
phuedx added subscribers: phuedx, Jdforrester-WMF.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 19 2015, 7:30 PM
Jdforrester-WMF set Security to None.
Jdforrester-WMF added a subscriber: matmarex.

EditVeTool in MobileFrontend indeed has no onUpdateState method. Probably caused by 5be12b4ae48bc9590f425ec2addd64226b2658ce in OOjs UI.

Change 254388 had a related patch set uploaded (by Bartosz Dziewoński):
Add missing #onUpdateState method to OO.ui.Tool subclasses

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

I don't have MF set up locally, and debug mode on Beta seems completely broken (as usual), so I didn't really test that patch. Please verify it.

Florian closed this task as Resolved.Nov 20 2015, 4:44 PM
Florian assigned this task to matmarex.
Florian added a subscriber: Florian.

Change 254388 merged by jenkins-bot:
Add missing #onUpdateState method to OO.ui.Tool subclasses

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

Jdforrester-WMF renamed this task from [Regression] Opening the wikitext editor fails to [Regression pre-wmf.8] Opening the wikitext editor fails.Nov 20 2015, 5:36 PM
Jdforrester-WMF edited projects, added VisualEditor; removed Patch-For-Review.

Just tested this locally and it LGTM. Thanks @matmarex!

Jdforrester-WMF moved this task from Backlog to Reviewing on the OOUI board.Nov 21 2015, 2:29 AM

This bug concerned me. Did this issue hit production or did we squash it before that happened?

How can we avoid these issues happening again in future?
@Jdforrester-WMF @Esanders we have browser tests covering this sending to qa alerts for MobileFrontend - would it help to setup a job specifically for the editing browser tests? Is there a qunit test we could add to protect against this sort of thing in future? Thoughts welcomed.

This bug concerned me. Did this issue hit production or did we squash it before that happened?

"[Regression pre-wmf.8]" means it was a regression in master that was not present in wmf.7 and was fixed before wmf.8 was released (which will be next week).

How can we avoid these issues happening again in future?
@Jdforrester-WMF @Esanders we have browser tests covering this sending to qa alerts for MobileFrontend - would it help to setup a job specifically for the editing browser tests? Is there a qunit test we could add to protect against this sort of thing in future? Thoughts welcomed.

A qunit test in… what? This was an existing flaw in local code that was exposed when an upstream library made a minor internal code change.

Jdforrester-WMF edited a custom field.