Follows-up Ib62cdb5ba7 (ab89fff633), which added a call to mw.user
without declaring a dependency.
Clicking "Exit session" consistently fails on a plain install with:
```
Uncaught TypeError: mw.user.isTemp is not a function
logoutViaPost ready.js:195
```
Bug: T378163
Change-Id: I9c4a788228a70131700769d3fd2a991c6cb0cd27
(cherry picked from commit d3ddfd942592a6a2b511b34ba8872e51d51377c6)
CVE-2025-6594
* Fix validation of API parameters. Follow-up to
c36b4634e8.
* Add an extra check for parameters that should be required by the UI.
* Remove a fallback code branch that tried to display responses for
non-pretty formats, which would have been unreachable were it not
for the format validation bug, and which handled HTML unsafely.
Bug: T395063
Change-Id: I392810e3474ffdbe273b1c668ffce4c8dace1380
Why:
- Since we re-distribute a Swagger bundle that includes all the
libraries, we should also supply the licenses associated with these
libraries.
- See https://github.com/swagger-api/swagger-ui/issues/8317
What:
- Create a directory containing the relevant OSI licenses.
- Create a list of all the libraries included in Swagger UI
and their respective licenses.
Bug: T382086
Change-Id: I30be1fee2b3ebd7352fa6255a95969e91a75d575
(cherry picked from commit ea8d04800ff074f15ab4c83b39db438bb26fa617)
It contains the copyright statement that accompanies the LICENSE.
This doesn't not address the concerns in T382086, which is that
swagger-ui bundles other projects without retaining their copyright
statements, but gets us one step closer by including at least some
information.
Change-Id: I11e80abee385576e7e0350bd5d7a43758d2b2e92
(cherry picked from commit 9361efc5bc0d92c4e49ed5a3cadae357bafb79a7)
Change the color for elements with the class mw-protectedpages-unknown to use
the color-subtle token instead of #72777d, as discussed in T367826. This
increases the constrast in dark mode.
Bug: T367826
Change-Id: Ibfe437242dcf6875c77ddddcd84e4705d50cdc30
(cherry picked from commit c1322844652e5285c4c6663770047d408fb1506d)
It turns out that the fix in Ia4d57fd953dbd34e45789208ec8e765cce6ddf15
is general enough that we don't need these special cases any more.
Bug: T379418
Change-Id: I7c29d68325a3525463cd22cd6da5710848619b85
(cherry picked from commit 35c367cbef4da5be6d4ba54190efdf20a5d18b26)
When parsing wikitext like `{{func:a|b|c}}`, jqueryMsg accepted
multiple expressions in the parameters following '|' (which are
handled by templateParam()), but not in the first parameter
following ':' (which is handled by templateWithOutReplacement()).
So, `{{#FORMAL:Informal hello|{{GENDER:|Formal}} hello}}` worked,
but `{{#FORMAL:{{GENDER:|Informal}} hello|Formal hello}}` didn't.
Now they both work.
Bug: T379418
Change-Id: Ia4d57fd953dbd34e45789208ec8e765cce6ddf15
(cherry picked from commit 8b173830762738206919bd7b1a9ce3bba72dab5d)
Add support for the new {{#FORMAL:}} syntax in jqueryMsg.
Add formalityIndex to mw.language.data, and add parsing for
this syntax mediawiki.jqueryMsg.js.
Bug: T366602
Change-Id: Idc6ce0d590729830fd734cccae860f2430b8475c
(cherry picked from commit 05170a2ea8d10b5f177cba1797e00babea52e941)
'allowusertalk' should be set in the block API call when the "Editing
their own talk page" is NOT checked.
Bug: T376924
Change-Id: I19bab1e4dd6172e3d43c4bbda50765a173f6bcf0
Extension:Thanks adds an action to block user from sending thanks.
This uses the 'ipb-action-thanks' message, which we don't want to
explicitly ask for because it is not a Core message.
Bug: T377402
Change-Id: Iceceb860e2bc7c373fd26624cfc3f57467136555
history.push/replaceState doesn't trigger a hashchange event,
so call onRouterHashChange manually.
This means a preventable 'route' event is always emitted when the
hash is changed.
Change-Id: I7e66bd7517d2e708ed9150c80a56eeb104143be7
These use the new CdxMultiselectLookup component.
Values for the two inputs can be pre-filled with the
'wpPageRestrictions' and 'wpNamespaceRestrictions' URL parameters.
Tests to be added in a future patch (along with other tests around
partial blocks).
Bug: T362718
Bug: T362912
Bug: T368583
Change-Id: I53739bcdd63870fbfb57bc96298fc8d467bdfc2b
Special:Block is supposed to show a 'Confirm block' checkbox under two
conditions: if the 'hide username' option is being used, or if the user
is blocking themselves.
This patch takes the SPA-like behaviour a step further and will disable
the submit button and show the confirmation checkbox if the user target
is changed to the current user, or if the 'Hide username' checkbox is
checked. The logic of hiding the confirm checkbox and re-enabling the
submit button should follow the same rules.
Add `withSubmission()` helper to SpecialBlock.test.js and add test cases
for the newly added code.
Bug: T376754
Change-Id: Ie990051ae62b11f3a27bbc4cfc5c714a0096e2f3
Add a 'block' Pinia store to house all block-related data use in the
SpecialBlock.vue application. Minimal refactoring is done to make use of
the store, rather than passing around props.
UserLookup is reworked to only update the store's targetUser property on
a 'change' event, since the Codex Lookup component wants a "selection"
while we want to allow arbitrary input. This means anything that listens
to changes to the targetUser isn't fired off too quickly (i.e. API
requests, or flashing error states).
Other changes:
* Remove 'disabled' attribute from ExpiryField as the disabled state is
applied automatically.
* Change SpecialBlock.test.js to test against a date that's not a mere
decade away.
Bug: T376741
Depends-On: Ia88d987bf7e5afa1a17d63b4ebc96448ccec2f6c
Change-Id: Id6cff21eeeeb86876e59f70994ad10658ab6d9be
'Templates' shown in preview can contain transcluded pages and
special pages. Skip adding edit/view-source links for special
pages as they're always not editable and have no viewable source.
Bug: T376964
Change-Id: Ie8021e79d8032074a4c37affdf3a47e2574df62b
Added "Show the table of contents" ARIA label for the button when the TOC is hidden.
Added "Hide the table of contents" ARIA label for the button when the TOC is displayed.
Bug: T336098
Change-Id: I922dc12287c241d6937acad0d9ec12eccc439014
Set a distinct style on the "no reason given" message
Set `aria-label` to clarifying message for screen readers
Bug: T376746
Change-Id: I7d0f73ff7031f9d08f488a580681ccc8b7c3d93c
Remove the "target" column
Add a column "type" with fields "Blocked"/"Unblocked"
Add Jest test for TargetBlockLog
Bug: T368111
Change-Id: I3e9145df62046baaa3fe762a6f57c932a976508c