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
New changes:
01729d1ec Localisation updates from https://translatewiki.net.
c33dc3b44 Asynchronous document store
70ee7c343 Tracking: various annotation and dialog actions
Bug: T202656
Change-Id: I99add8d3a1a9ecf9eaa70522dd49d3c64909a34c
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:
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:
3b62827b8 Remove negative margin from mobile context action buttons
694705894 Implement a simple notification system to fill in for mw.notify
461283560 Validate history start when applying/unapplying change
Bug: T202514
Change-Id: I203dc5101bc31988df2d3986da4300a318e5e889
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
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
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