Instead of writing to the visualeditor-enable preference (which is
user-facing), write to the visualeditor-testabpreference one (which
is made up and won't impact anything), so that we can test that the
A/B bucketing code works as expected.
This patch will be reverted once bucketing is confirmed to be working.
Change-Id: Ia738146c5bf68795bf812d64847ba74498888cd5
Also introduces paction=metadata in ApiVisualEditor which
doesn't hit Parsoid but gets all the other information we need.
Bug: T90374
Change-Id: I71edbc0f8dc15a6f8d3672c10ca3c641cc172be7
This introduces TargetLoader, which manages plugins and RL modules
in a slightly more generic fashion so that Targets themselves don't
have to. This allows us to load all RL modules in one load.php
request, rather than first loading ViewPageTarget which then
loads the other modules.
TargetLoader loads in the bottom queue, so it will be loaded
as part of the main load.php request, but in VPT.init.js we
still have to wait for it with using() because it might not
have arrived yet. This also degrades gracefully on cached pages
where TargetLoader isn't in the bottom queue: it'll be loaded
as a separate request instead, which is suboptimal but no
worse that what we were doing before.
Right now TargetLoader is small enough that it could also be in
the top queue, but in the future we want to add things like
the action=visualeditor API request to it, and mw.Api is
relatively big.
Note: this also makes a breaking change to the plugin API:
plugin callbacks no longer receive the target instance
as a parameter, as they're now executed before the target
has been constructed rather than after. In the long term,
if we want to give plugins access to the target instance,
we could give them the target promise somehow. For now,
I've killed this feature because nothing used it and
the change from a direct object reference to a promise
would have been a breaking change anyway.
Also fixed incorrect documentation index for ve.init.mw.ViewPageTarget.init.
Bug: T53569
Change-Id: Ibfa6abbeaf872ae2aadc6ed9d5beba7473ea441a
Change I4d4043e5052327bbd789331f1c05b607c45fe7cb introduces RESTBase's
virtual REST service in the MW core, as well as $wgVirtualRestConfig,
which represents the first step towards central VRS configuration.
This patch modifies VE to use RESTBase instead of Parsoid, if
available. RESTBase's virtual REST service transparently maps Parsoid
URIs to RESTBase's, so there is no need to change them in VE for now.
Note that the patch keeps full compatibility with systems/domains that
do not have $wgVirtualRestConfig declared (or even with those that do
not include the RESTBase virtual REST service class). This allows us
to use RESTBase as the back-end only on selected domains.
Bug: T89066
Change-Id: Ie7488f64868a41f28ec24ab1217c12c6249b5523
Add the new feature for user agent checkbox for the mw.Feedback
dialog. This bumps our MediaWiki dependency to 1.25wmf20.
Change-Id: I741ded83de4f575777a15cb20735e351039dc81f
Generalize MWResourceQueue and MWResourceProvider so they are
extending the general classes from ve-core. This also allows for
tests in ve-core on the resource queue system.
* Depends on ve-core change I5346081317e *
Change-Id: If34cd99334f4ccb93015c3646f68ae3040b9c5d7
It's slow, especially on large pages, and it's triggered
very infrequently these days, and only for known bugs.
In the future we should replace this with a debugging
interface that displays the DOM diff between the original
DOM and the round-tripped DOM, as opposed to the boolean
interface we have now.
By extension, this also means the visualeditor-needcheck
tag won't be applied to new edits any more, although
its registration and messages are kept around because
edits with this tag still exist in page histories.
Bug: T87161
Change-Id: I909153492a5786b4b69fccd42ce3c1d4bdb3a059
Originally added in 5036099906.
* Account for bug T89513 for 'tempdisable' (was done for 'enable' in 9cba9910c6).
* MediaWiki core now loads user defaults in a separate module not
subject to page caching, making our workaround obsolete.
Keeping defaultthumbsize as that is intentionally ignoring the user's
preferences.
Change-Id: I07a7aa8e08c728ddeba67f36a98e989c220dcb50
These are currently in page-specific mw.config. As these are
not related any page, they should be in the global export.
This is needed to have our tests (and code base) run error-free
without a MediaWiki page.
Bug: T89434
Change-Id: Ic42bcd14028772ff0c06e28c76ffaf156f8b985f
This allows users to visit Special:Tags or use the API to see
which change tags are still in active use.
The ChangeTagsListActive hook was introduced to core in
I77f476c8d0f32c80f720aa2c5e66869c81faa282
Change-Id: I18d921617ccd5eb19068bd4e4a202dabd73a3a17
This reverts commit 74a3933572.
Now that the issue is fixed in MW-core, this is not longer needed.
Change-Id: I4d3468a5abfed9299ba180342e1a8d904d06e723
Also moved around some code from MWCategoryInputWidget to
MWCategoryWidget to be a bit less evilly interdependent.
Change-Id: I0b8a58fb669e232a990b19c4b7f872a320bfab58
I2342fa5b added a dependency on Id658d925 in MediaWiki core which will first
be available in 1.25wmf14.
Also fix a spelling error.
Change-Id: I20a850f5da58b377b3c208d86b7f5c56f518fdb8
Comment updated to indicate that the TemplateData
extension may also register the jquery.uls.data
module.
Bug: T85733
Change-Id: I161662e91148eff515d473ebe5d49d784b21a7a2
New changes:
5e60f12 Ensure clipboard key is removed from paste target
32397d8 Update OOjs UI to v0.4.0
Local changes to compensate for new OOUI version, and updated wfUseMW call.
Change-Id: I005f7b23a36e04f1305d4aa037c19a5c7db9a699
New changes:
6cfcc85 Set ready delay to animation duration in VE WindowManager
fd9219c Refactor WindowAction to include close and toggle methods
5b175bb Update PapaParse to 4.0.6
21754e2 Move toolbar scroll hack to surface
68499c9 Switch to personal fork of Papa Parse
3d60460 Allow empty IME test suite
Local changes:
* Comment out the last remaining IME test, because it broke in PhantomJS
Change-Id: Idac659323b3e612a77b03f449dc8c89618e00f87
New changes:
93e42f0 Fix documentation
b4574e4 MobileContext fixes
312cf30 Switch mobile demo from deprecated Minerva to MediaWiki
8656c51 Localisation updates from https://translatewiki.net.
3c51598 Stage slugs
ed9a456 Get rid of trigger-happy slugChange event
1074bab Replace pawns with unicorns for pre-annotations
de5cb90 Make slug animations work again
54c711d Localisation updates from https://translatewiki.net.
c05bf65 build: Update karma and switch from PhantomJS to Chrome
d172dcc Update OOjs UI to v0.1.0-pre (837b2f733e)
d8bffa0 Fix icon opacity
22a25bc Localisation updates from https://translatewiki.net.
Local changes:
* Disable most IME tests in VE-MW because they fail
Change-Id: I475a83eac76d9c20b206113bbd0e2a4c352fdb66
* Add type hints
* Use $skin->msg instead of wfMessage where available
* Minor doc fixes
* Use Title::inNamespace()
Change-Id: I406a0a40e785947fbdc09707597ccf9c50d6f9be
New changes:
925ed5c Move sluggability methods to model
a618491 Calculate slug positions in the model
b8fb05e Make the trigger demo kind of work again
e41d22e Update OOjs UI to v0.1.0-pre (ec785c2c64)
4119470 build: Make headers atop dist files suitable for distribution
fca4fec Follow-up cc657c4: Change strikethrough key command to not clash with Macs
a29a561 Add hasSlugAtOffset to DM document
9f47efb Move getRelativeOffset, getRelativeRange, getNearestFocusableNode to model
aa35e96 Remove hard coded types from canHaveSlugBefore and fix logic
49a239b Emit 'position' and 'contextChange' events correctly
3c50321 Refactor out finding of CE focusedNodes
d6904b5 Update OOjs UI to v0.1.0-pre (f2c3f12959)
Local changes:
* Move ce.Document tests to dm.Document
Change-Id: Ifa5abd0341e858b20e73e9071d597a25112cadfb
Rather than modifying $wgResourceModules at run-time, use
a subclass of ResourceLoaderFileModule to add the messages
in the constructor.
Change-Id: I9cf99891ed186afb6aa63501edced692117a7c50
New changes:
a28e085 Restore QUnit web UI
8e2477c [BREAKING CHANGE] Move modules to src and tests and i18n, UnicodeJS to lib
26adfaf Fix path prefix for tests/index.html so it actually runs
d87dab5 Work around getSystemPlatform() race condition
6682ebc Make getParsedMessage() test actually test getParsedMessage()
Local changes:
* Update paths from lib/ve/modules/ve to lib/ve/src or lib/ve/tests
* Update paths from lib/ve/modules/unicodejs to lib/ve/lib/unicodesjs
* Rename unicodejs.wordbreak module to unicodejs
* Update code for getSystemPlatform() and isInternetExplorer()
being made static
Change-Id: I7bb3bb74addfd3fbb64795c5ac3ff791b8874a4f
New changes:
1b7b23b Tests: Move …/test/… to …/tests/… to be the same as other repos
cd3fc66 Update OOjs UI to v0.1.0-pre (9cd400e3d5)
81be252 Deprecate 'live' event in favor of 'setup' and 'teardown'
Change-Id: I71277d0a3fc85541cf3a0859f58d6d522ad1db6d
We already have wfUseMW( '1.24wmf6' ) so we don't need this any more.
The messages list for oojs-ui had gotten out of date, and rather than
fixing it I figured we should just remove this conditional registration
code altogether.
Change-Id: If0610beb2df8bd85aeba136530a84a793e3dda64
Depends on I468d4eb4 in core.
Uses various hacks to trick the test runner into thinking
an MW target is in use, when in fact we still use SA targets.
Change-Id: If4611307d5d7aaee4af84f86ef82faf9078043b6
The user probably wants to edit the exact title they requested, rather than
following redirects. This matches the behaviour of the source editor and
action=edit.
Bug: 65926
Change-Id: If2183008b5acaaaf495f35e21ee61c3da1ba3110
In namespaces that allow for subpages, use the subpage part of the
page title for the initial search string in the MediaInsertDialog
search widget.
Bug: 51290
Change-Id: I31db88b484eee2206719dc337fbd7c70aef93b3a
As of I87e93777 VisualEditor-MediaWiki now use the new MediaWiki core RL
module of mediawiki.skinning.content.parsoid, introduced in 1.24wmf6,
which has bumped our dependency to an alpha of 1.24.
Change-Id: I33db154980ec207edab75751d60cb4764144f32b
Relies on:
* I292fb34d in OOjs UI to add the confirmation dialog
** I67329820 in MediaWiki core to use the messages added in OOjs UI
** I38f5bb63 in VisualEditor core to register the confirmation dialog
Bug: 50955
Change-Id: I98f9a03d780556b360b57c018c05a27cc1b3862e
Three 'minor' points:
* You have to declare even hidden preferences. Whoops.
* There's no such thing as an "optionsToken", use "editToken".
* You need to POST action=options API calls.
Ahem.
Change-Id: I9c4358107af7bcfca157bd014de49882914e990c
These were erroneously:
* visualeditor-preference-experimental-info-link and
* visualeditor-preference-experimental-discussion-link;
should have been:
* visualeditor-preference-language-info-link and
* visualeditor-preference-language-discussion-link.
Whoops.
Change-Id: Ic2780c1d7a0fb5bc5673d1d3a7277661fd759bb3
Follows-up Ib2e6237483338c8.
Note that the potentially dangling space is cleaned up by the
Html class in MediaWiki which recognises this as a space-separated
attribute. It also supports an actual array, if MediaWiki core
were to expose 'class' as an array, we could just cleanly push an
extra into it (as well as easily removing items). But this hook
maintains this array item as a string for backwards compatibility
with hook listeners that expect a string.
Bug: 64646
Change-Id: Ib74ecf93fc4fc4bbb1af43efdf325edc7fb2d85f
* font-size and line-height differed between read mode and
edit mode. This makes them match by using the same css class
as MediaWiki core uses for the body content.
Depends on I66c56c57 in MediaWiki core.
* Document padding / margin hack on surface, and sync the values.
In edit mode, the text was being nudged to the right by a few
pixels.
* Bump the wfUseMw call as this is a symptom of how VisualEditor
now depends on MediaWiki 1.23.
Bug: 64599
Change-Id: I5818dce626545c4cbc8bd84fd551dc08baedbe32
f404bc9 Update to use jQuery 1.10.1
3571e77 Update jQuery version in examples to 1.10.1
5c6c24d RegionSelector: Scroll to appropriate area instead of rebuilding the list
6d92fa3 Update README.md
ab9b014 Update to latest grunt
078448a Update code formatting
adcc1ad Fix spelling mistakes
33ec928 Use events instead of callbacks for success or no results
e54d85a Use Autonym font for autonyms
d8fdcd4 Corrected the Unicode character in the Arab Kazakh autonym
7b8e43e Add lrc and ses
b1d01d9 Updated Autonym font
0e0cb89 Updated uls.data.js
658914a Update code formatting
9dddc41 Updated Autonym font
e83494c Formatting fixes
a48123e Update Autonym font
61f7bce Update Autonym font
ac8aa27 Remove non-existing "-ms-linear-gradient"
522b14f Use text() instead of html() to set language names
9ae403b Remove unnecessary object instance
a985d33 Use attr and prop consistently
5444e17 Avoid 'recalculate style' by conditionally change classes while scrolling
67cc85f Reduce data size a bit by using unescaped unicode
2247581 Move the autonym font to example instead of making part of jquery.uls
49497d7 Avoid overriding grid css for language list
a4276bb Optimize png images with optipng -o7
72c0bd2 Optimize language icon SVG
e43994d Optimize the search and worldmap svgs
623cdb6 Validate whether the language from API is known while trying to display
9d77cfb Fix typo
cfba32a Remove developer console logs when unknown language found
9b3d64e Remove stray character in example file
84d7636 Use a single var statement
520e1b1 Suppress JSHint double quote warnings in jquery.uls.data.js
09aeb8e Update the Autonym for 'cu'
902afa5 Add the missing closing paranthesis for Chinese Simplified Han
69f3256 Avoid title case
78e9b83 Make ULS language selector appear faster after clicking trigger
a93ad4b Remove comments from json
a1b5db4 Update README.md
50477e2 Update documentation about options
2d93a37 When clicking a region, scroll only the list and not the whole page
d8fc3d4 Remove double scrollTop call
02ebadf Apply /* @embed */ pragma to every image, not just the topmost in each block
d4ea222 Drop -moz-linear-gradient for images
99f1f86 Add rwr and ota to the languages supported by ULS
40e3a94 Updated jquery.uls.data.js file
83bd524 Add EU too for ota.
f00cf29 Optimize all SVGs
38b3780 added dxʷəlušucid [ISO:639-3:lut] to langdb.yaml and updated jquery.uls.data.js wuth ulsdata2json.php
6676222 Lojban to lower case
859bccd Test: Add lut to the list of languages in AM region
5b68627 Add rmf to langdb
61d0086 fixed autonym for Lushootseed
91f3906 updated jason file after modifications to langdb.yaml
0c11d38 Space before comment #
42733b5 Remove prefixed border-radius rules
Repo is https://github.com/wikimedia/jquery.uls.
Change-Id: Ibef36df5fa476725f3f3307888ed368381a70ea5
Unfortunately the best way I've come up with to do this so far is
checking the namespace.
Bug: 53477
Change-Id: Ib2dbe91aff516f2d2408e07ff3f73ea861bfcbe2
'editing/beta' section stopped being used by anything other than
VisualEditor in 3c0aa26a0da68a9 in June 2013, and the section was
removed from MediaWiki core in ief2c7d1df876fb04.
This is a follow-up to 799e11ca7e which omitted one occurrence.
Change-Id: I05a6cce89d71808d82c12f54beb6b7a6730b265f
'editing/beta' section stopped being used by anything other than VisualEditor
in Id8b9a47a in June 2013, and the section was removed from MediaWiki core in
I76667a15cc today.
Change-Id: Ida16f714c28c46d552b92c05b07b63f5d6dd361e
TOC Widget is created in the mw target view class.
Adding and removing a heading rebuilds the TOC Widget based
on the the order of the page heading nodes.
TOC Widget considers TOC page settings and displays in the default manor
unless forced or disabled.
TOC Widget still needs to be finalized by being placed in the surface.
This could be a problem until we have a CE node for it to live in or
have some DM work added. Roan and I have discussed how to go forward.
To enable the widget you must add the following to LocalSettings.php:
$wgVisualEditorEnableTocWidget = true;
Change-Id: I488cfbbdb060e50d81f51e0f757e67d0114b8936
New changes:
48dd09a Update OOjs UI to v0.1.0-pre (8ac38a5c31)
Add OOjs UI's new Apex theme to the module definition (for users on
older versions of MediaWiki that do not have it available).
Change-Id: Ia79c2380aa2368d58e5980131cf70c91576dfd49
Also update template/transclusion code for OOJS UI
OutlineControlWidget changes, and uses some of the new
functionality.
New changes:
ac4b49a Update OOjs UI to v0.1.0-pre (51f922ba17)
Change-Id: Id7a1f60cd6ce3bdaba7ccb8774563b9e81c75cad
Core retains core functionality, including text styling and architectural
items like dialogs.
The new modules are:
* mwformatting
* mwimage
* mwlink
* mwmeta
* mwreference
* mwtransclusion
The new modules are loaded in ViewPageTarget (for desktop), except for
mwlinks which is included from MWTarget (for desktop and mobile), per the
needs of the Mobile team.
Also, mwgallery was moved to desktop-only loading status.
Some styles which were loaded in mwcore but only used in modules is now
loaded in said modules.
This does not split up ext.visualEditor.core yet, which is left as an
exercise for the fool-hardy.
Bug: 61075
Change-Id: I6374854eaa13af824c11078d2f7004dc8a211a30
This commit makes several adjustments to make sure default size is being
handled correctly:
* Add wiki's default size configuration parameter to the
VisualEditor.hooks.php file so it can be called from VE.
* Make sure new images are inserted with default size and are
marked 'defaultSize = true' for the DM to handle.
* Force default size if 'defaultSize=true' in the DM
* Add a 'default|custom' switch to the media edit dialog for size
inputs. When 'default' is chosen, the media size widget will be
emptied, displaying its placeholders (default size)
* When the size widget's values are 0 it will automatically turn to
default size values. If the value started default and the user
typed in a size, it will automatically override default and use
custom size.
Bug: 47804
Change-Id: Ib973ea2afa96090a4ba61b2b55ee63457f1329c1