Commit graph

5180 commits

Author SHA1 Message Date
thiemowmde 203a1cde34 Further delay search index build in ReferenceSearchWidget
The search index is really only used in a single place, in the
buildSearchResults method at the very bottom of the class. I find it
more obvious to understand what's going on when the places where the
search index is populated and used are as close together as possible.

This again really only moves existing code around without actually
changing anything.

We can also drop the extra "built" property and use a special null
value instead. This is possible because we know the only consumer of
the this.index property and can guarantee it can't get confused by
the null.

Bug: T356871
Change-Id: Iaddb3b16b3aa776f89fca2bf0350cce9b6bb1a23
2024-04-04 15:13:50 +02:00
thiemowmde e9561ade15 Make ReferenceSearchWidget code a bit more functional
This turns two methods with side-effects into more pure functions
with more obvious input and output. buildSearchIndex rebuilds the
internal search index from the internalList. buildSearchResults
filters and creates the result widgets the user will see.

This patch really only moves existing code around but doesn't change
anything. Except that this.built is set before onQueryChange is
called, not after. This avoids potential endless loops in case
onQueryChange happens to trigger buildIndex again.

Bug: T356871
Change-Id: Ib80a2dcb85779d64bec53caf90c49879d0ea2258
2024-04-04 15:12:57 +02:00
thiemowmde d2a244b753 Move Cypress tests under tests/ directory
Bug: T358851
Change-Id: I084f4e098c00d4c1bbcb0e692a2be3b1f8ce59a2
2024-04-04 13:06:26 +00:00
jenkins-bot 05e0fa9f8a Merge "Remove unused WDIO/Selenium dependencies" 2024-04-04 07:28:51 +00:00
thiemowmde 8967ad6bfb Remove unused WDIO/Selenium dependencies
These are unused, aren't they? The tests are gone since Ieb71b12.

Bug: T358851
Change-Id: I6c65c781aeeedb8d5b2262d4c9fd24eaf18cadce
2024-04-03 09:36:20 -04:00
thiemowmde 29e1a9e381 Add main authors of the current non-Parsoid implementation
The WMDE Technical Wishes team did a major rewrite of the codebase
in 2019–2020.

Change-Id: Id2506c8bf05cbf71c4284c5a488279195139e983
2024-04-03 12:41:25 +02:00
thiemowmde b02028b671 Move ve-cite QUnit tests to top-level tests/ directory
It's just hard to find and confusing when hidden in that
sub-directory.

Bug: T358851
Change-Id: I19ffe73b79fa9add52af12f477afe7abbc6db836
2024-04-03 12:03:33 +02:00
Isabelle Hurbain-Palatin b1ad116f89 Disable some tests for Parsoid CI
Bug: T214241
Needed-By: I022501851ea45cfd2554f9e914aa6f4fe2b07548
Change-Id: I40f3c82cbf861426137b935f1bf0bc4b3c6194b0
2024-04-03 03:01:21 +00:00
thiemowmde 8b57438abb Various minor code cleanups in the Parsoid PHP code
* Improve PHPDoc documentation.
* Add some missing language-level type declarations.
* Remove unused code.
* Avoid count() when the code doesn't care about the actual count.
* Use the short ??= operator where possible.

Change-Id: I79de49b65d32661b7efa67ecc350276968943e11
2024-04-02 13:08:37 +00:00
Lucas Werkmeister b7a1116df6 Configure CYPRESS_CACHE_FOLDER
The default doesn’t seem to work well in CI. (Note that cypress/.cache
is already in the .gitignore.)

Bug: T361520
Change-Id: I7e56d102ac2252a23b49c68f9df8940d5c060aa9
2024-04-02 14:55:31 +02:00
Translation updater bot 34a58e9860 Localisation updates from https://translatewiki.net.
Change-Id: I9ee8ce1cb187b5f64485d09c7a53cba27cdba671
2024-04-01 09:22:25 +02:00
jenkins-bot 1fdc65548b Merge "Add strictly typed RefGroupItem class to Parsoid code" 2024-04-01 03:05:52 +00:00
Ed Sanders 5ef2c13c48 Preserve reflist CSS in dynamic mode
Bug: T361359
Change-Id: I4c48129a54103f47ce512d685d2ab4b3c188a5b0
2024-03-29 13:04:40 +00:00
Translation updater bot c9a93cb3f4 Localisation updates from https://translatewiki.net.
Change-Id: I662c8bfc31d27125e969f8c7dfe8440effec62e8
2024-03-29 08:46:22 +01:00
jenkins-bot f4c690fa1a Merge "ce.MWReferenceListNode: Only open dialog on unmodified left clicks" 2024-03-28 16:14:32 +00:00
Ed Sanders d368f45c17 ce.MWReferenceListNode: Only open dialog on unmodified left clicks
Change-Id: I06f6e2cc89f595e6dcc931b78c908ff2270e4629
2024-03-28 15:30:43 +00:00
jenkins-bot 51e569d888 Merge "Allow visualeditor-cite-tool-name-… messages to be missing" 2024-03-28 15:27:14 +00:00
jenkins-bot 6a1c2e7891 Merge "[Cypress] Add timeouts to the click retry helper" 2024-03-28 15:27:13 +00:00
jenkins-bot 310075ec69 Merge "Improve test coverage for incomplete follow=… rendering" 2024-03-28 15:27:07 +00:00
WMDE-Fisch 6b13325961 [Cypress] Add timeouts to the click retry helper
Just to be sure we do not try to click endlessly here.

Change-Id: I9d7fd5f1380a2ce38a93c61dc1a8e5280f626ec9
2024-03-28 14:25:15 +01:00
jenkins-bot 48e65a0317 Merge "[Cypress] Unskip tests" 2024-03-28 09:39:20 +00:00
jenkins-bot 01ea52c6ec Merge "[Cypress] Retry toolbar clicks to open submenu" 2024-03-27 16:43:16 +00:00
jenkins-bot ca419981ab Merge "[Cypress] Wait for VE to load" 2024-03-27 16:38:48 +00:00
mareikeheuer aa21a831aa [Cypress] Unskip tests
Flaky parts have been fixed with the patches chained before. See
the stress test patch Ie32019ca65194e0ca94471d797b59b150d3334c4

Bug: T360026
Bug: T360361
Change-Id: I421a7718fcf77136a65bf8bd20f2c2fcd483fa3c
2024-03-27 16:18:17 +00:00
WMDE-Fisch 66996fe45d [Cypress] Retry toolbar clicks to open submenu
Introducing a little helper function that retries clicks until
some element becomes visible.

Bug: T360026
Change-Id: I45b7802c8009b9b552b41c1fcaf861f2a7afb495
2024-03-27 16:17:19 +00:00
WMDE-Fisch 4e935abb2e [Cypress] Wait for VE to load
I missed this spot in I321b4114ca03ebd02a79d8bd3863ea0e68494dc2

This should stabalize the remaining tests failing in the stress
test.

Bug: T360026
Depends-On:  Idbf87178e9ee961e84a6e212dbadb0f36a1c8197
Change-Id: Ic41fbd9da24c3bba7eec3d1429731b2cc6665404
2024-03-27 13:45:54 +00:00
jenkins-bot 7906b2147a Merge "Remove confusing, unnecessary .length check on a string" 2024-03-27 08:15:09 +00:00
thiemowmde 61a49f4337 Remove confusing, unnecessary .length check on a string
I find this particularly confusing because it makes it look like this is
an array. As a reminder, while empty arrays are false in PHP they are
not in JavaScript. An extra `if ( array && array.length )` is really
critical. But this is a string. Empty strings are false in JavaScript.
No problem.

This was originally written in 2013 via Ib244ff6 as a pure .length
check. The duplication was added a year later via Id401d97 for an
unknown reason.

Bug: T356871
Change-Id: Ied335f170a9a0a7bbc8c8fd12f95b6902f401bbf
2024-03-27 07:16:54 +00:00
Translation updater bot 6ca87923bb Localisation updates from https://translatewiki.net.
Change-Id: I0c667f3a28bf61f9304ffe4f3c7844f17cf6af8e
2024-03-26 08:19:09 +01:00
Translation updater bot 167f762271 Localisation updates from https://translatewiki.net.
Change-Id: I7e3c7332ec97d496a2ee08adbc32a811f441dadb
2024-03-25 08:35:30 +01:00
jenkins-bot 78363709a3 Merge "Make use of LESS mixins in ext.cite.styles.less" 2024-03-22 22:29:29 +00:00
jenkins-bot ed14a9e48f Merge ".mailmap: Add bot contributors so they're easily ignored" 2024-03-22 16:44:25 +00:00
jenkins-bot 83e778bbfe Merge "Add .mailmap file based on actual code contributions" 2024-03-22 16:11:32 +00:00
James D. Forrester 4cd75e57b3 .mailmap: Add bot contributors so they're easily ignored
Copied from MediaWiki core's file.

Change-Id: Ia5653de0591b6fa67ac306805b854f747ff6cee9
2024-03-22 16:03:23 +00:00
thiemowmde 0e9546a382 Add .mailmap file based on actual code contributions
This does two things:
* Some authors have used different email addresses over the years.
  But it's the same person. Merging them makes e.g. git shortlog
  much more useful.
* This also makes sure the author name before the email address is
  always the same, and not listed multiple times because of e.g.
  different capitalization.

Change-Id: Icdfd397a46369ffc40ac982a4382b19ad207957a
2024-03-22 15:38:17 +00:00
jenkins-bot b0b356f4e8 Merge "Add initial QUnit tests relevant for reference re-use in VE" 2024-03-22 10:49:33 +00:00
jenkins-bot c7eb279260 Merge "Use design tokens in Cite extension" 2024-03-22 08:31:29 +00:00
thiemowmde 9e7b365531 Make use of LESS mixins in ext.cite.styles.less
Bug: T360720
Change-Id: Ibef7df801f1dc5d550e6663200fa38ddf8c21054
2024-03-22 09:08:28 +01:00
Translation updater bot 7535cf0b3d Localisation updates from https://translatewiki.net.
Change-Id: I7b2bb4d2cf0dd4180484dc9fdd1361ddc1a576ac
2024-03-22 08:43:46 +01:00
Jon Robson 75b4682dbf Use design tokens in Cite extension
Upstream this value from Minerva where it is being
overriden.

Bug: T360720
Change-Id: I03536d033c7cc0f2420550f22fd4b094e0d179ba
2024-03-21 15:11:23 -07:00
thiemowmde d6a58cfa8d Add initial QUnit tests relevant for reference re-use in VE
Note these are more meant as regression test to better cover what's
done in other patches. Everybody should feel free to delete a test
when it gets in the way. I marked a few especially fragile places
with respective comments.

Bug: T358652
Change-Id: I7844907fe3ef4f3439717381b4ecdac9e2d0a825
2024-03-21 09:37:26 +01:00
Translation updater bot 9bc74e7694 Localisation updates from https://translatewiki.net.
Change-Id: I2d2a414f5fa41f47d6418302e8712bf2e1f30aba
2024-03-21 08:54:27 +01:00
Translation updater bot e6f17fd477 Localisation updates from https://translatewiki.net.
Change-Id: Icb746719a0a9d1b12c9ab23577a6fb4068c0957a
2024-03-20 08:23:14 +01:00
Adam Wight a8d0387de7 Skip tests causing trouble in the wild
Please don't reenable until we have some confidence that these aren't
flapping.

Bug: T360026
Bug: T360361
Change-Id: I54f80e31b4fca4c1c4632af1d43e22a88ae5f218
2024-03-19 14:49:33 +01:00
WMDE-Fisch 463e25b742 [Cypress] Streamline some selectors and click paths
Change-Id: I9c897f3c94a44f50de5c7a31822645a52cb3d70d
2024-03-19 11:33:23 +00:00
WMDE-Fisch 5f3246ee38 [Cypress] Move read-only cite tests to one set
We don't need to setup a fresh page on every test when we're not
manipulating the page during the tests. This will make test run
faster overall.

Change-Id: I4f41f0bf7b01f5a8498fda4827b90c9976cbd528
2024-03-19 11:33:19 +00:00
WMDE-Fisch 00147fb1fe [Cypress] Split before steps to fix retries
When the tests run into an issue and are re-run only beforeEach
will be executed. Also cookies are not kept for the re-run.

This patch makes sure that steps needed to have a clean re-run are
split to the beforeEach

Change-Id: I47cba7f6ec240fefa09a4484bca0a621b99f2bcb
2024-03-19 12:24:20 +01:00
WMDE-Fisch 10fac9d1b5 [Cypress] Create some more helpers for generic setup code
Bug: T358851
Change-Id: I39ddcaf8e3684c4057639e014c18e1b1473e7b12
2024-03-19 10:24:23 +01:00
jenkins-bot f4c3f64e24 Merge "Try more specific CSS selectors for clicks in browser tests" 2024-03-19 09:17:18 +00:00
Translation updater bot 8dff3e20c5 Localisation updates from https://translatewiki.net.
Change-Id: I512a36ea005567c4acd4b5d158720922307a8351
2024-03-19 08:24:41 +01:00