Last modified: 2014-11-18 23:39:26 UTC
To reproduce, enable navigationtiming role (or anything else with logging) and load a page. On the browser console you will see Validation error against schema NavigationTiming: Unknown schema: NavigationTiming This started some time summer IIRC. EventLogging never actually *worked* on Vagrant (it didn't log anything) but that wasn't particularly problematic as the client-side behavior was realistic. With this recent change, though, it's not possible to see whether EventLogging is configured correctly in the code that's being tested on the vagrant box.
The object mw.eventLog.schema.NavigationTiming exists, has a revision number, but no properties.
ResourceLoader loads the schema.NavigationTiming module which contains mediaWiki.eventLog.declareSchema("NavigationTiming",{"schema":{},"revision":8365252});mw.loader.state({"schema.NavigationTiming":"ready"}); so the problem is on the server side.
This is caused by gerrit change Ife2f0933fd1ae17d1f527ba0d85957d9589f68b9 which set out to fully isolate browser tests by getting rid of the meta.wikimedia.org dependency. I would argue that was the wrong choice. Given that schema pages on meta are cheap to experiment with, I think the typical development workflow is to create the schema on meta first, and develop/test against that. The tests using it as an external dependency is fine; as a matter of fact, a test becomes less valuable if it does not warn me that my code is broken because it does not match the schema config at meta. Using local schemas might be a valuable option in special cases, but for the huge majority of developers who don't want to get into the internals of EventLogging just to understand why their code does not seem to work correctly, and don't want to maintain schemas in duplicate, the default setting should be meta. (Also, the current setting is either broken or relies on a local setup which has not been fully vagrantized. $wgEventLoggingSchemaApiUri is set to http://localhost/w/api.php instead of http://localhost:8080/w/api.php, and even the latter setting would not work without further configuration such as a correct setting for $wgEventLoggingDBname.)
Change 161223 had a related patch set uploaded by Gergő Tisza: Revert "EventLogging role: set a local $wgEventLoggingSchemaApiUri" https://gerrit.wikimedia.org/r/161223
Change 161223 merged by jenkins-bot: Revert "EventLogging role: set a local $wgEventLoggingSchemaApiUri" https://gerrit.wikimedia.org/r/161223
All patches mentioned in this report were merged or abandoned - is there more work left to do here (if yes: please reset the bug report status to NEW or ASSIGNED), or can you close this ticket as RESOLVED FIXED?
*** Bug 70183 has been marked as a duplicate of this bug. ***