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
New changes:
ae0204885 stylelint: Remove no-unsupported-browser-features overrides
d744cd576 Localisation updates from https://translatewiki.net.
1338c50f5 [BREAKING CHANGE] Remove resize handlers from within DiffElement
Local changes:
Trigger diff element resize on dialog resize
Depends-On: I82a67a4309bf76db5407ea38c26c47d14c01e921
Change-Id: I912a99edca25ff576e2872723f91afe54e36a170
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
New changes:
5082dcba0 Localisation updates from https://translatewiki.net.
19a6c389c Remove DiffElement DOM element when destroying
Bug: T161877
Change-Id: Iaa162c5f87fb81136d35b8a5c81034398116583e
New changes:
e0651b2df Move -hasDescriptions class toggle into #renderDiff
94dbb244d Fix dm.BlockquoteNode to inherit from ContentBranchNode
8715f7be7 Remove superfluous setting of canContainContent when inheriting from CBN
88e5b918d Replace instanceof ContentBranchNode with #canContainContent
c4b404408 DiffTreeNode: Use getters for type and attributes
869f3d34a SurfaceFragment: Avoid double-annotating in insertDocument, as well
931bd2410 Localisation updates from https://translatewiki.net.
f0cdae3ab Disable double-click & enter on focusable nodes when model is not editable
cb9ba7137 sync-gh-pages: Add .nojekyll file
495cd7d65 Re-apply "Remove $returnFocusTo hack now null is supported upstream"
Bug: T143261
Bug: T161262
Bug: T161547
Change-Id: I1a54293f9a2e0b27adc4fa0708b8dc1fdcca16b0
New changes:
f887e6b7a Only show branch node rebuilds in inputDebug mode
81ff8b246 Localisation updates from https://translatewiki.net.
e09334387 SurfaceFragment: avoid double-annotating in insertContent
7b51cb6ab DiffElement: Resolve URLs in links and target at new window
Bug: T143261
Bug: T160939
Change-Id: Iede559dbd2d9b42d904ccab329d311780a758477
New changes:
642e86498 Localisation updates from https://translatewiki.net.
98608eb3d ce.test: Use nodeType constant
8e795e433 Fire a surface change event from the toolbar so tools can rebind
Bug: T160906
Change-Id: I9c3c65b43f3209049ba0ca7e587cc39fffc413d2
New changes:
dcff78aa0 Pass element to describeChanges
51bc2139f Move diff cleanup to ve.DiffMatchPatch
92f3219e2 Use diff_match_patch action constants for better readability
0ff1f053f VisualDiff: Merge remove+inserts separated by whitespace only
5255ac49c Ensure inline node changes are balanced and minimal
a63435906 i18n: Add param documentation in qqq for some recent keys
Bug: T160632
Bug: T160729
Bug: T160740
Change-Id: Iacb47e849004fe52c1edb0ba09c26ac3f03cc06d
New changes:
ae944e7fd VisualDiff: Show attribute changes in a sidebar
1a3b7ec90 VisualDiff: Add custom messages for change descriptions
Bug: T151404
Bug: T156189
Change-Id: I218bf2eee6606cedc21f1e542fba62c1b98ca43f
New changes:
1e12d0174 Generalize DiffElement logic (improves lists and tables)
24e0c7a94 Localisation updates from https://translatewiki.net.
32759ae86 Allow variable-length sequences without a fake space terminator, use for autolinking
82c204ba0 QUnit.assert.equalHash: Correctly compare JSON representation
2e5462610 DiffElement: Allow a node change to be an attribute change *and* a linear diff
41134af2b ve.ui.LinkAction: Allow autolinking ranges including trailing spaces again
Local changes:
Updated tests for 32759ae86: the autolinkUrl command no longer expects
trailing whitespace to be included in the range.
Bug: T117165
Bug: T149537
Bug: T158518
Change-Id: I5c2d5b97894fc93f49ce6270a198f3dfdcd09986
New changes:
a98515c7f Localisation updates from https://translatewiki.net.
788a1b4be FindAndReplace: Use Intl.Collator instead of localeCompare
a02ce2cd1 Use Intl.Collator for all searches if available
69328692d findText: Fix documentation and tests
833c29b67 PositionedTargetToolbar: Move code that assumes surface exists to after check
15de62106 Remove $returnFocusTo hack now null is supported upstream
a09efa1f8 Fix cursor style on language search widget
c60e7ba66 demo: Move qqx language option into the language selector
Bug: T159439
Change-Id: Ib292a25c79969a063a634837118e837e477f39ac
New changes:
9dbb3729b DiffElement: Measure box-shadow borders in pixels to avoid blurring
cbcaed302 ve.ce.Surface: Prevent horizontal scrollbars when hovering FocusableNodes in RTL
b715b1ad6 DiffElement: Use a real ve.Range instead of a plain object
d2567df6c DesktopContext: Unhide context before positioning popup
1afcce366 Localisation updates from https://translatewiki.net.
c31dccebd Update OOjs UI to v0.19.5
Bug: T159472
Change-Id: Icbff2ef3bdb3269db53183f27e2b682a755ee781
New changes:
f83a68c22 ve.ce.ContentBranchNode: Don't set 'white-space: normal' on `<pre>` tags
ee5920781 DiffElement: Fix remaining class->data-attribute conversions
a07c9e345 DiffElement: De-clutter left margin, removing the blue border
3056a4a46 ve.dm.Document: Provide a utility method to provide a blank Document
Bug: T159231
Change-Id: I3b71d995c915fa6ea10a0eea7cb727ee68733ae9
New changes:
7da907be0 Highlight comment changes in visual diff and fix whitespace
77accf6f6 Have toolbar append toolbarDialogs container
6985593cd Localisation updates from https://translatewiki.net.
9140a5991 DiffElement: Avoid modifying class attributes on DM HTML
cdcbbdde3 Remove used 'header' params from toolbar config
15f36bc75 Update OOjs UI to v0.19.4
Bug: T149821
Bug: T158895
Change-Id: I5bfc595b6b43173e76fc8cd45e47fb21d5ccaea7
New changes:
09900c889 VisualDiff: Use more robust check for ClassAttributeNodes
ee0d641b5 DiffElement: CSS fix for captions & figcaptions
08043a75b Table: Ensure active node state is always properly cleared
be1e026df Correct some indices in visual diff
d1267bdf1 Localisation updates from https://translatewiki.net.
4656e5001 Remove styles for non-existent toolbar-shadow
185fbabde Mark all node files as es6
576c6c536 RebaseServer: Handle disconnects by setting the disconnected author's selection to null
c9c2498e9 LinearEnterKeyDownHandler: abort if in dialog and ctrl/cmd held
61c11cbee Show annotation changes as blue
dda1d105f DiffElement: Build diff using raw DOM operations
42a8b416c Use node.get*Outer*Range() when splicing in removes
87b060edf Localisation updates from https://translatewiki.net.
61ce2cf7b DiffElement: Fix documentation and parent constructor call
b7a09afe1 VisualDiff: Strike through removed text
Bug: T152001
Bug: T152487
Bug: T157590
Bug: T158294
Bug: T158321
Bug: T158769
Change-Id: I251ebf7d40cc8107703f3cbe9d3823c3ee455edc
New changes:
08a199e2a build: Drop two deprecated stylelint options
a507dcb84 build: Bump stylelint and make pass
Change-Id: Ia41930fa9db085b9be0a1f84da400dfb6bd7f2ef
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
New changes:
fd62bf687 Stay in cell editing mode when pressing table inside a cell
a03842b5d Replace non-breaking spaces when pasting into source
6b70c67e0 ve.ui.TableDialog: Add "Cancel" button
9f31555fb TableDialog: Disable 'done' button when no changes made
1f712e893 Localisation updates from https://translatewiki.net.
0c92a774f Follow-up 1f712e8: Fix build for added language 'bqi'
Bug: T154382
Bug: T155928
Change-Id: I61340a76464a384923639a0fcaed17d7ef6b8b95
New changes:
d2681c923 SourceMode: Fix sanitization loop in plain text paste
f67a7cb06 Listen to mouseup events on documentNode for focus changes
f3e857a3e ve.ui.Surface: fix issues with scrolling while selection
Bug: T157291
Bug: T157491
Bug: T157499
Change-Id: I14422ff046734858270879a4ba24654a05c3000c
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:
a2e9331 Use forked version of DiffMatchPatch with abstract string methods
6aa2023 TransactionProcessor: Fix bug where annotation events could be emitted on the wrong nodes
b8b67d2 DocumentSynchronizer: Simplify pushRebuild() API
ed84b86 Add TransactionProcessor tests for wrapping, unwrapping and rewrapping
88764aa Remove presynchronize, use precommit instead
d704cbf tests: Fix offset numbering in getBranchNodeFromOffset test case
5eabbb2 VisualDiff: Add performance shortcuts to compareElements
2492fd0 Add comment for VisualDiff test store merge hack
Change-Id: Ica7185201e095a3a5da32a75c95bc2b90806568c
New changes:
0b2bb48 ve.dm.TableMatrix: Emit event when table structure changes
819825f ve.dm.TableNode: Emit event when any cell's attributes change
0a8de00 VisualDiff: Annotation tests
19aaa68 Fix documentation in ve.Range, and remove test for wrong input
e18e5b8 tests: Test node replacement in ve.ui.DiffElement.js
7e7df4f Localisation updates from https://translatewiki.net.
f4f545f ElementLinearData#sanitize: Use a proper stack to find last open element
cac05d0 Fix width of labels in language inspector
96ed6a4 Update OOjs UI to v0.19.0
Bug: T156735
Change-Id: I46900fb06d43a9384ec6034438ddc0ff068f136e
New changes:
5d5ca73 Follow-up Id00817d05: Correct mistaken handling of forced replacements
5649654 tests: Get coverage of ve.Range.js to 100%
a65b1ce ve.utils.js: Add some more 'Support:' comments
db28d44 Revert "Pass text as string to insertDocument when detected as plain text"
Change-Id: I6f3f15b59be131586df697847304f5235958a58d
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
New changes:
95ce4ad Check dataTransfer.items exists before iterating
c113207 Include oojs-ui-core.js in debugging pages
6d7f0f4 Localisation updates from https://translatewiki.net.
d5a0891 DatetimeAnnotation: flesh out model with datetime attribute
57ea466 Fix demo style regression introduced by new OOUI
34410a9 Fix a typo in visual diffs
089e6e1 ve.ce.Surface: Use toString, not String constructor
Bug: T103723
Bug: T155836
Change-Id: Ibd58b07b138b5b01c8e92978a20407290a4001fd
New changes:
1e4a2a5 Desktop demo improvements
0be3300 Replace abandoned colors with current ones
c3895e4 Warn before deleting a bunch of local files
a21d08d ui.CommandHelpRegistry: fix extending of existing command
Bug: T153486
Change-Id: Ia61714c4941b2b2cf5566a94896a28fb593b8029
New changes:
a46b26f ui.Surface: scrollCursorIntoView should handle below the screen, too
291cad8 Localisation updates from https://translatewiki.net.
a4b781f Cleanup various sillinesses in unicorn code
Bug: T153628
Change-Id: Icc48b644939d96cef1d5128a7a5babb4b6ca0a89
New changes:
8562e02 Ensure document is always sliced in #insertDocument when newDocRange passed
38885da Unwrap single pasted content branch nodes
afcc2b5 Use this.document directly in surface fragment
9a06a01 Don't show help for a trigger if the command is not registered
16fa88e Rename 'commandName' to 'commandHelpName' and refactor object copy
8640858 Localisation updates from https://translatewiki.net.
3e147fd Localisation updates from https://translatewiki.net.
df590e3 ce.Surface: in blur, make sure activeElement exists before blurring it
2883d2a Localisation updates from https://translatewiki.net.
89b8927 Remove serialization test cheat; make tests actually pass
41e77ad ve.ce.CommentNode: Don't assume icon exists yet
55185ec Rebaser: Allow document id & server to be changed by config
3b06cf3 Filter out nodes completely sanitized away by DOMPurify
755768c Pass dm doc to deserialize to hydrate selections properly
a9b1c86 DOMPurify config: Change ALLOWED_ATTR to ADD_ATTR
3796061 Remove unit test hack, no longer needed.
ef7b4e4 Rebaser: Separate namespace creation from /doc/edit
da4a0b5 Localisation updates from https://translatewiki.net.
Bug: T153247
Bug: T153249
Bug: T153960
Change-Id: Iaa277b86aea4182c8e96ec6ad4ed6c1beaf00ee1
New changes:
b74276f Fix <br> sanitization.
2cb48b6 Use try-finally instead of try-catch-rethrow
3c3ec31 Try text fallback for drag and drop even if exception not thrown
af66347 Localisation updates from https://translatewiki.net.
1e6aa55 Ignore covering annotations when importing source
5dd073c Follow-up 2cb48b6: Add a comment explaining why we're not re-throwing
Bug: T153223
Bug: T153315
Change-Id: Id8c0cd35b4f4d989c65a556e843eed0438aa59b0
New changes:
2a24fdd CommentInspector: Remove redundant surface enable call
45c3931 Allow ve.resolveAttributes() to take a single element
c5a5cef Give ui.Surface a focus method
721f591 Ensure content is selected after async source insert
Bug: T152645
Change-Id: I50f6c359818f8e40ac080eef4edd1d9698735064
New changes:
98e3ee8 Update OOjs UI to v0.18.2
7a7e576 Move socket.io-client into lib
9be803f ce.Surface showSelectionState: Avoid unnecessary refocusing
fa9570e ve.ui.TableAction.test.js: Make formmatting pass in eslint 3.12.0
65564a2 Follow-up Iaa41c49e: Don't assume source dialogs have a fragment
43acec4 ui.TableAction: don't try to add cells if none have been provided
33012af Update UnicodeJS to v0.1.6
Bug: T150450
Bug: T152387
Bug: T152659
Change-Id: Icb25c05fef4719fba464ba6b0f349de85f01f24d
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