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
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
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
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
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:
71d6c72ff demos/ve/eventSequencer.html: Cleaner fix
9d8ddf863 Fix table context selectors
674bbf556 Fix load order in demos
686acba46 Fix context item inheritance
4a283aec4 Use icon instead of indicator in TableLineContext
f0d6883d4 Use 14px font size in mobile demo
b5beec69e Fixing spacing of demo tools when wrapping
Bug: T190480
Change-Id: I3724b3b594bdb28e54169ccba4ace12953769cdb
New changes:
617708fe1 Update rel attribute checks to be aware of multiple rel values
c22428f81 ve.ce.LinearSelection: Don't throw exceptions only to catch on the next line
406db2ce3 Localisation updates from https://translatewiki.net.
33f94faf7 tests: Update ve.dm.Converter#getModelFromDom cases for new metadata behavior
d85bf0d68 Use documentFragments when DOM splicing
110519f1c Update documentation now describeChange can return jQuery
ff7fa5fa0 Change http://www.mediawiki.org to https://www.mediawiki.org
09faa4a3d Fix error with tabs per this:
a329edf67 Localisation updates from https://translatewiki.net.
da864cc5e demos: Separate out and fix mobile-dist
380cc90c5 VisualDiffs: Unit test for timeout behaviour
601173c02 Clarify the "Log" button label on the debug bar
c52a2e07e demos: Fix auto-save by only storing doc state if not recovered
1b8d2c457 Auto-save: Save and restore last known selection
9e279e77e Fix deprecated icon name 'alignCentre' > 'alignCenter'
Local changes:
tests: Update ve.dm.Converter#getModelFromDom cases for new metadata behavior
Bug: T189687
Bug: T189939
Depends-On: I2059d8ce9140b733ee92436de395d735ab06b9df
Change-Id: I3c210112c84e2d2bd8226de3dad195bf17afb4c2
* Provide config option to specify which API
ve.ui.MWCategoryInputWidget will use.
* To be used in Iec79e687eff8c63434054282650c97cc882f348d
Change-Id: Ib8869d4facf8b3210b309200d944fad4508d7eee
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
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
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
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
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:
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:
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:
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:
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:
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
Follows-up 94a7e34. The main fix there was adding the promise to
the example execution. The path change was not needed, and actually
breaks the demo, again. Only the 'docs' directory is published.
Accessing ../lib results in 404 Not Found after syncing to doc.wikimedia.org.
This is why we run 'grunt copy:jsduck', which copies those files into
the docs/ directory.
Change-Id: I2ea89bfbd980910510cbd8639f871ec931a768f1
New changes:
b2970d6 Remove #rebuildTree calls and ensure #getDocumentNode is used
4d3231d Extract DM document from node instead of passing it as argument
5827a4c Update treeDiffer library & remove all but dist, licence & readme
4200362 Fix typo in getModifiedRanges
9a4edb7 Fix behaviour of attribute change in getModifiedRange
c5c7d83 Localisation updates from https://translatewiki.net.
993200a Add includeCollapsed & includeInternalList options to getModifiedRanges
566c7af Add ve.Range#overlapsRange method
4a3afce Remove unused eslint exceptions and old jshint comments
db44a3d Fix splice typo
7a4de14 Fix translateRange bug that expands selections
e7c5b56 Localisation updates from https://translatewiki.net.
Change-Id: I4af5647b9f49525c9c592ab42270f302144d76c9
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
Update VE core submodule to master (89ce43b)
New changes:
c3d3d29 ce.CommentNode: inline preview of comment
Change-Id: I8a7f1b69eaf84165742a1f2d10fed3594961a9e9
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
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:
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
New changes:
443bb73 Restore OOUI PNGs for IE9
7970a6e Remove feature check for classList
8a40565 Fix getNodeClientRectFromRange to work better with nails
6657dc8 Update OOjs UI to v0.16.6
436b74a Fix pasting in IE<=10
53ca31f Fix node drop in IE9
01e0256 Remove comment about testing 'beforepaste', not required
f7f5d71 Debounce selection change events to avoid nested model changes
Change-Id: Idf3bbaa066ed857e392b91b99afa222e6f168ed5
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
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