mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-28 00:00:49 +00:00
21f526bffe
In Schema:Edit, all action timing durations (ready, loaded, saveAttempt etc.) are defined as "time since the editor was initialised", which is internally stored as the timestamp for the "init" action. The 'init' action itself does not have a timing duratation, but the Edit schema has a special case for it, definining it as "time since the page was loaded". In actually, it isn't actually implemented as "time since the page loaded", and I suspect that as such, this value is probably not used by EventLogging consumers of the Edit schema. Or, it might be used, but doesn't represent what the consumers think it does. Presently, it uses the init time now() - mediaWikiLoadStart, which basically means the time between the random point at which MediaWiki core JavaScript finished executing which is quite variable in practice due to the race between <script async> and browssing parsing/rendering of HTML. That is by design, and is also why mediaWikiLoadStart is undocumented and internal, and actually in the process of being removed. After many iterations on this patch to try and approximate an alternative to this undocumented variable, I came up with an alternative approach with DLynch at the Hackathon, which is to simply not record this one timing value, but preserve the behaviour of all the other timing values exactly as-is. That is, keep the behaviour of storing `now()` as "init" when the editor activates, and keep the behaviour of substracting "init" from all other action times, but only don't report "init" itself to EventLogging (given its value would be 0, which isn't useful). Bug: T160315 Change-Id: I778234efe40dde8ff30333339335be1c3910a4e0 |
||
---|---|---|
.jsduck | ||
bin | ||
build | ||
i18n | ||
images | ||
includes | ||
lib | ||
maintenance | ||
modules | ||
screenshots | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
.gitreview | ||
.mailmap | ||
.phpcs.xml | ||
.rubocop.yml | ||
.rubocop_todo.yml | ||
.stylelintrc.json | ||
AUTHORS.txt | ||
composer.json | ||
CONTRIBUTING.md | ||
extension.json | ||
Gemfile | ||
Gemfile.lock | ||
Gruntfile.js | ||
jsduck.json | ||
LICENSE.txt | ||
package.json | ||
Rakefile | ||
README.md | ||
VisualEditor.i18n.alias.php | ||
VisualEditor.php |
VisualEditor
VisualEditor provides a visual editor for wiki pages. It is written in JavaScript and runs in a web browser.
It uses the Parsoid parser to convert wikitext documents to annotated HTML which the VisualEditor is able to load, modify and emit back to Parsoid at which point it is converted back into wikitext.
For more information about these projects, check out the VisualEditor and Parsoid pages on mediawiki.
Developing and installing
For information on installing VisualEditor on a local wiki, please see https://www.mediawiki.org/wiki/Extension:VisualEditor
For information about running tests and contributing code to VisualEditor, see CONTRIBUTING.md. Patch submissions are reviewed and managed with Gerrit. There is also API documentation available for the VisualEditor.