New changes:
220713c Basic unit tests for article/section nodes
42134b7 Bypass fragment parsing for non-fragment windows
8d1ec6b Fix #insertContent in source mode to maintain linebreaks
9bebc0f Surface synchronizer (sockets)
4324301 Localisation updates from https://translatewiki.net.
c8f4867 Simple document server
a1fe22d Run eslint on rebaser folder
c4c1809 Fix build modules for rebaser
606b4a8 Add landing page to rebaser demo
327a277 Rebaser: Focus document name input on load of landing page
Change-Id: I57975ea090e2e905e5a78b2a715141636dca4748
New changes:
06ffd06 Rebase logic
56d8e13 Use DOMPurify to sanitize incoming HTML
abc3465 DOMPurify: Use pre-release & add fix, and fix IE9 return type issue
14700eb Bring in source mode WindowAction hacks from MW
Change-Id: Iaef73bab7c1010ec29826ff2025c767c9758e8e3
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
New changes:
f564149 ve.dm.Transaction: add 'author' field
4032768 Remove jshint comment, no rule required
3705e38 Remove comment about jscs empty blocks rule
09c48db Remove comment about jscs binary space rule
1f2fcde Allow shallow clone of whole document
b8c3673 build: Update eslint-config-wikimedia to 0.2.0 and make a pass
f31a1f8 Re-use eslint.main for eslint.fix
78acdbe Add LICENCE.txt for classList lib
0d92f39 jsduck: Move UnicodeJS and OOUI into Upstream
d0c4225 Remove rules which have been moved upstream
31126aa Fix ve.test.utils.createSurfaceFromHtml
a1036e0 Make it possible to see visual diffs in VE core
3a1bc70 Diff style tweaks
977d3ad build: Move diffing code to its own module for slimness
Change-Id: I82da0beb9bdb05f482ddfa76b4f95563d2499f1e
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
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
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
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:
0371bbe [BREAKING CHANGE] Refine VisualEditorSupportCheck call and document pattern
Local changes: Use new VisualEditorSupportCheck pattern
Change-Id: I7dc0c360b54a93397180b18d88d72532e439da5c
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
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
Create a subclass for MediaSearch(Provider/Queue) and make the parent
class a more generic representation of API requests for media.
Change-Id: Iea8b90e829d532d210bfef3c96d6798c64e15eed
New changes:
c04d8c0 Diff richtext to build model changes
25c95be Localisation updates from https://translatewiki.net.
Change-Id: Idf95b655dbed4f56633d91c52fc8b90308438d45
Partially reverts "Expose version information in the client" (a72099af66 / I7836e1d40).
The Git data oscillates between two values due to differences between the
staging and production environments. Each change causes the module version to
change also, leading to cache churn.
Instead fetch version information with an API call the first
time the help popup is opened.
Bug: T119750
Change-Id: Ib9c45e60d3164cfa85eb1ef247cc91cf0d8bf954
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
New changes:
95589a6 test: Add a Rakefile for new CI requirement
1a4497e ve.ui.DialogTool: Do not require that a command is set
cbf1bff ve.ui.Tool: Fix documentation for getCommandName
530022d Localisation updates from https://translatewiki.net.
9529093 Update OOjs UI to v0.13.2
b8d6c15 Add icon: Rename 'insert' to 'add'
2f3015b Update OOjs to v1.1.10
78ceb18 Fix deletion inside a structural node at start/end of document
ce3e9a4 ve.utils: Use binarySearch from OOjs
Local change:
* MW test cases for new structural deletion logic
Bug: T52250
Change-Id: I643449c1fa08ea12c8c3aa13f4a4b97d8876990d
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
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
New changes:
90ed001 Localisation updates from https://translatewiki.net.
c2f2096 Rename ve.ui.PreviewWidget to ve.ui.PreviewElement
Change-Id: I35103bc5d98b7eee77c9f5f22c441091b6453687
New changes:
5542fe9 Localisation updates from https://translatewiki.net.
0a64089 Follow-up 5542fe9: Fix build for added language 'glk'
26c8862 Update OOjs UI to v0.12.7
0481471 Make ve.ui.Sequence#execute return false if the command is missing
20fd431 Localisation updates from https://translatewiki.net.
521d281 Localisation updates from https://translatewiki.net.
a76cbef build: Bump grunt-contrib-jshint from 0.11.2 to 0.11.3 to fix upstream issue
7022385 Back out "Re-use example surface across surface view tests"
3a8f7af Don't call setInsertionAnnotations on handleInsertion
10700e2 Localisation updates from https://translatewiki.net.
3b75d9d Don't descend into overflow clipped nodes for highlights
9492aca De-duplicate methods in NodeDialog and NodeInspector using mixin
Change-Id: I06a239269c68351f046f8aa221bb82899a8f57b1
New changes:
dc27315 ve.SelectionState: DOM selection snapshot
6cd7d91 Emit context change when any annotations change, not just covered.
d2c98d5 demos: Default to 'simple.html' instead of 'aliens.html'
3685d17 Emit change when selection changes from collapsed to not
baa21a8 Update OOjs UI to v0.11.8
Change-Id: I8a1032263f84fc2bf3aa1495229ffab8f50589d6
New changes:
3368c4c Remove some assumptions about the state of the context
79918af Move contexts to subfolder
820eaec Tests for some drag/drop functionality
e5f0e3e Convert CE surface tests to use a mock UI surface
c81dbcf Localisation updates from https://translatewiki.net.
7561ff3 Create a mock UI surface that only contains a model for model-only action tests
ad60333 Convert test timings on APIResultsQueue from seconds to milliseconds
b52d7df Table cursoring tests
3f8e821 Localisation updates from https://translatewiki.net.
9c737df Update OOjs UI to v0.11.4
5befc34 Stop using deprecated aliases for OO.ui.mixin.*
Change-Id: Ida6d4ba724686d8189975c55a18c4a6c2cfe4875
New changes:
5197b2d Rangestate optimization
80a07cf Unmix GeneratedContentNode from AlienNodes
f510e9c Make (Node/Annotation/MetaItem)Factory inherit from ModelFactory
b625ff0 Localisation updates from https://translatewiki.net.
5c4653c ve.qunit: Use 'jscs:disable' comment rather than hacks
90e9480 Remove registration of abstract AlienNode classes
d325674 i18n/en.json: Convert from spaces to tabs, like all other files
f40fc15 Add 'classes' config option to focusable nodes to simplify AlienNode
f7c8999 Document config options as @cfg
ad3aa0b ve.ce.Surface.test: Groundwork for testing non-linear selections
cd1a992 Localisation updates from https://translatewiki.net.
c92471e Move drop marker to highlights layer and position absolutely
Change-Id: I437663d93a346a06c6a5137cce5149c7a6fcbb7f
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
New changes:
8925df7 Transaction tests: Assert specific exception messages
6a583b0 ve.dm.Document#buildNodeTree: Throw an exception for unclosed inline nodes
5d6fd2b Localisation updates from https://translatewiki.net.
57baeb1 Use modifier functions keyed by name for queued modifications in TransactionProcessor
04e7b17 Make transaction processing exception-safe
11c4cb7 Add test for heading1->heading2 content branch conversion
aa8fb76 When replacing e.g. heading1 with heading2, use attribute changes
b2db809 Unbreak cursoring inside table cells
2bbde7d [BREAKING CHANGE] ve.utils: Remove ve.getObjectKeys in favour of Object.keys
Change-Id: Iede19c061732ca73d6f97031c3c89345ac02ac58
Also
* This way we don't need to pass the --config=jsduck.config.json
parameter but can run plain 'jsduck' in Jenkins. Allowing it
to use the standard job template for testing.
* Move processes=0 to jsduck.json.
Workaround for https://github.com/senchalabs/jsduck/issues/525
* Use standard ' - Documentation' suffix, which makes the first
part of the title render in bold (similar to how we do in OOjs
and OOjs UI already).
Change-Id: I6c9c7a1f29df0a72dc8cd0d37a83aaef23068062