Commit graph

50 commits

Author SHA1 Message Date
Ed Sanders 176e9c3297 CollabTarget: Use generateUniqueId
Change-Id: I69faf3b2efe70d1d880585dd41f227d2d0562594
2024-11-05 15:44:39 +00:00
Ed Sanders cb657e0bdf ESLint: Re-enable prefer-const and fix
Change-Id: I9dbc12335016a326f00bf5b9a960551f828c685d
2024-05-21 17:50:12 +01:00
Ed Sanders dbc696124f ESLint: Enforce no-var and autofix
Temporarily disable prefer-const as this requires
manual fixing.

Change-Id: I477b69a57e8d33535c6fc71dba196a8605780725
2024-05-21 17:40:52 +01:00
Ed Sanders e3659d4846 Prefer arrow callbacks
Change-Id: Ia05b27f7c71c33580ffd0718e3bbc673dd8b3d63
2024-05-01 14:11:54 +01:00
Ed Sanders d42a0772bb Move verbose copyright message to AUTHORS.txt
Avoids having to update the date in every file every year,
which we stopped doing.

Change-Id: I7bf7aa0937eef911e00772470091753a7b06fd3d
2023-12-01 16:07:39 +00:00
Bartosz Dziewoński 51a8541255 Replace references to actionsToolbar
Target#actionsToolbar and Target#toolbar refer to the same object
since change dfaed62d3632d381db9682c603b3ddbeed182292 in VE/VE
(barring bugs like T335469). Once we no longer use the old name,
we'll be able to remove this backwards-compatibility alias.

Bug: T335469
Change-Id: I577e8ae6a857519eb0e8181543ca0a96b515e019
2023-04-27 15:51:35 +02:00
Ed Sanders 7954f5897c Update VE core submodule to master (f5142bc0d)
New changes:
1b912ce6b ve.ui.DiffElement: Don't override margin on added/removed block elements
a43720b34 [BREAKING CHANGE] Move ve.dm.MetaList to ve.dm.Document
e7d6d2317 ve.dm.VisualDiff: Include metadata in diff

Local changes:
* Use new ve.dm.MetaList API

Bug: T331925
Change-Id: Id21c122d48519013a5c3325cc4bc316cedcb63f6
2023-03-14 23:07:14 +01:00
Bartosz Dziewoński fd80fae57f Replace mediawiki.Uri with native URL (easy cases)
Replacing one-off uses in various auxiliary features: only used
in function scope (or narrower), nothing else depends on them.
Some of them didn't even need to do any URL parsing or formatting.

Bug: T325249
Change-Id: Ia9a18656f67cb0a204c87605459abb9f5bbdc347
2023-01-03 22:18:01 +01:00
Bartosz Dziewoński 133cacc42d Remove obsolete browser support checks for HTML5 History API
It is available in all browsers we support.

Change-Id: I6c860eadd91e6e4061ed0364be0dc8c7b750d3e7
2022-12-12 20:47:32 +01:00
Ed Sanders 686ef07ed3 Pass empty string to unused argument of pushState/replaceState
Per https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState
this argument is treated as unused in all the browsers we support.

Change-Id: I83d3e2e8d9d2defa49e7a832f78bfc29f15da719
2022-08-09 13:37:34 +01:00
Jan Drewniak a3e28fa0bf Rename data-ve-target-container attribute to data-mw-ve-target-container
This data attribute, used to give skins the ability to position VE on the
page, should be prefixed with `data-mw` to prevent it being inserted on
the page by user generated content.

Bug: T310197
Change-Id: Ia6f87535f11ccc7aadb26b7dd9e1ac8a867c377c
2022-06-23 10:49:07 -04:00
Jan Drewniak 2e42a46654 Introduce data-ve-target-container as a skin-customizable VE target
Defines an HTML attribute, `data-ve-target-container` that gives skins
the ability to choose which element they want to act as VE's target.

This attribute addresses a need in the Vector 2022 skin, where the
default selector, `#content` was no longer suitable to act as VE's
content container and more flexible approach was needed, so that the
skin itself could define which element VE should use.

This selector falls back to `#content` as was the case previously.

Additional change:
Update modules/ve-mw/preinit/styles/ve.init.mw.DesktopArticleTarget.init-vector.less
to account for the planned change to retain line between tabs and
toolbar in new layout.

Bug: T310197
Change-Id: Idae6755c90eacaab1a9daa88c6e28850d427810c
2022-06-22 20:18:12 +00:00
Adam Wight b189ce2825 Special:CollabPad supports importTitle parameter
This lets us begin the import from another page, for example an edit
tab or button.

If the CollabPad page already exists, it will be opened without
overwriting with freshly-imported page contents.

Change-Id: I89293b9b06253243826d8f8144a5e93d55856e7c
2022-05-21 14:48:09 +02:00
libraryupgrader aa28b52dc9 build: Updating npm dependencies
* eslint-config-wikimedia: 0.21.0 → 0.22.1
* ansi-regex: 5.0.1 → 5.0.1
  * https://github.com/advisories/GHSA-93q8-gq69-wqmw
* meow: 3.7.0 → 3.7.0
  * https://github.com/advisories/GHSA-7p7h-4mm5-852v
* string-width: 4.2.3 → 4.2.3
  * https://github.com/advisories/GHSA-93q8-gq69-wqmw
* strip-ansi: 6.0.1 → 6.0.1
  * https://github.com/advisories/GHSA-93q8-gq69-wqmw
* trim-newlines: 1.0.0 → 1.0.0
  * https://github.com/advisories/GHSA-7p7h-4mm5-852v

Change-Id: Iad400485f197940efd00dfabaddcae805365d116
2022-02-09 07:52:22 +00:00
Ed Sanders 4d13a4f4ed eslint: Enable no-jquery/no-append-html
Prevents accidentally treating plain text or user input
as HTML, which could be an XSS vulnerability.

Change-Id: Id4af48447a0907962a57340cb60aca08df9cc505
2021-12-16 02:04:11 +01:00
Ed Sanders 5c0344aeda Use new select[First|Last]SelectableContentOffset methods
* Make ve.ce.MWBlockImageNode autofocus=false, remove
  unused transition property
* Remove ignoreChildren from ve.dm.MWBlockImageNode
  based on new definition
* Remove tests which assert that deleting in a list next
  to a block image always de-indents. If this is desired
  behaviour it should be fixed without reference to
  ignoreChildren.

Bug: T295905
Depends-On: Idc0cccbe73d1b49d07b60c14a192a40f47d64608
Change-Id: Ib79a070f5d36dbe7742fa0760f8cdf55fe3046ed
2021-12-08 15:53:35 +00:00
Ed Sanders 3801aa1bac Move var declarations inline
Change-Id: I12639c515e33b3d9e7a819581b5022ea42fd7046
2021-10-13 14:02:31 +01:00
Bartosz Dziewoński a4cafb1691 Update VE core submodule to master (1f76dea7e)
New changes:
6cde8742e i18n: Rename keys for error messages in rebaser

Local changes:
* Rebaser i18n message renames

Change-Id: I0c2e3a956c81f625822bacd40835dc4fadb57211
2021-06-04 23:53:02 +02:00
Ed Sanders 4b9ad322ea CollabTarget: Fix focus of authorList
Change-Id: I91e4fb75af6b65df9da2d8b2f7277e685d54d0f8
2020-12-04 17:59:48 +00:00
Ed Sanders 4545f53245 build: Update eslint-config-wikimedia to 0.17.0
Fix instances of variable shadowing.

Change-Id: I6e2befb020d7d4b506c7b46131eafacd951aa6d1
2020-08-18 13:16:49 +01:00
Ed Sanders 09f4af2a63 CollabTarget: Add close button on mobile
Move comment button into 'insert' menu to make room.

Change-Id: I00ace1477d08041e9af6d81ae2e6635151575f8b
2020-08-03 07:55:06 +00:00
Ed Sanders 6076708ff3 build: Update eslint-config-wikimedia to 0.16.0
Change-Id: I638e0f82949597e2a2e4ea18fc2f0258f225358c
2020-06-02 21:30:00 +01:00
James D. Forrester 2c77e88d2c doc: Bump copyright year for 2020
Change-Id: I30539877543dc2a57bd1428a00d10ac46d8fc294
2020-01-08 09:13:24 -08:00
Ed Sanders 5a24e78616 Prefix document titles with wgWikiID
This allows one rebase server to serve multiple wikis.

Change-Id: I212e6d0eca99a5d5a0d1634078f63e63e0574506
2019-12-17 14:55:05 +00:00
David Chan 22098d6b16 Convert $.Deferred() to ve.createDeferred(), except in preinit
Follow-up to a8e07e026dea4f54241d1dbb6b7bcdbd8c670db2 in core.

Change-Id: I09333adb4876c6e584a4a6b6a1628227c4cd2616
2019-11-02 13:06:28 +08:00
Ed Sanders 57d8e53111 Catch errors during document initialization
Change-Id: I5dc29666f99ac10bbf63a56153ba9a32d3568daa
Depends-On: I57fb6319bc3a9cee347c39fc75f555543991d703
2019-10-11 15:13:10 +00:00
Ed Sanders 25cbd22b23 Synchronizer: Fix defaultName config
Change-Id: I2b7482f6405d7da8515f30c8060f7eac1758e6a9
2019-06-01 17:51:41 +01:00
Timo Tijhof ef36f4b0a1 Move usePageImages/usePageDescriptions from page conf to site conf
These do not vary by user or page, and can thus be loaded asynchronously
via the startup module, rather than blocking rendering and fetching
of modules on all pages.

In a future change, it might be better to go a step further and bundle
these with a module so that they only load as-needed instead of still
on all page views, but this should be an improvement nonetheless.

Change-Id: Icae3712ac5546a90bc7ffd787b0f3285dff6a26f
2019-04-17 00:10:27 +01:00
Ed Sanders b0b8194faf rebaser: pushState when calling showForm
Change-Id: Id650acbcc4d0ba699fa1264acfd8ab6249315806
2019-03-04 13:25:26 +00:00
Ed Sanders 6f60b780ff rebaser: Bind special tab click to showForm
Change-Id: I3207c50b2515356833c19c7d46c69af4918dfa58
2019-02-28 19:20:14 +00:00
Ed Sanders 18907dde5a Implementations for read-only mode
Depends-On: Ifaa74be266c048d87f94b4ae2df59cafc7aa155f
Change-Id: Iedd1bd9ce17750ad8528c1a053293c4a7321c5de
2019-02-22 18:20:51 +00:00
Ed Sanders 332aa1f3d2 build: Update eslint-config-wikimedia to 0.11.0
Change-Id: I5a294705eed1760e2d4dde33934d2ffb12e29525
2019-02-20 20:23:43 +00:00
Ed Sanders 74f6c4899c build: Update eslint-config-wikimedia to 0.10.0
Change-Id: I63a0ebf0b31a0d5d4e680a4e2a5a0be4850be165
2019-01-08 17:00:09 +00:00
James D. Forrester 3c293ea00c doc: Bump copyright year for 2019
Change-Id: I8991b97c980d4149f53eb5601036220ef3c0c440
2019-01-01 13:24:23 +00:00
Ed Sanders d44e7fb3e8 Mobile target improvements
Change-Id: If55097a45ae812b712a74f41af350bfaa69f6135
2018-10-07 12:47:53 +01:00
Ed Sanders 164ccecf4d CollabPad: Show current sub-page as separate tab
Change-Id: I15da5a3122e7a0dfeb5131e528efa498a7cd1356
2018-09-17 16:25:42 +00:00
Ed Sanders 338bccc6f2 Follow-up I6b13dad: Wait for surfaceReady before first focus
Change-Id: I984d8c00489efd013fed6bc18881c1d0606e0cbf
2018-09-15 00:19:54 +01:00
Ed Sanders d15094c27d Update VE core submodule to master (7443791cf)
New changes:
7bdf15b76 Cleanup: Allow a DM surface to be used to construct a UI surface
27b36e04d Cleanup: Move setSynchronizer from view to model

Change-Id: I6b13dadcdaf4107fbf5b7ca50d9b5a52767a32ec
2018-08-25 23:22:09 +01:00
Ed Sanders fbb8837a88 Fix import button events
Change-Id: Iecb6e663cdf2cc53f6053a21707aff1ff2911181
2018-07-16 19:46:14 +00:00
Ed Sanders ac7ed91731 Show images/descriptions on import's title widget if possible
Change-Id: Ibeb32ae3fafcabb3c5585b363496e0accab82460
2018-06-24 19:22:34 +01:00
Ed Sanders 4dc573a0c9 Pass importTitle directly to target, instead of through query string
Change-Id: I2d561c3b2b8992b78412707d70a55ded0f5ad1c9
2018-05-23 17:20:05 +00:00
Ed Sanders 2cd7abf88b Allow CollabTarget to load on mobile
It's not great, but it works, so allow people to at least
experiment with it.

Change-Id: Iaa54189f7aa63b0bd029dd25a898db54119eff70
2018-05-22 22:39:36 +01:00
Ed Sanders 0fe6c53b2e Import button for CollabPad
Change-Id: I1f454fb7914b2de0cb5f393aeed9001b6a5a2e40
2018-05-19 19:42:35 +08:00
Ed Sanders 1bef5a03ce Rebaser: Generate random doc name if none provided
Change-Id: Ib790fa5d61df7f2318cd014d5ffa60a3ab3861d3
2018-02-16 18:09:19 +00:00
James D. Forrester 0a7a845a42 doc: Bump copyright year
Change-Id: I0b299c840ede1a1b8552cecfc70c5760ab036181
2018-01-03 17:45:07 +00:00
Ed Sanders 35be4f4757 CollabTarget: Disable submit button when input is invalid
Change-Id: Id8b3c098fc2fbec778b0d4cf98fa7cc35202d95b
2017-09-15 00:16:27 +00:00
Ed Sanders 23c0b6997e Fix i18n TODOs in CollabPad
Change-Id: Ifa802773881e2f2763578223bc76ca2798a08b17
2017-06-10 12:48:09 +01:00
Ed Sanders 5d00944d09 CollabPad: Move synchronizer/authorList to Target from Target.init
Change-Id: I828ab12662e03cf674e20ae5676ca6eaa2592eba
2017-05-21 10:30:33 +02:00
Ed Sanders cf0a03ff5a CollabPad: Add popstate/teardown handling
Change-Id: I3faa7e2dd79fa5f1816833852325185caa4e82d4
2017-05-21 09:56:53 +02:00
Ed Sanders 574baf2e8e Provide VE-rebaser in MediaWiki as Special:CollabPad
Change-Id: I3ffe0e2b6af43d4018dcd79877f4f27ed7d6a7e7
2017-05-20 19:51:09 +00:00