lhc/web/wiklou.git
7 years agoRefactor database-related code in ApiQueryWatchlistRaw
Leszek Manicki [Fri, 17 Jun 2016 11:11:05 +0000 (13:11 +0200)]
Refactor database-related code in ApiQueryWatchlistRaw

Database queries used to get user's watchlist items in API are quite
complex due to number of options oferred by the API.
Generating the query is moved to WatchedItemQueryService.
ApiQueryWatchlistRaw no longer contains database-related code.

Simple user watchlist item lookups should use WatchedItemStore.

ApiQueryWatchlistRaw tests have been introduced in
I9c07aa237607143985f0efe20ed0065d2bde27e4

Bug: T132566
Change-Id: I875a92074b52c00ac11db1fa05615abbf5262ab1

7 years agoMerge "registration: Remove broken ResourceLoaderLESSImportPaths support"
jenkins-bot [Wed, 6 Jul 2016 02:23:46 +0000 (02:23 +0000)]
Merge "registration: Remove broken ResourceLoaderLESSImportPaths support"

7 years agoShow parser output for diffs unless extension aborts
Matthew Flaschen [Wed, 6 Jul 2016 00:08:32 +0000 (20:08 -0400)]
Show parser output for diffs unless extension aborts

It was backwards.

Bug: T139433
Change-Id: Ie370da9d77e1d7608e2d5492f9d34094af233d0b

7 years agoMerge "Revert "Convert Special:MergeHistory to use OOUI.""
jenkins-bot [Tue, 5 Jul 2016 23:42:34 +0000 (23:42 +0000)]
Merge "Revert "Convert Special:MergeHistory to use OOUI.""

7 years agoresourceloader: Replace SHA1 with 32-bit FNV-1 as hash function
Ori Livneh [Wed, 22 Jun 2016 22:32:58 +0000 (15:32 -0700)]
resourceloader: Replace SHA1 with 32-bit FNV-1 as hash function

SHA-1 is not secure enough to be used as a cryptographic hash function, and its
implementation in JavaScript is too long and too slow for it to be a good
general-purpose hash function. And we currently throw away most of the work:
SHA-1 produces 160-bit hash values, of which we keep 48.

Although the JavaScript implementation is not exported, SHA-1 is a well-known
hash function, and I'm willing to bet that sooner or later someone will move to
make it accessible to other modules, at which point usage will start to spread.

For ResourceLoader, the qualities we're looking for in a hash function are:

* Already implemented in PHP
* Easy to implement in JavaScript
* Fast
* Collision-resistant

The requirement that hashes be cheap to compute in JavaScript narrows the field
to 32-bit hash functions, because in JavaScript bitwise operators treat their
operands as 32 bits, and arithmetic uses double-precision floats, which have a
total precision of 53 bits. It's possible to work around these limitations, but
it's a lot of extra work.

The best match I found is the 32-bit variant of FNV-1, which is available in
PHP as of version 5.4 (as 'fnv1a32'). The fnv132 JavaScript function is
around ten times faster and eight times shorter than sha1.

Change-Id: I1e4fb08d17948538d96f241b2464d594fdc14578

7 years agoMerge "Fixes to LocalFile::lock()"
jenkins-bot [Tue, 5 Jul 2016 20:08:53 +0000 (20:08 +0000)]
Merge "Fixes to LocalFile::lock()"

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 5 Jul 2016 19:56:28 +0000 (21:56 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia097accd2d28baec1f7932cdb30299e0dc1a7781

7 years agoTitleOptionWidget: don't subvert OptionWidget's tabindex
David Lynch [Tue, 5 Jul 2016 16:24:04 +0000 (11:24 -0500)]
TitleOptionWidget: don't subvert OptionWidget's tabindex

OptionWidget takes steps to not interfere in the tab order. TitleOptionWidget
uses links as its labels, which has a side-effect of reintroducing a tab-
focusable element into the OptionWidget. Explicitly set tabindex="-1" on these
links, to maintain the OptionWidget behavior.

Bug: T129792
Change-Id: Ia6b1361e7183e253b7abc58037f007936dfa60ff

7 years agoRemove unused imports
Thiemo Mättig [Tue, 5 Jul 2016 14:52:22 +0000 (16:52 +0200)]
Remove unused imports

Change-Id: I3b2ede8a11863c0fb775d851abb251e44ad616db

7 years agoRevert "Convert Special:MergeHistory to use OOUI."
Bartosz Dziewoński [Tue, 5 Jul 2016 09:59:01 +0000 (11:59 +0200)]
Revert "Convert Special:MergeHistory to use OOUI."

The new form doesn't check the CSRF token. We should use either just
HTMLForm (which checks the token automatically) or just FormOptions
(and check it ourselves), not a mix of the two.

This reverts commit 598068334e72be83088b9acdf674a79293f040ba.
This reverts commit 475e78c377f81a8837462852cdaab05e01cd686c.

Bug: T138346
Change-Id: Icc100552f3fba2e5e17ae6a2f57c2bfed32fbe83

7 years agoMerge "Update the way captions show up in packed-overlay and packed-hover"
jenkins-bot [Tue, 5 Jul 2016 09:44:14 +0000 (09:44 +0000)]
Merge "Update the way captions show up in packed-overlay and packed-hover"

7 years agoFixes to LocalFile::lock()
Aaron Schulz [Mon, 4 Jul 2016 18:02:42 +0000 (11:02 -0700)]
Fixes to LocalFile::lock()

* Added onTransactionResolution() DB method.
* Use this method so that file unlocks fire on unlockAndRollback()
  as well as on DB errors (via MWExceptionHandler::handleException).
  This prevents locks from getting stuck for minutes when deadlocks
  happen, since the LockManager::destruct() method is not reliable.
* Fix broken reference counting which always released locks on the
  first unlock() call, even if there were 2+ lock() calls.
* Added some type hints to IDatabase methods.
* Fixed DatabaseBase::__destruct() logging to include all callbacks.

Bug: T132921
Change-Id: I684706957f4d794cb6fe61505b0d26b7893de706

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 4 Jul 2016 19:57:01 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I46a80dc4344a68d51e8e20e330d95231ce004beb

7 years agoMerge "Follow-up 6af8dcf: Remove duplicate styles in shared.css"
jenkins-bot [Mon, 4 Jul 2016 19:07:03 +0000 (19:07 +0000)]
Merge "Follow-up 6af8dcf: Remove duplicate styles in shared.css"

7 years agoFix comment typos in mediawiki.js
aude [Mon, 4 Jul 2016 12:10:50 +0000 (14:10 +0200)]
Fix comment typos in mediawiki.js

Change-Id: I40f90913f62f611f1bd940130751355f34dac5bf

7 years agoMerge "registration: Add schema validation ResourceLoaderWikiModule"
jenkins-bot [Mon, 4 Jul 2016 06:53:05 +0000 (06:53 +0000)]
Merge "registration: Add schema validation ResourceLoaderWikiModule"

7 years agoFollow-up 6af8dcf: Remove duplicate styles in shared.css
Prateek Saxena [Mon, 4 Jul 2016 05:59:31 +0000 (11:29 +0530)]
Follow-up 6af8dcf: Remove duplicate styles in shared.css

Bug: T138721
Change-Id: I1733fcf1b3155b43dee8b79036f91b8d6cc25d05

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 3 Jul 2016 19:53:33 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ic18771748bb4ac83b3d7810a1cb123345da8c452

7 years agoMerge "API: Log non-whitelisted CORS requests with session cookies"
jenkins-bot [Sat, 2 Jul 2016 22:07:28 +0000 (22:07 +0000)]
Merge "API: Log non-whitelisted CORS requests with session cookies"

7 years agoregistration: Remove broken ResourceLoaderLESSImportPaths support
Kunal Mehta [Wed, 22 Jun 2016 21:59:31 +0000 (23:59 +0200)]
registration: Remove broken ResourceLoaderLESSImportPaths support

It never worked to begin with since it did not prefix paths, and the
documentation for it says it should not be used by extensions, so
let's stop pretending it works.

Bug: T108271
Change-Id: I665d4439d14406038f2ac767ee5ec6eb5b67fca6

7 years agoregistration: Add schema validation ResourceLoaderWikiModule
Kunal Mehta [Wed, 22 Jun 2016 21:57:38 +0000 (23:57 +0200)]
registration: Add schema validation ResourceLoaderWikiModule

And improve the "groups" description for ResourceLoaderFileModule.

Bug: T134213
Change-Id: I03ecc56d1af565ace556ba579a9a9c495334da9c

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 2 Jul 2016 20:13:07 +0000 (22:13 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1b12a0e7251d41e3eeb7f000dc2b766b9ac0c637

7 years agomediawiki.action.edit.stash: Document ignored key codes
Timo Tijhof [Fri, 1 Jul 2016 21:09:20 +0000 (22:09 +0100)]
mediawiki.action.edit.stash: Document ignored key codes

Follows-up eca800c7f02.

Change-Id: Ic0d9620eb3a5e371cc9825248ebb40abb0dea965

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 1 Jul 2016 20:44:22 +0000 (22:44 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: If018806a6e265fdbea44aa5812b17ceb40e7dbc9

7 years agoMerge "Sync up with Parsoid parserTests."
jenkins-bot [Fri, 1 Jul 2016 14:45:23 +0000 (14:45 +0000)]
Merge "Sync up with Parsoid parserTests."

7 years agoSearchInputWidget: Use isset on dataLocation in case it isn't
James D. Forrester [Fri, 1 Jul 2016 10:59:04 +0000 (11:59 +0100)]
SearchInputWidget: Use isset on dataLocation in case it isn't

Change-Id: I88f4d1624ee0e1f64d8f591dd8936e875211c53d

7 years agoRemove Profiler specific code from fileOpPerfTest
Erik Bernhardson [Fri, 1 Jul 2016 00:05:16 +0000 (17:05 -0700)]
Remove Profiler specific code from fileOpPerfTest

This code was referencing classes that no longer exist, so it was
removed. Profiling can still be accomplished the same way normal maint
scripts are profiled, by populating StartProfiler.php and passing
'--profiler ProfilerOutputText', or something similar, on the maint
script command line.

Change-Id: Ie037f6b224ec361c86b86369e2a4fff641908053

7 years agoFix a few incorrect annotations
Erik Bernhardson [Fri, 1 Jul 2016 00:08:44 +0000 (17:08 -0700)]
Fix a few incorrect annotations

Found by applying etsy/phan to the mediawiki codebase, in preparation
for getting it running more regularly via CI. Has no effect on how the
code runs, simply does a better job of documenting the code.

Change-Id: I4c844a51df3ffe4fbb96cac25f3eff2f7a9faca2

7 years agoRepair interwiki search via api
Erik Bernhardson [Thu, 30 Jun 2016 22:55:20 +0000 (15:55 -0700)]
Repair interwiki search via api

This was throwing exceptions, probably for many months now, when
requesting and finding interwiki search results. Probably this went
unnoticed due to interwiki search only being enabled on itwiki, and
the requirement to pass a special parameter to turn it on.

Change-Id: I68ec35bb072b5ad62dd66789936bc2ae47d5256f

7 years agoSync up with Parsoid parserTests.
Subramanya Sastry [Thu, 30 Jun 2016 22:39:24 +0000 (17:39 -0500)]
Sync up with Parsoid parserTests.

This now aligns with Parsoid commit dd8e644d320aec076f76da4e2bd70a8527e0dfd8

Change-Id: Id41989ae0973804c51ed10353d0ac81cef5a6211

7 years agoDon't reuse variable names
Erik Bernhardson [Thu, 30 Jun 2016 22:11:41 +0000 (15:11 -0700)]
Don't reuse variable names

This code was rather hard to follow due to reusing the same variable
multiple times. Lets give them unique names.

Change-Id: I8f134b6314d593a3e40b19765c7b71496b8e524d

7 years agoFix undefined classes
Erik Bernhardson [Thu, 30 Jun 2016 22:08:33 +0000 (15:08 -0700)]
Fix undefined classes

Applying static analysis to mediawiki core found a short list of classes
that were undefined. Fix those up.

Change-Id: Ib7f9dbd847ada287b35afb799782fc04a3b39ce4

7 years agoFix reference to undefined class
Erik Bernhardson [Thu, 30 Jun 2016 21:21:19 +0000 (14:21 -0700)]
Fix reference to undefined class

This error class was moved into wikimedia/cldr-plural-rule-parser
project, but in the conversion process this exception was not
converted over.

Change-Id: I36a2466a89e2ed6f0b98b45fcb945b6fdf56fbcf

7 years agoMerge "Correct two mistaken htmlform annotations"
jenkins-bot [Thu, 30 Jun 2016 21:37:31 +0000 (21:37 +0000)]
Merge "Correct two mistaken htmlform annotations"

7 years agoCorrect two mistaken htmlform annotations
Erik Bernhardson [Thu, 30 Jun 2016 18:58:35 +0000 (11:58 -0700)]
Correct two mistaken htmlform annotations

Change-Id: Ica807b656af0eb5a82ec0b1ec2d7894fd79a6639

7 years agoMerge "Factor out preview parse"
jenkins-bot [Thu, 30 Jun 2016 20:06:55 +0000 (20:06 +0000)]
Merge "Factor out preview parse"

7 years agoMerge "Use a log group for LocalFile lock errors"
jenkins-bot [Thu, 30 Jun 2016 19:49:55 +0000 (19:49 +0000)]
Merge "Use a log group for LocalFile lock errors"

7 years agoDrop check for mbstring in copyFileBackend maintenance script
Ori Livneh [Thu, 30 Jun 2016 18:57:06 +0000 (11:57 -0700)]
Drop check for mbstring in copyFileBackend maintenance script

Already checked in PHPVersionCheck.php as of 41d1fa1c3a.

Change-Id: I35e55b63378f1768076be0c45392fdc5d48168bf

7 years agoMerge "Changed array instances from "array()" to "[..]""
jenkins-bot [Thu, 30 Jun 2016 18:24:49 +0000 (18:24 +0000)]
Merge "Changed array instances from "array()" to "[..]""

7 years agoMerge "Try to predict the rev_id when preparing edits"
jenkins-bot [Thu, 30 Jun 2016 18:10:47 +0000 (18:10 +0000)]
Merge "Try to predict the rev_id when preparing edits"

7 years agoMerge "jquery.makeCollapsible: Special case of content inside <li>"
jenkins-bot [Thu, 30 Jun 2016 18:08:23 +0000 (18:08 +0000)]
Merge "jquery.makeCollapsible: Special case of content inside <li>"

7 years agojquery.makeCollapsible: Special case of content inside <li>
Victor Porton [Sun, 26 Jun 2016 13:30:54 +0000 (16:30 +0300)]
jquery.makeCollapsible: Special case of content inside <li>

Bug: T137676
Change-Id: Ie4228e63a63157e3909e938a4086f46dcbbf6767

7 years agoMerge "mw.action.view.filepage: Remove higher than necessary specific selectors"
jenkins-bot [Thu, 30 Jun 2016 16:42:26 +0000 (16:42 +0000)]
Merge "mw.action.view.filepage: Remove higher than necessary specific selectors"

7 years agoMerge "Move EXIF metadata CSS from mediawiki.legacy.shared"
jenkins-bot [Thu, 30 Jun 2016 16:38:49 +0000 (16:38 +0000)]
Merge "Move EXIF metadata CSS from mediawiki.legacy.shared"

7 years agoMerge "Prepare to split create/modify button label"
jenkins-bot [Thu, 30 Jun 2016 14:49:44 +0000 (14:49 +0000)]
Merge "Prepare to split create/modify button label"

7 years agoMerge "Make non-existent messages be html safe regardless of output format"
jenkins-bot [Thu, 30 Jun 2016 14:26:16 +0000 (14:26 +0000)]
Merge "Make non-existent messages be html safe regardless of output format"

7 years agoPrepare to split create/modify button label
James D. Forrester [Thu, 30 Jun 2016 11:51:49 +0000 (12:51 +0100)]
Prepare to split create/modify button label

Doing the i18n change in advance to allow translators lots of time to
create the translations before the following commit uses them in
practice.

Change-Id: If86485354da4e48a02aaabd0b1642ccea6a0b462

7 years agomw.action.view.filepage: Remove higher than necessary specific selectors
Prateek Saxena [Thu, 30 Jun 2016 11:28:31 +0000 (16:58 +0530)]
mw.action.view.filepage: Remove higher than necessary specific selectors

Change-Id: I0479fc3e75842f468f25448912acafa8021f8582

7 years agoMove EXIF metadata CSS from mediawiki.legacy.shared
Prateek Saxena [Mon, 20 Jun 2016 13:32:28 +0000 (19:02 +0530)]
Move EXIF metadata CSS from mediawiki.legacy.shared

* ...to mediawiki.action.view.filepage.
* Also move the mw-metadata-show-hide-extended class
  from mediawiki.action.view.metadata to
  mediawiki.action.view.filepage.

Bug: T89981
Change-Id: I62cdcb625d0a5c280b8ac1ac989c7b8fa6cce47e

7 years agoMerge "Special:MergeHistory: Merge all revisions if no particular box/button is ticked"
jenkins-bot [Thu, 30 Jun 2016 00:33:10 +0000 (00:33 +0000)]
Merge "Special:MergeHistory: Merge all revisions if no particular box/button is ticked"

7 years agoUse a log group for LocalFile lock errors
Aaron Schulz [Thu, 30 Jun 2016 00:22:03 +0000 (17:22 -0700)]
Use a log group for LocalFile lock errors

Bug: T132921
Change-Id: I55cafc9e2fff302e55d40a678bf7e25b4bf24026

7 years agoMerge "Remove incomplete and dated 'wgUseETag' experiment"
jenkins-bot [Wed, 29 Jun 2016 23:54:33 +0000 (23:54 +0000)]
Merge "Remove incomplete and dated 'wgUseETag' experiment"

7 years agoMerge "Move HistoryAction CSS from mediawiki.legacy.shared"
jenkins-bot [Wed, 29 Jun 2016 23:36:37 +0000 (23:36 +0000)]
Merge "Move HistoryAction CSS from mediawiki.legacy.shared"

7 years agoMake non-existent messages be html safe regardless of output format
Brian Wolff [Wed, 29 Jun 2016 22:09:18 +0000 (18:09 -0400)]
Make non-existent messages be html safe regardless of output format

If you have a non-existent message in the output, chances are its
user-controlled. If the message has the ->plain() or ->text()
format, the output used to be not safe for html. Obviously people
should not be using those format types where html is being outputted,
but sometimes that happens. I think we should prioritize always being
safe over the fallback content not potentially being double escaped.

Additionally switch the enclosing brackets to be fancy unicode
characters, to sidestep the escaping issue on the enclosing brackets.

So previously, wfMessage( 'script>alert(1)</script' )->text() would
have outputted <script>alert(1)</script>. Now it outputs
⧼script&gt;alert(1)&lt;/script⧽. No sane message key will include
< or >, so this would really only come up if the user can control
the message key name.

This goes somewhat against T68199.

Change-Id: Ic8a60892b8e847e6021494c10968814aac391731

7 years agoMerge "Improve HTMLCacheUpdate job CDN purge de-duplication"
jenkins-bot [Wed, 29 Jun 2016 22:57:36 +0000 (22:57 +0000)]
Merge "Improve HTMLCacheUpdate job CDN purge de-duplication"

7 years agoMerge "Adding a bunch of hooks from wikiHow into DifferenceEngine"
jenkins-bot [Wed, 29 Jun 2016 22:54:48 +0000 (22:54 +0000)]
Merge "Adding a bunch of hooks from wikiHow into DifferenceEngine"

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 29 Jun 2016 20:05:43 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: If18a985dcb92fee1328dd4f2c863cb10116c922c

7 years agoMerge "add option to XML dump stubs of page ranges with explicit rev_id ordering"
jenkins-bot [Wed, 29 Jun 2016 18:18:11 +0000 (18:18 +0000)]
Merge "add option to XML dump stubs of page ranges with explicit rev_id ordering"

7 years agoMerge "mediawiki.ui: Improve focus states of primary buttons"
jenkins-bot [Wed, 29 Jun 2016 17:03:42 +0000 (17:03 +0000)]
Merge "mediawiki.ui: Improve focus states of primary buttons"

7 years agoMerge "Allow specifying OutputPage object in Skin::subPageSubtitle parameters"
jenkins-bot [Wed, 29 Jun 2016 16:40:22 +0000 (16:40 +0000)]
Merge "Allow specifying OutputPage object in Skin::subPageSubtitle parameters"

7 years agoAllow specifying OutputPage object in Skin::subPageSubtitle parameters
Alex Monk [Tue, 26 Apr 2016 16:46:46 +0000 (17:46 +0100)]
Allow specifying OutputPage object in Skin::subPageSubtitle parameters

To avoid ending up with API callers like this:
https://gerrit.wikimedia.org/r/#/c/281463/1/ApiVisualEditorEdit.php

Bug: T97700
Change-Id: Id27380de9577ad54cb2580b76a4f236e8dd491dd

7 years agoMerge "Resources: Remove very old comment about OOjs UI incompatibility"
jenkins-bot [Wed, 29 Jun 2016 16:07:15 +0000 (16:07 +0000)]
Merge "Resources: Remove very old comment about OOjs UI incompatibility"

7 years agoMerge "Add API module to receive CSP reports."
jenkins-bot [Wed, 29 Jun 2016 15:26:23 +0000 (15:26 +0000)]
Merge "Add API module to receive CSP reports."

7 years agoUpdate OOjs UI to v0.17.5
James D. Forrester [Wed, 29 Jun 2016 13:32:06 +0000 (14:32 +0100)]
Update OOjs UI to v0.17.5

Release notes:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.17.5

Change-Id: I17caee666b1d1cc2da670e073ef57122a66ecfc6

7 years agoMerge "Deprecate the 'UploadVerification' hook"
jenkins-bot [Wed, 29 Jun 2016 13:25:27 +0000 (13:25 +0000)]
Merge "Deprecate the 'UploadVerification' hook"

7 years agomediawiki.ui: Improve focus states of primary buttons
Volker E [Wed, 29 Jun 2016 13:01:32 +0000 (15:01 +0200)]
mediawiki.ui: Improve focus states of primary buttons

Follow-up to T137658 in OOjs UI. Improving `:focus` states of primary
buttons to be more harmonious with normal buttons. Also normalizing
`padding` in Firefox, removing obsolete comment and minor clean-up.

Change-Id: I584644c47be73a9770ac487b2b738d0f8bdf69d1

7 years agoDrop RELEASE-NOTES-1.27, merge into HISTORY
James D. Forrester [Wed, 29 Jun 2016 12:32:23 +0000 (13:32 +0100)]
Drop RELEASE-NOTES-1.27, merge into HISTORY

Now that it's a release.

Change-Id: Ib8374f7916a74bfc564c347d2ea312a1e66a1dad

7 years agoTry to predict the rev_id when preparing edits
Aaron Schulz [Sun, 19 Jun 2016 05:30:21 +0000 (22:30 -0700)]
Try to predict the rev_id when preparing edits

During both the edit stash and first parse in on page save,
guess what the rev_id will be and use that instead of null.
Only reparse if it turns out to be wrong. This avoids extra
parsing on wikis that have low-medium traffic, and does not
cost much. The parsing that can be avoided is:
a) in doEditContent() by using the stash
b) in doEditUpdates() by using the doEditContent() result,
   whether that was able to use the stash or not itself

Also improved the parse operation logging in save paths.

Bug: T137900
Change-Id: Ic6faae70a78b4e223e4d3585cefd482c0fa00677

7 years agoMerge "kafka: Implement ack handling"
jenkins-bot [Wed, 29 Jun 2016 12:18:45 +0000 (12:18 +0000)]
Merge "kafka: Implement ack handling"

7 years agoRun maintenance/generateLocalAutoload.php
Gergő Tisza [Wed, 29 Jun 2016 11:35:24 +0000 (11:35 +0000)]
Run maintenance/generateLocalAutoload.php

Change-Id: I0cf208b927d28a09a8603604fdfe0a6c1e9beb6b

7 years agoMerge "Refactor database-related code in ApiQueryWatchlist"
jenkins-bot [Wed, 29 Jun 2016 09:07:44 +0000 (09:07 +0000)]
Merge "Refactor database-related code in ApiQueryWatchlist"

7 years agoMerge "autocomplete: fix duplicate/missing tracking events"
jenkins-bot [Wed, 29 Jun 2016 08:47:20 +0000 (08:47 +0000)]
Merge "autocomplete: fix duplicate/missing tracking events"

7 years agoMerge "js suggest: better keyup/keydown handling"
jenkins-bot [Wed, 29 Jun 2016 08:42:53 +0000 (08:42 +0000)]
Merge "js suggest: better keyup/keydown handling"

7 years agoRefactor database-related code in ApiQueryWatchlist
Leszek Manicki [Tue, 19 Apr 2016 09:34:31 +0000 (11:34 +0200)]
Refactor database-related code in ApiQueryWatchlist

This moves generating of a complex Watchlist and RecentChanges
related query to a WatchedItemQueryService class.
ApiQueryWatchlist class no longer contains any database-related
code.

Bug: T132565
Change-Id: I5a5cda13f8091baa430ac1a8e2176e0efd1ae192

7 years agojquery.accessKeyLabel: Avoid needless mw.Message#parser in updateTooltip()
Timo Tijhof [Mon, 27 Jun 2016 20:37:47 +0000 (21:37 +0100)]
jquery.accessKeyLabel: Avoid needless mw.Message#parser in updateTooltip()

When calling mw.util.addPortletLink(), Chrome on a MacBook Pro spends 3ms
in mw.Message#parser for each link that doesn't even have a title.

> addPortletLink: updateTooltipAccessKeys: updateTooltip: msg: mw.Message.parser

Change-Id: Id6c26e31eb2c1431fe9725e608813bdf40069207

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 28 Jun 2016 20:09:49 +0000 (22:09 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I6a1e0bab0d201e631b0c6434fd6839245f6dc0c1

7 years agoMerge "skins: Minor code clean up"
jenkins-bot [Tue, 28 Jun 2016 19:57:20 +0000 (19:57 +0000)]
Merge "skins: Minor code clean up"

7 years agoDeprecate the 'UploadVerification' hook
Bartosz Dziewoński [Tue, 28 Jun 2016 19:32:43 +0000 (21:32 +0200)]
Deprecate the 'UploadVerification' hook

It has been replaced by 'UploadVerifyFile' a long time ago,
but never officially deprecated.

Change-Id: I345dca48c28ee5e1e2ad35bb6f42bbc03a1f4dd1

7 years agoAdd API module to receive CSP reports.
Brian Wolff [Mon, 29 Feb 2016 03:57:10 +0000 (22:57 -0500)]
Add API module to receive CSP reports.

There are two expected usecases for this:
* The proposed builtin CSP support at I80f6f4
* Setting CSP headers on media served from upload.wikimedia.org

This was split from I80f6f46

For details on CSP, see http://www.w3.org/TR/CSP2/
See also https://www.mediawiki.org/wiki/Requests_for_comment/Content-Security-Policy

Related to (but not directly a fix for) T117618

Bug: T135963
Change-Id: Id92126ca7707186757e77fe50cd336ff1acb8b3f

7 years agoMerge "mediawiki.ui: Align `.mw-ui-input:focus` to design spec"
jenkins-bot [Tue, 28 Jun 2016 18:15:05 +0000 (18:15 +0000)]
Merge "mediawiki.ui: Align `.mw-ui-input:focus` to design spec"

7 years agoMerge "Allow Message::newFromSpecifier to handle ApiMessages"
jenkins-bot [Tue, 28 Jun 2016 17:36:10 +0000 (17:36 +0000)]
Merge "Allow Message::newFromSpecifier to handle ApiMessages"

7 years agoAllow Message::newFromSpecifier to handle ApiMessages
Brad Jorsch [Tue, 21 Jun 2016 15:12:53 +0000 (11:12 -0400)]
Allow Message::newFromSpecifier to handle ApiMessages

Instead of constructing a new Message from the Message as
a MessageSpecifier, just clone the existing Message which will preserve
subclass data.

Also, make use of this to simplify the logic in ApiBase::parseMsg().

Change-Id: I9545acb8da752c0c21e16d8b1d37d8802fcb329d

7 years agoMerge "ApiQuerySiteInfo: Expose wgFixArabicUnicode and wgFixMalayalamUnicode"
jenkins-bot [Tue, 28 Jun 2016 15:52:34 +0000 (15:52 +0000)]
Merge "ApiQuerySiteInfo: Expose wgFixArabicUnicode and wgFixMalayalamUnicode"

7 years agoMerge "mediawiki.js: Correct a typo in documentation"
jenkins-bot [Tue, 28 Jun 2016 07:26:56 +0000 (07:26 +0000)]
Merge "mediawiki.js: Correct a typo in documentation"

7 years agoUsageException: Validate that $codestr is a non-empty string
Brad Jorsch [Mon, 27 Jun 2016 23:31:56 +0000 (19:31 -0400)]
UsageException: Validate that $codestr is a non-empty string

Current theory on T138585 is that something is passing in false, so
let's throw an InvalidArgumentException that should log a backtrace for
us.

Bug: T138585
Change-Id: Iba0dad424c56340b8bc73322bb1a7ae6d4de314a

7 years agoApiQuerySiteInfo: Expose wgFixArabicUnicode and wgFixMalayalamUnicode
Yusuke Matsubara [Sun, 26 Jun 2016 12:38:17 +0000 (21:38 +0900)]
ApiQuerySiteInfo: Expose wgFixArabicUnicode and wgFixMalayalamUnicode

These variables control how MediaWiki normalizes page titles.
Clients need to know these settings to not be surprised by such normalization.
See T94826.

Change-Id: Id77f584b8c3a3d9c065993bd74525f166112b20c

7 years agomediawiki.js: Correct a typo in documentation
Bartosz Dziewoński [Mon, 27 Jun 2016 22:54:04 +0000 (00:54 +0200)]
mediawiki.js: Correct a typo in documentation

Change-Id: I03808e49d67c5d412929472d3e0cde2390e1a8e1

7 years agoMerge "Fix misleading comment about svg filtering."
jenkins-bot [Mon, 27 Jun 2016 20:36:25 +0000 (20:36 +0000)]
Merge "Fix misleading comment about svg filtering."

7 years agoMerge "mediawiki.api.edit: Add edit() and create() methods"
jenkins-bot [Mon, 27 Jun 2016 20:26:01 +0000 (20:26 +0000)]
Merge "mediawiki.api.edit: Add edit() and create() methods"

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 27 Jun 2016 20:18:30 +0000 (22:18 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I41d9dca5b60db89e21609a1eff34494298daf6f3

7 years agomediawiki.api.edit: Add edit() and create() methods
Timo Tijhof [Mon, 27 Jun 2016 16:08:34 +0000 (17:08 +0100)]
mediawiki.api.edit: Add edit() and create() methods

Doing edits "The Right Way" is non-trivial due there being mulitple strict options that
need to be known and enabled. By default, the API encourages bad behaviour:

* Edit is unexpectedly saved as anon after session becomes invalid.
* Other edits are silently overwritten.
* Accidentally re-creates a deleted page.
* Accidentally creates a new page when an edit was intended (eg. if title was wrong).

Implement abstraction methods for edit and create that handle all this.
Thus guarding JS edits with the same protections as EditPage.

Change-Id: Ic6a35902cbae262971c704b9b8127e54733dac79

7 years agoMerge "Expose $wgMaxArticleSize in siteinfo query api"
jenkins-bot [Mon, 27 Jun 2016 15:28:21 +0000 (15:28 +0000)]
Merge "Expose $wgMaxArticleSize in siteinfo query api"

7 years agoExpose $wgMaxArticleSize in siteinfo query api
Florian [Sat, 25 Jun 2016 16:43:23 +0000 (18:43 +0200)]
Expose $wgMaxArticleSize in siteinfo query api

Currently, an user of the api has to try to save a page to see,
if it's too big, or not. A much saner way would be, that the api user
reads the siteinfo of the target wiki to know the maximum size of a
page and trim the edit to not exceed this limit.

This commit exposes the value of the configuration variable, which
handles the maximum article size.

Bug: T138669
Change-Id: I25a4c1b9013f98e5b0a263a637c8b006dccfd5ad

7 years agoRemove incomplete and dated 'wgUseETag' experiment
Timo Tijhof [Mon, 27 Jun 2016 11:21:14 +0000 (13:21 +0200)]
Remove incomplete and dated 'wgUseETag' experiment

Follows-up:
8ff36ebd (r9793) Set ETag header on article views.
8167b89e (r16205) Add $wgUseETag, false by default (broke Squid; T9098).

ETag is a useful alternative for If-Modified-Since (see T33639, T49529 about
use cases and bugs it may fix). However the current incomplete implementation
isn't useful.

It's a feature flag that has been disabled since 2006. Enabling it stores
ParserCache::getETag in OutputPage and sends it out as a response header.
It's ignored on incoming requests. We don't check If-None-Match for
'304 Not Modified' anywhere.

ResourceLoader has a working implementation that could be leveraged.

To be re-evaluated in the future. ParserCache::getETag() could use
improvement as well.

Change-Id: I37fd9d0ce1ce9bffb79243c6ae340403fdfd769f

7 years agoskins: Minor code clean up
Timo Tijhof [Mon, 27 Jun 2016 12:32:02 +0000 (14:32 +0200)]
skins: Minor code clean up

* Make Skin::initPage visibility explicit.
* Make Skin::preloadExistence protected (not used outside this class).
* Remove use of empty().
* Avoid empty if-block.

Change-Id: I85bac34ded3414af5b998af614d554402ce92f21

7 years agoFix misleading comment about svg filtering.
Brian Wolff [Mon, 27 Jun 2016 09:47:21 +0000 (05:47 -0400)]
Fix misleading comment about svg filtering.

Follow-up 551d79a3e6754. See also Bug T122653.

Change-Id: I0662dc6618596bb3a3bad345de45b054b6f7f968

7 years agoFactor out preview parse
Tim Starling [Mon, 27 Jun 2016 04:45:17 +0000 (14:45 +1000)]
Factor out preview parse

Mildly refactor preview parsing, to avoid code duplication in the parser
migration tool that I am developing, which subclasses EditPage.

Change-Id: I3eee8a1ef3007353ba8b129d968d9f4e4d40ef5d

7 years agoMove HistoryAction CSS from mediawiki.legacy.shared
Prateek Saxena [Mon, 20 Jun 2016 09:56:33 +0000 (15:26 +0530)]
Move HistoryAction CSS from mediawiki.legacy.shared

...to mediawiki.action.history.styles

Bug: T89981
Change-Id: I0b5c513ebd73aeed287f8fe681e231ffc9b6ab08

7 years agomediawiki.ui: Align `.mw-ui-input:focus` to design spec
Volker E [Sun, 26 Jun 2016 12:37:48 +0000 (14:37 +0200)]
mediawiki.ui: Align `.mw-ui-input:focus` to design spec

Aligning `.mw-ui-input:focus` to design specification
https://phabricator.wikimedia.org/M101

Change-Id: I4e4d20d38047e9b2e069a84a073fc57480303452

7 years agoFollow-up 9e45850: Temporarily duplicate styles back to shared.css
Prateek Saxena [Sun, 26 Jun 2016 12:11:58 +0000 (17:41 +0530)]
Follow-up 9e45850: Temporarily duplicate styles back to shared.css

Per Bartosz and Timo's comments on
Ifd90292fc54875403d871429ce6e5020036d4797

Change-Id: I90940d3f67780af6f1efb8507a0bc038e0496220