jenkins-bot [Tue, 7 Jun 2016 14:13:47 +0000 (14:13 +0000)]
Merge "Map dummy language codes in sites"
jenkins-bot [Tue, 7 Jun 2016 14:06:09 +0000 (14:06 +0000)]
Merge "resourceloader: Add support for variables in WikiModule"
jenkins-bot [Tue, 7 Jun 2016 14:02:16 +0000 (14:02 +0000)]
Merge "Call ChangeAuthenticationDataAudit from the API"
Gergő Tisza [Tue, 7 Jun 2016 13:47:12 +0000 (13:47 +0000)]
Call ChangeAuthenticationDataAudit from the API
Bug: T137193
Change-Id: I2f7a7da2eb9973ed8f946c52e9821ed962dcd7ba
Adrian Heine [Tue, 7 Jun 2016 13:15:36 +0000 (15:15 +0200)]
Map dummy language codes in sites
The script that populates the sites table assumes that the
subdomain is the content language code. This is not true for
all wikis. This patch introduces a mapping to fix this issue
on the fly, based on $wgDummyLanguageCodes.
This is driven by the need to avoid "bad" language codes when
creating wikidata items from the client, when "linking" two
pages on different wikis. When we do this, we use the language
code from the sites table for the labels of the new item.
We would like to forbid "dummy" languages in labels and
descriptions, for consistency.
Change-Id: I6452761e14d9902bb069e32d0f499bc39e680453
jenkins-bot [Tue, 7 Jun 2016 09:00:38 +0000 (09:00 +0000)]
Merge "jsduck: Update paths to OOjs UI files in eg-iframe.html"
jenkins-bot [Tue, 7 Jun 2016 08:10:13 +0000 (08:10 +0000)]
Merge "Chinese Conversion Table Update 2016-3"
Aaron Schulz [Tue, 7 Jun 2016 00:27:37 +0000 (17:27 -0700)]
Remove getOptions() checks from getStashKey() entirely
It only avoided a tiny edge case of options lag, which is
not worth the complexity.
Change-Id: I94bc35fc89eb46436a23b10aee1b7d339859c7ea
jenkins-bot [Mon, 6 Jun 2016 22:13:17 +0000 (22:13 +0000)]
Merge "Make edit stash keys less preference sensitive"
jenkins-bot [Mon, 6 Jun 2016 22:09:12 +0000 (22:09 +0000)]
Merge "InfoAction: Don't pass non-dbkeys to LinkBatch"
Aaron Schulz [Mon, 6 Jun 2016 21:34:14 +0000 (14:34 -0700)]
Make edit stash keys less preference sensitive
Only factor in the user ID/name/sig instead of anything that
might happen to touch the user row.
Bug: T136678
Change-Id: I004790a017c68cfcff6729f6fbfd0f79b6904c20
Kunal Mehta [Mon, 6 Jun 2016 21:59:23 +0000 (14:59 -0700)]
InfoAction: Don't pass non-dbkeys to LinkBatch
Usernames are stored with spaces instead of underscores, so this was
causing exceptions later on when dbkeys were expected to be provided to
TitleValue.
Let Title take care of normalization from spaces format to underscores
in Title::makeTitle(), and pass that object onto LinkBatch instead.
Bug: T137147
Change-Id: Ia3606d30de61173e4d5526a9d7a77bd4b1710a05
Translation updater bot [Mon, 6 Jun 2016 20:39:16 +0000 (22:39 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia8baf1ed8a5cd70ebf65955f95d47f3b73745e43
Aaron Schulz [Mon, 6 Jun 2016 20:17:02 +0000 (20:17 +0000)]
Merge "Avoid rollback and bot flagged edits in edit stash stats"
Bartosz Dziewoński [Mon, 6 Jun 2016 19:36:47 +0000 (21:36 +0200)]
jsduck: Update paths to OOjs UI files in eg-iframe.html
Follow-up to
1f49b66c6f89d56dee457196296a7869f0f7475d.
Bug: T136954
Change-Id: Idb29a69992fff96c51d18d34b36ad751f3b0469f
jenkins-bot [Mon, 6 Jun 2016 19:25:20 +0000 (19:25 +0000)]
Merge "Follow-up
c81ab8ae5f: add forgotten dependency on mediawiki.language"
Aaron Schulz [Fri, 3 Jun 2016 04:34:05 +0000 (21:34 -0700)]
Avoid rollback and bot flagged edits in edit stash stats
This just skews the numbers with cases that could not use
the cache anyway.
Bug: T136678
Change-Id: Iaa90d4f6ee80e886f59bc43a1392e59fe2a8f900
Timo Tijhof [Mon, 6 Jun 2016 18:09:32 +0000 (19:09 +0100)]
resourceloader: Add support for variables in WikiModule
To be used for the 'site' module. This will make it easier to split up
'site' into 'site' and 'site.styles' (per T92459).
Change-Id: Iaac3e458d5107e4c10c2826bd64608d5c47e8b87
jenkins-bot [Mon, 6 Jun 2016 18:04:06 +0000 (18:04 +0000)]
Merge "Avoid exceptions for empty titles in addResultToCache() for sanity"
Roan Kattouw [Mon, 6 Jun 2016 17:56:11 +0000 (19:56 +0200)]
Follow-up
c81ab8ae5f: add forgotten dependency on mediawiki.language
Bug: T137002
Change-Id: If35416f4bd08f72f53dad26e80f8417ca2a6d7d9
Aaron Schulz [Mon, 6 Jun 2016 06:04:20 +0000 (23:04 -0700)]
Avoid exceptions for empty titles in addResultToCache() for sanity
Bug: T137083
Change-Id: Ie8aabba30bc0d7a6910a58104ff08ea036ba962d
jenkins-bot [Mon, 6 Jun 2016 16:24:48 +0000 (16:24 +0000)]
Merge "Password change request should be optional on soft reset"
Gergő Tisza [Mon, 6 Jun 2016 14:43:03 +0000 (14:43 +0000)]
Password change request should be optional on soft reset
Non-optional fields are required by HTMLForm now so the skip button
would not work properly.
Change-Id: Iad937767f0f7cf6dce43f7882720d1ed730ee28d
Bartosz Dziewoński [Mon, 6 Jun 2016 15:22:48 +0000 (17:22 +0200)]
HTMLForm: Properly support 'flatlist' in OOUI mode
Previously it worked mostly by chance for multiselect fields (until
2f33194497bd94d1cecb21dcb88e9bf3abf2ddaa broke it), and did not work
at all for radio fields.
Bug: T123935
Change-Id: I94396303bcf16110a505883bec2ce352d833fe2b
jenkins-bot [Mon, 6 Jun 2016 15:02:10 +0000 (15:02 +0000)]
Merge "Fix float of search input on Special:Search"
jenkins-bot [Mon, 6 Jun 2016 14:25:45 +0000 (14:25 +0000)]
Merge "Don't override action in UI and REDIRECT responses"
jenkins-bot [Mon, 6 Jun 2016 12:08:27 +0000 (12:08 +0000)]
Merge "Add column alias support in BatchRowIterator"
Translation updater bot [Sun, 5 Jun 2016 19:52:21 +0000 (21:52 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I961120816132dc1a46f62e25b7223006a727aa32
Translation updater bot [Sat, 4 Jun 2016 19:52:24 +0000 (21:52 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I66385ba8e6a50980cfc957fd13e58cd5a43ed438
Aaron Schulz [Fri, 27 May 2016 21:58:10 +0000 (14:58 -0700)]
revisiondelete: Fix $oldBits/$newBits usage in setVisibility()
This addresses the FIXME comment around updateLog()
Change-Id: Iedb9df0b4cf65308a6b58bd9d9295d1850bc2c28
jenkins-bot [Fri, 3 Jun 2016 22:39:07 +0000 (22:39 +0000)]
Merge "Avoid DBPerformance warnings in Category::initialize()"
Aaron Schulz [Fri, 3 Jun 2016 05:07:58 +0000 (22:07 -0700)]
Avoid DBPerformance warnings in Category::initialize()
Use DeferredUpdates and zero-out negative values in the meantime.
Bug: T92357
Change-Id: Ia1339395b70b042edba6dc1d570acb92c90a287b
Aaron Schulz [Fri, 27 May 2016 21:15:47 +0000 (14:15 -0700)]
logging: Simplify DeleteLogFormatter b/c check
Change-Id: Iab16663579d2eece4a94f80f7120b231aed0e572
Aaron Schulz [Fri, 27 May 2016 20:58:34 +0000 (13:58 -0700)]
Clean up setVisibility() log type logic
The log type used should be based on whether any item
was (un)suppressed, not just the last log entry. Otherwise,
unsuppression could end up in the wrong log if the last
item in the list was not unsuppressed but others were.
Change-Id: I7b6af524cc45a1d83b2b719bfa00138531455e35
Translation updater bot [Fri, 3 Jun 2016 20:47:23 +0000 (22:47 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ib2318bbccf83f08e9f32c97b6fea0c6baa6d1cd7
Arlo Breault [Fri, 3 Jun 2016 17:59:52 +0000 (10:59 -0700)]
Sync up with Parsoid parserTests.
This now aligns with Parsoid commit
8fa3996c2656b66789e658c50150f45b19c69ae1
Change-Id: I7f839aaddddf6ac96b7d155989f20a2b386d5622
Brad Jorsch [Fri, 3 Jun 2016 15:33:41 +0000 (11:33 -0400)]
Don't override action in UI and REDIRECT responses
In Ic8caf57eb, we changed things so the requests returned in a UI or
REDIRECT response would have the action forced to that appropriate for
the action being peformed. But ResetPasswordSecondaryAuthenticationProvider
has a use case where a mismatch is necessary: it's run during the login
action, but it needs a PasswordAuthenticationResponse for a change
action.
Bug: T136894
Change-Id: I9d109a22c5b2d2064f664f584100ecaab43199c5
Florian [Fri, 3 Jun 2016 15:12:44 +0000 (17:12 +0200)]
Fix float of search input on Special:Search
Follow up: Icc68a8e83fc7037b96a5efec2766ffdf453c5413
Bug: T136945
Change-Id: I698d9728c70cfee5693594f2f1e0513c942aa2cd
Stephane Bisson [Fri, 3 Jun 2016 13:05:10 +0000 (09:05 -0400)]
Add column alias support in BatchRowIterator
Used by Echo/maintenance/backfillReadBundles
Bug: T136368
Change-Id: Ia8f8aa718713798a81392b5e9751c5c18ab81720
jenkins-bot [Thu, 2 Jun 2016 21:23:04 +0000 (21:23 +0000)]
Merge "Show ParserOutput warning instead of on the actual page output for ignored display titles"
Florian [Thu, 2 Jun 2016 20:50:55 +0000 (22:50 +0200)]
HTMLForm: Don't add a type=reset to links
Follow up: Ieb80e2ff36751abc6f00e2a02926fe9800666a8b
Change-Id: If88c80a46cba9729a9503b82532584443d6d5ba4
Erik Bernhardson [Thu, 2 Jun 2016 20:12:16 +0000 (13:12 -0700)]
Don't lose namespace when searching via api
A recent patch, I66be724d, introduced a regression that no longer
applied user selected namespaces to the search engine. Fix that up so we
give the correct responses to api rqeuests.
Change-Id: I8e5e180cb143ae3cddeb12f51bc7aae75b20fe58
Translation updater bot [Thu, 2 Jun 2016 20:02:32 +0000 (20:02 +0000)]
Merge "Localisation updates from https://translatewiki.net."
jenkins-bot [Thu, 2 Jun 2016 20:00:37 +0000 (20:00 +0000)]
Merge "Improve HTMLForm (and Special:ChangeCredentials) cancel button"
Translation updater bot [Thu, 2 Jun 2016 19:55:40 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I1dc0bbb38277e8c24ace6b53e835d8d5020de50f
Gergő Tisza [Thu, 2 Jun 2016 14:17:13 +0000 (14:17 +0000)]
Improve HTMLForm (and Special:ChangeCredentials) cancel button
Add two new HTMLForm methods:
* showCancel( [bool] ) to display a cancel button
* setCancelTarget( Title|string ) to set where it should take
the user.
The cancel button is a simple link formatted as a button.
This is faster than a real button (skips an unnecessary
submit and redirect) and avoids some UX problems:
* when clicking on a real button, HTML5 or JS validators
might prevent submission, which does not make sense for cancel
* form field values might get saved by the brower, which again
does not make sense for cancelling
Use the cancel button for Special:ChangeCredentials.
Bug: T136809
Change-Id: Ieb80e2ff36751abc6f00e2a02926fe9800666a8b
Brad Jorsch [Thu, 2 Jun 2016 19:26:14 +0000 (15:26 -0400)]
AuthManager::setDefaultUserOptions and LoginForm::initUser shouldn't invalidate CA tokens
We only want to set the local user_token when we create the local
account. We don't want to invalidate all existing CentralAuth sessions
for the user just because they happened to visit a new wiki and get
an account auto-created.
This might also fix T136853. It looks like what's going on there is that
two jobs are both in this code path calling CentralAuth::resetAuthToken()
at the same time, leading to a race and one fails the CAS check.
Bug: T136834
Change-Id: I61b8253584a11a5b02f7ccb9efa0679cd2a822c6
jenkins-bot [Thu, 2 Jun 2016 17:54:40 +0000 (17:54 +0000)]
Merge "Make LinksDeletionUpdate use query batching"
Niklas Laxström [Thu, 2 Jun 2016 05:57:35 +0000 (07:57 +0200)]
mediawiki.jqueryMsg: Add @since to parseDom
Since I keep looking it up from the history.
Change-Id: I541c1f9ca7df291226b9cc1c0d6bdbd71f7ce486
Max Semenik [Wed, 27 Apr 2016 01:10:26 +0000 (18:10 -0700)]
Rethink diff limits
Now, instead of "if your changed paragraphs are larger than 10Kb, you're
screwed":
* Instead of relying on overall length, estimate complexity after splitting to words
and taking any equal head and tail out of equation.
* Estimate based on words changed, which better reflects the actual complexity
of generating a diff.
* New limit is determined scientifically, i.e. "above that number XDebug starts
complaining about recursion limits reached in Vagrant".
Caveat: if new limits are hit, the consequences are more widespread as all adjacent
changed paragraphs are displayed without word level diffs, as opposed to only the
paragraph that's too long being affected. However, the new limit is much higher and
in wikitext you're supposed to put empty lines between paragraphs anyway, negating
this problem.
Bug: T128697
Change-Id: I4e91c7c40f5afdd116b847a859b8517522302489
jenkins-bot [Wed, 1 Jun 2016 21:26:13 +0000 (21:26 +0000)]
Merge "AuthManager: Ensure neededRequests have action and username set properly"
jenkins-bot [Wed, 1 Jun 2016 21:14:27 +0000 (21:14 +0000)]
Merge "Fix Special:PrefixIndex paging links"
Aaron Schulz [Wed, 1 Jun 2016 20:59:35 +0000 (13:59 -0700)]
Fix Special:PrefixIndex paging links
Capture the last row instead of skipping it and then not
finding anything in the fetchObject() call.
Bug: T136738
Change-Id: Ibcfa6c18c54227fda75298a849717e6ef3418928
Translation updater bot [Wed, 1 Jun 2016 20:43:13 +0000 (20:43 +0000)]
Merge "Localisation updates from https://translatewiki.net."
jenkins-bot [Wed, 1 Jun 2016 20:36:03 +0000 (20:36 +0000)]
Merge "Expose SearchEngine specific profiles"
Translation updater bot [Wed, 1 Jun 2016 20:34:22 +0000 (22:34 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I58c9f2c935838e27afd48890da19fda98d6c792e
Bartosz Dziewoński [Wed, 1 Jun 2016 20:12:59 +0000 (22:12 +0200)]
LinkBatch: Cast array keys to string when constructing TitleValue
If $dbkey consisted only of numbers (0-9), PHP converts it to an
integer when using it as array key, and then returns it as an integer
when iterating over the array. This is normally fine, but TitleValue
does strict type checking.
Follow-up to
682116760198a7420a809e0b9966ecdc63f1c67d.
Bug: T136615
Change-Id: I894800c3f5aec0c2d0c23f8adfa1b840495f3b16
jenkins-bot [Wed, 1 Jun 2016 18:54:48 +0000 (18:54 +0000)]
Merge "Make AuthManager::getAuthenticationProvider() public"
Brad Jorsch [Wed, 1 Jun 2016 18:16:49 +0000 (14:16 -0400)]
Make AuthManager::getAuthenticationProvider() public
I found a need in CentralAuth to check that
CentralAuthPrimaryAuthenticationProvider is actually in use, so I'm
exposing this.
Change-Id: I40bd3dc4d05db0c3a34b01f550a9a9a1ded8fc61
Ori Livneh [Wed, 1 Jun 2016 17:32:37 +0000 (10:32 -0700)]
Clean-up of MediaWikiTestCase::checkHasGzip()
* Move the method from MediaWikiTestCase to DumpTestCase. Only subclasses of
DumpTestCase use it, and it is not sufficiently well-designed to be a part
of MediaWikiTestCase. (I'd want something more generic, like
"$this->markSkippedUnlessExecutable()", rather than a method dedicated solely
to establishing the availability of the gzip binary.)
* Fix it so that the result of the check is actually cached. It wasn't,
previously, because of how 'static' works in PHP.
* Be content with checking that gzip is in $PATH instead of actually executing
it.
Change-Id: Iec687a6bfe75912e1875afc3abb4fb6197a0b3aa
Ori Livneh [Wed, 1 Jun 2016 17:42:34 +0000 (10:42 -0700)]
Check that file is executable in Installer::locateExecutable
Just because the file exists doesn't mean that we can run.
Use is_executable(), a one-shot check for both existence and executability.
Change-Id: I705010b01cd3a17c3950eebae3066d7b007f706e
Brad Jorsch [Wed, 1 Jun 2016 15:58:44 +0000 (11:58 -0400)]
AuthManager: Ensure neededRequests have action and username set properly
They were coming out as null instead, which screws up when requests are
changing their fields based on the action.
Change-Id: Ic8caf57ebad35c3eb17d45f9d96c6de5b559a83a
jenkins-bot [Wed, 1 Jun 2016 13:21:36 +0000 (13:21 +0000)]
Merge "Remove a test case from PHPSessionHandlerTest::testSessionHandling()"
jenkins-bot [Wed, 1 Jun 2016 08:54:01 +0000 (08:54 +0000)]
Merge "HTMLRadioField: Only add 'mw-ui' classes when needed"
jenkins-bot [Wed, 1 Jun 2016 06:15:29 +0000 (06:15 +0000)]
Merge "Parser: Pass Title onto Linker::makeExternalLink()"
Kunal Mehta [Wed, 1 Jun 2016 05:47:51 +0000 (22:47 -0700)]
Parser: Pass Title onto Linker::makeExternalLink()
Otherwise $wgNoFollowNsExceptions functionality won't work.
Change-Id: I2e1c5ad41f94568bff7f24a400d555b604cfe22e
jenkins-bot [Wed, 1 Jun 2016 05:37:48 +0000 (05:37 +0000)]
Merge "Fix key prefix comment after
0a38dbc809c8"
jenkins-bot [Wed, 1 Jun 2016 05:37:04 +0000 (05:37 +0000)]
Merge "Add a parser test for $wgNoFollowDomainExceptions functionality"
jenkins-bot [Wed, 1 Jun 2016 05:30:24 +0000 (05:30 +0000)]
Merge "Make $url parameter to Parser::getExternalLinkAttribs() required"
Aaron Schulz [Wed, 1 Jun 2016 05:27:46 +0000 (22:27 -0700)]
Fix key prefix comment after
0a38dbc809c8
Change-Id: I9085d1f0020917b431d9ef7afd4de93e54df0abc
Kunal Mehta [Wed, 1 Jun 2016 05:20:36 +0000 (22:20 -0700)]
Add a parser test for $wgNoFollowDomainExceptions functionality
Verify that domains on the exception list don't get a "nofollow"
attribute.
Change-Id: I01a7fc0fd9ccd21069beb26dcf3f775c79e00202
jenkins-bot [Wed, 1 Jun 2016 04:59:27 +0000 (04:59 +0000)]
Merge "User: Simplify process cache by using WANObjectCache::getWithSetCallback"
Ori Livneh [Wed, 18 May 2016 06:14:00 +0000 (23:14 -0700)]
Remove a test case from PHPSessionHandlerTest::testSessionHandling()
The test sleeps for nine seconds (3 invocations, 3 seconds per
invocation) which is difficult to sit through.
The test code sets the value of two PHP parameters, session.gc_divisor
and session.gc_probability, to 1. This may be to ensure that PHP will
invoke the session handler's gc() method when the call is made to
session_start() below. But the call to PHPSessionHandler::gc() is
immaterial, for two reasons:
- PHPSessionHandler::gc() evicts items by calling the
deleteObjectsExpiringBefore() on the BagOStuff instance it uses for
storage. The only BagOStuff implementation that actually uses that
method to evict items is SqlBagOStuff, which we're not using here,
and which would be an odd choice of a storage backend for sessions.
- PHP calls SessionHandler::gc() _after_ opening the new (or resumed)
session and loading its data, so even if deleteObjectsExpiringBefore()
actually did anything, it would not influence the result of the test.
Bug: T135576
Change-Id: I6e153ec8bfa5972ed45a0e6b7720832692b952fb
jenkins-bot [Wed, 1 Jun 2016 04:36:27 +0000 (04:36 +0000)]
Merge "Avoid passing integers to mw.RegExp.escape"
Kunal Mehta [Wed, 1 Jun 2016 04:25:18 +0000 (21:25 -0700)]
Make $url parameter to Parser::getExternalLinkAttribs() required
All callers in Gerrit pass $url in.
Change-Id: I36246f6510db414dcc7023f8779796c060c3eba5
Timo Tijhof [Sat, 27 Feb 2016 19:35:21 +0000 (19:35 +0000)]
User: Simplify process cache by using WANObjectCache::getWithSetCallback
Follows-up
7d67b4d919,
9c733318.
* Convert loadFromId() to use getWithSetCallback() and centralise
cache access logic there instead of spread between loadFromCache()
and saveToCache().
* Remove process cache from User class (added in
9c733318).
Instead, tell WANObjectCache to process-cache the key for 30 seconds.
* No need to deal with process cache in purge() because load uses slaves by
default and may be lagged. Reads that require READ_LATEST already bypass
the cache.
* Remove saveToCache() and move logic to loadFromCache().
It was technically a public method, but marked private and no longer used
in any extensions.
* Remove redundant isAnon() check in loadFromCache().
This is already done by loadFromId() and loadFromDatabase().
* Remove hasOrMadeRecentMasterChanges() check. It was used to add READ_LATEST
to the flags. However, this check only occurred if either READ_LATEST was
already set, or after consulting cache. Which means in general, it never
does anything. If we want to keep this, we should probably move it higher up.
* Let WANObjectCache handle cache version. That way, there is no longer separate
logic for "populate cache" and "cache lookup failed". Instead, there is
just "get data" that tries cache first.
I've considered moving the version into the cache key (like we do elsewhere)
but that would be problematic here since User cache must be purgeable
cross-wiki and other wikis may run a different version (either in general,
or even just during a deployment). As such, the key must remain unchanged when
the version changes so that purges from newer wikis affect what older wikis see
and vice versa.
Change-Id: Icfbc54dfd0ea594dd52fc1cfd403a7f66f1dd0b0
jenkins-bot [Tue, 31 May 2016 23:01:05 +0000 (23:01 +0000)]
Merge "Simplify mediawiki.raggett.css"
jenkins-bot [Tue, 31 May 2016 22:56:44 +0000 (22:56 +0000)]
Merge "mw.Title: Correct order of file URL regexes in newFromImg"
jenkins-bot [Tue, 31 May 2016 22:56:04 +0000 (22:56 +0000)]
Merge "HTMLMultiSelectField: Use CheckboxMultiselectInputWidget"
Kunal Mehta [Tue, 31 May 2016 22:49:04 +0000 (15:49 -0700)]
Simplify mediawiki.raggett.css
Per code review on
cbb2913bb935f.
Change-Id: I8958753a4e643777976fcc6b56edcd7c23568842
jenkins-bot [Tue, 31 May 2016 22:48:24 +0000 (22:48 +0000)]
Merge "objectcache: Support key versioning in WANObjectCache"
Bartosz Dziewoński [Mon, 30 May 2016 11:16:51 +0000 (13:16 +0200)]
HTMLMultiSelectField: Use CheckboxMultiselectInputWidget
Depends on I6f9fad0a462b43ac45c117cd3a3e11c36781cf11 in OOjs UI.
Bug: T123935
Change-Id: I62322739b985cc2143b5094d23b3aa5dd1004c25
Bartosz Dziewoński [Tue, 31 May 2016 22:40:15 +0000 (00:40 +0200)]
mw.Title: Correct order of file URL regexes in newFromImg
The "Thumbnails in non-hashed upload directories" regex can match
non-thumbnailed files in hashed directories if the file name contains
the word "thumbnail" or the first two bytes of the MD5 hash of the
file name. We should check "Full size images" first.
Bug: T134860
Change-Id: I74af47969bf9ba204c24e299f788f5349302e437
James D. Forrester [Tue, 31 May 2016 21:55:25 +0000 (14:55 -0700)]
Update OOjs UI to v0.17.4
Release notes:
https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.17.4
Change-Id: I35019c565ec1d72fde0b69f217cab8d73ce441a4
jenkins-bot [Tue, 31 May 2016 20:40:57 +0000 (20:40 +0000)]
Merge "Reset all tokens on login"
Translation updater bot [Tue, 31 May 2016 20:10:00 +0000 (22:10 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I3f77a9f17cd70c9ba120d024b0acb7a4de31a37e
jenkins-bot [Tue, 31 May 2016 19:22:44 +0000 (19:22 +0000)]
Merge "populateRevisionLength: Read from slaves when possible"
Chad Horohoe [Tue, 31 May 2016 19:20:05 +0000 (12:20 -0700)]
Reset all tokens on login
Bug: T122056
Change-Id: I03739e942b6c182ed9cbcd0d9615dcd799e8baed
Derk-Jan Hartman [Wed, 11 May 2016 11:53:59 +0000 (13:53 +0200)]
resourceloader: Strip leading BOM when concatenating files
We read files and concatenate their contents. Files may start with a BOM character.
BOM characters are only allowed at the beginning of a file, not half way.
Stripping it should be safe, since we already assume that everything is UTF-8.
Change-Id: I14ad698a684e78976e873e9ae2c367475550a063
jenkins-bot [Tue, 31 May 2016 17:39:48 +0000 (17:39 +0000)]
Merge "Do not redirect to HTTPS when it's not supported"
jenkins-bot [Tue, 31 May 2016 17:01:07 +0000 (17:01 +0000)]
Merge "Return error message in users API cancreate field"
jenkins-bot [Tue, 31 May 2016 16:41:53 +0000 (16:41 +0000)]
Merge "AuthManager fixups around the login→RESTART→create flow"
Gergő Tisza [Thu, 26 May 2016 18:04:02 +0000 (18:04 +0000)]
Do not redirect to HTTPS when it's not supported
Most URL generation happens via wfExpandUrl, which honors $wgServer
(or whatever setting it is told to use): if it has an explicit
protcol, that is always used; if it is a protocol-relative URL,
the protocol is selected based on the parameters given to wfExpandUrl.
One exception is MediaWiki::main() which always uses HTTPS if the
relevant cookie or user option is set, even if the wiki does not
support it. That can lead to annoying problems on Vagrant where it
is not unusual to turn HTTPS support on and off: when that happens,
the user can get locked out of the account.
Change-Id: I06982a26cd808f2aaa26753cd3353ed82473d9e0
jenkins-bot [Tue, 31 May 2016 16:17:32 +0000 (16:17 +0000)]
Merge "Fix encryption code in Session"
Gergő Tisza [Mon, 30 May 2016 22:05:14 +0000 (22:05 +0000)]
Fix encryption code in Session
* verify that the algorithm that's about to be used is available
* fix exception namespace
Bug: T136587
Change-Id: I9f8636bef0e10b4f2b8bfe232a26a8c33376ca04
Brad Jorsch [Thu, 26 May 2016 17:09:14 +0000 (13:09 -0400)]
AuthManager fixups around the login→RESTART→create flow
* ApiQueryAuthManagerInfo will differentiate between preserved linking
data and a preserved createRequest.
* ApiQueryAuthManagerInfo will indicate the preserved username, if any,
because the client will have to pass that back to action=createaccount.
* ApiClientLogin won't tell about the confusing
CreateFromLoginAuthenticationRequest returned on RESTART responses.
* Explain how 'preservestate' works in ApiAMCreateAccount's auto-doc.
* ConfirmLinkSecondaryAuthenticationProvider will filter out requests
that can no longer be used (i.e. if it was for linking the account
that got used for creation).
* All the complicated code in AuthManager::beginAccountCreation() was
trying to deal with allowing the client to pass only the
CreateFromLoginAuthenticationRequest. That was dumb, removed it.
* Added methods to CreateFromLoginAuthenticationRequest to indicate its
status with respect to different kinds of preserved state.
* Increase accuracy of the AuthenticationResponse::$createRequest doc.
Change-Id: I726d79de18e739d6e60c1eea51453433c21ba207
Santhosh Thottingal [Tue, 31 May 2016 09:48:14 +0000 (15:18 +0530)]
Avoid passing integers to mw.RegExp.escape
Passing the index value of the loop to mw.RegExp.escape
causes javascript error at str.replace. mw.RegExp.escape
expects string parameters. It is not required to escape
the loop index here.
Follow-up to
c81ab8ae5f89056d23a4b0d36066120b9701d07e.
Bug: T135743
Change-Id: I818bc2c671193e79848ae183f509473200c6abf5
Translation updater bot [Mon, 30 May 2016 19:56:25 +0000 (21:56 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Iafc12789c203b6b3d1ce0f81136f139a023ed972
Nemo bis [Thu, 27 Nov 2014 12:52:56 +0000 (13:52 +0100)]
pngcrush -brute -reduce on mediawiki.skinning
About 25 % size reduction. Looks good in my image viewer.
Change-Id: I9e4815a75899a68e30b8c264f3d772c8ceb6301b
dcausse [Thu, 31 Mar 2016 09:13:21 +0000 (11:13 +0200)]
Expose SearchEngine specific profiles
This patch introduces a way for SearchEngine implementations to expose
specific search profiles useful to fine-tune the various behaviors related to
search.
A SearchEngine can expose a list of profiles by overriding
SearchEngine::getProfiles( $profileType ), profileType stands for the type of
profile being customized. Two types are added in this patch:
- completion: exposed by ApiQueryPrefixSearch and ApiOpenSearch to control
the behavior of the algorithm behind "search as you type" suggestions.
- fulltext query independent profiles: exposed by ApiQuerySearch to customize
query indpendent ranking profiles (e.g. boost by templates/incoming
links/popularity/...)
This patch allows api consumers that might have been confused by fuzzy
suggestions to switch to stricter profiles and to officialize the behavior
behind the hidden param cirrusUseCompletionSuggester. Or to control the
fulltext ranking behaviors like cirrusBoostLinks=(yes|no).
The list of profiles can be discovered by using ApiSandbox/ApiHelp and is totally
controlled by search engine implementations.
Bug: T132477
Change-Id: I66be724d8975976c98c91badbf421f237e014f89