Page MenuHomePhabricator

VisualEditor broken on REL1_33: "ConfigException: undefined option: 'EnableBlockNoticeStats'"
Closed, ResolvedPublic

Description

Setup

  • MediaWiki 1.33.0-rc.0 (c733c85) 19:29, 7. Jun. 2019
  • PHP 7.2.19-0ubuntu0.18.04.1 (apache2handler)
  • MariaDB 10.1.40-MariaDB-0ubuntu0.18.04.1
  • VisualEditor 0.1.1 (e82e120) 23:48, 18. Mär. 2019
  • Vector – (878c1e8) 08:42, 9. Apr. 2019

Issue
The browser console issues the two errors mentioned below. It appears that VisualEditor on REL1_33 is broken in connection with MediaWiki 1.33.0-rc.0 due to a missing option. Things like class="toccolours mw-collapsible mw-collapsed" do not longer work. My guess is that this option was removed from core since the branch point of REL1_33 but not from VisualEditor.

Error 1

[9e80b29e049de242443fa796] /w/load.php?lang=de&modules=startup&only=scripts&skin=vector   ConfigException from line 53 of /../w/includes/config/GlobalVarConfig.php: GlobalVarConfig::get: undefined option: 'EnableBlockNoticeStats'

Backtrace 1

#0 /../w/extensions/VisualEditor/includes/VisualEditorHooks.php(918): GlobalVarConfig->get(string)
#1 /../w/includes/Hooks.php(174): VisualEditorHooks::onResourceLoaderGetConfigVars(array, string)
#2 /../w/includes/Hooks.php(202): Hooks::callHook(string, array, array, NULL)
#3 /../w/includes/resourceloader/ResourceLoaderStartUpModule.php(127): Hooks::run(string, array)
#4 /../w/includes/resourceloader/ResourceLoaderStartUpModule.php(435): ResourceLoaderStartUpModule->getConfigSettings(ResourceLoaderContext)
#5 /../w/includes/resourceloader/ResourceLoaderModule.php(727): ResourceLoaderStartUpModule->getScript(ResourceLoaderContext)
#6 /../w/includes/resourceloader/ResourceLoaderModule.php(694): ResourceLoaderModule->buildContent(ResourceLoaderContext)
#7 /../w/includes/resourceloader/ResourceLoaderModule.php(830): ResourceLoaderModule->getModuleContent(ResourceLoaderContext)
#8 /../w/includes/resourceloader/ResourceLoader.php(656): ResourceLoaderModule->getVersionHash(ResourceLoaderContext)
#9 [internal function]: ResourceLoader->{closure}(string)
#10 /../w/includes/resourceloader/ResourceLoader.php(668): array_map(Closure, array)
#11 /../w/includes/resourceloader/ResourceLoader.php(749): ResourceLoader->getCombinedVersion(ResourceLoaderContext, array)
#12 /../w/load.php(46): ResourceLoader->respond(ResourceLoaderContext)
#13 {main}

Error 2

[9e80b29e049de242443fa796] /w/load.php?lang=de&modules=startup&only=scripts&skin=vector   ConfigException from line 53 of /../w/includes/config/GlobalVarConfig.php: GlobalVarConfig::get: undefined option: 'EnableBlockNoticeStats'

Backtrace 2

#0 /../w/extensions/VisualEditor/includes/VisualEditorHooks.php(918): GlobalVarConfig->get(string)
#1 /../w/includes/Hooks.php(174): VisualEditorHooks::onResourceLoaderGetConfigVars(array, string)
#2 /../w/includes/Hooks.php(202): Hooks::callHook(string, array, array, NULL)
#3 /../w/includes/resourceloader/ResourceLoaderStartUpModule.php(127): Hooks::run(string, array)
#4 /../w/includes/resourceloader/ResourceLoaderStartUpModule.php(435): ResourceLoaderStartUpModule->getConfigSettings(ResourceLoaderContext)
#5 /../w/includes/resourceloader/ResourceLoaderModule.php(727): ResourceLoaderStartUpModule->getScript(ResourceLoaderContext)
#6 /../w/includes/resourceloader/ResourceLoaderModule.php(694): ResourceLoaderModule->buildContent(ResourceLoaderContext)
#7 /../w/includes/resourceloader/ResourceLoader.php(1068): ResourceLoaderModule->getModuleContent(ResourceLoaderContext)
#8 /../w/includes/resourceloader/ResourceLoader.php(772): ResourceLoader->makeModuleResponse(ResourceLoaderContext, array, array)
#9 /../w/load.php(46): ResourceLoader->respond(ResourceLoaderContext)
#10 {main}

Problematic modules: {"startup":"error"} load.php:35:47

Event Timeline

Change 515673 had a related patch set uploaded (by 星耀晨曦; owner: Dmaza):
[mediawiki/extensions/VisualEditor@REL1_33] Remove block notice tracking

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

This is because a patch was not backported to REL1_33.

This is because a patch was not backported to REL1_33.

So my guess about the cause of the issue was correct. Thanks for back-porting.

To clarify how it happened: the patch https://gerrit.wikimedia.org/r/c/mediawiki/core/+/506197 was backported, but the patches it relies on, that were marked with 'Depends-On' (in VisualEditor, and MobileFrontend – T225359) were not.

This probably should not have been possible, the 'Depends-On' should check only changes in the same branch. This is apparently already known as T210685: Depends-On should not work across branches.

We can't currently merge the fixes because of T189560.

Ouch, I just hope for a fix of that issue too since this one here and T225359 kill all JavaScript on a wiki.

Krinkle renamed this task from ConfigException from line 53 of "GlobalVarConfig.php": GlobalVarConfig::get: undefined option: 'EnableBlockNoticeStats' to VisualEditor/MobileFrontend broken on REL1_33: "ConfigException: undefined option: 'EnableBlockNoticeStats'".Jun 14 2019, 2:59 PM
Krinkle removed a project: MW-1.33-release.
Krinkle added subscribers: Paladox, MGChecker, Mainframe98 and 2 others.

Just a note. I believe this task is still a blocker for the MW 1.33 release. Without fixing this it does not make any sense to use MediaWiki 1.33. I now have a test wiki without VisualEditor and MobileFrontend. For a test wiki this is ok but as soon as people upgrade to Mw 1.33 the reports will roll in. Lucky us, MobileFrontend is not bundled for whatever reason.

The backported patch blocked by CI failure (see T189560). Maybe we can consider forcing a merge? Because the reason for the CI failure is not related to the patch.

Unfortunately the VisualEditor repo is unwisely configured in a very restrictive way so that no one other than Jenkins-bot can merge changes.

Change 515673 merged by jenkins-bot:
[mediawiki/extensions/VisualEditor@REL1_33] Remove block notice tracking

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

matmarex renamed this task from VisualEditor/MobileFrontend broken on REL1_33: "ConfigException: undefined option: 'EnableBlockNoticeStats'" to VisualEditor broken on REL1_33: "ConfigException: undefined option: 'EnableBlockNoticeStats'".Jun 19 2019, 6:37 PM
matmarex closed this task as Resolved.
matmarex claimed this task.
matmarex edited projects, added VisualEditor; removed VisualEditor (Current work).

The patches for T189560 that were made so far have allowed the patch for VisualEditor to merge, but the one for MobileFrontend is still failing. (T225359)

Thanks a ton for working on this! Much appreciated. I just updated REL1_33 and now things work great again for VisualEditor.