Commit graph

126198 commits

Author SHA1 Message Date
jenkins-bot
f093e5d551 Merge "Remove a vandal's username from translation file" 2024-08-27 19:03:13 +00:00
Nemoralis
ec372cbffd Update date format for Uzbek language
Bug: T369787
Change-Id: I0de4623ef30ff6746ffc29deb75e9cc62bc87917
2024-08-27 21:52:46 +04:00
mary123
2ca11e8774 Remove a vandal's username from translation file
Change-Id: I1f95616a994e832b6d5bd9a77d33411a97fbd919
2024-08-27 20:40:11 +03:00
jenkins-bot
8620c365f8 Merge "remove <em> from recentchanges-legend-plusminus" 2024-08-27 16:54:48 +00:00
Srishakatux
b5b7966355 Merge "Add namespace translations for Saint Lucian Creole (acf)" 2024-08-27 16:29:05 +00:00
jenkins-bot
7415ff9e0b Merge "CodexModule: Also print dev mode warning when loading full library" 2024-08-27 16:23:08 +00:00
jenkins-bot
a1af09c6fa Merge "auth: Fix documentation of AuthManagerVerifyAuthentication hook" 2024-08-27 15:56:05 +00:00
jenkins-bot
e1e674ebc6 Merge "selenium: Example code for Selenium/Explanation/Page object pattern" 2024-08-27 14:54:23 +00:00
jenkins-bot
e3d0999bbd Merge "Exclude boilerplate maintenance code from code coverage reports" 2024-08-27 14:51:29 +00:00
Dreamy Jazz
e7393b3cc7 Exclude boilerplate maintenance code from code coverage reports
Why:
* Maintenance scripts in core have bolierplate code that is
  added before and after the class to allow directly running
  the maintenance script.
* Running the maintenance script directly has been deprecated
  since 1.40, so this boilerplate code is only to support a now
  deprecated method of running maintenance scripts.
* This code cannot also be marked as covered, due to PHPUnit
  not recognising code coverage for files.
* Therefore, it is best to ignore this boilerplate code in code
  coverage reports as it cannot be marked as covered and also
  is for deprecated code.

What:
* Wrap the boilerplate code (requiring Maintenance.php and then
  later defining the maintenance script class and running if the
  maintenance script was called directly) with @codeCoverageIgnore
  comments.
* Some files use a different boilerplate code, however, these
  should also be marked as ignored for coverage for the same
  reason that coverage is not properly reported for files.

Bug: T371167
Change-Id: I32f5c6362dfb354149a48ce9c28da9a7fc494f7c
2024-08-27 13:22:29 +01:00
James D. Forrester
3c331f4155 RELEASE-NOTES: Add entry for @vue/composition-api removal
Follow-up to 33c8f3cce2.

Change-Id: I2b19accd1f1d096752bd0b8c3d9abcf074fa5e9d
2024-08-27 07:48:49 -04:00
Željko Filipin
ef832a2fc0 selenium: Example code for Selenium/Explanation/Page object pattern
https://www.mediawiki.org/wiki/Selenium/Explanation/Page_object_pattern

Bug: T368535
Change-Id: Ib69e0696060885476e9f880f37067539ed7e1904
2024-08-27 11:41:33 +00:00
jenkins-bot
be2bef0de5 Merge "Remove deprecated since 1.41 '@vue/composition-api' module" 2024-08-27 10:47:47 +00:00
Gergő Tisza
dddc54d5f0
auth: Fix documentation of AuthManagerVerifyAuthentication hook
Follows up I835b2fe2f43e6e81f23348165cbb9c93832e6583.

Change-Id: Ie7e8b57bfb3e7a0caf038446ece21d3cfa6df9e9
2024-08-27 11:45:25 +02:00
Translation updater bot
ef87455d7c
Localisation updates from https://translatewiki.net.
Change-Id: I98881cc25322ba1cd658d086dd526736dea5f504
2024-08-27 09:04:53 +02:00
Ebrahim Byagowi
33c8f3cce2 Remove deprecated since 1.41 '@vue/composition-api' module
Deprecated since Iaf7bd2986b7f4185923969899d61878e5ee5905b
and no longer it seems used in Wikimedia codebase or gadgets in
Wikidata or Wikimedia Commons, there was one userscript
in English Wikipedia (not a gadget and was in User: namespace),
which I notified them they can just use Vue module.

Change-Id: I0a45d97866519765be5c3bdff9c0a20b003f78ae
2024-08-27 08:38:08 +03:30
Amir E. Aharoni
be9bb3e048 Add Nupe (nup) namespace translations
Contributed by User:Misbahu umar at
https://translatewiki.net/w/i.php?title=User_talk:Misbahu_umar&oldid=12560109#Namespaces

Bug: T370123
Change-Id: Ied715350350606bd09887af7abf77ad34edf2ab1
2024-08-27 02:38:49 +00:00
Andrei Rybak
34c64601bc remove <em> from recentchanges-legend-plusminus
Bug: T373412
Change-Id: I4b2c9d2dec53c2c665c273b33e3d8caa3160e2ac
2024-08-27 01:51:00 +00:00
jenkins-bot
3abfedbcbb Merge "auth: Add AuthManagerVerifyAuthentication hook" 2024-08-27 01:16:31 +00:00
jenkins-bot
8cf23d37ef Merge "auth: Add AuthManagerFilterProviders hook" 2024-08-27 01:16:14 +00:00
Gergő Tisza
e3cea8e11f auth: Add AuthManagerVerifyAuthentication hook
Add a new hook that can be used to prevent authentication just
before AuthManager takes the main action (writing the session
for login, creating the local user account for account creation).

The driving use case is a wiki which supports both a local and
a central (wiki-farm-level) login or signup flow - various
security options (such as 2FA) are needed during local login
but unnecessary during central login (which will have those
security features centrally), so we need to skip much of the
security when the user is taking the central route, and a bug
in how that's done could result in circumvention of security
features during local login. The hook makes it easy to inspect
and potentially interrupt login near the end, when we know for
sure what route it took. (Specifically, we know which primary
provider was used. The hook doesn't expose other details,
such as the list of preauth or secondary provders that were
invoked, because they were not needed for the immediate use
case, but they are easy to add in the future.)

The hook is called after the secondary providers for login
and before them for account creation, since secondaries can
interrupt login but cannot interrupt account creation.

A shortcoming is that since the hook is called after a primary
provider succeeded, it cannot prevent the primary provider from
doing work, ie. it cannot prevent creation of the remote account
during account creation (although it will prevent the creation
of the local account). This is not great but acceptable, since
creating a new account isn't very security-sensitive.
This also means the hook would not be useful during account
linking, as AuthManager does not do anything there, all the work
happens in the primary provider. This is even less great but
few authentication extensions implement account linking.

The hook is not called for authentication happening via
CreatedAccountAuthenticationRequest, which is a weird internal
hack hook handlers should not have to know about.

Also rename a confusingly named variable.

Change-Id: I835b2fe2f43e6e81f23348165cbb9c93832e6583
2024-08-26 23:57:31 +00:00
Gergő Tisza
cde00b5585 auth: Add AuthManagerFilterProviders hook
Allow disabling authentication providers. This allows for
extensions to replace core providers with their own.

This is using the $wgAuthManagerAutoConfig keys instead of
AuthenticationProvider::getUniqueId() as the keys to filter.
This makes it more useful for site administrators, and also
it's probably the better known of the two identifiers so
more intuitive.

No effort is made to prevent the hook from filtering
differently in different steps of the same authentication
process.

Bug: T369180
Change-Id: If5435b54a4fc08f685c04fc10eb44c6d72cd78fa
2024-08-26 23:56:49 +00:00
C. Scott Ananian
1faf18d657 Ensure that isParsoidContent is initialized in OutputTransformPipeline
The refactorings in I45951a49e57a8031887ee6e4546335141d231c18 replaced
calls to ParserOutput::getText() with direct invocations of the pipeline,
including in OutputPage::getParserOutputText().  However, the direct
invocation skipped the implicit initialization of the options array
previously done in ParserOutput::getText().  Ensure that the options
array gets appropriate default values; in particular 'isParsoidContent'
is expected to always be set.

Bug: T293512
Bug: T373405
Change-Id: Ib8d540b4221f7c00f6047706c4e3bfd88a2cb8cc
2024-08-26 23:42:30 +00:00
jenkins-bot
1f51694472 Merge "rdbms: Remove deprecated DB_MASTER / ILoadBalancer::DB_MASTER" 2024-08-26 23:19:24 +00:00
jenkins-bot
d5bacc16f2 Merge "Make ContentDOMTransformStage not Parsoid specific" 2024-08-26 22:13:20 +00:00
Jdrewniak
b26415bdf9 Follow-up to bbe5029 Replace overflow:hidden with display:flow-root in headings
Adds `word-break: break-word;` to headings styles.
Without this rule, headings don't break onto multiple lines,
which they did when using `overflow: hidden` previously.

Bug: T371654
Change-Id: I034d4ec7cdea2abb415e78d627cdb3340512746e
2024-08-26 16:30:06 -04:00
jenkins-bot
2d587f8187 Merge "Clarify Action::requiresWrite() and ApiBase::isWriteMode() comments" 2024-08-26 18:21:06 +00:00
jenkins-bot
6e32ed22d1 Merge "installer: Support MW_SKIP_EXTERNAL_DEPENDENCIES in update.php" 2024-08-26 17:23:36 +00:00
jenkins-bot
6bd920ace9 Merge "mediawiki.api: Protect test against contamination by extension tests" 2024-08-26 17:17:38 +00:00
jenkins-bot
356e1709fa Merge "Make use of the ??= and ?? operators where it makes sense" 2024-08-26 17:16:23 +00:00
Timo Tijhof
4c41313130 installer: Support MW_SKIP_EXTERNAL_DEPENDENCIES in update.php
This environment variable is already checked in TestSetup.php for
PHPUnit runs by Quibble, when the job is running for a patch to
the mediawiki/vendor repository.

Right now, Quibble sets this var, but then has to separately pass
`--skip-external-dependencies` to update.php as well.

Remove the need for that by supporting the same environment variable
so that Quibble can set it once for that run, and naturally applies
by any commands where it makes sense.

Bug: T370380
Change-Id: Iad7c8d4be9e81af0a0de11019a98804b232efa8b
2024-08-26 16:49:42 +00:00
Aaron Schulz
8938ec6ded Clarify Action::requiresWrite() and ApiBase::isWriteMode() comments
Make the description of Action::requiresWrite() better align with
Action::doneWrites(). These methods should be combined at some point.

Further discourage system state dependencies in ApiBase::isWriteMode().

Change-Id: I5ee18c8c15f6f360d01d63ee6e7299babb5bdea7
2024-08-26 09:28:30 -07:00
jenkins-bot
d76c4dd629 Merge "Remove fixDefaultJsonContentPages.php" 2024-08-26 16:17:40 +00:00
jenkins-bot
09aca4a83e Merge "Remove populatePPSortKey.php" 2024-08-26 16:17:29 +00:00
jenkins-bot
609f2820d3 Merge "Remove populateBacklinkNamespace.php" 2024-08-26 16:17:16 +00:00
jenkins-bot
899bc92e12 Merge "Remove addRFCandPMIDInterwiki.php" 2024-08-26 16:17:08 +00:00
jenkins-bot
672f5d7e6b Merge "parser: Avoid cache stampede on pages which use {{CURRENTYEAR}}" 2024-08-26 16:00:08 +00:00
jenkins-bot
f272d5dd8e Merge "selenium: Example code for Selenium/Explanation/Stack" 2024-08-26 14:11:53 +00:00
Dreamy Jazz
feba425a10 Remove fixDefaultJsonContentPages.php
Why:
* The fixDefaultJsonContentPages.php maintenance script was added
  in 2986d47c90 which was MW 1.27
* Per the version policy, wikis wishing to upgrade to MW 1.43
  should upgrade via 1.35 or 1.39 before moving to 1.43.
* As such, this script will have been already run for any wiki
  upgrading to 1.43 and therefore this script is unused.
* Removing the script is useful to reduce the amount of untested
  code in the maintenance directory and reducing unnecessary
  maintenance on now unused code.

What:
* Remove fixDefaultJsonContentPages.php

Bug: T373335
Change-Id: Ie20f55c6a8723573aa7e9acd67766af9dfb67269
2024-08-26 13:17:04 +00:00
Dreamy Jazz
21fae91b4a Remove populatePPSortKey.php
Why:
* The populatePPSortKey.php maintenance script was added in
  993ce4d411 which was in at
  least MW 1.34.
* Per the version policy, wikis wishing to upgrade to MW 1.43
  should upgrade via 1.35 or 1.39 before moving to 1.43.
* As such, this script will have been already run for any wiki
  upgrading to 1.43 and therefore this script is unused.
* Removing the script is useful to reduce the amount of untested
  code in the maintenance directory and reducing unnecessary
  maintenance on now unused code.

What:
* Remove populatePPSortKey.php

Bug: T373334
Change-Id: Iaa86bb193bf8feae9f5e2fe33255182e864d2e4f
2024-08-26 13:16:48 +00:00
Dreamy Jazz
30668e638f Remove populateBacklinkNamespace.php
Why:
* The populateBacklinkNamespace.php maintenance script was
  added to update.php in MW 1.24 in
  b8c038f678
* Per the version policy, wikis wishing to upgrade to MW 1.43
  should upgrade via 1.35 or 1.39 before moving to 1.43.
* As such, this script will have been already run for any wiki
  upgrading to 1.43 and therefore this script is unused.
* Removing the script is useful to reduce the amount of untested
  code in the maintenance directory and reducing unnecessary
  maintenance on now unused code.

What:
* Remove populateBacklinkNamespace.php

Bug: T373333
Change-Id: Ia70fdd5c5ae087d7f5bdf4499185701bbb106c1f
2024-08-26 13:16:04 +00:00
Dreamy Jazz
de1f704035 Remove addRFCandPMIDInterwiki.php
Why:
* The addRFCandPMIDInterwiki.php maintenance script last had
  it's update key modified in MW 1.23 in commit
  bd38435848.
* Per the version policy, wikis wishing to upgrade to MW 1.43
  should upgrade via 1.35 or 1.39 before moving to 1.43.
* As such, this script will have been already run for any wiki
  upgrading to 1.43 and therefore this script is unused.
* Removing the script is useful to reduce the amount of untested
  code in the maintenance directory and reducing unnecessary
  maintenance on now unused code.

What:
* Remove addRFCandPMIDInterwiki.php

Bug: T373331
Change-Id: Ie6791c0cc2cfab5e09aa0b1c7ddcea1099cd1f79
2024-08-26 13:15:41 +00:00
jenkins-bot
6a5d5cb3ca Merge "Remove populateRevisionLength.php" 2024-08-26 12:44:47 +00:00
jenkins-bot
0826e1cba1 Merge "Remove populateFilearchiveSha1.php" 2024-08-26 12:44:39 +00:00
jenkins-bot
204e5e034a Merge "Remove populateImageSha1.php" 2024-08-26 12:44:31 +00:00
jenkins-bot
d2ea484c53 Merge "Remove populateRecentChangesSource.php" 2024-08-26 12:44:23 +00:00
jenkins-bot
f0f675c57d Merge "Remove populateIpChanges.php" 2024-08-26 12:44:15 +00:00
jenkins-bot
9d3789fcda Merge "Remove populateRevisionSha1.php" 2024-08-26 12:44:09 +00:00
jenkins-bot
44d0116e70 Merge "Bump wikimedia/parsoid to 0.20.0-a18" 2024-08-26 11:36:52 +00:00
jenkins-bot
de4a862325 Merge "Test removeInvalidEmails.php" 2024-08-26 10:46:40 +00:00