Commit graph

19739 commits

Author SHA1 Message Date
jenkins-bot e0da7b6c8c Merge "ApiVisualEditor: Inject WikiPageFactory, UserFactory & HookContainer" 2022-05-05 21:11:42 +00:00
jenkins-bot 45ad6780eb Merge "build: Update stylelint-config-wikimedia to 0.13.0" 2022-05-05 16:03:38 +00:00
jenkins-bot 1217740612 Merge "Remove unused CSS vendor prefixes" 2022-05-05 16:01:59 +00:00
Translation updater bot 9e9ff2fb97 Localisation updates from https://translatewiki.net.
Change-Id: I3185131de5fdd4084bf3ff53501d8ed33ce48af0
2022-05-05 08:07:11 +02:00
Ed Sanders ab3b068671 build: Update stylelint-config-wikimedia to 0.13.0
Change-Id: I94a18ebc57ea04fe6246b63f6c9b5d5d8718dd4d
2022-05-04 22:54:48 +01:00
Ed Sanders bc57422841 Remove unused CSS vendor prefixes
Change-Id: Id544adce0d88123157f3f52540f7f767027ff6ab
2022-05-04 16:55:43 +01:00
Thiemo Kreuz 9297428eca Improve test coverage of template dialog outline
This focuses on some scenarios that are
a) complex enough to be worth a test,
b) but simple enough so I don't need to spend hours on comming up
   with a test setup. ;-)

This patch also simplifies the ARIA related code in
MWTransclusionOutlinePartWidget a bit.
* Check 1 of the 3 ARIA configs only. Only having one is already
  helpful and should not be skipped.
* No need for the large conditional. setAriaDescribedBy() works fine
  with undefined.

Bug: T291157
Change-Id: I142782ec9b96147de64497f4f6a373eae05b9c8e
2022-05-04 12:01:58 +02:00
Thiemo Kreuz 2cd08e42d7 Add prefixsearch fallback test for MWTemplateTitleInputWidget
The idea of the code under test is that it combines the results from
2 different API requests in a specific way. This is a first basic test
where both search results are small.

Bug: T291158
Change-Id: Ic4de57fb6b85afb952ea604769fddd06d44814c0
2022-05-04 07:11:15 +00:00
Translation updater bot ba8cde4197 Localisation updates from https://translatewiki.net.
Change-Id: Ia52c284389d86c951aa4f69cbb96a43c4829134d
2022-05-04 08:19:07 +02:00
Translation updater bot f247aea770 Localisation updates from https://translatewiki.net.
Change-Id: Id615b67c976e19ace5b3aa4928b68bafd3568942
2022-05-03 08:45:55 +02:00
jenkins-bot 4b6eb1d55b Merge "Hooks::onRecentChangeSave: Don't pass null to explode(), avoiding PHP 8.1 deprecation" 2022-05-02 12:29:05 +00:00
Esther Akinloose 1e030bcde5 selenium: Check if content editable is editable
Bug: T296187
Change-Id: I7a7808bf5cabdccc3f0a01ccecfdadeb7fdc9b91
2022-05-02 13:11:57 +01:00
Mark A. Hershberger 3022b0e4e6 Hooks::onRecentChangeSave: Don't pass null to explode(), avoiding PHP 8.1 deprecation
Change-Id: Iaf2ad6b37c86e1555aaffe6dd08d9e511b319256
2022-05-02 12:11:19 +00:00
Translation updater bot 2d61c0b4b4 Localisation updates from https://translatewiki.net.
Change-Id: I2ac71dd6ce2e1bbda58116cef83a147e7bb0b25a
2022-05-02 08:20:39 +02:00
WMDE-Fisch 1f4eec1a10 Nudge translators to make unused toggle button label short
Even though we wrap and break word, it would be better fitting with
a short message here.

Bug: T300008
Change-Id: I6ce8dc349bafec75001e3693faaac10d59637c66
2022-04-29 13:47:51 +02:00
Derick Alangi 189e09e382
ApiVisualEditor: Inject WikiPageFactory, UserFactory & HookContainer
Change-Id: I940d266e10fc76329bebcdf18ac991b01a2a7a4f
2022-04-29 12:16:59 +01:00
jenkins-bot 0e77a51898 Merge "Stop hide unused label from overflowing" 2022-04-29 08:45:20 +00:00
jenkins-bot 051ed820bc Merge "Move message about missing parameters to sidebar" 2022-04-29 08:30:03 +00:00
WMDE-Fisch 4377893297 Stop hide unused label from overflowing
Will implicitly set a max width for the button due to the margin.
Long words will break in the middle of the word.

Also includes a shorter label.

Bug: T300008
Change-Id: I37505af8383d8c0c2bd4af3987ec5e2a3049688a
2022-04-29 10:26:20 +02:00
WMDE-Fisch d996288169 Move message about missing parameters to sidebar
Will be removed when parameters are added. Needs different margins
depending on beeing shown in the single transclusion mode without
header or on multiple transclusions.

Bug: T300710
Change-Id: Ieb95d7276aa4d4b0fcbb74f87ab734e4a393dc21
2022-04-29 10:03:23 +02:00
Translation updater bot 6d9c3a4b22 Localisation updates from https://translatewiki.net.
Change-Id: I2288cdad2630a187f2c773b8b7ee344efca6018b
2022-04-29 08:44:04 +02:00
jenkins-bot 6057f48f42 Merge "build: Replace 'stylelint-config-wikimedia' reference by 'support-modern'" 2022-04-28 19:41:01 +00:00
Translation updater bot ef3116a723 Localisation updates from https://translatewiki.net.
Change-Id: I72a7cb35ad8abf6b665f589936a6d63bcc7235c0
2022-04-28 09:29:12 +02:00
Adam Wight 9922e1c61e Use natural language rather than the brand name
Bug: T306283
Change-Id: I6dcf99d6997d8272ede4e07f0783efa374be59fb
2022-04-27 15:10:07 +02:00
Translation updater bot e7e35a8e38 Localisation updates from https://translatewiki.net.
Change-Id: I7f909904d39900b41f4f4a48539154d86f4dd7cd
2022-04-27 08:08:54 +02:00
Ed Sanders b428b296e5 ArticleTarget: Ensure dataPromise rejects when switching fails
Requires switchToFallbackWikitextEditor to return a promise.

We can now pass dataPromise to the progress bar shown when
switching editors, so it hides if the switch fails.

Also fix logic for when a failed load is not retried.

Bug: T306763
Change-Id: I752ca505e7957b392202d44455b1e21b6e50fa63
2022-04-26 16:32:52 +01:00
Translation updater bot bb30610511 Localisation updates from https://translatewiki.net.
Change-Id: I15d053d07e7a3f5a0ef4d32a42aa52e8825dbd90
2022-04-26 08:55:03 +02:00
Translation updater bot 056d6fb259 Localisation updates from https://translatewiki.net.
Change-Id: I2280b543c6e13d0307e1f9db7f2dcbc081548d56
2022-04-25 08:19:21 +02:00
jenkins-bot 55c496b2b5 Merge "More tests for pasting external links" 2022-04-22 22:44:30 +00:00
Translation updater bot fd50480eab Localisation updates from https://translatewiki.net.
Change-Id: Ic4ee4ec60a1d399dd3f05b1605940d5e1c09bc74
2022-04-22 08:23:55 +02:00
Bartosz Dziewoński d33d88a186 More tests for pasting external links
Change-Id: I2281be66b901d0c969c75869faa4fa632d33118b
2022-04-22 04:43:51 +02:00
rvogel f69438fae6 Check for external url protocols during conversion
If links get pasted into VE and they lack a "//" in the `href`, they
are automatically considered to be "internal", thus being converted into
`[[...]]` wikitext links.

In case of pseudo protocols like `mailto:` this should not be the case.

This patch uses MediaWiki core settings to check if a `href` value is an
external protocol known to the application.

Bug: T297575
Depends-On: I2e584f6d5adc6b2d735e79cea64f2beeb5f2c36d
Change-Id: I2b383106450e02cc6bcc1b99d547ff2ed7832b4c
2022-04-22 01:36:41 +02:00
Thiemo Kreuz 8831887e3c Update template search fallback to max out at 10
Before, the fallback algorithm was somewhat adaptive, trying harder and
harder the fewer CirrusSearch results have been found. This updated
algorithm guarantees that 10 results are shown.

Warning: You might see only 9 results. The reason is a bogus, unrelated
behavior in the mw.widgets.TitleWidget in core that's used as a base
class here. There is a "showMissing" option that's apparently enabled
by default, and prepends a non-existing title from the main namespace,
ignoring the "namespace" option. This extra result from the wrong
namespace is later dropped by the very same widget.

This code here sees 10 results before the bogus one is dropped.
Disabling "showMissing" causes other issues. We would need a series (?)
of custom hacks to work around all this, but this seems inappropriate.
Let's live with 9 for the moment.

Bug: T303524
Change-Id: I2c577c9ef2752b6c6cd360f4023e151e9272fcd5
2022-04-21 09:25:00 +00:00
Thiemo Kreuz 50497ee7f3 Drop assumption that all template search index start at 1
The main advantage of this change is that it drops the assumption
that the index starts with 1. This is not necessarily the case when
we prepend extra search results. Dropping this assumption here allows
to simplify such code.

* The incoming list of pages is guaranteed to be an array.
* There is no point (any more) that could cause the array to become
  sparse.
* Note we still make a copy of the `origPages` array at some point,
  e.g. on `.filter()`.

Bug: T303524
Change-Id: Ifbd92bb052155c613d2ca21ab6d54a0b3ef28c0c
2022-04-21 11:23:48 +02:00
Bartosz Dziewoński 46d9ebe521 Update VE core submodule to master (6609cde00)
New changes:
249c1f3e6 Allow testing import rules in ve.ce.Surface paste tests

Bug: T297575
Change-Id: Ib41fd70066f2052d9e493985a6d1dbf6f1e089a0
2022-04-21 02:10:15 +02:00
Volker E b8df5d8f01 build: Replace 'stylelint-config-wikimedia' reference by 'support-modern'
Grades (here 'grade-a') were deprecated in a previous version of
'stylelint-config-wikimedia'.

Change-Id: I98caba0a1f80ec342403405ba9e22d6fe657deef
2022-04-21 00:00:49 +00:00
jenkins-bot 20e26000e2 Merge "Update VE core submodule to master (86de64d69)" 2022-04-20 23:58:32 +00:00
Ed Sanders 184106418e Update VE core submodule to master (86de64d69)
New changes:
72bd71dbc Localisation updates from https://translatewiki.net.
b7f38d993 Re-apply "Fix for showing "invisible icon" when root node is hidden""

Local changes:
* Ensure templates are attached to DOM before rendering invisible
  icon in converter hack.

Bug: T305110
Change-Id: I0e4c02619b2a06b9932f214ae482093fdb0cb22c
2022-04-20 23:45:31 +01:00
Thiemo Kreuz 89e5c2fb92 Disable useless "showMissing" option in TemplateTitleInputWidget
This option is not only buggy (it just doesn't work when the namespace
option is set the same time), it is not useful in this context even
if it would work. It doesn't make much sense to suggest non-existing
templates in the context of the template dialog. If adding a
non-existing template really is what the user wants, they can still do
this by simply typing the name of the template and submitting the form.
We never need this to show up in the suggester below the input field.

The main advantage of this change is that is saves 1 useless API
request that's potentially done every time a key is pressed.

Bug: T303524
Change-Id: I903340a06d6e6490bb58f628f41903aa044ccb21
2022-04-20 14:43:29 +00:00
jenkins-bot 9c110d63ac Merge "Move "index from redirect" logic up in template search widget" 2022-04-20 14:40:18 +00:00
jenkins-bot a3e2713208 Merge "Fix misleading variable name in TemplateTitleInputWidget" 2022-04-20 14:24:30 +00:00
jenkins-bot 4efede7e33 Merge "Fix API response default in TemplateTitleInputWidget" 2022-04-20 14:23:56 +00:00
Thiemo Kreuz d3d3e1cf75 Move "index from redirect" logic up in template search widget
This separates the two steps:
1. See if items in the list of `origPages` miss their `.index`
   property, and add it if possible.
2. Later code doesn't need to care about redirects any more.

Note that `origPages` is not used for anything else. And even if,
it's not wrong to have the index for each search result on both the
redirect and the redirect target.

Change-Id: I12135f0430c944b4e33c49ece7779d7c3bb6c211
2022-04-20 14:50:36 +02:00
jenkins-bot 63da7799d5 Merge "ApiVisualEditor: Fix 'stash' param validation (it's a boolean)" 2022-04-20 07:51:51 +00:00
Translation updater bot 918c3e8a5c Localisation updates from https://translatewiki.net.
Change-Id: Ic9b84c7023a9c345b116a813018c3de965d77497
2022-04-20 08:19:25 +02:00
Bartosz Dziewoński a420141b2a ApiVisualEditor: Fix 'stash' param validation (it's a boolean)
Bug: T306190
Change-Id: I49a479f79d220c7436364f7543bae9e091fff6a2
2022-04-19 21:53:03 +02:00
Thiemo Kreuz e24c8ecd2d Fix misleading variable name in TemplateTitleInputWidget
This is not a pageid, but a simple numeric index in an array. Luckily
it doesn't make a practical difference for this particluar way of
iterating something.

Change-Id: I7ec9ace00d4fba7adde17670058a0365b30f5617
2022-04-19 14:40:00 +00:00
Thiemo Kreuz 9390b5bc91 Replace non-breaking spaces in AUTHORS.txt
Change-Id: Ic9ce79e5386a0fd4b8339f37d186b264bd704537
2022-04-19 16:09:48 +02:00
Thiemo Kreuz c72d8abdc3 Remove/update template related comments that just repeat the code
Such comments don't add any new information. The method signature
alone already tells the full story.

We did this already to a lot of the template related code we touched.
This is just a bit of cleanup to make it consistent.

Change-Id: I932b620910924a16dc0d31d6c8a3ab11818316fe
2022-04-19 13:58:32 +02:00
Thiemo Kreuz d59a4366db Change TransclusionModel.nextUniquePartId() to return a string
The numeric part of these ids is never used on it's own. There is no
need to expose it.

Note we renamed the method not long ago in I6eeab8b to reflect better
what it does. This is the next step. We just forgot it back then.

Change-Id: I5da82855e99ea3a42a5d91379c6974ae9c154518
2022-04-19 13:48:30 +02:00