Translation updater bot [Wed, 8 Jun 2016 20:04:36 +0000 (22:04 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia7ecf877adc3a35e9c02e27115095435f9484d94
Glaisher [Wed, 8 Jun 2016 09:52:40 +0000 (14:52 +0500)]
LinksDeletionUpdate: Fix typos in column names
Bug: T137280
Change-Id: I78ee489f10e796d2b3fa39dcb4f65f0763860bf3
jenkins-bot [Tue, 7 Jun 2016 23:51:40 +0000 (23:51 +0000)]
Merge "Use callable type-hint in a few places"
jenkins-bot [Tue, 7 Jun 2016 23:50:56 +0000 (23:50 +0000)]
Merge "Use LinkCache::getSelectFields() in OutputPage::addCategoryLinks()"
Kunal Mehta [Tue, 7 Jun 2016 23:39:06 +0000 (16:39 -0700)]
Use callable type-hint in a few places
Mostly places which immediately had a:
if ( !is_callable( $callback ) ) {
throw new Exception(...);
}
check at the beginning of the function.
Change-Id: Ia78663b2231629010816bd1cda8814b996968d1d
jenkins-bot [Tue, 7 Jun 2016 23:39:19 +0000 (23:39 +0000)]
Merge "Avoid contention in updateLinksTimestamp()"
Kunal Mehta [Tue, 7 Jun 2016 23:37:27 +0000 (16:37 -0700)]
Use LinkCache::getSelectFields() in OutputPage::addCategoryLinks()
Change-Id: I71d95cbb6c22ae92586c883e7de5353d26c4838f
jenkins-bot [Tue, 7 Jun 2016 22:47:17 +0000 (22:47 +0000)]
Merge "Fix Message::newFromSpecifier for nested RawMessage"
Gergő Tisza [Tue, 7 Jun 2016 20:46:33 +0000 (20:46 +0000)]
Fix Message::newFromSpecifier for nested RawMessage
This can happen e.g. when something processes Status contents
and expects [$key, $param1, ...] and instead gets [$messageObject]
Change-Id: I346b35e08bd38ce231e16d0616438ea408b55bff
jenkins-bot [Tue, 7 Jun 2016 22:28:41 +0000 (22:28 +0000)]
Merge "Change invalid password reset form language"
Gergő Tisza [Tue, 7 Jun 2016 20:39:01 +0000 (20:39 +0000)]
Fix Status::getMessage for the multiple errors, $shortContext only case
Remove $msgCount++ which does not seem to have any non-harmful purpose.
Also try to explain what the hell the method does.
Change-Id: Ibdf40ff13a4a9d294a6bc6f778a14fb2633c2f70
Translation updater bot [Tue, 7 Jun 2016 20:13:01 +0000 (22:13 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I4174fc3bca40d45f06dd93af10d009d23acae375
jenkins-bot [Tue, 7 Jun 2016 17:32:30 +0000 (17:32 +0000)]
Merge "Reject authentication data change when there are warnings"
Gergő Tisza [Tue, 7 Jun 2016 16:15:12 +0000 (16:15 +0000)]
Reject authentication data change when there are warnings
AuthManager uses a status which is OK but not good for authentication
data which is discouraged but still accepted for authentication.
Users should not be allowed to change credentials into such invalid state.
This change brings the web logic and the AuthPlugin fallback in sync with
the API which already used the stricter check.
Change-Id: I4ff54fcc901f6fe11f15ed60fc1a3d8753de9f6c
Emmanuel Gil Peyrot [Sat, 4 Jun 2016 04:53:22 +0000 (05:53 +0100)]
i18n: Use https: scheme for HSTS external links
When the local wiki is accessed in HTTP, clicking an external link
starting with // will (if this is the first visit) do an unencrypted
HTTP call to the target server before being redirected to the HTTPS
version, potentially allowing a man in the middle attack.
This commit changes the URI scheme to https: for every link with HSTS
enabled in the codebase, namely www.mediawiki.org, *.wikimedia.org,
*.wikipedia.org, translatewiki.net and bugs.php.net.
Change-Id: I002b502952f32fb49823e18b281252977ecca8cf
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
Aaron Schulz [Tue, 7 Jun 2016 12:15:42 +0000 (05:15 -0700)]
Avoid contention in updateLinksTimestamp()
Since LinksUpdate::doUpdate() already flushes the transaction,
go ahead and flush before other DataUpdates might run (e.g.
from RefreshLinksJob). Also release the lock before running
the LinksUpdateComplete handlers, as the lock is just to keep
LinksUpdate instances from racing with each other.
Change-Id: Ied97fa36fbca0203123e9fc966d2e23bfd621c0e
Gergő Tisza [Tue, 7 Jun 2016 11:24:37 +0000 (11:24 +0000)]
Change invalid password reset form language
The old workflow was login -> go to a password change form (at which
point the user is fully logged on and can just abandon the form).
The AuthManager workflow is go through a string of login providers
(including the password reset), and get logged in at the very end
- so the user has to submit the form. The submit button text for not
updating the password was changed from Cancel to Skip to account for
that; this patch updates the messages which reference that text.
Bug: T136894
Change-Id: I38ac7883d2acfc73c5662dc2c382a395ef1b91c1
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