2 years agoMerge "Selenium: fix 'Page should be editable' test"
jenkins-bot [Thu, 11 Apr 2019 16:53:19 +0000 (16:53 +0000)]
Merge "Selenium: fix 'Page should be editable' test"

2 years agoSelenium: fix 'Page should be editable' test
Cormac Parle [Thu, 11 Apr 2019 12:21:42 +0000 (13:21 +0100)]
Selenium: fix 'Page should be editable' test

The test is broken only when and targeting beta cluster, because an
extension adds text to page. Instead of checking the entire body of
the page, test just checks if expected string is there.

Bug: T217544
Change-Id: Ibd67790c1df2cd8556b9c71d872d52cfc18f5ebd

2 years agoMerge "Remove Preferences class"
jenkins-bot [Thu, 11 Apr 2019 16:19:15 +0000 (16:19 +0000)]
Merge "Remove Preferences class"

2 years agoMerge "Add use Wikimedia\StaticArrayWriter statements to maintenance scripts"
jenkins-bot [Thu, 11 Apr 2019 16:18:56 +0000 (16:18 +0000)]
Merge "Add use Wikimedia\StaticArrayWriter statements to maintenance scripts"

2 years agoAdd use Wikimedia\StaticArrayWriter statements to maintenance scripts
Reedy [Thu, 11 Apr 2019 15:31:11 +0000 (16:31 +0100)]
Add use Wikimedia\StaticArrayWriter statements to maintenance scripts

Follows-Up: I022c074e8a708fb5219bc4ff4b53e7e31f60dc4b
Change-Id: Ieea214b31a6ba9cc8eb2b6bae50529d70448a872

2 years agoMerge "Update Parser to use NamespaceInfo"
jenkins-bot [Thu, 11 Apr 2019 13:30:23 +0000 (13:30 +0000)]
Merge "Update Parser to use NamespaceInfo"

2 years agoUpdate Parser to use NamespaceInfo
Aryeh Gregor [Sun, 5 Aug 2018 12:50:01 +0000 (15:50 +0300)]
Update Parser to use NamespaceInfo

Change-Id: I668a51487786e4ab05a153ca3995388e79c13b42

2 years agoMerge "Update PermissionManager to use NamespaceInfo"
jenkins-bot [Thu, 11 Apr 2019 11:27:17 +0000 (11:27 +0000)]
Merge "Update PermissionManager to use NamespaceInfo"

2 years agoMerge "Enable/disable Special:Block widgets according to block parameters"
jenkins-bot [Thu, 11 Apr 2019 09:40:19 +0000 (09:40 +0000)]
Merge "Enable/disable Special:Block widgets according to block parameters"

2 years agoMerge "Simplify checking for widgets on special block page"
jenkins-bot [Thu, 11 Apr 2019 09:29:16 +0000 (09:29 +0000)]
Merge "Simplify checking for widgets on special block page"

2 years agoMerge "Rehabilitate DateFormatter"
jenkins-bot [Thu, 11 Apr 2019 06:45:16 +0000 (06:45 +0000)]
Merge "Rehabilitate DateFormatter"

2 years agordbms: inject more dependencies into DatabaseOracle and remove $wgContLang use
Aaron Schulz [Tue, 9 Apr 2019 23:31:34 +0000 (16:31 -0700)]
rdbms: inject more dependencies into DatabaseOracle and remove $wgContLang use

Instead of guessing/assuming input encodings for non-UTF8 fields,
just require that they be valid UTF-8 to begin with.

Also replace MWException use and break some long lines.

Change-Id: Ibb6f841d5d143776eca2a9d0d12cbb74f1e0d23e

2 years agoMerge "rdbms: reduce code duplication and make LBFactoryMulti sanity checks work"
jenkins-bot [Thu, 11 Apr 2019 01:40:16 +0000 (01:40 +0000)]
Merge "rdbms: reduce code duplication and make LBFactoryMulti sanity checks work"

2 years agoRemove Preferences class
Max Semenik [Sun, 17 Mar 2019 07:30:01 +0000 (00:30 -0700)]
Remove Preferences class

Deprecated in 1.31, the only extension using it is broken on modern MW

Change-Id: Ifa0ea5ad5727254e60511fbc1889923e4bcc189a

2 years agoMerge "Prepare for REL1_33 cut, labelling master as 1.34-alpha"
jenkins-bot [Thu, 11 Apr 2019 00:29:00 +0000 (00:29 +0000)]
Merge "Prepare for REL1_33 cut, labelling master as 1.34-alpha"

2 years agoPrepare for REL1_33 cut, labelling master as 1.34-alpha
James D. Forrester [Tue, 9 Apr 2019 17:01:18 +0000 (10:01 -0700)]
Prepare for REL1_33 cut, labelling master as 1.34-alpha

Change-Id: I841ee1c898a6db2e4a10b5e8c68647d45f046dc7

2 years agoHTMLDateTimeField: Load styles for PHP widget
Bartosz Dziewoński [Wed, 10 Apr 2019 22:50:11 +0000 (00:50 +0200)]
HTMLDateTimeField: Load styles for PHP widget

Bug: T220601
Change-Id: Id507459fea434bd6eb1af2bb6d1163c138a3a9d1

2 years agoHistoryAction: Clarify form legend for edit history page
Volker E [Wed, 10 Apr 2019 19:17:08 +0000 (12:17 -0700)]
HistoryAction: Clarify form legend for edit history page

Bug: T107069
Change-Id: Ie20408da1ebed8de442338e67703b898a38e0624

2 years agoMerge "tests: Mock the time in NameTableStoreTest to avoid failures if they run slowly"
jenkins-bot [Wed, 10 Apr 2019 17:31:42 +0000 (17:31 +0000)]
Merge "tests: Mock the time in NameTableStoreTest to avoid failures if they run slowly"

2 years agordbms: reduce code duplication and make LBFactoryMulti sanity checks work
Aaron Schulz [Tue, 9 Apr 2019 21:45:36 +0000 (14:45 -0700)]
rdbms: reduce code duplication and make LBFactoryMulti sanity checks work

Change-Id: I2308719b3a8fe4745c86dc7e5af0950588732ebe

2 years agotests: Mock the time in NameTableStoreTest to avoid failures if they run slowly
Aaron Schulz [Wed, 10 Apr 2019 05:06:04 +0000 (22:06 -0700)]
tests: Mock the time in NameTableStoreTest to avoid failures if they run slowly

Bug: T220626
Change-Id: I4f8e0321f540b9ff48f3297a1ca0c6196c99ecf8

2 years agoMerge "Drop clearCache() from (Configured)ReadOnlyMode"
jenkins-bot [Wed, 10 Apr 2019 17:07:37 +0000 (17:07 +0000)]
Merge "Drop clearCache() from (Configured)ReadOnlyMode"

2 years agoDrop clearCache() from (Configured)ReadOnlyMode
Aryeh Gregor [Wed, 10 Apr 2019 13:20:28 +0000 (16:20 +0300)]
Drop clearCache() from (Configured)ReadOnlyMode

These are services, so tests should just override services to reset

Change-Id: Icb1a041f8fac1ea0b7421e69b7b31b24171d868b

2 years agoMerge "Bump Mustache from 1.0.0 to 3.0.1"
jenkins-bot [Wed, 10 Apr 2019 16:38:55 +0000 (16:38 +0000)]
Merge "Bump Mustache from 1.0.0 to 3.0.1"

2 years agoMerge "jobqueue: add GenericParameterJob and RunnableJob interface"
jenkins-bot [Wed, 10 Apr 2019 16:07:09 +0000 (16:07 +0000)]
Merge "jobqueue: add GenericParameterJob and RunnableJob interface"

2 years agoMerge "Add legoktm, James Forrester, bawolff, and addshore to main contributors"
jenkins-bot [Wed, 10 Apr 2019 14:33:30 +0000 (14:33 +0000)]
Merge "Add legoktm, James Forrester, bawolff, and addshore to main contributors"

2 years agoDon't pass Config object to SpecialPageFactory
Aryeh Gregor [Tue, 9 Apr 2019 16:34:23 +0000 (19:34 +0300)]
Don't pass Config object to SpecialPageFactory

That made SpecialPageFactory potentially dependent on every
configuration option, when it only uses a few.

In the convention I introduce here, the service class does not in
principle care that its options come from configuration variables. It
just declares a list of names of options it can receive, which happen to
match the names of configuration options, and ServiceWiring just copies
them over. In the event a service wants to receive other options that
are not configuration variables, ServiceWiring can set them
appropriately from other sources. In practice, most options will
probably come from configuration variables, so using the same names and
passing them directly makes the code shorter and easier to understand.

Change-Id: I3e57513826dc5130f468486470f29eeee659d697

2 years agoUpdate PermissionManager to use NamespaceInfo
Aryeh Gregor [Tue, 9 Apr 2019 09:28:38 +0000 (12:28 +0300)]
Update PermissionManager to use NamespaceInfo

Change-Id: I60825beb74d1d0a4e2a9bae0202372cc26752d0c

2 years agoMerge "Sort MediaWikiServices and ServiceWiring alphabetically"
jenkins-bot [Wed, 10 Apr 2019 11:37:06 +0000 (11:37 +0000)]
Merge "Sort MediaWikiServices and ServiceWiring alphabetically"

2 years agoRehabilitate DateFormatter
Tim Starling [Wed, 10 Apr 2019 05:33:57 +0000 (15:33 +1000)]
Rehabilitate DateFormatter

This code is surprisingly little changed since I added the class in
November 2003, and needs some modernisation.

* Remove the "linked" option, unused since 1.21. Similarly, make the
  "match-whole" option implied. This allows the regexes to be
  simplified. Nothing will be broken, according to CodeSearch.
* Instead of ucfirst(), use the canonical month name from the language.
  This will work with e.g. French which does not capitalise month names.
* Stop caching DateFormatter instances in APC. Caching was added
  in 2005 when initialisation was being done on every request, but now
  it is only needed when parsing a page with {{#formatdate}}, which is
  rarely, and the constructor overhead is only 200µs after Language
  object data initialisation. Instead, use an in-process cache via a
  factory service.
* Add docs and extra tests.
* Remove todo note obsolete since 38 minutes after the original commit.
* Rename many variables.
* Use double-slash comments
* Don't store the Language object, just get arrays.
* Use mb_strtolower() instead of Language::lc() -- any customisation of
  Language::lc() would break PCRE case-insensitive matching.
* Use named subpatterns instead of "keys"
* Remove the ISO1/ISO2 distinction, the only difference was linking.
* Use closure variables instead of temporary object members

Change-Id: I25fb1203dba2930724d7bc28ad0d51f59f88e1ea

2 years agoSort MediaWikiServices and ServiceWiring alphabetically
Tim Starling [Wed, 10 Apr 2019 10:36:02 +0000 (20:36 +1000)]
Sort MediaWikiServices and ServiceWiring alphabetically

Don't sort them asciibetically, which is a weird sort order people only
use by accident.

Change-Id: I69be64dab104130841855f2ce58bf94667c0c300

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 10 Apr 2019 06:28:29 +0000 (08:28 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I10aee1d68b54d24379123311ee43ad664ad3b6a2

2 years agoMerge "NamespaceInfo service to replace MWNamespace"
jenkins-bot [Wed, 10 Apr 2019 05:46:24 +0000 (05:46 +0000)]
Merge "NamespaceInfo service to replace MWNamespace"

2 years agoMerge "Fix notices emitted from DateFormatter"
jenkins-bot [Wed, 10 Apr 2019 03:26:33 +0000 (03:26 +0000)]
Merge "Fix notices emitted from DateFormatter"

2 years agoFix notices emitted from DateFormatter
Tim Starling [Wed, 10 Apr 2019 02:50:17 +0000 (12:50 +1000)]
Fix notices emitted from DateFormatter

Some languages have date abbreviations that contain ".", which allows
the non-ISO regexes to match an input string containing an invalid month
name. Use preg_quote() to avoid this.

Also fix the error handling case of makeIsoMonth(). If the input date is
invalid, don't try to wrap it in a date span, since that's semantically
incorrect and may also access unset members of $bits, causing a notice.

Bug: T220563
Change-Id: Ib2b3fb315dc93b60de595d3c445637f6bcc78a1a

2 years agoNamespaceInfo service to replace MWNamespace
Aryeh Gregor [Sun, 5 Aug 2018 08:36:32 +0000 (11:36 +0300)]
NamespaceInfo service to replace MWNamespace

MWNamespace::clearCaches() has been removed entirely, along with the
$rebuild parameter to MWNamespace::getCanonicalNamespaces(). The rest of
MWNamespace is deprecated.

Diff best viewed with -C1 so git notices that NamespaceInfo is a copy of

Depends-On: Icb7a4a2a5d19fb1f2453b4b57a5271196b0e316d
Depends-On: Ib3c914fc99394e4876ac9fe27317a1eafa2ff69e
Change-Id: I1a03d4e146f5414ae73c7d1a5807c873323e8abc

2 years agoMerge "Remove redundant closure for all packageFiles with own directory"
jenkins-bot [Wed, 10 Apr 2019 02:01:26 +0000 (02:01 +0000)]
Merge "Remove redundant closure for all packageFiles with own directory"

2 years agoMerge "History form can be collapsed"
jenkins-bot [Tue, 9 Apr 2019 23:10:09 +0000 (23:10 +0000)]
Merge "History form can be collapsed"

2 years agoHistory form can be collapsed
jdlrobson [Thu, 28 Mar 2019 00:06:35 +0000 (17:06 -0700)]
History form can be collapsed

A generic way for collapsing forms is added and used
on history.

Bug: T220555
Change-Id: I3073359210bcc25625c9ec07629100130effaed1

2 years agoAdd legoktm, James Forrester, bawolff, and addshore to main contributors
Amir Sarabadani [Tue, 9 Apr 2019 22:41:16 +0000 (00:41 +0200)]
Add legoktm, James Forrester, bawolff, and addshore to main contributors

Each one of these people has more than 500 commits (Kunal with more than 1000)

Change-Id: I8174f7e8af378dad7c2773b90e2b657ff948162d

2 years agoDateInputWidget: Use `max-width` instead of `width`
Volker E [Tue, 9 Apr 2019 21:55:02 +0000 (14:55 -0700)]
DateInputWidget: Use `max-width` instead of `width`

Using `max-width` instead of `width` to address overflowing form
container on very small screens.

Change-Id: Ibe88fa68543343fc2a0fac3eb9843334c6e80433

2 years agoMerge "Fix return type in fallback8bitEncoding() documentation block"
jenkins-bot [Tue, 9 Apr 2019 20:40:44 +0000 (20:40 +0000)]
Merge "Fix return type in fallback8bitEncoding() documentation block"

2 years agoMerge "Default $wgActorTableSchemaMigrationStage to READ_NEW"
jenkins-bot [Tue, 9 Apr 2019 20:26:30 +0000 (20:26 +0000)]
Merge "Default $wgActorTableSchemaMigrationStage to READ_NEW"

2 years agoFix return type in fallback8bitEncoding() documentation block
Aaron Schulz [Tue, 9 Apr 2019 20:22:52 +0000 (13:22 -0700)]
Fix return type in fallback8bitEncoding() documentation block

Change-Id: Ia50ed305d8f58bdea5d36362e03ad5a1ebbea847

2 years agoMerge "resourceloader: Simplify isCompatible() parameter in startup.js"
Krinkle [Tue, 9 Apr 2019 19:40:00 +0000 (19:40 +0000)]
Merge "resourceloader: Simplify isCompatible() parameter in startup.js"

2 years agoMerge "resourceloader: Remove redundant filter() in mw.load.load()"
jenkins-bot [Tue, 9 Apr 2019 19:35:14 +0000 (19:35 +0000)]
Merge "resourceloader: Remove redundant filter() in mw.load.load()"

2 years agoresourceloader: Simplify isCompatible() parameter in startup.js
Timo Tijhof [Tue, 9 Apr 2019 03:14:48 +0000 (04:14 +0100)]
resourceloader: Simplify isCompatible() parameter in startup.js

This is a private function (now marked as such) only ever called
once in prod code (a few lines further down). It is exposed
to testing as well, which is why it has a parameter.

Call it with a parameter within startup.js as well, so that we can
remove the default handling and use the function the same way in
prod as the way we use it in tests.

Change-Id: Ie9db60e417cca29f86cea20359e880cb1fa20197

2 years agoresourceloader: Remove redundant filter() in mw.load.load()
Timo Tijhof [Tue, 9 Apr 2019 03:06:38 +0000 (04:06 +0100)]
resourceloader: Remove redundant filter() in mw.load.load()

This was added for T36853, but never worked and wasn't needed
because other parts of the commit for that task did the work
already (I guess I was trying both ways and ended up submitting

* The inline comment claims to remove unknown modules,
  but doesn't actually. Unknown modules would yield state `null`,
  which is not filtered out. They are actually filtered out
  by resolveStubbornly() and sortDependencies().

* The inline comment claims to filter out modules we tried
  previously and were already known to fail.
  This would work, if there were modules in such state, but
  that never happens at this stage because load() is the first
  thing on the page requesting any modules. Nothing notable
  happened before that. If this were to change in the future,
  or in case of user scripts calling mw.loader.load() directly
  with invalid module names, we're still covered by enqueue()
  and again by mw.loader.work() - both of which make sure we
  don't re-request or retry modules, by filtering down to
  only modules in the 'registered' state.

Change-Id: I3b9f1a13379ad41aeabad8111647c0f6eddccdfc

2 years agoMerge "Switch more DatabaseUpdater type hints to using IMaintainableDatabase"
jenkins-bot [Tue, 9 Apr 2019 18:17:31 +0000 (18:17 +0000)]
Merge "Switch more DatabaseUpdater type hints to using IMaintainableDatabase"

2 years agoDefault $wgActorTableSchemaMigrationStage to READ_NEW
Brad Jorsch [Wed, 3 Apr 2019 17:11:46 +0000 (13:11 -0400)]
Default $wgActorTableSchemaMigrationStage to READ_NEW

Probably good to start testing this in CI sometime soon.

The unit tests being changed here are:
* Hacky importing of a revision in MessageCacheTest, changed to use an
  interwiki username.
* WikiPageDbTestBase will get null rather than 0 for ar_user.
* DumpTestCase was using a custom IP $wgUser when creating its test
  revisions, which was winding up referring to an actor_id that had been
  deleted from the database. Fixed by having it use a registered user

Also this has MediaWikiTestCase reset the $wgUser User object when the
actor table is truncated, as various tests were otherwise failing because
it was caching a later-deleted actor ID for User:

Bug: T188327
Change-Id: Ic483d0fda931810ac639b9de1cc5e5a4ef8161cc
Depends-On: I1bd0288cc132627d75b4001219522ec5e952eda7

2 years agoRemove unnecessary slash in scalerThumbUrl
Gilles Dubuc [Tue, 9 Apr 2019 16:57:38 +0000 (18:57 +0200)]
Remove unnecessary slash in scalerThumbUrl

The thumb proxy URL already contains a trailing slash

Bug: T220265
Change-Id: I9176ac893250f857c04df5a6878278784cf785f6

2 years agoMerge "Add support for X-Swift-Secret to upload stash"
jenkins-bot [Tue, 9 Apr 2019 16:17:49 +0000 (16:17 +0000)]
Merge "Add support for X-Swift-Secret to upload stash"

2 years agoMerge "Remove references to field rev_text_id"
jenkins-bot [Tue, 9 Apr 2019 15:25:05 +0000 (15:25 +0000)]
Merge "Remove references to field rev_text_id"

2 years agoAdd support for X-Swift-Secret to upload stash
Gilles Dubuc [Tue, 9 Apr 2019 15:21:51 +0000 (17:21 +0200)]
Add support for X-Swift-Secret to upload stash

This will allow us to treat the request to the temp
container as securely as those on a private wiki.

Bug: T220265
Change-Id: I43a7212481665e05ae23c44ab1788d8988b80a4b

2 years agoMerge "MediaWikiTestCase: Fix schema restoration"
jenkins-bot [Tue, 9 Apr 2019 15:17:45 +0000 (15:17 +0000)]
Merge "MediaWikiTestCase: Fix schema restoration"

2 years agoMerge "avoid link cache issues with duplicate title keys for xml dumps"
jenkins-bot [Tue, 9 Apr 2019 14:00:38 +0000 (14:00 +0000)]
Merge "avoid link cache issues with duplicate title keys for xml dumps"

2 years agoSwitch more DatabaseUpdater type hints to using IMaintainableDatabase
Aaron Schulz [Tue, 9 Apr 2019 07:19:34 +0000 (00:19 -0700)]
Switch more DatabaseUpdater type hints to using IMaintainableDatabase

Change-Id: I59b49d00b94c62342e0bf13e127773bbc83f6453

2 years agoMerge "selenium: Add API wait and other pauses in rollback test"
jenkins-bot [Tue, 9 Apr 2019 10:46:05 +0000 (10:46 +0000)]
Merge "selenium: Add API wait and other pauses in rollback test"

2 years agoselenium: Add API wait and other pauses in rollback test
Tim Eulitz [Mon, 8 Apr 2019 09:07:45 +0000 (11:07 +0200)]
selenium: Add API wait and other pauses in rollback test

Bug: T219440
Change-Id: Ifdc0ff72db7f6f176b8a7a0522235e91dfd2aa87

2 years agoMerge "Hard-deprecate MagicWord static methods"
jenkins-bot [Tue, 9 Apr 2019 10:15:05 +0000 (10:15 +0000)]
Merge "Hard-deprecate MagicWord static methods"

2 years agoMerge "Inject LinkRendererFactory into Parser"
jenkins-bot [Tue, 9 Apr 2019 10:14:59 +0000 (10:14 +0000)]
Merge "Inject LinkRendererFactory into Parser"

2 years agoHard-deprecate MagicWord static methods
Aryeh Gregor [Mon, 30 Jul 2018 14:57:53 +0000 (17:57 +0300)]
Hard-deprecate MagicWord static methods

Bug: T200247
Change-Id: Ib36e78274f42ddbeaa7801cc8bad77b991a4a1aa

2 years agoresourceloader: Optimise resolved-check in sortDependencies()
Timo Tijhof [Mon, 8 Apr 2019 00:45:48 +0000 (01:45 +0100)]
resourceloader: Optimise resolved-check in sortDependencies()

Remove the `resolved.indexOf` check from code outside the
for-loop because it's not needed for correctness. The function
is private, and its result is passed to enqueue() and work()
which already do their own de-duplication.

It was here as optimisation to keep the result fairly small
and avoid needless computation, but this isn't useful in practice
because the input never contains duplicates in production.
There are only two ways to call it:

1. From mw.loader.load(), which we never give duplicates.

2. Recursively from within sortDependencies() itself, which
   is already guarded by exactly the same check.

Move the handling of `baseModules` to the caller so that it
does not need to check it N times for every top-level module on
a page and N more times for every dependency of every dependency
of every such module etc. Instead, do it once before we start.

Also update error "Unknown dependency" to say "Unknown module",
because this function deals both with top-level modules and with
dependencies. In fact, most reports of this error in Phabricator
are for top-level modules, not dependencies.
This makes sense given dependency validation via PHPUnit,
which means such error would be unlikely in prod. An unknown
module, on the other hand, is quite normal (and caught) for
cases where a module or gadget is removed but still queued in
cached HTML.

Change-Id: I944593994a66f1c65c0732d7d1f2d60ed4226e79

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 9 Apr 2019 06:37:45 +0000 (08:37 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I476ece661f23b3415c2726583a312e48103b8e72

2 years agoMerge "rdbms: Remove weird use of serialize() in MssqlBlob and DatabaseMssql"
jenkins-bot [Tue, 9 Apr 2019 06:11:53 +0000 (06:11 +0000)]
Merge "rdbms: Remove weird use of serialize() in MssqlBlob and DatabaseMssql"

2 years agoMerge "mediawiki.mixins: Remove obsolete `.list-style-image-svg()` mixin"
jenkins-bot [Tue, 9 Apr 2019 00:48:16 +0000 (00:48 +0000)]
Merge "mediawiki.mixins: Remove obsolete `.list-style-image-svg()` mixin"

2 years agoHistoryAction: Visually hide form legend
Volker E [Mon, 8 Apr 2019 06:53:45 +0000 (23:53 -0700)]
HistoryAction: Visually hide form legend

Bug: T220049
Depends-On: Ie3586dd240fac98fd43a0e5c685da6cb781a9b0c
Change-Id: Ie72dee4c0012de22d96a8d40488630c0efa02736

2 years agoHistoryAction: Clarify primary action button label
Volker E [Mon, 8 Apr 2019 06:40:20 +0000 (23:40 -0700)]
HistoryAction: Clarify primary action button label

Bug: T220048
Change-Id: Ie3586dd240fac98fd43a0e5c685da6cb781a9b0c

2 years agomediawiki.mixins: Remove obsolete `.list-style-image-svg()` mixin
Volker E [Mon, 8 Apr 2019 20:35:16 +0000 (13:35 -0700)]
mediawiki.mixins: Remove obsolete `.list-style-image-svg()` mixin

All known uses of this workaround for old browsers like IE 6-8 have
been updated to not rely on mixin any more.
Therefore removing obsolete mixin definition.

Bug: T220327
Change-Id: Ica2d4f86d03249c179c255f905fa9b2deeea841e

2 years agomediawiki.user: Clarify sessionId documentation
T. Bayer [Fri, 5 Oct 2018 21:29:03 +0000 (14:29 -0700)]
mediawiki.user: Clarify sessionId documentation

The existing documentation creates the impression that this ID
remains the same until the browser session ends (like a session
cookie), which has led to misunderstandings about the results of
past data analyses.

See T118063#4547178 ff.

Change-Id: Ia2e156088b9e903836ceb8e2f9e77f9fb46a49fe

2 years agoMerge "build: Add "View history" scenario for Fresnel"
jenkins-bot [Mon, 8 Apr 2019 20:10:42 +0000 (20:10 +0000)]
Merge "build: Add "View history" scenario for Fresnel"

2 years agoMerge "Fix IE conditional comment"
jenkins-bot [Mon, 8 Apr 2019 19:36:51 +0000 (19:36 +0000)]
Merge "Fix IE conditional comment"

2 years agoMerge "redo: don't die producing xml files if rev text export conversion fails"
jenkins-bot [Mon, 8 Apr 2019 18:55:30 +0000 (18:55 +0000)]
Merge "redo: don't die producing xml files if rev text export conversion fails"

2 years agoavoid link cache issues with duplicate title keys for xml dumps
Ariel T. Glenn [Mon, 8 Apr 2019 06:45:55 +0000 (09:45 +0300)]
avoid link cache issues with duplicate title keys for xml dumps

Bug: T220316
Change-Id: If73d6c9b4cac298a7832d65ffa34bc8f69b87752

2 years agoFix IE conditional comment
Fomafix [Mon, 8 Apr 2019 16:41:45 +0000 (18:41 +0200)]
Fix IE conditional comment

47422fabe2813fb12b7663257924fdf4cd7cd0d1 broke the IE conditional
comment. This is change restores them.

Change-Id: I397434e9c23506080fe5507b29c2cc48e2f078c7

2 years agoMerge "Update table header color of `.mw-datatable`"
jenkins-bot [Mon, 8 Apr 2019 18:17:39 +0000 (18:17 +0000)]
Merge "Update table header color of `.mw-datatable`"

2 years agojobqueue: add GenericParameterJob and RunnableJob interface
Aaron Schulz [Sat, 30 Mar 2019 06:07:48 +0000 (23:07 -0700)]
jobqueue: add GenericParameterJob and RunnableJob interface

Simplify the code of jobs that do not care about titles and removes
the direct Title dependency from JobQueue. Remove getTitle() from
IJobSpecification itself. Move all the Job::factory calls into a
single JobQueue::factoryJob() method.

Depends-on: Iee78f4baeca0c0b4d6db073f2fbcc56855114ab0
Change-Id: I9c9d0726d4066bb0aa937665847ad6042ade13ec

2 years agoMediaWikiTestCase: Fix schema restoration
Brad Jorsch [Mon, 8 Apr 2019 17:48:49 +0000 (13:48 -0400)]
MediaWikiTestCase: Fix schema restoration

First, after restoring the old schema it needs to clear the variable so
it doesn't keep "restoring" again and again for every subsequent test

Second, after restoring the old schema it needs to repopulate anything
added by addCoreDBData() that was lost by dropping and recreating the
affected tables, which is easiest done by calling $this->resetDB().

Change-Id: I549d10eb7ceec117d3a0138449ca01f8065707d4

2 years agobuild: Add "View history" scenario for Fresnel
Timo Tijhof [Mon, 8 Apr 2019 17:35:06 +0000 (18:35 +0100)]
build: Add "View history" scenario for Fresnel

Change-Id: I84a9f1f73b948b57215dfc85ca3242ff1346e8a8

2 years agoMerge "Use IMaintainableDatabase type hint for DatabaseUpdater::newForDB()"
jenkins-bot [Mon, 8 Apr 2019 15:21:28 +0000 (15:21 +0000)]
Merge "Use IMaintainableDatabase type hint for DatabaseUpdater::newForDB()"

2 years agordbms: Remove weird use of serialize() in MssqlBlob and DatabaseMssql
Brad Jorsch [Mon, 8 Apr 2019 15:15:54 +0000 (11:15 -0400)]
rdbms: Remove weird use of serialize() in MssqlBlob and DatabaseMssql

The use in MssqlBlob could never be reached, since the test used `&&`
rather than `||`.

The use in DatabaseMssql should never be reached, and all our other
Database subclasses will give PHP warnings or errors when it tries to
stringify an array or object rather than silently serializing. MSSQL
should be consistent there. Further, MSSQL never *un*serializes, so it
seems rather useless anyway.

Change-Id: I7b193c6be28662edb38d416ac02371f7a293ab56

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 8 Apr 2019 06:07:06 +0000 (08:07 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1dcfd8baa72e77a0c43a30270cf3c39810f29760

2 years agoUpdate table header color of `.mw-datatable`
Volker E [Mon, 8 Apr 2019 05:30:01 +0000 (22:30 -0700)]
Update table header color of `.mw-datatable`

Bug: T214208
Change-Id: Id5f14b9a3af40a83385dcb4baf0e2d464c5e07a9

2 years agoMerge "Fix phpdoc for type hint for User::makeUpdateConditions()"
jenkins-bot [Mon, 8 Apr 2019 04:51:21 +0000 (04:51 +0000)]
Merge "Fix phpdoc for type hint for User::makeUpdateConditions()"

2 years agoMerge "resourceloader: Remove unused 'skipped' property from registry"
jenkins-bot [Mon, 8 Apr 2019 03:54:10 +0000 (03:54 +0000)]
Merge "resourceloader: Remove unused 'skipped' property from registry"

2 years agoMerge "resourceloader: Move registration of Resources.php to ServiceWiring"
jenkins-bot [Mon, 8 Apr 2019 03:54:04 +0000 (03:54 +0000)]
Merge "resourceloader: Move registration of Resources.php to ServiceWiring"

2 years agoFix phpdoc for type hint for User::makeUpdateConditions()
Aaron Schulz [Mon, 8 Apr 2019 03:46:22 +0000 (20:46 -0700)]
Fix phpdoc for type hint for User::makeUpdateConditions()

Change-Id: I46b3842495b3b9b8d44d16f434de4b44c65c1d80

2 years agoUse IMaintainableDatabase type hint for DatabaseUpdater::newForDB()
Aaron Schulz [Mon, 8 Apr 2019 03:44:46 +0000 (20:44 -0700)]
Use IMaintainableDatabase type hint for DatabaseUpdater::newForDB()

Change-Id: I56dd9f8d195ad60cf3ec9b81af2b4f25d1ca0a3a

2 years agoresourceloader: Remove unused 'skipped' property from registry
Timo Tijhof [Mon, 8 Apr 2019 00:20:06 +0000 (01:20 +0100)]
resourceloader: Remove unused 'skipped' property from registry

This was added for debugging purposes, but I've never needed it
so far. It also makes the shape of objects in the registry
inconsistent, which can be a de-opt.

Keep it for now, but with a more minimal impact by storing it
in the same property.

Change-Id: I297e3adb4765b83b1e7356b81cd056f99b3de93d

2 years agoMerge "Replace deprecated function wfEscapeShellArg with Shell::escape()"
jenkins-bot [Sun, 7 Apr 2019 22:42:26 +0000 (22:42 +0000)]
Merge "Replace deprecated function wfEscapeShellArg with Shell::escape()"

2 years agoReplace deprecated function wfEscapeShellArg with Shell::escape()
Derick Alangi [Sun, 7 Apr 2019 11:36:22 +0000 (12:36 +0100)]
Replace deprecated function wfEscapeShellArg with Shell::escape()

Change-Id: I4046d593d1450cfffc489ca2abadba1084a540e4

2 years agoMerge "Improve docs for Title::getInternalURL/getCanonicalURL"
jenkins-bot [Sun, 7 Apr 2019 17:25:33 +0000 (17:25 +0000)]
Merge "Improve docs for Title::getInternalURL/getCanonicalURL"

2 years agoRemove redundant closure for all packageFiles with own directory
Fomafix [Sun, 7 Apr 2019 08:15:00 +0000 (10:15 +0200)]
Remove redundant closure for all packageFiles with own directory

The modules loaded with packageFiles, which are always executed in
module scope (with a closure), even in debug mode.

The behaviour of non-packageFiles debug mode is the only reason files
have closures.

Bug: T50886
Change-Id: I38b1b426930763e5ddf61fa29235c2df829310c3

2 years agoMake Special:Version escape extension names that aren't links
Brian Wolff [Sun, 17 Feb 2019 11:09:45 +0000 (11:09 +0000)]
Make Special:Version escape extension names that aren't links

This is to make phan-taint-check happy. Technically this is
a breaking change, but I am unaware of any extensions actually
having their names be arbitrary html, and support for this
is not documented anywhere.

Bug: T216348
Change-Id: I065d7e57f36e079e0b02180379e2df1f8535f3a8

2 years agoMerge "resourceloader: Fix ensureNewline( '' ) support for PHP 7"
jenkins-bot [Sun, 7 Apr 2019 16:52:25 +0000 (16:52 +0000)]
Merge "resourceloader: Fix ensureNewline( '' ) support for PHP 7"

2 years agoMerge "resourceloader: Use self::class instead of 'self'"
jenkins-bot [Sun, 7 Apr 2019 16:52:20 +0000 (16:52 +0000)]
Merge "resourceloader: Use self::class instead of 'self'"

2 years agoMerge "Fix/suppress phan errors related to arrays (#11)"
jenkins-bot [Sun, 7 Apr 2019 16:44:03 +0000 (16:44 +0000)]
Merge "Fix/suppress phan errors related to arrays (#11)"

2 years agoresourceloader: Fix ensureNewline( '' ) support for PHP 7
Fomafix [Sun, 7 Apr 2019 10:08:17 +0000 (12:08 +0200)]
resourceloader: Fix ensureNewline( '' ) support for PHP 7

substr( '', -1 ) returns '', not false, in PHP 7.

Change-Id: Ie48fe064385e70f070e3fbfe0b62198f36cccd6d

2 years agoresourceloader: Use self::class instead of 'self'
Fomafix [Sun, 7 Apr 2019 11:49:26 +0000 (13:49 +0200)]
resourceloader: Use self::class instead of 'self'

Change-Id: I66d9974875d404fb5f7669f3962e694e1d56c350

2 years agoFix/suppress phan errors related to arrays (#11)
Kunal Mehta [Sun, 7 Apr 2019 07:11:39 +0000 (00:11 -0700)]
Fix/suppress phan errors related to arrays (#11)

Change-Id: Ie5c05fbc88c51d493bc1462005d2f8dde5f72101