ve.track.js was being loaded twice, once early on as part of the
ext.visualEditor.track module, and again later on as part of the
ext.visualEditor.core.utils module (which it was added to by b676b22).
This caused ve.trackSubscribe()'s buffer to be reset. Recording the
first init event relies on this buffer, because it's logged with
ve.track() before the logger subscribes with ve.trackSubscribe().
Subsequent init events did get logged. Some performance logging during
initialization was also dropped, but the 'ready' event and subsequent
events were logged correctly.
Fix this by loading ve.track.js only once, as part of the
ext.visualEditor.track module. Make ext.visualEditor.core.utils depend
on ext.visualEditor.track, rather than also adding ve.track.js to it.
Change-Id: I781595d27edb2dc0ad662fcc8e3c7cb0ddae78f1
Requires unregistering MWLinkAnnotationInspector
Bonus: Remove unnecessary list of unregsiters as
teardownOverrides is run on init.
Change-Id: I3e36ab7736cc8479ab53f40d2eb24c0fa15d3dc0
New changes:
8cbedc3c8 build: Update linters
a211e9fd8 TargetWidget: Use surface view focus/blur events
57aeb8b38 Separate utilities required for DOM parsing into separate file
Local changes:
* Setup modules for new parsing utils files
Change-Id: Ie4e59650fdb869e7e4148c97cd03d79ce35187dc
Previously, the ve-mw/init/ directory contained two kinds of files:
those that were used when initializing VE, and those that may be
loaded even if VE is not going to be initialized at all. The latter
kind must not use the `ve` global variable.
After moving those files to ve-mw/preinit/ we can enforce this with
.eslintrc.json in that directory. This would have prevented T228684.
(Technically they merely must not use `ve.init`, and may use `ve`,
but that's harder to enforce. We should instead move the few non-init
methods out of `ve`: now, track, trackSubscribe, trackSubscribeAll).
Also, group some files under ve-mw/init/: targets/ now (only)
contains ve.init.mw.Target and its subclasses, apiresponsecache/
now contains ve.init.mw.ApiResponseCache and its subclasses.
Bug: T228684
Change-Id: I945249a27f6a0fa10a432d5c5dc57bc7e0461fd8
Follows-up 35eead0f3. This caused an extra stylesheet and HTTP
request to be added to all page views, because
'ext.visualEditor.desktopArticleTarget.noscript' is a styles
module, which should be allowed to join the regular batch.
Also remove it from other styles-only modules known to be loaded
with addModuleStyles().
Bug: T233095
Change-Id: Iea1f33199ec8dc83a42ac7102595a033300e33e6
Context items can be created for specific template titles. Titles
are mapped to context items using an on-wiki message.
Bug: T211243
Change-Id: Icfc39e350452da238d0e0c17cb2305c60d9ca16a
When saving fails for a reason we don't handle explicitly, the error
message will have HTML formatting and will respect any on-wiki
overridden messages, rather than being plain text generic message.
Extensions providing custom SaveErrorHandlers may need to be updated.
The only one in Gerrit that requires a fix is TitleBlacklist:
Ibeae79c95557a7af699716c9d921f34c310bee6d.
* Remove handling for errors returned in .visualeditoredit.edit.info
rather than .errors (.error in old format). AFAIK this is only used
by some extensions, it is probably incorrect to do (T229539) and all
extensions I know of that do this (AbuseFilter, SpamBlacklist,
ConfirmEdit) have custom SaveErrorHandlers.
* Remove custom error messages for 'readonly' (identical to API
response) and for 'hookaborted' (very unhelpful and there is a
chance that the API response is better, if the extension causing
this error generates any error message).
* Add a silly shim for MobileFrontend integration, because we allow it
to handle error responses, and it expects them in the old format.
This is probably subtly wrong in many ways, but MobileFrontend code
only uses this for logging, so it shouldn't explode. In the future
we will hopefully change it to use errorformat=html (T228897#5366960).
Bug: T229532
Change-Id: I3b9c4fefc0869ef7999c21cef754434febd852ec
New changes:
28aea2e4d Edit cards v2 design
739017973 Track usage of the new "close context" button
Local changes:
* Edit cards v2 pull through
Bug: T222396
Change-Id: I1ca885e8d8127e7827a059755315ed789a7b9210
New changes:
a06204317 Fix TableNode unit test getOffsetFromCoords failure on Firefox
dfe0eb025 Refactor mobile context logic into ve.ui.MobileContext
Local changes:
* Pull through for edit cards refactor
Bug: T227532
Bug: T228767
Change-Id: I6c043e039fbef62a56f475b0dc365e171ab7bf59
New changes:
1a7460058 Remove ve.newMobileContext feature flag
Local changes:
* Remove ve.newMobileContext feature flag
Change-Id: Ia8def997b7cba4623866080752b06068d2118cc3
We also show this dialog on the old wikitext editor, where
ve.init.target is not set, because the relevant code is not loaded.
Follow-up to 478b0bcbb9.
Similar to e88cd81f94, which fixed the
same issue in a different file.
I checked all uses of ve.init.target in files under ve-mw/init/ and I
think this was the only remaining mistake.
Bug: T228684
Change-Id: I15551870cdb01d570e24ba9668e67330b8072e01
This module is now needed to correctly display log excerpts,
like in our edit notices popup for protected pages.
Bug: T227190
Change-Id: I19dec69a33a2b3246ff1abe6bec90b2359ac36a4
New changes:
6cd9ba63f Localisation updates from https://translatewiki.net.
c9cebed32 Update OOUI to v0.33.2
65c66b8a6 Localisation updates from https://translatewiki.net.
8d94ad13f Replace unrendered parts of the view tree with a stub node
213b79783 Basic unit tests for attachedRoot functionality
Bug: T215717
Change-Id: I7bd8106a82e4fa7c912ce9f8d4fab86bfb546702
I suspect that the size of our singular load.php request (~600 KB
after gzip, depending on the installed extensions) is somehow
triggering the network problems on T213214. To test this theory,
break it up by putting some modules (all that start with
'ext.visualEditor.') into a separate ResourceLoader group.
Now we have two load.php requests (~300 KB each after gzip).
This may increase load times (it will be interesting to see by
how much), but may also fix T213214.
Bug: T213214
Bug: T221197
Change-Id: I0b1a65963267ba52d7962ce31db5a8e6f913322d
New changes:
a3d860daf Localisation updates from https://translatewiki.net.
0421bf6f0 Gather annotations from clicked node where possible
2d2491877 Change#squash: Compact multiple transactions into one
dc0e4650e Fix documentation of ve.dm.Change#serialize
a40f8314f Fix contexedAnnotations equality check
ec62ccb34 Use 16px font size on SA mobile demo
57984c072 Update OOUI to v0.33.1
Add lib/ve/src/dm/ve.dm.TransactionSquasher.js to debugScripts.
Bug: T188026
Bug: T226708
Change-Id: I6eb4ab50ef2c6774963f692f600f059662bf0ac3
* Change the query in ve.init.mw.ArticleTargetLoader#requestParsoidData
so that in non-RESTBase mode with wikitext it still returns the
metadata required to initialize the editor, using the backend API
code added in I1b35b28e428a1f86d2e34d90ddbe73361ce14818. This fixes
the exception from T222312.
* Introduce new configuration option $wgVisualEditorAllowLossySwitching
to control this feature. It is enabled by default, fixing T214542.
We allow it to be disabled because switching in non-RESTBase mode may
cause "dirty diffs" (non-semantic changes to the wikitext), which are
undesirable on wikis where users carefully review all changes.
Bug: T214542
Bug: T222312
Change-Id: I58879cba5612002c70c24731306214d2577c2c52
New changes:
8df948f5d TableLineContext: add context for the entire table
aae86a822 TableNode: Change mobile behavior so initial tap enters the cell
195d8cb3a Check resizeable node is focused before rendering handles
Bug: T211240
Change-Id: Ib2430c521abb4e59aaa2c5e4f9b26a16437db02e
The method ApiQueryUserInfo::getBlockInfo() was removed in unannounced
breaking change in MW core: I84ed21641c44b2f65ebe1980b0893d1846db3b34.
Apparently we're supposed to use the method from ApiBlockInfoTrait now.
Bug: T209599
Change-Id: I7ab5492310980b1527c7329faf65655330b8bef0
This message was upstreamed to core and later renamed.
Use the upstreamed dialog itself when switching sections.
Bug: T222525
Change-Id: Ibd2d75ec503e92b5ddec2105f762b0c9f0dc96fb
New changes:
9b162a5da Localisation updates from https://translatewiki.net.
10dbdabf4 Remove valid-jsdoc exceptions for @chainable
a424f804d Make blockquote a non-content branch node
Local changes:
* Update stuff for making blockquote a non-content branch node
Bug: T76426
Change-Id: I95ae25f20d3d102da69bf5ffdff55335f6c07635
They will now apply for other skins not mentioned here, e.g. Timeless.
The most noticeable change is proper styling for target widgets.
Change-Id: Ibf4c080aaaeedd65144ac5e95ed2f48a1cd17635
Remove overkill $VisualEditorSerializationCacheTimeout config setting
and just use a simple constant instead (convention over configuration).
Bug: T203786
Change-Id: I94424088a03a3262fcea30132883a612465c546e
New changes:
202adf904 [BREAKING CHANGE] Unify FragmentInspector/Dialog behaviour
Local changes:
* Update dialogs to use common actions & FragmentWindow
Change-Id: Ib744b8996db48d1ee58bc873120400566c490e88
As configured on-wiki via MediaWiki:templatedata-doc-subpage; this will
probably have a few false positives, but that's worth it.
Bug: T54448
Change-Id: Id91f95b5865e151f8007a2421428aeb82b11b3fd
New changes:
6515e03e1 ve.ce.Surface: Rearrange #findBlockSlug test to check other cases
cbfdc8570 Localisation updates from https://translatewiki.net.
708ba0557 Prevent block slugs from overlapping floated elements
3703fd66d Separate the concept of a document node and a root node in CSS
Bug: T211844
Change-Id: Ia86cf9b23e561d3c32601d41c1bc5a9824e9953c
Was removed upstream in OOUI, but we require it to
show that parameters are deprecated.
Resize to fit new 12x12 size for indicators.
Change-Id: I2356de0754a2ccf09b87b152f3023282f2e37f41
This has been moved to the TitleBlacklist extension.
Bug: T211242
Change-Id: Ia15c2619e6c642b3ceb567c28f77b50ccf41731a
Depends-On: Ibaf8a37f1aaef510923bde5ed9114f1f00fff461
* Also make sure block notices have type 'block'.
* Remove old flag for tracking since we'll be using one
from core
Change-Id: I4b66e73c8a4c4dd7bffd7c0239b1d5ec06eed12f
Depends-On: I6bd1c95548616677e1f72ba6bcfc6f2b551c1ca6
Tracking is behind $VisualEditorTrackBlockNotices config flag
which is set to false by default. Additional data will be logged
into a different bucket on the client and both metrics will be
considered with their known limitations.
The reason behind this is to get an idea on how frequently blocked
users attempt to edit a page. Similar tracking is being added to
MobileFrontend and mediawiki/core.
Bug: T201718
Change-Id: I51576276b97be0716c2c22348eaa756ffb04fe50
* Make inserting secondary tab work with Minerva's non-standard structure
of navigation menus
* Distinguish primary and secondary tabs with tiny icons, since Minerva
hides their text
* Hide section edit link dividers (unnecessary when we use icons)
Bug: T208102
Change-Id: Ieaec60165617e3b423ec58857d6f0a0406e22b1d
Extracted extractValue to a separate method
Added checkValidRedirect method to MWSettingsPage
Added errors when redirect address is invalid
Added 1 error message to localisation strings
Added 1 TODO (more precise error messages)
Bug: T74971
Change-Id: I8bcf16e97e5211671759acdf0846243df2c03fc2
Now when using the MonoBook skin, the text size for headings inside the dropdown is the same as their size on the page.
Bug: T72559
Change-Id: Ie0c30369021f8022b788730a6de90e44a288b13b
New changes:
0e923fe1b Use initClass in test class
900962720 Add ve.deepFreeze for detecting inadvertent data modification during testing
0761cd90c Localisation updates from https://translatewiki.net.
0e44545b7 Update .gitignore
82b6b80bb Use consistent method for finding nearest cursor offset
0b604de30 ve.ce.TableArrowKeyDownHandler.test: Remove eww gross FIXME
Bug: T202359
Change-Id: I73c46edfbf66a0c76bc719010c017ef71670931b
Reasons why these files should not be in a directory named "themes/":
* They are specific to MediaWiki skins, not OOUI themes
* They are specific to one module, rather than affecting many widgets
The new locations/filenames are consistent with other modules that
have skin-specific styles.
Note that we have one more themes/ directory elsewhere in this repo
(and another in VE core) and that is okay.
Bug: T96704
Change-Id: I70bb61e339aeccb3afea657f665785ceaa091777
I think we must have not been allowing visual editing of File pages
when this code was written?
Bug: T206892
Change-Id: If38642492825877c4b65e395a00b789acdc27eef
New changes:
3931cc33a Update OOUI to v0.29.1
5bcab0073 Move node-specific code into rebaser/
8aa80d88b Remove ES6 support for async/await
2536870f9 Separate files for protocol and transport server
b443b7a4f Update OOUI to v0.29.2
70b3ec210 Minor cleanup of ve.ui.MediaSizeWidget
Bug: T206236
Change-Id: Id3bbcd1a9ccb1563e4feb3572aa8f51932677693
New changes:
8a7a3f8a5 Fix margin override on block slug
786cb5266 ve.ui.MediaSizeWidget: Fix conditions for when we need error messages
1829982ed ve.ui.MediaSizeWidget: Remove "Make full size" button
1191c3687 ve.ui.MediaSizeWidget: Remove comments about full size button
Bug: T205645
Bug: T205874
Change-Id: I5c87c18088e754ec95bcf36775d046bb92870aa8
* visualeditor-dialog-media-size-originalsize-error
Unused since 37b3c07b26.
* visualeditor-dialog-media-originaldimensions
Never used (introduced in 4947420650).
Change-Id: I22f37b457cc6fbac03593fece003e97f4f5a2ccf
Also make improvements to the layout, so that the dialog works
in desktop and mobile - most importantly, change from booklet
to index layout.
Bug: T190885
Bug: T118710
Change-Id: I1915d06c9b0e4b7907136e645f60be96e30cc287
Should be merged along with the corresponding translatewiki change:
I89310a638e75f974af77db313bb9ca090c437bf2
Change-Id: Ie5be8dc09051907d3aea53e33bdd1b3f849ead1e
Big: T189982
New changes:
bdd52111a Collapse this.getSurface().getView() to this in ve.ce.Surface
012f77c87 Localisation updates from https://translatewiki.net.
c40692bf5 Use rooms instead of namespaces
31360982e Fix author list when reconnecting
c176f8bba Remove $.isPlainObject warning
ad9edb87a Separate core module into model/view/ui
4475785d5 Merge author name/color data, make naming consistent
8601509c4 Move whitespaceHtmlCharacters to ve.utils.js and rename
361e5d646 Call parent in DimensionsWidget#setDisabled
3a53ca899 Update eslint-plugin-html to 4.0.6
5f88a02bc Allow '/' in path
2ad8dc94d Separate out client-specific utils from ve.utils.js
e8eb8dc97 Fix ve.sanitize to only depend on utils
cdcd7f19b Update UnicodeJS to v0.2.2
689baa436 Report html indent errors
d613e9d48 Create get/setSessionObject methods for JSON storage
Bug: T195111
Bug: T205096
Bug: T205123
Change-Id: Ia519138734ca0c174c20fec2d42f1437c903b82d
New changes:
a273ba69c [BREAKING CHANGE] Implement a SourceConverter
Local changes:
* Use SourceConverter
* Handle `this.doc` being a string in source mode now
Bug: T203114
Bug: T203156
Change-Id: I7bce7b57668e0c1dd511803a54178ae69694a86d
New changes:
a80089a36 Add missing command help registration for HR tool
330311722 Define command group order separately
35ea5b8f0 build: Bump `grunt-css-url-embed` and `karma` to latest to avoid security issues
31b134668 Cursor into table captions if present, instead of the first cell
Bug: T201870
Change-Id: I4e3a946a992a07215a3af8351c3b54ceae664d40
New changes:
9aecc6946 Add CheckList type
be0469524 Allow cursoring between active nodes
954b21f33 Localisation updates from https://translatewiki.net.
38e1e7667 Do not try searching outside of valid range when using regex
deec79971 ve.dm.TransactionProcessor: Fix edge case handling, avoid ES6 methods
Bug: T196521
Bug: T200455
Bug: T200525
Change-Id: Ie87e19d13c68425f5d46bd1be5121c9169c2ebf4
New changes:
35eaf8209 Move annotation nail functionality to a mixin
d2a120e66 Rebaser: Create a multi-user flag on the surface model
Change-Id: Iffad3c90a9b8ac08f646721bfdbc0503cea2890b
New changes:
cd6932096 Fix rebaser dependecies
bdcbf8f81 Rebaser: make the server synchronous again
52e6873b1 Cleanup rebaser
31ef4c5ec Handle authentication and reconnection
22d6feea3 Squash Changes to use fewer transactions
4d93f0819 Fix confusion between #getSetupProcess and #getReadyProcess
8d0ab0587 Localisation updates from https://translatewiki.net.
Bug: T185745
Bug: T185944
Bug: T188026
Change-Id: Ie33d3dd4746c9c91fe676f140f416af72ac218b0
They look like they should also apply to Flow, ContentTranslation, etc.
And apparently CollabTarget was already loading them separately.
Change-Id: I5c502f8e060968ecee67567747f29eb630cda718
New changes:
c5df99d3a Remove remaining assert.expect's
593b09992 Localisation updates from https://translatewiki.net.
14a29056c Follow-up 593b099: Add 'lfn' language to build to unbreak the repo
faba29bde Fix cursor position when adjacent to a nail
9854cc88c Sanitize message body in standalone using DOMPurify
52bd0592b ve.dm.Change: Store DOM node arrays as single strings
Local changes:
Add sanitize module
Bug: T197723
Bug: T197894
Change-Id: I572f5bcc80175cc50ef176efb961c9b10b38c7f0
New changes:
aa8b2d3da rebaser: Clarify document name is optional
eb4955b84 $.isEmptyObject -> ve.isEmptyObject
681fa50e1 Don't use $.isNumeric in DM
0c8483d8a Avoid more jQuery in DM
a9f6bef78 Replace $.extend with ve.extendObject
34eb4311d Initialise socketIO twice to avoid query cache
b70cb7520 Teardown synchronizer
8f829895f Use passive event listeners
f9e84fa8b Localisation updates from https://translatewiki.net.
db24bb81c ve.ce.FocusableNode: Fix minor code issues
ae981404e Rebaser: show connect/disconnect in the server console
0118e89c2 Show progress bar while connecting to rebase server
160bbe5fd Use new name for 'comment' icon, 'speechBubble'
fb549248a Remove unused APIResults* objects
5daa71d7e Remove IE9 support comment
Bug: T178371
Bug: T195111
Depends-On: I186ebd9d63299d828692a745b62fbc4314a4ed4e
Change-Id: Ie0fee3d4cc069383b8cb48e7d6c2ff520fedb590
Throw a dialog box up to ask whether to convert something with formatting to
wikitext, or downconvert it to plain text.
This logically depends on Ie9aaaa59e9dfa138d394051fe491573253df1805.
Bug: T190079
Change-Id: I6afbbe303d1506426109e75c95f6be546ec48536
Depends-On: Ie9aaaa59e9dfa138d394051fe491573253df1805
In core the modules 'mediawiki.api.*' get merged into 'mediawiki.api'
and get deprecated in ecc812f06e included in MediaWiki 1.32.
Change-Id: I6cc2023beea0b0d0801733906959325d781a2915
New changes:
463169fd1 Re-emit 'initDoc' from synchronizer
eed2af89e Fix RTL mode in demo
700ab1015 Follow-up I6abf7535: Call parent method in onPopupToggle override
e04433acc Fix tests for new qunit package name
9a12ca4fd ce.Surface: Refactor afterPaste
a763ad892 Add 'safe' flag to language dialog 'back'
9aa90f26a Remove nested fields from LanguageInputWidget
Bug: T190079
Change-Id: Ifbc8aafb93867e8960fc270da02793e3363b36f5
New changes:
3a6d868bf Separate (Comment/Link)InspectorTools into separate files
cb5d36e32 Localisation updates from https://translatewiki.net.
c75491b16 build: Extend 'svgmin' options and amend
ddef270d9 Genericise activeLink behaviour to any annotation
d13d44e12 Create simple comment annotation type for rebaser.
7e49a1f33 Add getters for author properties
1d341ca7d Follow-up I16942623d: Only filter inactive models if they are 'canBeActive'
Local changes:
Change .ve-ce-linkAnnotation-active > .ve-ce-linkAnnotation.ve-ce-annotation-active
Bug: T185596
Change-Id: I2a49315d01aa075373f9b5f0d8802a7e7dd4dca3
Adds support for align=none.
Also don't show changes from class names.
Change-Id: Ia00a51dd52af73183e98c8a87f4c60ee5380d81f
Depends-On: Ic668454c4b4b069dab46a608530c85a5bb7e7ad8
Just generate the standard wiki skin markup for categories. Adjust linkcache to always know
whether links are hidden categories. (It previously knew *sometimes*,
depending on whether a MWCategoryWidget had interacted with that category.)
Make the save dialog preview use the same method as the bottom-of-editor preview.
Bug: T194092
Change-Id: I37fea15eaef0a5847f27ce41dd92370a4bf353b6
Also allow preview elements to existing with an mw-body-content
area withouth the font size being applied twice.
Depends-On: Ibbf989dcebf2d21fd2ac481f17062f366ff29e41
Change-Id: I284bcd5dd25cdbb883427ebacb41af1bbf50b60f
New changes:
1d0130404 Move logic for creating a view node into ve.ce.NodeFactory
3db54b22a Improve behavior of newlines and non-text content elements in find-and-replace
11f9ea9d0 Create a quick 'useView' mode for PreviewElement
Bug: T94130
Bug: T184163
Bug: T188651
Change-Id: I7fc539f75a1c9d672efc139b7884ecdfdff5f301
This allows plain text pasting into source mode without interfering with the
possible-conversion that should happen when it's pasted into visual mode.
Bug: T190590
Bug: T192320
Depends-On: I47a5bf321fb64d4a631ec6fd728bee269d4cdae0
Change-Id: I71db368c683a6a846569d7627f4cc73e907a61d2
Add label to indicate the function of the input field underneath the
categories label in the options dialog. The <label> element is
preferred for screen readers and users with visual disabilities.
Bug: T146966
Change-Id: Ib300ca7a1fd55d320c1a1a8c8c7fd01ab8b0b9c5
New changes:
bd0dd861f Replace LinearContextItem mixins with sub-widgets
60ea01484 ve.Document: Use more specific type for documentation
96b95e288 Use correct action test in CommentInspector teardown
a493d5bf1 Update OOUI to v0.26.3
9c0b07868 Remove table move icons, upstreamed to OOUI
Bug: T191623
Bug: T191818
Change-Id: Ia633375f56c1b844e70d101d0a9383fa4f73e1e9
Wikis with a local link over-ride configured will need to do so here
for the new message `visualeditor-sourcefeedback-link`; wikis with a
remote link configured will need to update their configuration ahead
of this being deployed, setting $wgVisualEditorSourceFeedbackTitle.
Bug: T157953
Change-Id: Iea7ad8328b03f69e01d7c67ca1ddbb7ae7906288
These are not specific to desktop.
Also make the static builders static, and move VE target specific
code to caller, such as the click handler.
Change-Id: Ib7e769e3d6d339b9e66e1bc924480b0b0d5db17d
New changes:
4922429f7 Merge all theme overrides into single files
Local changes:
* Update extension.json module definitions for 4922429f7
* Merge all VE-MW theme overrides into single files
Change-Id: Ie8bb4a78c3c50dd4e930f25f6f72bc2f395bd10c
New changes:
8d8030fd1 Localisation updates from https://translatewiki.net.
37302d389 Show timeout message if diff times out
4fa6e3005 ve.dm.Converter: Handle meta nodes for empty annotations same as normal
f74c630d6 ve.Node: Make #getOffsetPath not fail while rebuilding the document
bd62f3e74 Fix global overlay classes
Bug: T180842
Bug: T187690
Bug: T189118
Change-Id: Ieb404db788bd9ff743f00131458c44f01deac466
This happens to work correctly because we depend on 'mediawiki.user',
and that depends on 'mediawiki.storage'. This is just an implementation
detail though and could change.
Change-Id: Ia23c83ae73bfbcc65b4a169bddf861d83691822e
New changes:
23666aff0 color-picker: Remove fallback PNGs we don't use
Local changes:
Pull through color picker lib from core
Change-Id: Ib213f801a90e400fae2838e21bbdb011dc61311a
New changes:
7551f6c66 [BREAKING CHANGE] Rename class ve.dm.IndexValueStore->ve.dm.HashValueStore
Local changes:
Follow-through rename of IndexValueStore->HashValueStore
Bug: T188900
Change-Id: If60d0c637fe92f0e7afe916c064fafb17980d063
Ensure we start with the same HTML (i.e. if an edit has
been made since the crash-recovery):
* Whenever an article target is activated, stash the initial
document html, other parsoid response data, and the request
parameters (pageName, mode, section) in session storage.
* Whenever an article is fetched through the target loader,
recover from session storage if the request parameters match.
Store transactions:
* On document transaction (debounced) append the latest
changes to session storage.
* If a document state is recovered from session storage,
attempt to re-apply the stored transactions.
Clear transactions:
* Whenever the target is torn down (i.e. save, deliberately
closing the editor to go back to read mode)
Other:
* If writing to session storage fails once, disable future
attempts for that session (assume storage quota exceeded)
* Disable tempWikitextEditor when recovering. We don't have
the transaction code loaded yet to perform the recovery.
Bug: T57370
Depends-On: I3832243fc347a99641fcb7e39a887a153c9a3b22
Depends-On: I448fb566fe9f7f5b5a76e88b70ca000e3d35b415
Change-Id: Id9d877f903cf4796a52f90991c030417a9f8786f
Principal code is in includes/*.php with the file named the same as the class it
contains. The maintenance script is moved to maintenance/ for clarity.
Change-Id: Icb4cdffb1bd4716e14f883d667def96671b42992
New changes:
21a5d55b8 [BREAKING CHANGE] Store metadata as block nodes in the main data list
2f9868aae Localisation updates from https://translatewiki.net.
7a224cf4b Remove <style> tags from pasteTarget ASAP
fb4e894b6 Workaround missing child selector in OOUI for menuLayout
fa4f35281 rebaser: Fix sequencing of server operations
931ee29f6 SurfaceSynchronizer: Also translate selections that are not mentioned in the change
d232b8f04 Disable undo/usurp within SurfaceSynchronizer
d1b7fc597 ve.dm.Change: Truncate stores as well as transactions on conflict
7606f684d rebaser: Only apply artificial delay to submitChange events
9473e8b42 Toolbars: Replace $.width with clientWidth/offsetWidth
abb8f2075 ve.ui.DesktopContext: Remove unused CSS
050414205 ve.ui.DesktopContext: Remove old unnecessary CSS
7b8cbb830 Failing test case for losing annotations
5447d33e4 CommentNode: Protect against call after teardown
bf98ca2b6 Rebaser: Use better hack for disabling history commands
90c07f46c Rebaser: uninitialize fully
2a59016e4 Move updatingName recursion guard out of debounce
Bug: T56299
Bug: T185532
Bug: T185544
Bug: T185599
Bug: T185716
Bug: T185747
Change-Id: I45251811e3fbb3323a25ca5cf364e4cb94aa1d01
mw.storage catches errors, so we won't crash horribly when the user has
localStorage disabled / full.
Bug: T181822
Change-Id: I212994eb535b9a8fb5f6c09deaa10b16c3d7f10e
* Move SpecialCollabPad.php to /.
* Move screenshots for BetaFeatures to images/.
* Move localisation messages to i18n/.
Change-Id: I874ae135a3ac58118c3dea105136c8c8b6fb41bc
ext.visualEditor.articleTarget (for ve.ui.MWSaveDialog) previously
missed the editing-advanced pack, so the [[ ]] icon only showed up
by happy accident of the VE toolbar loading it and generally being
there.
ext.visualEditor.diffPage.init (for ve.init.mw.DiffPage.init) just
needed being switched over.
Bug: T178532
Change-Id: Id12ef14434fd30a442bbbf6e9ccd8e50c3376cd5
Basic inspectors for editing. Changing from block to inline, or
adding "hidden" or "describe" flags not supported.
The UI layout for two-way and one-way rules could certainly be improved.
Bug: T49411
Change-Id: I5ce29e4bf47abf509afde0a57f64b5d1189f5185
Also:
* Add ve.dm.Change.test.js to MW test suite
* Remove server scripts from ext.visualEditor.rebase, they
only need to be in rebaser.build in core.
* Don't load ext.visualEditor.rebase on every page
Bug: T175828
Change-Id: I0ed0c320373b0d653b0d7a012aa7416e88e43e00
New changes:
4523b11c0 Make RebaseServer asynchronous
2eb09b6ba Localisation updates from https://translatewiki.net.
c806b7131 Remove execute mode from non-executable
622c62c9e Follow-up 2eb09b6b: Add kab to build to unbreak the repo
b69e4ba1c DiffElement: Fix insert/delete-to-end loops
8c6dfdde9 FocusableNode: Redraw highlights using focus toggle
2bded2d16 Debounce FocusableNode#redrawHighlights
3cb7844b1 Localisation updates from https://translatewiki.net.
fb13239b2 VisualDiff: Don't diff close elements
7a8829509 Localisation updates from https://translatewiki.net.
Also, exempt the Rebaser ES6 code from jsduck, as we do in VE itself,
because jsduck doesn't understand ES6 syntax.
Bug: T129541
Bug: T171862
Bug: T173860
Change-Id: Ia08022afb0b94b8a6907f97b161bc04d8a210232
Changing `->text()` to `->plain()` and some variable
names and comments to match that. This is now the same
as normal ResourceLoader behavior for messages added
via `'messages'` in RL modules.
Also remove a duplicate use of the
'visualeditor-quick-access-characters.json' message.
Bug: T159529
Change-Id: I63593db445433e7da5c71e6800f96daf63054fcf
Avoid confusion by using `twoway` instead of `bidir`, which could be
confused with the Unicode bidirectional layout algorithm.
Depends-On: Ib59dff22e64f235e30778a5a5b3e525e4fc7fdd3
Change-Id: I7efb35245d48125b167dc0f0ef8f12aa0fff94e5
Implement special node types for language variant markup, so that they
display appropriately based on the currently-selected variant.
(Parsoid uses empty elements to represent this markup, so without this
patch anything in -{ ... }- is alienated and disappears.)
A follow-up patch will implement context items and inspectors to
allow editing these nodes. This patch is basic "read-only" support.
Depends on I4fcdebc2290ec35ba188f4c2e69d578791fbcd67 in Parsoid to
generate the appropriate markup, but this patch is safe to merge
independently.
Bug: T49411
Change-Id: Ie11e9301d2513bfe4a36036481cee9a047f46d37
Only shown if VisualEditorEnableDiffPage is set, or query
string param 'visualdiff' is present.
Currently:
* All VE javascript is loaded (could be cut down to just DM code)
* The entire Parsoid HTML of both revisions being compared is loaded
* Both Parsoid HTML docs are parsed into VE DM trees and diffed
Bug: T167508
Change-Id: I151fc9bab3d3032f50c8d11be6b54e45a06fcc34
New changes:
839311756 Add missing icon set 'layout'
66634c032 Add missing icon sets to rebaser demo
2e8bca7b9 Localisation updates from https://translatewiki.net.
cd4e0fa2d Depend on 'movement' so we have arrows in the find and replace dialog
Change-Id: Idd888df1d59fe13cb982610d0e465ab87f61362a
New changes:
26085a853 Make author list a ListPopupTool
c4ea53eef Update OOjs to v2.1.0
8c94697f3 Update OOjs UI to v0.22.0
cdebc4817 Follow-up 8c94697f: Actually commit the icon changes I had locally
8be817396 Update OOjs UI to v0.22.1
Local changes for author list popup
Change-Id: I36bcaf122528a4a12882aaff3b33ef936082a391
New changes:
d336169fe rebaser: Don't spam the entire document into the log on initialization
1963a9993 ve.dm.SurfaceFragment#delete: Don't pre-build a sequence of transactions
6c915f305 TransactionProcessor: modify DM tree branches instead of rebuilding them
8773258bb ve.dm.ElementLinearData.test: Cover compareElements
7a073c78f RebaseClient: Don't log empty rebases in acceptChange
5adce57ea rebaser: Implement author names
78c7beecb rebaser: Tidy up author list UI
85d26f491 Get minimal diff when word starts/ends the paragraph
ca273a56c rebaser: Move author list to widget
ab693bead rebaser: Show active user count
Bug: T160795
Bug: T162762
Bug: T165772
Change-Id: Ibd21e6a78c3958db1c0ec8f0317c4c07f3fa5735
Follows-up 914eb1cde3; reverts the logic to have the label change, but
sticks with new "-current" i18n messages, so the "X editing" instead of
"Switch to X editing"; the old i18n messages are now dropped entirely.
Bug: T162864
Change-Id: Icdad6c5bb06ff86e9b8976840bb1a94b939609a8
Sites like to customize 'readonlywarning' with things that we can't parse.
Instead, use 'apierror-readonly'. The old message is still shown in edit
notices.
Bug: T163455
Change-Id: I592accde17b256ecee27820df12d9d312499f8f7
New changes:
57f8064b6 tests: Enforce dm unit test coverage at 20% per file and 80% globally
6f757c670 LinkAnnotation: add a getFragment method for consistency with MWInternalLinkAnnotation
c40a3f152 Drop the classList polyfill for IE9
d1af6c6bb Update OOjs UI to v0.21.1
bfb35aaef Localisation updates from https://translatewiki.net.
Bug: T162277
Change-Id: I5146bc421bb88e56bafadccefc7bbdee106504ea
New changes:
719f8c667 ve.ce.DocumentNode: toggle all contentEditable properties, not just the outer one
35cadd7db Introduce single-line mode for surfaces
41fe321b2 Restore pointer-events comments for IE10 support
42f556820 Upgrade to jQuery v3
c1b8f142c Pass toolbarConfig position to actions toolbar by default
0d4c6a5fc Fix styling of table context in MW theme
db6eb4ebf Localisation updates from https://translatewiki.net.
Bug: T161944
Bug: T162808
Bug: T162830
Change-Id: I9b11673b4a77b7aebcdc282953d83ade08a8d8bd
We're getting rid of meta item grouping, so we need to prepare.
Merged:
* ve.dm.MWIndexMetaItem
from ve.dm.MWIndexDisableMetaItem and ve.dm.MWIndexForceMetaItem
* ve.dm.MWNewSectionEditMetaItem
from ve.dm.MWNewSectionEditDisableMetaItem and ve.dm.MWNewSectionEditForceMetaItem
* ve.dm.MWTOCMetaItem
from ve.dm.MWTOCDisableMetaItem and ve.dm.MWTOCForceMetaItem
These three now inherit from ve.dm.MWFlaggedMetaItem to avoid code duplication.
Change-Id: Ic8a9cdb1226dccac2c27e7f4b965c1590a7387c0
* Pass a wikitext promise, instead of wikitext
* Handle writing of content to the dialog from within
the dialog.
* Handle diff errors within the dialog.
* Never disable the 'Return to save form' (approve) button
* Remove redundant messages
Change-Id: Ibd76e8951998f751abfb4f407682202c2f73ac7e
New changes:
dc0cad28c tests: Factor out ve.dm.TestRebaseClient/Server into their own files
98061108b Convert RebaseServer tests to data provider
3e746a51b Update OOjs to v2.0.0
16231a812 [BREAKING CHANGE] Drop support for Internet Explorer 9
64daeb4b5 Localisation updates from https://translatewiki.net.
3310e876c Update DOMPurify to 0.8.5
579033a83 Follow-up 16231a81: Drop IE9 support in createDocumentFromHtmlUsingIframe
Bug: T162277
Change-Id: If17c6a3fac0920db29f80069f344ffd6be46c3c9
The styles are not specific to the Vector and MonoBook skins, but rather
to the MediaWiki and Apex themes of OOjs UI. Rename them to reflect that.
Change-Id: I757e8d96625feb8290cbf7837b5d801961cda344
The bare minimum of elements that must be present on the page for
VisualEditor to start and mostly work is:
* '#content' to attach our interface (toolbar etc.)
* '#mw-content-text' to replace with the editing surface
* '#ca-edit' to start up the editor
When those elements are missing (and we expect them to be present,
e.g. we're not on a special page), we print a console warning.
For example, VisualEditor now launches on Timeless and CologneBlue.
It does not launch and prints a warning on Modern and Erudite.
(It is actually possible to edit and save pages on CologneBlue,
although various pieces of the interface look funny.)
This does not change which skins we claim to support: these are still
currently only Vector, MonoBook and Apex. But it allows third-party
skin developers to more easily test the editor and fiddle with their
CSS to make it look right.
Bug: T161373
Change-Id: I97c786f3c8c795c238b10bef332a129ea26f86c2
We support all versions of IE that MW supports, so no need
for additional blacklisting.
Bug: T160494
Change-Id: I771459b4d6a0e2d5781a69a905a51323369b3b66
After 79ccfb9372cb57afa569036ef39ead13abfba673, MediaWiki's `<pre>`
tags get rendered as `<pre typeof="mw:Extension/pre">` in Parsoid HTML.
MediaWiki's indent-pre syntax (block indented by a single space) is
still rendered as `<pre>` in Parsoid HTML, however.
Indent-pre is still handled by MWPreformattedNode (no changes).
Introducing MWPreNode, which will handle `<pre>` extension tags,
and MWPreDialog to change its contents (and allow converting
to MWPreformattedNode).
Pieces copied from MWGalleryNode, MWLinkNodeInspector, CommentInspector.
Possible future improvements:
* Add a specific icon for MWPreContextItem
* Avoid API roundtrips for rendering (but rendering wikitext <pre>
is not as simple as it looks)
* Consider a way to insert these other than '<pre' sequence
Bug: T159900
Change-Id: I5bc4ea6e5d893736f65ef0dd43b08c18cb1a1e85
Ensure dm.LanguageAnnotation exists when it runs, otherwise
it won't match and the context will fall back to a tool
context which doesn't have the clear annotation button.
Change-Id: Ie5474a93fcc1beab2a752bbc3beb17b3ef9cab76
Pencil is the icon we use for 'edit' elsewhere in the UI.
Use the eye icon for the VE tool to specify 'visual'.
Bug: T116417
Change-Id: I12b6bab2a52758685abde04579b274a32d651174
This will make it easier for third parties to load the required
modules for an article-like target.
Also cleanup mobileArticleTarget to better match desktopArticleTarget.
Change-Id: Idb75e2bd99d8cf2c298e101cf92e8af4f85f5ad5
New changes:
f27169f68 Localisation updates from https://translatewiki.net.
edd78cf50 Increase margin on DiffElement
d723ce56a DiffElement: Use important background colours to force override
b71ee15b5 demo: Use windowAction to open diff dialog
de88ca28b Move standalone diff dialog into separate module
d18bb1379 Don't allow slug buttons to take focus on click
Bug: T158295
Change-Id: Ic67bed00c100acf9a24cc0f5b984a64c14357fa4
We don't support editing <div>s right now (as they're BranchNodes) nor
<span>s (as they're annotations), but most of those are inside templates
and so not editable in VE anyway.
Bug: T157989
Change-Id: I647b2a544fd16952696d0de8d07cb72189b27ecb
Algorithm for deciding which cells handle sorting is exactly
the same as in the real jQuery Tablesorter.
Depends on changes in VE core:
* I50426e173c68af7df49e47fe3bec0465a9a55c26
* Iabb372dfe7bf5feef314315ac74a788c6c58dc20
Bug: T139072
Change-Id: I4446be2ad459b05590754da9bb6c3dd8f796be42
New changes:
778dd0709 Destroy unicorns properly when cursoring to another branch node
2877cbbbc dm.Document: Make tree validation stricter
342a71e05 Update OOjs UI to v0.19.1
d2df4b6d4 Explain that Escape/Ctrl+Enter can be used to cancel/confirm a dialog
d978507f0 Move platform handling from CommandHelpDialog to CommandHelpRegistry
4dbceb403 Honorably discharge ve.dm.DocumentSynchronizer
0eb0e4214 Localisation updates from https://translatewiki.net.
Bug: T157019
Change-Id: I5066b1d2c60e116bc3b80b9a8242a72db243d8cf
New changes:
d79138b Overwrite selected content when pasting via DataTransferItem
3c4737f Ensure clipboard is never empty text
3b1339e Create dummy platform and target for tests
4d63c8e Pass text as string to insertDocument when detected as plain text
Local change:
Remove VE standalone module
Flow used to use it, but not anymore. Going forward no one should
be using it in MW.
Bug: T154020
Bug: T156302
Bug: T156498
Depends-On: I078c244ef524669da477a43f9b37c847252e5ad7
Change-Id: Ifc4be16269f819890f2dcdddbbdebf9694ad2868
The hacks contained within context were ancient and no
longer used, and thanks to a typo in mw.MobileArticleTarget
neither of these classes was being used anyway.
Change-Id: I52f2b6d5aa5ddbcc45ac6107eaf9407570b73672
Refactor save dialog setup so logic for canPreview/canReview
is external and passed in.
'Show preview' will show in the VE command help dialog until
I56c1036e6 is merged in core.
Bug: T149914
Change-Id: Id718ad622be43c03df61d12b8688d53462c59f36
When switching from the old wikitext editor to VE, we stored "editing..." as
the original page title. Then restored that when saving / switching to "read".
Instead, detect if we're on top of the classic editor, and use the pagename
message to make a plausibly-correct title.
Bug: T126077
Change-Id: Ib0289de71c3ae947ca0a3e45fe1e620378689c35
Create a new MWSaveDialogAction, which can be hooked up to triggers. Switch
the existing save dialog accesskey to just use the trigger system.
(Maintaining all the accesskey logic, so we don't change the shortcut on
people.)
Bug: T149914
Change-Id: I9b4ef8504148703556f802b266a517dd5098c06b
New changes:
f58ddea DiffElement: Use document slices with full internal lists
83800c0 DebugBar: Remove hard-coded i18n
b4f89e1 Update OOjs UI to v0.18.1
40c7bf6 Factor out active node functionality from SectionNode for captions
2d967be Move 'mode' property to surface, rename target property to 'defaultMode'
5d8c214 wrapAllNodes in sourcefragment
dd3d9e5 Refactor ve.dm.Transaction
9d61aca Use canonical ve.dm.TransactionBuilder.static.newFrom* methods
df4f72a Make table caption node an active node
b79f72d Core source mode
7533ac4 Localisation updates from https://translatewiki.net.
ae30d71 SourceSurfaceFragment: Check range is not collapsed
Local changes:
Get edit mode from surface where possible
Depends-On: Iec758c1892d518ad4bc2c0d1aaf6ca00fa354323
Change-Id: Ifaf6a26078b2731b374aaad2cb40c08928de9c84
New changes:
00efc39 VisualDiffs: Improved styling for moves
009de03 VisualDiffs: Use semantic del/ins tags
4a90e12 Localisation updates from https://translatewiki.net.
c671cf8 Add diffing to mobile SA demo
c4ff29b Replace deprecated $.andSelf with $.addBack
b122328 Fix labels on diff dialog
41a700c ve.dm.Change class with rebase operations
2c336da Localisation updates from https://translatewiki.net.
4c7cb68 Hijack EventSequencer timeouts in unit testing
dea2883 Focusable cursor tests: place cursor in cursorHolders
Change-Id: Id6640e02999c079bcf3709f2d048394ec6719904
Make this new modules a direct dependency of mwgallery so
that galleries work even if mwimage isn't loaded (e.g. mobile)
Bug: T150840
Change-Id: I7f1d9fe0c0133abe5cd56c1e5e34b93d9edde9bc
* Remove mwsig's direct dependency on core. Everything depends on core.
* Remove language from 'experimental', it isn't anymore.
Bug: T145139
Change-Id: I28b6e95f32d6276956269e24222586f49567e706
These are actually configurable via MediaWiki messages, so use those
instead of hardcoding the default URLs.
Change-Id: Ie66a1b53f9c011947fe9e8db198a5904373f3192
Get rid of the 504 Gateway Timeout handling while we're here, in preparation
for bug T135748 where that kind of thing will be made normal.
Change-Id: Ia4abb1a68ff7ab7ff365c7348bf4d2ad35c43a27
Update VE core submodule to master (89ce43b)
New changes:
c3d3d29 ce.CommentNode: inline preview of comment
Change-Id: I8a7f1b69eaf84165742a1f2d10fed3594961a9e9
This gets us the variants (which we need for OOUI 0.17.9); note that I've
cheated and used 0.17.9's colour for the MediaWiki theme's progressive flag
rather than 0.17.8's value of 347bff.
Change-Id: Ic436970e9298ea31f48c6cfdd04b80847aaebbee
For example, MWWikitextTransferRegistry (in .mwcore) expects
ve.init.platform to exist (in .mediawiki).
In normal operation this isn't a problem, but it appears
in some cases (switching to VE from edit source) it can be.
Bug: T144881
Change-Id: Id1a5367472a3f837e7563330dd5220e61adb1889
To align with the linked patch in MediaWiki core. Taking advantage of
the opportunity to use core's messages for these, and remove some dead
wood old messages that were never used like "restore" items in mobile.
Bug: T139033
Depends-On: Ie81b5edd275963a965cd44d0fd325cae9ee2f1a6
Change-Id: Ie00e94cc77cb750a7e8d1104366bb3dad65af8a4
New changes:
14b5fbc [BREAKING CHANGE] Move originalDomElements to the IV store and use MD5
c5d21f0 Provide methods to (de)serialize transactions
Local changes to move originalDomElements to IV store
Depends-On: I8a71c1a40ec35108d0a9a388da6f75632f8dc53c
Depends-On: I32c9b5f984fcf96e3354841ecfcd444149e8f159
Change-Id: I0fbb6324eede94558426178cbdad6b5daf0f8318
New changes:
acf0983 Create SourceSurfaceFragment for editing source documents
8bf0568 Make keepEmptyContentBranches an option of #sanitize and simplify usage
9cad9de ce.Surface: only change selection during CleanupUnicorns if it's in the document
bda3f0b Localisation updates from https://translatewiki.net.
Change-Id: I1fa8af7e4b881238f77e0601b2b275e2b8e1cd2c
Fetch default options for mode, image heights and image widths
rather than hard-coding them.
Bug: T139632
Change-Id: I1adc7987fdeb1258ee87ce46acbab469ea18116e
New changes:
e7cb202 Mark context wrappers as wrappers
20b75af Localisation updates from https://translatewiki.net.
a4dde9f Annotate pasted external text
8148301 Always preserve leading whitespace when converting for clipboard
82a35b7 TransactionProcessor: Apply annotations to ranges at the highest uniform offset
21fc1eb Restore previous selection when annotation inspector is dismissed
358181c Preserve prior valid DOM selections in showModelSelection
a0f7dba build: Bump various devDependencies to latest
0ae0f7e Follow-up Iabec6a6: Fix typo in mousemove selection update code
d69a4df Provide tools to make text bigger or smaller
Local changes for big/small tools
Change-Id: If418a1a47276cc1e1530c4a3ad6784136d8d14f8
Create an ext.visualEditor.mwextensionmessages module in our
ResourceLoaderRegisterModules hook and load them there as available instead.
Bug: T139550
Change-Id: I89e942052f86291085652ae93ae8d10efefb5f44
When our remember-last preference changes work, alongside changing the
label of the edit tab, also change the label of the edit section links.
I seriously have no idea WTF I was thinking back in December when I
put some of this code into #activatePageTarget.
Bug: T137424
Change-Id: I581c0acf0a3ad11ad3bcf4e2e46242907ca9166f
This replaces ve.safeDecodeURIComponent(...).replace( /_/g, ' ' ) . This action
is really specific to the quirks of mediawiki title processing.
Change-Id: Ia9e525c9340e6de9e485355899996c97867ccb48
Make new graphical interface for editing existing
galleries and adding new galleries.
NB The dialog does not yet support rich text in the
image captions, nor does it provide separate fields for
e.g. link, alt text, etc. These are dependent on parsing
the text within the tag, which is yet to be implemented
by Parsoid. For now, these attributes should be
specified in wikitext in the image-specific caption
field.
Bug: T45037
Change-Id: I2b4082e991268241a15b9bbd6d85c94cdc2185f2
New changes:
1cda586 Split about groups on text nodes
7b4619d ve.ui.TabIndexScope: provide a scope for tabIndex
54d7a35 Insert undo breakpoints at word breaks
9e6a562 Use cloneWithData in beforePaste
04c0921 Lower supported Firefox version in stylelint
8e0c513 Update OOjs UI to v0.17.4
Change-Id: I14cf5187954f954fb6039b28fb8b0ee18658fd21
Some code was expecting an associative array with content model IDs
as keys, and some wwas expecting a numeric array.
Make it work more like namespace checks.
Change-Id: I804db88ed4562a6eea2b6723cb5cc8ae39d7c08f
T52720 (link corruption in FF13/14) appears to be fixed.
T52780 (editor not loading in FF11/12) appears to be fixed.
FF11 has a new issue where templates are normalised even
when not touched (T136607)
Change-Id: I34358e3d90b8186e6b89c04c038ab79c908fc81b
The first two are deprecated. Take advantage of this to consolidate the
code and add comments. Note that these config options are not currently
used in WMF production, and might never be used again, depending on how
futher roll-outs go.
Bug: T135071
Change-Id: Ie7638b1aed9f71c19d0735e831956f853201902b
Define $editableContent on target construction, and mark
all non-ancestor nodes between that at the target container
as uneditable (50% opacity, no pointer events).
Bug: T58289
Change-Id: I7fe51104bd5aa1bd53ffc604e5f02752c7553578
New changes:
f50f6a9 Remove directy dependency on stylelint
c45cfeb Add <BDI> support
4e5d312 Update store hashes when modifying items in store during #sanitize
eadc310 build: Bump grunt-stylelint to v0.3.0
a55520f Fix watch path for css
f016c4d Re-clone linear data on each paste
Change-Id: I2a1340261ce1f457f28c34fb1aaec7d4966783ea
This puts IE9 on the greylist, meaning it will open but with
a warning.
Bug: T133094
Depends-On: I817b286e16b7923dd4dd456467466a0128805da1
Change-Id: I55fcbd1b7c4a82e11d61d3b93b4fdb7e992fba1d
Usually this gets loaded by MW core's Article::view, but that never gets run if
we loaded on action=edit
Bug: T132825
Change-Id: I1511bea947c976cea87d92efcb2e756dc7f7c55a
New changes:
c48d7cc Add support for placing a toolbar dialog in the side margin
ee7e14b FindAndReplaceDialog#renderFragments: Protect against null surface
fc61463 Fix dm.Surface#getHistory to not return undone items
f1dff2f Introduce ve.Range#overlapsRange method
f608958 Introduce dm.Surface#getModifiedRanges
db114ed Move debugging data-url GIFs to a debug only file
1dd8194 Update RangeFix to 0.2.0
706ff4e Add 'Support: [browser]' to browser hack comments
4f52afc Inline slugs: Limit Firefox hack to versions <38
bf73326 Add classList polyfill for IE9
59d78aa Fix access of iframe-created document in IE9
a886ae1 Hide borders on linked images in IE9
5293974 Fix double-click to edit table cells in IE9
a49a02f Add some more Support: comments
Depends-On: I9c5cea3e8df1fae001d4d98c0782a04dec803776
Change-Id: I460368f509a213464e57bb95f2d726305ef608de
New changes:
0e3e63a Rename ve-ce-sectionNode-focused to active
0010e49 Update OOjs UI to v0.16.5
8a50357 Localisation updates from https://translatewiki.net.
a731e0e Implement ve.dm.Selection#getCoveringRange
145c754 ce.Surface: Prevent selection from spanning an active node
e430224 Move toolbar positioning logic to PositionedTargetToolbar
c4bc52c demo: Put border around whole target
Local changes:
* Adjust to cope with the new positioned toolbar class
Change-Id: I47053af8a9efb0f4c267543616a5d6c80ae1534f
* Use TitleInputWidget for wiki-page-name and wiki-template-name parameters
* Use UserInputWidget for wiki-user-name parameters
* Use a custom hacky CheckboxInputWidget child class for boolean parameters
* Borrow some ve.ui.MWExternalLinkAnnotationWidget.prototype.createInputWidget code for url parameters
* Use a TextInputWidget with multiline disabled for line parameters
Not dealt with in this commit, so fallback to existing behaviour:
* string
* number
* unknown
* content
* unbalanced-wikitext
* date
* wiki-file-name
Bug: T55613
Bug: T124734
Bug: T124736
Change-Id: If04944d64303d959e8dd605e75a175895932b788
Depends-On: I87699a93ca1b34c6d248456fcc060f584623d158
Depends-On: I5e97604f0fc24176d5e89899bf0505dc442a1a7e
New changes:
14a02d3 Add article/section nodes for isolated editing sections
fa1b64a SectionNode: Don't set self as active node if a descendent is active
90f05cc Sections: Make sections & articles un-unwrappable
9518d4b SurfaceFragment#delete: Check removal is not a no-op
5109934 Section nodes: Use opacity to indicate active-ness
Change-Id: I3e89e8fa2db130f21e7d58231043b775ec51dc18
New changes:
3e587b8 sync-gh-pages: Fix "oojs-ui-apex.vector.css" 404 Not Found
0e53633 Toolbar: Add tooltip to structure group
7f0b6f7 Remove icon properties from windows
3a612b2 Fix positioning of mobile windows
Change-Id: I2a6995e61a76abfc0f77d3301c7c76593756463c
New changes:
1f298ce Update OOjs UI to v0.16.4
650776a Improve drop target preview for block node dragging
77fb965 LinearArrowKeyDownHandler: test more
0f669bf Fix behaviour of SurfaceFragment#annotateContent
fa08fca ve.ui.ContentActions: Add tests
3f4185f Tests: Add speed warnings to UI surface constructors
4bee4eb Localisation updates from https://translatewiki.net.
b678dbe Refactor getNodeAndOffset
254a802 Localisation updates from https://translatewiki.net.
0f0d980 SurfaceFramgent: Guard against tx.getModifiedRange returning null
603abe4 TriggerRegistry: Alter trigger for paste special on Mac to OS standard
Change-Id: I512c9b3a99673a876040e0fce789483e7221a78c
New changes:
6cf8864 Follow-up eb97c1f: Fix build for added language 'inh'
d1ce123 SpecialCharacterDialog: Use getReadyProcess promise to wait for char list
Local changes:
* SpecialCharacterDialog: Defer loading of character list.
Saves ~40k for most users who never use it.
Change-Id: I74b30fee96e1ae4463ed28c19bef4b515330220e
Depends-On: I45dc9f788aa5bd702b91ffd9f63b05b1f4760691
New changes:
e661245 Localisation updates from https://translatewiki.net.
d0bac53 ElementLinearData: Add test for sanitize conversions
53988e4 ElementLinearData: Test blacklist unwrapping
8593098 ve.dm.Model: Remove unused, untested method 'hasAttributes'
6247dd2 ce.Surface: Add tests for table strip delete
bee1851 ce.Surface: Add larger table strip-delete test
42d39e7 ce.Surface: Test table navigation with enter/escape/tab/shift-tab
5d248f9 Remove TableCaptionCommand
a86ad04 PreviewElement: Check node is a GCN, and always return a boolean
b518839 Localisation updates from https://translatewiki.net.
8834e9c ce.Surface: Allow any key code in the key handler tests
6b3ea6a ce.Surface: Linear arrow tests for block node
026999d Localisation updates from https://translatewiki.net.
eb97c1f Localisation updates from https://translatewiki.net.
Change-Id: Ic5853116d97623316d9a6bbacda2ecab9e4b49d5
Follow up to I9cf2aa50
Someone should figure out why some of these still have translations
Bug: T129704
Change-Id: I23e4c72fc07c4decf43b8b3a76bb5515731e737c
* Don't just fail to load, action=visualeditor itself should not write to the DB
(we have action=visualeditoredit for that)
* Send notice to the client in the usual way
* Handle read only errors on save, log as unknown
This won't let you review changes because that uses visualeditoredit
Bug: T129501
Change-Id: Id78c06b031423e47a7ddf94ec615b6d6975309d3
This allows extensions to register their own rules for detecting wikitext,
e.g. matching '<ref>'.
Bonus: Strip the autogenerated <references/> tag which
gets inserted when converting a <ref>.
Bug: T128805
Change-Id: I7a38db45d25e86ff3f3f6199aa04425ec98f7cc4
This can happen when the user gets logged out on a private wiki.
We get a badtoken error, so we try to refetch the token, which
itself returns an error. Token refetches didn't have error handling
at all and got the save dialog stuck in the pending state.
We can't offer the user to proceed with a different identity here,
because we encountered an error while trying to figure out what their
current identity is. The best we can do is encourage them to
log back in in a different tab.
Bug: T128934
Change-Id: I17d4452f688ec22631dbd12af223731635004d66
New changes:
cea967f Use upstream highlightQuery method in OOUI
07bcff1 Update OOjs UI to v0.16.0
6296fd4 Handle Enter keyPress without matching keyDown
3c2a3b4 Localisation updates from https://translatewiki.net.
c2d64c9 GeneratedContentNode: Check model existence before using
c1a350a FindAndReplace: Always focus dialog when using command
cdd9581 Follow-up I534ce003: Surface#getViewportRange: Fix typo
Change-Id: I4c61e85d43486731e0b20d3a26f23fabe7482861
This module is (and always has been) referenced by
ve.init.mw.Platform, so ensure it is loaded before that.
Previously this was not a problem because it was inside a
function that was never run unless the language search widget
was invoked.
This probably makes a good case to not put these functions
in platform, but that is for another day.
Bug: T127736
Change-Id: I119b27a397b15628a8de5f0b32ae636bc73a8ba4
New changes:
c02ea46 Clarify documentation of directionality methods
43c9b6f Move initialisation browser support checking from downstream
c89be66 Localisation updates from https://translatewiki.net.
5fb7907 Follow-up c89be66: Fix build for added language 'nan'
fc74fab dm.ElementLinearData.compareElements: Add a few missed test cases
Local changes:
Use initialisation browser support checking from upstream
Depends-On: I27a8e7b4376647f01cee648de987dc3ca6a060d5
Change-Id: I3fc79422ee5e487cf5fae3929fe492f21cd2840a
Was being thrown on all read pages and caused VE to no longer
load properly.
Three places make use of $.cookie():
* ve.init.mw.DesktopArticleTarget.init.js
* ve.init.mw.DesktopArticleTarget.js
* ve.ui.MWEducationPopupTool.js
Presumably this worked by luck previously due to another extension
or core module depending on it and loading earlier but no more.
Change-Id: I6b00822f1d5d17add3e298cbd77f4790899aaec2
New changes:
b558ef1 Localisation updates from https://translatewiki.net.
53476f4 Move logic for showing icon for invisibles to focusable node
Change-Id: I4bda82918cb54a3cc77523137fa297960b1b1ba0
New changes:
242ab45 DesktopContext: Float the context when it goes beyond the viewport
405c44d Rename TableContext to TableLineContext
6c564be Sort messages alphabetically
70ff8cc Introduce table and table cell context
Change-Id: I4357162bc192c90f99ca0aec12eb67bf848e5504
Some old code (pre-Icebc378f) is still relying on these existing,
and some users are getting it loaded somehow.
Bug: T125249
Change-Id: I83190da98478bc702c23dfff2091cc5480174958
New changes:
79546b8 Tables: Add slugs for missing cells in sparse tables
f723301 Tables: Multi-cell copy and paste
2548fac Spoil the fun of guessing what current[0] and current[1] mean.
db7c9aa Localisation updates from https://translatewiki.net.
526e1bf Tables: Move columns and rows
Change-Id: Id8d5f091cbca36c54f78f90bd2ac7aa2e6dacd1b
New changes:
1ab3b78 Localisation updates from https://translatewiki.net.
92abd0c [DEPRECATING CHANGE] ve.ui.Surface: Make an OO.ui.Widget and implement #setDisabled
479b902 Localisation updates from https://translatewiki.net.
7723bcc Unbreak build from i18n-bot self merging
d1c5207 Move white-space:pre-wrap hack to ContentBranchNode
7bbded7 Annotation context items: expand the selection if no annotations
c9ca0a3 Localisation updates from https://translatewiki.net.
8dfabec ve.dm.Document: Rename cloneSliceFromRange to shallowCloneFromRange
7fee02d Localisation updates from https://translatewiki.net.
2176d88 Localisation updates from https://translatewiki.net.
a5ab6f4 Unbreak i18n lists
915b8c2 Localisation updates from https://translatewiki.net.
469c8be Localisation updates from https://translatewiki.net.
34f4a48 APIResultsProvider: Refactoring resetting of queue.
584fc0f Localisation updates from https://translatewiki.net.
Change-Id: I9c165c8df7a48560ab84fabe4ee2f8d244c37203
Create a subclass for MediaSearch(Provider/Queue) and make the parent
class a more generic representation of API requests for media.
Change-Id: Iea8b90e829d532d210bfef3c96d6798c64e15eed
Usually. Unless you load VE, because then you might be loading on
`action=edit` in remember-last mode and therefore the tab text needs to
be updated from "Edit source" to "Edit". Or "Create source" to "Create".
Or the equivalent with 'local description' in the case of pages from
foreign file repos, etc.
Bug: T120970
Change-Id: I8f07be6c8e415b40ad134ee82d0bda1d63cc4f96
As of 3b44da3261673 in MediaWiki core, all MediaWiki:*.json pages are
given the JSON content model, so our hook that does the same is no
longer needed.
Change-Id: I8b39edf36b479ca22d74481c3d571d15db69aa1e
New changes:
e536779 [DEPRECATING CHANGE] Rename link inspector tools
3899967 Localisation updates from https://translatewiki.net.
0a1c09e [BREAKING CHANGE] ve.init.Target: Upstream the action toolbar from sa/mw desktop targets
Local changes:
* Refactor tools for the breaking change
Change-Id: I676af9c50b09ef007926240eb2327d1a0fdd80f5
Move over logic which isn't specific to the article
implementation of VE (e.g. nothing related to loading/saving).
Refactors setupSurface to use an abstract tracking method (which
does nothing by default), and moves surface CSS classes to #createSurface.
Breaking change:
* Rename onSurfaceReady to surfaceReady. We shouldn't need to listen
to our own events.
* Rename onReady to documentReady. onReady is not a listener.
Bug: T97166
Change-Id: I7242b1bb5501b7755a18a13d13e166c30cac9cdd
This makes way for a base mw.Target class which is
not specific to articles (e.g. Flow boards).
Bug: T97166
Change-Id: If72650bdf87aa9f195b004da0a4d815f1a8063a3
In addition to the couple of TODOs inline, we should do the following in
follow-up commits:
* Prevent FOUC due to changing things only on the client
* Make section link behaviour sensible
Bug: T58337
Change-Id: I65d966270491ffe017cb11a0daa915628fadf65c
New changes:
94f2edb Paste sanitization: Check for whitespace *before* newlines
c981b96 Fix-up Ie5414f62c: Fix call to non existant method
d6f2d75 FindAndReplace: Implement whole word matching
Local changes:
* Message and config for FindAndReplace whole word matching
Change-Id: I103b9b1ec92c0aae1e51e1a94db6b8b5e759dbea
New changes:
c04d8c0 Diff richtext to build model changes
25c95be Localisation updates from https://translatewiki.net.
Change-Id: Idf95b655dbed4f56633d91c52fc8b90308438d45
New changes:
ee3c787 When the cursor is inside a table cell, tab moves between cells
c6b338a Use white-space: pre-wrap instead of using for spaces
83e394b Define 'space' as a trigger key
b0c4535 Localisation updates from https://translatewiki.net.
1336c5c .mailmap: Add some extra addresses and change default for rmoen
a67ee68 AUTHORS.txt: Be more strict about 'principal' authors and update addresses
Change-Id: I4193774aa0d45d3751386bd2cfbd6d6717c0a81a
This fixes some rendering issues, and also increases the font
size of reference contexts from 12.8px (interface) to 14px (content).
Bug: T119430
Change-Id: Ib1bae8cd4cfe86903d78406a33db78e1489fde86
An MWExtensionDialog with a PreviewElement for the selected node,
or node to insert.
Depends on Icd622e15cd7 in VE core.
Change-Id: Ia0f46da2d445dd94c8aa50be73508d9f1afcb816
New changes:
3951dc1 Localisation updates from https://translatewiki.net.
a92d028 Introduce view selections to abstract getSelectionRects logic
f3030e0 Move getSelectionBoundingRect logic from TableNode to TableSelection
679300d Localisation updates from https://translatewiki.net.
5f7ebcd Update OOjs UI to v0.13.3
aa87e56 Unbreak complex HTML paste by ignoring screenshot fallbacks
afe5d45 Paste handlers: Break after the HTML data item
Change-Id: I6ce7c41fac995e718a88d8c2366ff642ef6dfd06
Follows-up 55f78fc which deleted this message.
> MessageBlobStore::fetchMessage failed to find: 'visualeditor-linkinspector-open' (en)
Change-Id: Iccfd51f597b991146209b7a639179ff0deb0e119
New changes:
fbb2b2e Localisation updates from https://translatewiki.net.
933f979 mailmap: Remove unused alias for ttijhof@wikimedia.org
72ce0e6 Better faking of onselectionchange
0d550d9 Paste sanitization: Treat <br> breaks as node splits
966b0a1 Localisation updates from https://translatewiki.net.
414cebb ContentAction: Add 'collapseToEnd' option to 'insert'
60de784 demos: Fix 'TypeError: ve.demo.target not a function' in desktop-dist.html
71f272e Localisation updates from https://translatewiki.net.
60376d2 RangeFix: Update from 0.1.1 to 0.1.2
2470042 Localisation updates from https://translatewiki.net.
7b1cdda Range offsets: Special case when adjacent to a nail
7ecde6c Add ve.ui.AnnotationContextItem
Change-Id: Iaab4cb7f9d4ec9d7120f42350fd613458c996c85
VisualEditor is usually not enabled in talk namespaces... but
sometimes it is. And when users see the button to edit with VE,
they're going to click it and expect to be able to sign their posts.
This tool is only loaded on talk pages and pages in additional
namespaces defined in $wgExtraSignatureNamespaces.
Code adapted with small tweaks from my own gadget
<https://meta.wikimedia.org/wiki/User:Matma_Rex/visualeditor-signature.js?oldid=13461327>,
which is already available under the MIT license.
Changes include:
* The tool is now always visible if the wiki allows signatures in any
VE namespaces, but disabled when not allowed in the current namespace.
* Register '~~~~' sequence to insert the signature.
* Code style tweaks for stricter lint checks in this repository.
* Documentation corrections.
Swedish translation provided by André Costa (already credited
as a translator as Lokal_Profil).
Depends on changes in VisualEditor core:
* I89fe53890ab59d12260ea6b41de802c38c24e8b9
* I14cd7efac521687ea38580341ae08ddc522edeeb
Bug: T53154
Change-Id: I6be5fb2118cf3eef5098d4c5320228aa81411ccb
Ensures that these styles are loaded *after* OOUI by making
them dependent on it, unlike DesktopArticleTarget.init
which isn't.
Change-Id: Ia1fff16432d20fb56707c5e21c6a930d2478e311
New changes:
cda23ea CommandHelpDialog: Layout tweak
a4fcff4 Localisation updates from https://translatewiki.net.
dac9067 Remove unused jquery.visibleText library
58beb8c lib: Add AUTHORS, LICENSE and README files for libraries missing them
efb1749 Surface drop: Show branch node drop markers for file drop
a55574b Localisation updates from https://translatewiki.net.
0ad3133 Add ve.Scheduler
55cc3e0 Close inspectors before executing a ve.ui.Tool command
6132af8 Localisation updates from https://translatewiki.net.
24fed63 Watch for hashchange on the demo
0f04339 ve.ui.Sequence: Allow sequences to insert content
Change-Id: Idf26d9fb1970b994a54085b43fcc848b005da273
VE already has a a switch icon in the options menu, so bring that
up to the main toolbar.
Append an OOUI button to the WikiEditor toolbar if present, and bind
to the same functon as the edit tab.
Bug: T49779
Change-Id: Ic1e83ea7b13c4fef68024bf05ffc244060666103
New changes:
6cae77b ElementLinearData: Add another case to hasContent
d2e15f2 SurfaceFragment: Improve handling of delete all
16db2a3 Return 'null' instead of null in ve.Filibuster observers
24de6b2 Introduce key down handlers to separate logic from ce surface
f77fe99 Localisation updates from https://translatewiki.net.
062cb26 Localisation updates from https://translatewiki.net.
Change-Id: I61c94983c7898af219266af3022761638c7578b7