Aaron Schulz [Sat, 24 Oct 2015 04:14:11 +0000 (21:14 -0700)]
Remove paranoid title check from RefreshLinksJob::runForTitle
Change-Id: Ie2b875dcb394e9cf20818a26d245684933765baf
Ori Livneh [Sat, 24 Oct 2015 00:53:25 +0000 (17:53 -0700)]
Ensure all key transformations are applied by BagOStuff::makeKeyInternal()
Currently we have to undo any transformations we apply to keys in getMulti() by
iterating over the response array keys reversing any changes. This is hairy and
complicated. So --
* Replace calls to MemcachedBagOStuff::encodeKey() with calls to a new method,
MemcachedBagOStuff::validateKeyEncoding(). The new method only validates that
the key is compatible with memcached. If it is not, it throws an exception.
If it is, it returns the key unmodified.
* Remove MemcachedBagOStuff::{encode,decode}Key(), since they no longer serve a
purpose, and have no callers.
Change-Id: If3e20c6a1a1b42fc1f2823aa660328e37c26eccb
jenkins-bot [Fri, 23 Oct 2015 23:36:29 +0000 (23:36 +0000)]
Merge "Improve normalization and sanitization of memcached keys"
Ori Livneh [Fri, 23 Oct 2015 18:10:10 +0000 (11:10 -0700)]
Improve normalization and sanitization of memcached keys
The motivation for this patch came from seeing the following error in the
memcached log:
memcached ERROR: Memcached error for key "flowdb:flow_ref:wiki:by-source:\
v3:0:tawikinews:பூமிக்கு_அச்சுறுத்தலான_சிறுகோள்களைக்_கண்டுபிடிக்கும்_முயற்சியில்_தனியார்_நிறுவன0jம்:4.7" \
on server ":": A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE
I submitted a fix to Flow in I26e531f6, but I noticed that AbuseFilter had a
similar issue (fixed by Aaron in I27b51a4b), so I started thinking about how
to solve this more generally:
* The regular expression we current use to sanitize keys does not cover
characters outside the ASCII range, but such characters can be illegal
if one of their constituent bytes (when taken by itself) is an ASCII
control character. So change the regular expression to cover any and all
characters that fall outside the range \x22-\x7e (and '#' -- see below).
* Enforce a key length limit of 255 bytes, which is the maximum length
permitted by the memcached protocol. The Tamil segment in the key above is 84
characters, but 233 bytes in UTF-8, which become 684 characters when
URL-encoded. To fix this, try to shrink any segment that would push the total
key length over the limit by md5()ing it. If the end result is *still* over
the limit (this would happen if, for example, $args consists of many short
strings), then concatenate all args together and MD5 them.
* MD5'd arguments are prefixed with '#'. Any "organic" '#'s in the key segments
are URL-encoded.
Change-Id: Ia46987d3b0a09bb6b1952abd936d4c72ea7c56a0
jenkins-bot [Fri, 23 Oct 2015 22:16:20 +0000 (22:16 +0000)]
Merge "installer: Define $wgResourceBasePath in LocalSettings.php"
jenkins-bot [Fri, 23 Oct 2015 22:02:01 +0000 (22:02 +0000)]
Merge "poolcounter: Add 'trigger' field to the slow-parse log"
saper [Fri, 23 Oct 2015 12:40:00 +0000 (14:40 +0200)]
installer: Define $wgResourceBasePath in LocalSettings.php
Bug: T116374
Bug: T75031
Change-Id: I459c1097ed7048c3fe24e636e9ea22ec2e3b2675
Timo Tijhof [Fri, 23 Oct 2015 18:33:52 +0000 (19:33 +0100)]
poolcounter: Add 'trigger' field to the slow-parse log
To better indicate that these are only triggered by page views.
We don't currently have any slow-parse logging for the parser
invocation that happens during save (which means we're potentially
missing lots of them).
Once we add that, this will help distinguish them.
Bug: T110760
Change-Id: I22be5684ef93efd410d683637e223f770d6c768c
jenkins-bot [Fri, 23 Oct 2015 20:30:20 +0000 (20:30 +0000)]
Merge "Remove buggy b/c logic in Parser::disableCache()/updateCacheExpiry()"
Aaron Schulz [Fri, 23 Oct 2015 19:35:43 +0000 (12:35 -0700)]
Remove buggy b/c logic in Parser::disableCache()/updateCacheExpiry()
* Setting mCacheTime to -1 is for old callers that
only check getCacheTime() instead of getCacheExpiry().
Most of them are already broken (WikiLog/SemanticForms) as
they check for -1 which is in fact never returned
due to the TS_MW conversion in Parser::getCacheTime.
* By using -1, the value of page_links_updated can end up
as 1969, which is confusing and broken.
Change-Id: I8809a4258eacff05992a2c27ade7f6a0c1731c51
Translation updater bot [Fri, 23 Oct 2015 19:27:57 +0000 (21:27 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia0a10443f264e238e6136edbb2bb60dd9ddd1c96
jenkins-bot [Fri, 23 Oct 2015 19:04:53 +0000 (19:04 +0000)]
Merge "Setup.php: Remove incorrect comment"
Bartosz Dziewoński [Fri, 23 Oct 2015 18:50:11 +0000 (20:50 +0200)]
Setup.php: Remove incorrect comment
This is not true since $wgSkinExtensionFunctions was removed in r87487.
Change-Id: Ia2c75aa191516fa43272ed51789579cf7afd9e37
Kunal Mehta [Thu, 15 Oct 2015 18:37:38 +0000 (11:37 -0700)]
Throw Exceptions on preg_* failures in MagicWordArray::matchAndRemove()
There are a lot of other cases in this file alone that need to be fixed
(e.g. (bool)preg_match), but those should be fixed in a more systematic
way like a wrapper function.
Bug: T115514
Change-Id: I3840a56adc0a6e50963b930051892491f8e90245
jenkins-bot [Fri, 23 Oct 2015 15:36:30 +0000 (15:36 +0000)]
Merge "Move CAPTCHA messages into ConfirmEdit and update class names"
Fomafix [Fri, 23 Oct 2015 12:24:15 +0000 (12:24 +0000)]
mediawiki.notification.css: Avoid horizontal scrollbar on fade in and fade out
This is a follow-up to I01473a199665b9fd86ed50b7d117532ac94f3edf.
Change-Id: I596927bfca0efd52db8d46eeea9ba38c7a9f7ca5
jenkins-bot [Fri, 23 Oct 2015 07:44:45 +0000 (07:44 +0000)]
Merge "ApiQueryAllRevisions: Actually use 'start' and 'end'"
Timo Tijhof [Fri, 25 Sep 2015 15:15:58 +0000 (16:15 +0100)]
mediawiki.notification: Use CSS tranforms for in/out animations
Remove the whole placeholder system. This was needed to preserve
parking space while visually animating the element elsewhere.
CSS transforms have this behaviour naturally.
Change-Id: I01473a199665b9fd86ed50b7d117532ac94f3edf
Aaron Schulz [Fri, 23 Oct 2015 03:40:57 +0000 (20:40 -0700)]
Reduce DBPerformance warning spam for jobs a bit
Change-Id: I1c5fdae6e0f98fff5f3336d8a46a4b3ff25d5bad
jenkins-bot [Fri, 23 Oct 2015 01:43:28 +0000 (01:43 +0000)]
Merge "Bound BagOStuff::lock() RTT estimate for sanity"
jenkins-bot [Fri, 23 Oct 2015 01:32:00 +0000 (01:32 +0000)]
Merge "Make TransactionProfiler show the actual query times"
jenkins-bot [Thu, 22 Oct 2015 21:40:44 +0000 (21:40 +0000)]
Merge "Fix ChangeTag "lockTSE" values as INF does not actually work"
jenkins-bot [Thu, 22 Oct 2015 21:31:12 +0000 (21:31 +0000)]
Merge "Revert "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form""
Bartosz Dziewoński [Thu, 22 Oct 2015 21:20:50 +0000 (21:20 +0000)]
Revert "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form"
This actually won't work for Wikimedia wikis, turns out
that many of them disabled local uploads.
This reverts commit
29edb68446b5b6faa4b5038698f042ef25e4425d.
Bug: T115866
Change-Id: Ib28539f2ff22cdbf1d80b1b601e7855c1110ad40
jenkins-bot [Thu, 22 Oct 2015 21:10:38 +0000 (21:10 +0000)]
Merge "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form"
jenkins-bot [Thu, 22 Oct 2015 21:10:34 +0000 (21:10 +0000)]
Merge "Make LinksUpdate::__construct() use normal type hints"
Aaron Schulz [Thu, 22 Oct 2015 21:00:06 +0000 (14:00 -0700)]
Fix ChangeTag "lockTSE" values as INF does not actually work
Change-Id: If6c6b034be60ffc8b22b67cef12e5d701a871788
jenkins-bot [Thu, 22 Oct 2015 20:46:00 +0000 (20:46 +0000)]
Merge "Properly make LinksUpdate be recursive when done from job queue"
Aaron Schulz [Thu, 22 Oct 2015 20:25:49 +0000 (13:25 -0700)]
Make LinksUpdate::__construct() use normal type hints
Change-Id: Ie5f4de95d07ac9f24e415f92c5116385863a47f9
Bartosz Dziewoński [Thu, 22 Oct 2015 19:25:32 +0000 (21:25 +0200)]
mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form
To improve in the future:
* Check the rights on the target wiki rather than current, they might
not be the same
* Use a better error message when not all logged-in users can upload
Bug: T115866
Change-Id: I6f68122b5399f4b8766825c752e964478ae7563d
Brian Wolff [Thu, 22 Oct 2015 18:56:03 +0000 (12:56 -0600)]
Properly make LinksUpdate be recursive when done from job queue
New enqueue method of DeferredUpdates was turning LinksUpdate
updates into Jobs. However RefreshLinksJob was not properly
reconstructing the secondary updates as being recursive (if they
were recursive). This means that templates weren't having the pages
that were using them being updated.
See also related T116001.
Change-Id: Ia06246efb2034fdfe07232fd8c2334160edbcf02
Translation updater bot [Thu, 22 Oct 2015 18:46:05 +0000 (20:46 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I7830f3ff793b90c23a08fa3496a7178c127cd605
Matthew Flaschen [Thu, 22 Oct 2015 14:49:09 +0000 (10:49 -0400)]
Move CAPTCHA messages into ConfirmEdit and update class names
Depends on I0e55a159efd66a73cd217d9a5e86b2bced90f57a in ConfirmEdit .
This should be merged just after that.
Also, remove a dead config variable.
This leaves only the CAPTCHA stuff that is actually specific
to CreateAccount.
Change-Id: I8924d537cad3e39adace99fb20626247128d9bd9
umherirrender [Fri, 16 Oct 2015 14:02:01 +0000 (16:02 +0200)]
Move Special:PageLanguage to the pagetools group on Special:SpecialPages
Acting on pages, so that group is better than the default of "other"
Change-Id: I50c993d69048eeee913fbab513711018999aafe9
jenkins-bot [Thu, 22 Oct 2015 07:10:31 +0000 (07:10 +0000)]
Merge "Remove old ProfilerOutputUdp class"
Ori Livneh [Thu, 22 Oct 2015 06:44:26 +0000 (23:44 -0700)]
JobQueueRedis::doBatchPush(): report metrics even when failures occur
The way the method is currently written, no stats are reported at all when
failures occur.
Change-Id: I627e8f6ce3a59098bc8949da7ed22f5c924177fc
Ori Livneh [Thu, 22 Oct 2015 06:34:06 +0000 (23:34 -0700)]
jobqueue: track real job inserts as 'inserts_actual'
The `inserts` metric includes dupes. `inserts_actual` will track the rate at
which the job queue is actually growing.
Change-Id: Ie7c544fc8e59180a204d1d149b6a23ac48b8abab
Aaron Schulz [Thu, 22 Oct 2015 06:30:23 +0000 (23:30 -0700)]
Make TransactionProfiler show the actual query times
Also removed HTTP method from the message as logstash
gets those from the logger already
Change-Id: I7a6d9cb3ec8c7fcb53a081ee2bd055ff8c1c72c1
jenkins-bot [Thu, 22 Oct 2015 05:46:45 +0000 (05:46 +0000)]
Merge "CacheLRU: Simplify >0 assertion and remove verbose inline comment"
Aaron Schulz [Thu, 22 Oct 2015 04:59:47 +0000 (21:59 -0700)]
Make LinksUpdate job spec use "refreshLinksPrioritized"
This was missing in
4fcc427c10 due to being lost in PS4
Change-Id: I24641e7eccc1e61226777504dcfd75e1aa7f58c6
Aaron Schulz [Thu, 22 Oct 2015 03:59:47 +0000 (20:59 -0700)]
Remove old ProfilerOutputUdp class
This uses a non-standard output and requires a custom
collector that wmf does not maintain nor use anymore.
Change-Id: I41a68f7061465417fbdc5ca41f8eb6e1f99f1111
Aaron Schulz [Thu, 22 Oct 2015 03:14:54 +0000 (20:14 -0700)]
Bound BagOStuff::lock() RTT estimate for sanity
The timestamp difference might be 0 (or in rare cases, less)
Change-Id: I0298b413df637d9da5ff33c078ad49dadc8a46ce
jenkins-bot [Thu, 22 Oct 2015 02:33:16 +0000 (02:33 +0000)]
Merge "objectcache: Fix grammar error in BagOStuff::getWithToken doc"
Aaron Schulz [Sun, 18 Oct 2015 22:57:42 +0000 (15:57 -0700)]
Add WRITE_SYNC flag to BagOStuff::set()/merge()
* This blocks on writing to all replicas
and returns false if any failed.
* This is useful if ChronologyProtector is to work across
domains by having the writes go everywhere so that later
reads will see them (and be local at the same time).
* Redundant doc comments were also removed.
Change-Id: I9ed098d563c64dba605e7809bc96731da3b3e79d
Timo Tijhof [Thu, 22 Oct 2015 01:35:35 +0000 (02:35 +0100)]
objectcache: Fix grammar error in BagOStuff::getWithToken doc
Follows-up
1fa1235d32.
Change-Id: I19a4430609423f5ff32a1014ed21131175469adf
Aaron Schulz [Thu, 8 Oct 2015 07:09:08 +0000 (00:09 -0700)]
Make DeferredUpdates::doUpdates always commit per task
* All callers are either using commit already or would be fine
using it (e.g. Maintenance scripts and JobRunner that have
no real transaction open).
Change-Id: I9f54b27619da6dac2cb63d255995aabc4ee78002
Aaron Schulz [Thu, 22 Oct 2015 00:31:18 +0000 (17:31 -0700)]
Make hookErrorHandler() only care about serious signature errors
Previously, it would send all manor of warnings to the error
and error-json channels. This adds a lot of overhead due to
AbuseFilter parse/eval errors. By passing immediately instead
of after calling handleError(), that overhead is avoided. Since
it still passes (e.g. returns false), any default PHP warning
logging still applies.
Change-Id: I18e60c09c2a48f2e26abab5d451bb52ea4ba7961
jenkins-bot [Thu, 22 Oct 2015 00:11:29 +0000 (00:11 +0000)]
Merge "TemplateParser: Use context makeKey() instead of wfMemcKey()"
Timo Tijhof [Wed, 21 Oct 2015 23:55:10 +0000 (00:55 +0100)]
TemplateParser: Use context makeKey() instead of wfMemcKey()
Also:
* Use ternary shorthand.
* Remove verbose comment about APC fallback. APC always requires
a fallback and is enforced by the method being called. Stating
the obvious is confusing here.
Change-Id: Ie5cb3bdc60600806b01b57f1f1b352b981818b0d
jenkins-bot [Wed, 21 Oct 2015 20:54:04 +0000 (20:54 +0000)]
Merge "mediawiki.api: Don't hold references to finished requests forever"
jenkins-bot [Wed, 21 Oct 2015 20:05:47 +0000 (20:05 +0000)]
Merge "Replace some calls to wfGetMainCache()"
jenkins-bot [Wed, 21 Oct 2015 19:54:26 +0000 (19:54 +0000)]
Merge "Fix transaction warnings on test cleanup rollback()"
Bartosz Dziewoński [Tue, 20 Oct 2015 22:50:20 +0000 (00:50 +0200)]
mediawiki.api: Don't hold references to finished requests forever
Follow-up to Ie614b05fbfbddca38ea201e90053bebdd58da949.
Also removed a TODO comment which no longers makes sense. (We can't
share API objects because users could abort each others' requests.)
Change-Id: I106139d6e463d7e5e3473035835eb74b18829b87
jenkins-bot [Wed, 21 Oct 2015 19:23:46 +0000 (19:23 +0000)]
Merge "mediawiki.api: Remove incomprehensible TODO"
jenkins-bot [Wed, 21 Oct 2015 19:13:55 +0000 (19:13 +0000)]
Merge "Send X-Database-Lagged header to help with debugging"
Aaron Schulz [Wed, 21 Oct 2015 19:13:22 +0000 (12:13 -0700)]
Fix transaction warnings on test cleanup rollback()
Change-Id: I85f607c7562474d57f515a947181884fccae735c
Aaron Schulz [Wed, 21 Oct 2015 00:27:27 +0000 (17:27 -0700)]
Send X-Database-Lagged header to help with debugging
Change-Id: Ib654c49a61a1279091c5da92a2bef2ad1f992d23
jenkins-bot [Wed, 21 Oct 2015 18:24:27 +0000 (18:24 +0000)]
Merge "Convert showPatrolFooter() to using WAN cache"
jenkins-bot [Wed, 21 Oct 2015 17:55:19 +0000 (17:55 +0000)]
Merge "mw.ForeignStructuredUpload: Provide category suggestions from the right wiki"
Bartosz Dziewoński [Tue, 20 Oct 2015 22:48:22 +0000 (00:48 +0200)]
mediawiki.api: Remove incomprehensible TODO
Change-Id: Iae632527c8b104ddd94b89679d1dba977fddb557
jenkins-bot [Wed, 21 Oct 2015 15:45:13 +0000 (15:45 +0000)]
Merge "mw.ForeignStructuredUpload: Rearrange messages to always display license name"
Matt Russell [Mon, 31 Mar 2014 07:58:54 +0000 (07:58 +0000)]
Add pst option to API difftotext
Adds the option difftotextpst to ApiQueryRevisionsBase.php, which will perform a
pre-save transform on the supplied text, before diffing it against the
requested revision.
Bug: T53155
Change-Id: Ia480e8cd4ceeeb0b2812dc8ec96650adb83c03af
Brad Jorsch [Wed, 21 Oct 2015 14:23:37 +0000 (10:23 -0400)]
ApiQueryAllRevisions: Actually use 'start' and 'end'
No idea how that got missed.
Bug: T116177
Change-Id: I69cb4d6ce12fe39ab5683f7791d00ee16958981d
jenkins-bot [Wed, 21 Oct 2015 12:55:34 +0000 (12:55 +0000)]
Merge "Sync up with Parsoid parserTests."
Amir E. Aharoni [Wed, 21 Oct 2015 11:50:11 +0000 (14:50 +0300)]
Better phrasing for the contentmodelediterror message
Change-Id: Ie69642f8ae6993d7bb08b785229321ed04428502
Aaron Schulz [Wed, 21 Oct 2015 11:06:42 +0000 (04:06 -0700)]
Convert showPatrolFooter() to using WAN cache
Change-Id: I55503eab91d0c64b2dcbc86257088a3eac52a2a1
Bartosz Dziewoński [Wed, 21 Oct 2015 10:25:52 +0000 (12:25 +0200)]
mw.ForeignStructuredUpload: Rearrange messages to always display license name
See the task for screenshots.
Bug: T116046
Change-Id: I3dc021713c460e4cd639b7d85545ad4b5afe514b
Aaron Schulz [Wed, 21 Oct 2015 06:52:07 +0000 (23:52 -0700)]
Replace some calls to wfGetMainCache()
Change-Id: I9ba8fd5918877af6312b0854634bd36211438f00
saper [Thu, 15 Oct 2015 07:08:02 +0000 (09:08 +0200)]
Remove wgAlwaysUseTidy from ExpandTemplates
Fixes ConfigException:
Exception encountered, of type "ConfigException"
[
1235d69e] index.php/Special:ExpandTemplates ConfigException
from line 53 of
includes/config/GlobalVarConfig.php:
GlobalVarConfig::get: undefined option: 'AlwaysUseTidy'
Backtrace:
includes/specials/SpecialExpandTemplates.php(117):
GlobalVarConfig->get(string)
i includes/specialpage/SpecialPage.php(384):
SpecialExpandTemplates->execute(NULL)
Change-Id: Iba16f12f50f7427533f89817eb40f46a2ab58ec4
jenkins-bot [Wed, 21 Oct 2015 05:06:44 +0000 (05:06 +0000)]
Merge "Improve MultiWriteBagOStuff::merge() cross-DC performance"
Aaron Schulz [Wed, 21 Oct 2015 04:50:27 +0000 (21:50 -0700)]
Improve MultiWriteBagOStuff::merge() cross-DC performance
Implement merge() by getting a lock on the tier 1
cache, getting it's value, generating the new one,
writing to all tiers, and then unlocking tier 1.
This is done by just using the stock mergeViaLock().
This means that if tier 1 is in the same DC, the
other tiers only need 1 request each, just for set().
Change-Id: I4b0c303ef3b86b63e7630032ed0b010e79706324
jenkins-bot [Wed, 21 Oct 2015 04:08:02 +0000 (04:08 +0000)]
Merge "Handle revisions with different content models in EditPage"
jenkins-bot [Wed, 21 Oct 2015 03:58:33 +0000 (03:58 +0000)]
Merge "Improve documentation of $wgShowRollbackEditCount"
Timo Tijhof [Tue, 20 Oct 2015 21:14:33 +0000 (22:14 +0100)]
resourceloader: Remove CacheEpoch from MessageBlobStore::getFromDB
CacheEpoch isn't meant for this (it's meant for page cache), I can't
imagine a scenario in which we'd want to bump that to invalidate
MessageBlobStore. It should be standalone and can be easily cleared
if needed by truncating the relevant table (it's automatically
repopulated).
This also removes wfTimestamp/DateTime overhead.
Change-Id: Iab06edbf71f20f3430207a80df90131c79dc03a7
Bartosz Dziewoński [Tue, 20 Oct 2015 22:32:19 +0000 (00:32 +0200)]
mw.ForeignStructuredUpload: Provide category suggestions from the right wiki
Also check for category existence on the right wiki, and generate
links pointing to the right wiki. Usually.
Bug: T116075
Change-Id: I85da301db4cb407b011277b0c00eb09a8bf3829f
Timo Tijhof [Wed, 21 Oct 2015 01:57:32 +0000 (02:57 +0100)]
Improve documentation of $wgShowRollbackEditCount
There were a few grammatical errors, and ambiguities.
Change-Id: I49f998c3d2a693bd755c1aaa4cf08bc5fd5fd505
Aaron Schulz [Tue, 20 Oct 2015 23:42:02 +0000 (16:42 -0700)]
Add IDatabase::isReadOnly() method
Also made getReadOnlyReason() protected as it has no outside
callers and is not part of IDatabase.
Change-Id: If6694a19df038af645a97f701397a536570d1b42
jenkins-bot [Tue, 20 Oct 2015 23:37:22 +0000 (23:37 +0000)]
Merge "Make DB handles inherit configured read-only mode"
jenkins-bot [Tue, 20 Oct 2015 23:32:32 +0000 (23:32 +0000)]
Merge "Remove $wgAjaxWatch configuration variable"
Aaron Schulz [Sat, 10 Oct 2015 00:22:14 +0000 (17:22 -0700)]
Make DB handles inherit configured read-only mode
LBFactory inherits $wgReadOnly, the LBs inherit
any LBFactory read only mode, and Database objects
inherit any LB read-only mode.
Add some methods callers can use to check if
a DB/LB handle is read-only before trying writes.
Additionally:
* Fix
5ec1e47475 regression where readOnlyBySection
read-only mode would not affect wfReadOnly() but only
lagged-slave read-only mode for LBFactoryMulti.
* Catch errors when getLaggedSlaveMode() is called after
master connection and object is established.
* Make getLaggedSlaveMode() a no-op if there are no slaves.
* Make string/false logic for read-only consistent everywhere.
* Remove mLaggedSlaveMode "m" prefix.
Change-Id: Ice3224caae564aa5ffb41b424c23d1593229117a
aude [Tue, 20 Oct 2015 23:07:58 +0000 (01:07 +0200)]
Add check for RCWatchCategoryMembership before trying to access form option
Change-Id: Ie38e0fd703eb688267e5d19c145256dd6c8ada94
jenkins-bot [Tue, 20 Oct 2015 22:35:28 +0000 (22:35 +0000)]
Merge "Push post-edit RefreshLinks jobs into 'refreshLinksPrioritized'"
jenkins-bot [Tue, 20 Oct 2015 22:26:34 +0000 (22:26 +0000)]
Merge "mediawiki.Upload: Don't choke on nameless or dateless files"
Aaron Schulz [Tue, 20 Oct 2015 21:46:17 +0000 (14:46 -0700)]
Push post-edit RefreshLinks jobs into 'refreshLinksPrioritized'
Previously the 'prioritize' flag was set in getAsJobSpecification()
but the job still went into the regular 'refreshLinks' queue. Since
the parser cache was just saved, they should be fast to run. The
separate queue stops them from getting stuck behind template updates.
Change-Id: I46c5760702d862dc9288618ee5eff3897f6e838b
Bartosz Dziewoński [Tue, 20 Oct 2015 21:55:56 +0000 (23:55 +0200)]
mediawiki.Upload: Don't choke on nameless or dateless files
Bug: T116073
Change-Id: I5919f1457b019ebc913beeb458ee3c6290223cfe
Timo Tijhof [Tue, 20 Oct 2015 21:36:53 +0000 (22:36 +0100)]
Remove $wgAjaxWatch configuration variable
This is now enabled by default.
We still check $wgUseAjax and $wgEnableWriteAPI, however.
Originally introduced in r18598 (
69ea9bcf9b; MediaWiki 1.9.0; T9169).
Change-Id: I87b1926e727ae0870a0239d6e8ad87cc3a5ad72b
jenkins-bot [Tue, 20 Oct 2015 21:41:16 +0000 (21:41 +0000)]
Merge "Enable users to watch category membership changes #2"
jenkins-bot [Tue, 20 Oct 2015 21:41:12 +0000 (21:41 +0000)]
Merge "Make JobQueueRedis stat calls match the DB one"
jenkins-bot [Tue, 20 Oct 2015 21:39:52 +0000 (21:39 +0000)]
Merge "resourceloader: Wrap another CSSMin::remap call in MemoizedCallable::call"
Subramanya Sastry [Tue, 20 Oct 2015 15:06:04 +0000 (10:06 -0500)]
Sync up with Parsoid parserTests.
This now aligns with Parsoid commit
31012bb740fea4fe6ce44464dd940d48576ed4ef
Change-Id: I525622766d702c53009d59c1a2a80a52966774fe
Aaron Schulz [Tue, 20 Oct 2015 21:24:09 +0000 (14:24 -0700)]
Make JobQueueRedis stat calls match the DB one
It looks like someone just forgot to update these to
the newer style (e.g. sans "job-").
Change-Id: Idf953bb73ad31425c5c366d4b2169a42bd5e022d
addshore [Mon, 24 Aug 2015 17:40:06 +0000 (17:40 +0000)]
Enable users to watch category membership changes #2
This is part of a chain that reverts:
e412ff5ecc900991cce4f99b7a069f625a5694b3.
NOTE:
- The feature is disabled by default
- User settings default to hiding changes
- T109707 Touching a file on wikisource adds and
removes it from a category... Even when page
has no changes.... WTF? See linked issue,
marked as stalled with a possible way forward
for this patch.
@see https://gerrit.wikimedia.org/r/#/c/235467/
Changes since version 1:
- T109604 - Page names in comment are no longer
url encoded / have _'s
- T109638 & T110338 - Reserved username now used
when we can't determine a username for the change
(we could perhaps set the user and id to be blank
in the RC table, but who knows what this might do)
- T109688 - History links are now disabled in RC....
(could be fine for the introduction and worked
on more in the future)
- Categorization changes are now always patrolled
- Touching on T109672 in this change emails will never
be sent regarding categorization changes. (this
can of course be changed in a followup)
- Added $wgRCWatchCategoryMembership defaulting to true
for enabling / disabling the feature
- T109700 - for cases when no revision was retrieved
for a category change set the bot flag to true.
This means all changes caused by parser functions
& Lua will be marked as bot, as will changes that
cant find their revision due to slave lag..
Bug: T9148
Bug: T109604
Bug: T109638
Bug: T109688
Bug: T109700
Bug: T110338
Bug: T110340
Change-Id: I51c2c1254de862f24a26ef9dbbf027c6c83e9063
Ori Livneh [Tue, 20 Oct 2015 20:13:57 +0000 (13:13 -0700)]
resourceloader: Wrap another CSSMin::remap call in MemoizedCallable::call
Follows-up
da3443bfa2.
Change-Id: Iabfe65b918ef5f8eb589bedd7a1e72b3ad9d2952
Aaron Schulz [Tue, 20 Oct 2015 20:51:59 +0000 (13:51 -0700)]
Make triggerOpportunisticLinksUpdate() directly use RefreshLinks
This makes the jobs *actually* end up in the
'refreshLinksPrioritized' queue rather than 'refreshLinks'.
These jobs can run fast in a higher priority queue since the
output is already cached (much of the point of 'prioritize').
They won't if they get stuck behind regular 'refreshLinks'.
This also avoids the indirection of an intermediate job.
The use of lazyPush() is already enough to prevent the user
from experiencing cross-DC RTT overhead.
Change-Id: I5d0440588db09c299cd70191e5624ffc7ebf04c0
Translation updater bot [Tue, 20 Oct 2015 20:24:58 +0000 (22:24 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I64889f5290abf8cae14336b38034863c058d28aa
jenkins-bot [Tue, 20 Oct 2015 18:47:06 +0000 (18:47 +0000)]
Merge "Fix undefined variable in User::setNewpassword"
Aaron Schulz [Tue, 20 Oct 2015 18:05:45 +0000 (11:05 -0700)]
Remove DeferredUpdates::doUpdates call in CLI scripts
Core already handles this by not letting them build up.
They run after each main DB commit.
Change-Id: I37c2a60e2df579ed59b2a8f3a7679d1d380e6337
jenkins-bot [Tue, 20 Oct 2015 17:55:27 +0000 (17:55 +0000)]
Merge "Inject MultiWriteBagOStuff addCallableUpdate() dependency"
Aaron Schulz [Fri, 9 Oct 2015 08:01:28 +0000 (01:01 -0700)]
Inject MultiWriteBagOStuff addCallableUpdate() dependency
Inject the DeferredUpdates::addCallableUpdate method via the
ObjectCache. This brings it closer to being able to move to /libs.
Change-Id: Ifa0d893002c3d709a4dc7346c263a92162274bd7
Bryan Davis [Tue, 20 Oct 2015 15:49:01 +0000 (09:49 -0600)]
Fix undefined variable in User::setNewpassword
Follow up to I2c736ad to fix use of undefined `$id` variable.
Change-Id: I04bd9c1dd7e3e1e63b8008d02df91cfb1ad971a3