Go to file
Timo Tijhof 45c79f8c23 mw.ViewPageTarget: Refetch token if session expired
* Rephrased visualeditor-savedialog-error-badtoken to emphasise
  that it is the old session that become invalid, not the one
  the user started browsing with since in a different window.
* If the session changed, the user will be asked whether they
  agree to save with this new session instead.
* We explictly update mw.config so that future save attempts
  in the same window compare against the correct environment.
  Without this there are two problems when saving and then
  making a second edit in the same window and saving that:
  - It will bring up the same question again (user A -> user B),
    which is annoying.
  - If the user logged back in again (new session, but for
    user A again) it would silently try with that new token
    without asking, thus saving as user A when the user still
    thinks it switched to user B. It switching back automatically
    is not obvious since we asked them from A->B, so we should
    also ask the other way around.
  This can be reproduced by opending ve-edit logged-in, then
  logging out in a new window, save, confirm anon, save,
  open edit again, log back in in a new window, save open edit
  in the old window, confirm new logged-in, save.

Bug: 50424
Change-Id: Id055eca1886f85aeaf615f645de29898afc0373c
2013-07-15 21:40:18 +02:00
.docs The great directory split of 2013 2013-07-02 20:51:38 -07:00
demos Make link inspector re-usable by splitting it up 2013-07-12 17:58:04 +00:00
maintenance makeStaticLoader: Update output and re-sync 2013-07-04 05:11:13 +02:00
modules mw.ViewPageTarget: Refetch token if session expired 2013-07-15 21:40:18 +02:00
.csslintrc Add .csslintrc file and fix remaining warnings 2013-06-05 11:07:00 +00:00
.gitignore Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
.gitreview Set defaultrebase=0 2012-06-20 16:27:40 -07:00
.jshintignore Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
.jshintrc oojs: Integrate with OOJS v1.0.0 2013-06-06 17:29:55 +02:00
ApiVisualEditor.php API: Remove loading of unused globals 2013-07-12 18:37:22 +02:00
ApiVisualEditorEdit.php API: Remove loading of unused globals 2013-07-12 18:37:22 +02:00
AUTHORS.txt Add Matma Rex to AUTHORS.txt 2013-04-26 16:13:58 -07:00
CODING.md Document and clean up events in all the things 2013-03-20 09:58:27 -07:00
Gruntfile.js grunt: Also delete QUnit temp files when test fails 2013-06-17 11:27:52 -07:00
LICENSE.txt Bump copyright year range to 2013 in the licence file 2013-03-18 09:55:57 -07:00
package.json Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
README.txt Remove trailing whitespace everywhere 2013-05-25 15:04:11 +00:00
VisualEditor.hooks.php Actually run all the tests 2013-07-10 19:36:55 -07:00
VisualEditor.i18n.php mw.ViewPageTarget: Refetch token if session expired 2013-07-15 21:40:18 +02:00
VisualEditor.php mw.ViewPageTarget: Refetch token if session expired 2013-07-15 21:40:18 +02:00
VisualEditorMessagesModule.php Warn users when they are typing wikitext 2013-07-14 19:27:32 -07:00

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 wiki:

	* http://www.mediawiki.org/wiki/VisualEditor
	* http://www.mediawiki.org/wiki/Parsoid