| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
The blockId is both a form field (it gets used in the API request) and
also a behavioural so-to-speak, since the presence of a blockId is what
highlights the row in the 'Active blocks' table. As such, when we want
to clear behaviourial refs, also clear the blockId.
Bug: T389056
Change-Id: I6e76ae847c9bedd47962df6330c70b60cc5481a4
|
|\ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
No longer used except by other hard-deprecated methods.
Depends-On: I392088786faa4d52b7702dcf3b4e4549865b9650
Depends-On: I4760a342e7906000485142b63c739fb802bb40ed
Depends-On: I377e30f91ae41730b14731133c763fa100fb616f
Depends-On: Ic2302366e3d63413d110657ce999952b3fa7a1f6
Depends-On: I23ce3b4d26bbe58257b449993a54c45093007a3e
Change-Id: Ibf274036a1522001144c41ebff99f544860f6408
|
|\ \ \ \ \ \ \ \ \ \ \
| | |_|/ / / / / / / /
| |/| | | | | | | | |
| | | | | | | | | | | |
ParserOptions, v2"
|
| | |_|/ / / / / / /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Suppress TOC, section edit links, and set wrapper div class via
ParserOptions, instead of by passing options to
ParserOutput::getText().
In the process deprecate the public OutputPage::parserOptions(), which is
no longer used internally, and add OutputPage::addTOCPlaceholder() to
DRY out some oft-repeated code.
Bug: T350626
Depends-On: I6c12db1e0c42fe5b50ef43a9b6ff6804f44081ea
Depends-On: I0d557951b8e17de05e8ceadeb6c18d3811bbdaa8
Change-Id: Iec19f9f08a4d88ea534ffa7b24e6e01ffbba2723
|
|\ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Avoids profiler warnings for autocreation-related writes.
Follows up I66e54b00a7a0485d7d5e4d8d61d74e6fb6619ccb which only
did it for deferreds, but at least CheckUser uses an idle
transaction callback for recording autocreation PII, which was
stil emitting warnings.
Bug: T388165
Change-Id: Idb18fdebb76c17c88fa36d42f7317c4c6151baee
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
deprecated since 1.39
They have been deprecated since 1.39 in favor of
UrlUtils::validAbsoluteProtocols and UrlUtils::matchesDomainList.
Bug: T319340
Change-Id: Iff5fa7a3e517be15e4d60d96ab97f3f0575a1825
|
| |_|/ / / / / / / /
|/| | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
It has been deprecated in favor UrlUtils::assemble() since 1.39.
Depends-On: If1a6251b7ea31f7eed217500fdac74637508d683
Change-Id: I4cc95e03dc0bdc0912b41f7598058ab8219cdca5
|
|\ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
OpenAPI specs include an "info" section that includes strings such
as "title" and "description" that are intended to be human-readable.
Make all such strings translatable.
Bug: T385855
Change-Id: I15285be6d196c0e7fd7e922f23058d7c09b6b31a
|
|\ \ \ \ \ \ \ \ \ \ \
| |_|_|_|_|_|_|_|/ / /
|/| | | | | | | | | | |
|
| | |_|/ / / / / / /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
The REST Sandbox is currently implemented in Swagger UI, which does
not support i18n for its own UI elements (it does happily display
our internationalized OpenAPI spec). Add disclaimer text to the
page if it is being viewed in a language other than English, so that
users are aware this is a known issue (and is being worked on).
Bug: T388399
Change-Id: I265aa1e7dce78715dd4977eeb460f1ca26dedbd9
|
|\ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
And clean up after version requirement was increased to PG 10.
* In DatabasePostgres::indexInfo() iterate over all core schemas instead
of just querying the current schema. I broke this after the test for
it was disabled.
* In ApiQueryAllPages, remove the PG 9 branches and simplify the
comments.
* In DatabasePostgresTest, fix the skip conditions for the introduction
of DBConnRef.
* Remove tests for "old insert ignore", and "old insert select", which
no longer exist.
* In testFieldAndIndexInfo(), create a prefixed table name since that's
easier and safer than trying to switch domains just for this test.
Bug: T259084
Change-Id: Ifab7c045c40d039e542e2df19037b342d4984472
|
| |_|_|/ / / / / / /
|/| | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Depends-On: Ia5b7ebab3dd16ffb463b0d55979e0c094aa6b5ab
Change-Id: Ib34a15f9c8e2d1e6e4488fe3523a2babb7174b08
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Mostly used find-and-replace:
Find:
/\*[\*\s]+@var (I?[A-Z](\w+)(?:Interface)?)[\s\*]+/\s*(private|protected|public) (\$[a-z]\w+;\n)((?=\s*/\*[\*\s]+@var (I?[A-Z](\w+)(?:Interface)?))\n|)
Replace with:
\3 \1 \4
More could be done, but to keep this patch reasonably sized, I only
changed the most obvious and unambiguously correct cases.
I made some bonus corrections to the type hints too.
Change-Id: Ic900d0a7c552ea3535276c1b47d87dcce66ec3d9
|
|\ \ \ \ \ \ \ \ \ \
| |_|_|_|/ / / / / /
|/| | | | | | | | | |
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
The expiry 'Infinite' option might come from a custom message. Check the options
and select the expiry `Infinite` option has been set.
Bug: T388653
Change-Id: Ib22ef41deb121dc151a5ea8ca7d4ea5768041c66
|
|\ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Bug: T384942
Change-Id: I12c564245113226403298c472f93404dc6b28c2c
|
|\ \ \ \ \ \ \ \ \ \ \
| |_|_|_|/ / / / / / /
|/| | | | | | | | | | |
|
| |/ / / / / / / / /
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Bug: T382458
Change-Id: Iedd4526a516e8c8e45576a15f3a747a429a2f317
|
|\ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
It provided structured exception data in a custom machine-readable
format. Since MediaWiki 1.26, structured exception data conforming to
the PSR-3 logging standard is also available on the 'exception' log
channel, and nobody uses 'exception-json' anymore. But the fact that
it exists and logs errors by default means that it has to be disabled,
and clutters configs, for example:
https://gerrit.wikimedia.org/g/operations/mediawiki-config/+/c0e5c7f71d70de5749f6770abcbbb7e57032bd29/wmf-config/InitialiseSettings.php#2225
https://gerrit.wikimedia.org/g/mediawiki/vagrant/+/c96e609b6ff6a73a412d3fd0a4291259eee026f6/puppet/modules/role/templates/psr3/settings.php.erb#57
Historical context:
* Iacda90fb401f6a45ed1ac1a991e088: Add "exception-json" channel, 2013.
* Ia7ba355d5925a6268ffa321ffc13cc: Add "error-json" channel, 2015.
* I71499d895582bdea033a2516c902e2: Convert "exception" to PSR-3, 2015.
* I782c96dac1181d12267fa610345e87: WMF disables "exception-json", 2017.
* I7a6e6fa52a47a29ec04411a6c8b05e: Remove "error-json" channel, 2024.
The custom data format has been reused for formatting exceptions in
the REST API, so keep getStructuredExceptionData() and rescue the tests.
Bug: T193472
Change-Id: If730618e5371a467cb76db239916b6bbe42512e3
|
|\ \ \ \ \ \ \ \ \ \ \ |
|
| | |_|_|_|_|_|/ / / /
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Why:
- In I38cb5622238bc674 we started to write EditResults to the stash
unconditionally. That's several orders of magnitude more than
before and would flood the cache. We should only store the
EditResult for reverts, and only if RC patrolling is enabled.
- While this logic should really be in ChangeTrackingEventIngress,
that currently doesn't work because some extensions need the
cache to be updated before their hooks run, but the ingress is only
triggered post-send.
What:
- Make DerivedPageDataUpdater skip writing to EditResultCache if the
edit is not a revert or RC patrolling is not enabled.
Bug: T388573
Bug: T386217
Change-Id: I4ac6efbdc1713c87153e66e0520c9f749a7a2a9d
|
|\ \ \ \ \ \ \ \ \ \ \ |
|
| | |_|_|_|/ / / / / /
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Require SQLite 3.24+, released June 2018. Minimum distro releases:
Debian 10 (buster), Ubuntu 20.04, Fedora 29.
Bug: T389028
Change-Id: I1f548ee162921fa8398740e4b0528703c84bcaa3
|
|\ \ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
The environment checks in QUnit.begin() are important to run always,
even when e.g. running with component=EventLogging as filter.
However, the "testrunner" tests are only useful when changing
the assert methods themselves. There is no need to re-run those,
just as there as no need to run any other MediaWiki core tests,
when testing a non-core component.
By moving these out to their own file, part of the 'test.MediaWiki'
module, these still run by default and when selecting "MediaWiki core"
component, but not when selecting another component. Previously,
if you selected e.g. component "EventLogging" the output contained
a visible "testrunner" result, which was not part of that component
which seems surprising/confusing and certainly not needed.
Bug: T250045
Change-Id: I350adf0f9a39796f7052fd5b900acc0ca1a4d4e8
|
|\| | | | | | | | | | | |
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Bug: T250045
Change-Id: I53ec35a9b61c5fb8d6bba2cba4dfa21078f8ca2d
|
|\| | | | | | | | | | |
| |_|_|_|_|/ / / / / /
|/| | | | | | | | | | |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Bug: T250045
Change-Id: Ic8372862cb64cb64919e7dee174558243f33324f
|
|\ \ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
This is the second step to refactor EmailNotification
notifyOnPageChange() method to use single RecentChange object
instead multiple arguments.
Previously we had to feed $editor, $title and some attributes.
Instead we can just pass the entire RecentChange and let
EmailNotification decide which properties to use.
In the future, this will allow EmailNotification to listen to
RecentChange domain events to trigger Notifications.
Bug: T388665
Change-Id: I5882531e91cd84c4683522f06d829149fdfc534e
|
|\| | | | | | | | | | | |
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
To evolve Watchlist notifications and provide a unified approach
system has to pass the RecentChange object to EmailNotification.
Which later will pass to the RecentChange notification.
This is required to fulfill Echo needs that requires more information
from RecentChange. At current state, Echo requires properties like
`rc_logid` which is not available in MediaWiki ENotif job.
Furthermore this change will simplify the system, as
* instead of passing multiple params (and adding more of them with
time) we can just pass one RecentChange object that contains all
required information. When passing RecentChange via Job we can
use the `rc_id` to recreate the RecentChange when job gets processed.
* later Notifications system will be able to listen on RecentChange
domain event and trigger notifications via listener pattern which
will simplify the system even more.
Bug: T388665
Change-Id: I2d17bd3743e590e06298efaac387fc6d64e3609d
|
|\ \ \ \ \ \ \ \ \ \ \ \
| |/ / / / / / / / / / /
|/| | | | | | | | | | | |
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
The assert function stops on first missing message
and does not report all missing messages in one go.
Make the data provider named with the skin name for better output.
This also speed up the tests by reducing assertions.
Change-Id: I857f39e61096315b7344dff08ebf6ba6cdc15c19
|
|\ \ \ \ \ \ \ \ \ \ \ \
| |_|_|_|/ / / / / / / /
|/| | | | | | | | | | |
| | | | | | | | | | | | |
NotificationEnvelope"
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
To allow ourselves esier processing/modifying Notifications lets
introduce an idea of NotificationsEnvelope which represents a
Notification being sent and list of recipients.
The middleware approach will allow us to modify the Notification
behaviour by letting extensions to inject/modify the Notifications.
Each Middleware will retrieve a list of Envelopes MediaWiki wants to
send. Middlewares should iterate over envelopes and decide if those
want to add/remove/replace Notifications and/or Recipients.
Bug: T387996
Change-Id: Ib3ee35c75b2f4dcfdc516b9259a852dc73c4a778
|
| |_|_|_|_|_|_|_|_|_|/
|/| | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Change-Id: I34bb289e941751ae4722c708511326a2a5431bfc
|
|\ \ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Log entries now correctly show the timestamp instead of a relavtive
expiry if the date was entered as a timestamp. We aren't able to do the
same for active blocks without a larger refactor, so for now it will
continue to show computed relative expiries even for those entered as
exact timestamps.
Bug: T389275
Change-Id: Iae28dc9cfd6eb7193f7b5cfc7b34fd9537ae2079
|
|\ \ \ \ \ \ \ \ \ \ \ \ |
|
| | |_|_|_|_|_|_|_|_|/ /
| |/| | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Bug: T353458
Change-Id: I95690a312e356c45dbeed607d32fb0e4626690cf
|
|\ \ \ \ \ \ \ \ \ \ \ \
| |/ / / / / / / / / / /
|/| | | | | | | | | | | |
|