Kunal Mehta [Wed, 23 Sep 2015 20:35:31 +0000 (13:35 -0700)]
Remove closing PHP tag from MediaWiki\Tidy\RaggettWrapper
Change-Id: Id90cb99862eb9997f56506db99aa2ca6e2885516
Kunal Mehta [Wed, 23 Sep 2015 20:31:04 +0000 (13:31 -0700)]
Use tab instead of spaces in ParsoidVirtualRESTService
Spotted by phpcs
Change-Id: Iab3b1e7aa69f84d0655d54c7c64d2681e0662af4
Kunal Mehta [Wed, 23 Sep 2015 20:29:30 +0000 (13:29 -0700)]
OOUIHTMLForm: s/else if/elseif/
Spotted by phpcs.
Change-Id: I1a0b7a08a17849b270a262063744198d81d36de1
jenkins-bot [Tue, 22 Sep 2015 18:24:35 +0000 (18:24 +0000)]
Merge "Moved LinksDeletionUpdate to a separate file"
jenkins-bot [Tue, 22 Sep 2015 18:15:25 +0000 (18:15 +0000)]
Merge "Add the performer to the UserRightsChanged hook"
Aaron Schulz [Tue, 22 Sep 2015 18:07:47 +0000 (11:07 -0700)]
Moved LinksDeletionUpdate to a separate file
* Also removed unused updateCategoryCounts() method
Change-Id: I25f64d3771a23d18e7993433dab449adec375d9b
jenkins-bot [Tue, 22 Sep 2015 18:05:57 +0000 (18:05 +0000)]
Merge "mediawiki.Upload: Return same data for upload & stashed upload"
Kunal Mehta [Tue, 22 Sep 2015 17:58:20 +0000 (10:58 -0700)]
Add the performer to the UserRightsChanged hook
This allows extensions (e.g. Echo) to detect who made the change without
relying upon $wgUser. It also allows for differentiation between
autopromotion entries which will pass in `false` as the performer.
Change-Id: Idebd78b54dcea1bdc84c83f402e87b240ab4ade1
Ed Sanders [Tue, 22 Sep 2015 15:18:55 +0000 (16:18 +0100)]
mediawiki.Upload: Return same data for upload & stashed upload
The stashed upload was omitting the imageinfo and raw result in the promise.
Change-Id: I79462c1121c879d90eed3d245948335cd08bba30
jenkins-bot [Tue, 22 Sep 2015 16:58:58 +0000 (16:58 +0000)]
Merge "Set visibility of monolog tests setUp method to protected"
jenkins-bot [Tue, 22 Sep 2015 16:49:06 +0000 (16:49 +0000)]
Merge "Also check Kafka class exists in KafkaHandlerTest"
aude [Tue, 22 Sep 2015 14:57:55 +0000 (16:57 +0200)]
Set visibility of monolog tests setUp method to protected
In phpunit and MediaWikiTestCase, the setUp method is protected,
and it's nice if the subclasses are consistent.
Change-Id: I4b8ac612951168913bb2dc9cf16d3dc18762a211
aude [Tue, 22 Sep 2015 14:54:58 +0000 (16:54 +0200)]
Also check Kafka class exists in KafkaHandlerTest
I have monolog installed but not Kafka, so still
the test was run and broken for me.
Change-Id: If396815d77b0ae25fbd5c16b628f217478062b43
jenkins-bot [Tue, 22 Sep 2015 14:48:08 +0000 (14:48 +0000)]
Merge "Fixes for RedisBagOStuff when using twemproxy"
jenkins-bot [Tue, 22 Sep 2015 14:45:31 +0000 (14:45 +0000)]
Merge "Fix typo in KafkaHandlerTest"
jenkins-bot [Tue, 22 Sep 2015 14:44:03 +0000 (14:44 +0000)]
Merge "Fix missing dependencies needed for tests."
aude [Tue, 22 Sep 2015 14:35:36 +0000 (16:35 +0200)]
Fix typo in KafkaHandlerTest
Change-Id: Ib73152a269e01bc64a4b1e7a9157de2088d152d2
Jan Zerebecki [Tue, 22 Sep 2015 10:27:29 +0000 (12:27 +0200)]
Fix missing dependencies needed for tests.
Added to require-dev: wikimedia/avro, nmred/kafka-php,
monolog/monolog. These were added to vendor, but are
only suggested in core.
Change-Id: Ic760077df11bfac461ad85c5d6d395bed55d6c92
James D. Forrester [Tue, 22 Sep 2015 11:36:49 +0000 (12:36 +0100)]
Follow-up
5cd0a43e5: Add SelectFileWidget's i18n to ResourcesOOUI
Change-Id: Ibd8ff7e66ac48bdfb24a3d2a2673e1586c4bb5dc
jenkins-bot [Tue, 22 Sep 2015 09:10:00 +0000 (09:10 +0000)]
Merge "Use CSS columns instead of tables in Special:SpecialPages (2)"
Adrian Heine [Tue, 22 Sep 2015 08:07:09 +0000 (10:07 +0200)]
Fix typo in AvroFormatterTest
Also removes trailing whitespace in that file.
Change-Id: Icf30a68ea7356735f416baae8a435e0f10d5caaa
jenkins-bot [Tue, 22 Sep 2015 07:42:04 +0000 (07:42 +0000)]
Merge "jquery.byteLimit: Trigger 'change' event after limitting"
jenkins-bot [Tue, 22 Sep 2015 07:32:03 +0000 (07:32 +0000)]
Merge "Add new authentication-related hooks (and remove one) replacing some AuthPlugin methods"
jenkins-bot [Tue, 22 Sep 2015 07:20:22 +0000 (07:20 +0000)]
Merge "Set getFeatures() for MemoryFileBackend"
jenkins-bot [Tue, 22 Sep 2015 07:16:16 +0000 (07:16 +0000)]
Merge "Update UploadWizard-specific messages"
jenkins-bot [Tue, 22 Sep 2015 07:03:59 +0000 (07:03 +0000)]
Merge "By default have Main page text on Main page tab"
paladox [Sun, 20 Sep 2015 18:20:31 +0000 (19:20 +0100)]
By default have Main page text on Main page tab
Bug: T111645
Change-Id: I8e3ca7e6b636466c145d90bd22a2d9098708af73
jenkins-bot [Tue, 22 Sep 2015 04:57:47 +0000 (04:57 +0000)]
Merge "registration: Allow extensions to specify which MW core versions they require"
Aaron Schulz [Tue, 22 Sep 2015 01:17:36 +0000 (18:17 -0700)]
jobqueue: A few small code cleanups to RefreshLinksJob
Change-Id: Ia331e9dbf9d2be137c34a8c93ef2d6da8aad6c56
jenkins-bot [Tue, 22 Sep 2015 01:21:37 +0000 (01:21 +0000)]
Merge "Removed DeferredUpdates::addHTMLCacheUpdate()"
Aaron Schulz [Mon, 21 Sep 2015 23:22:37 +0000 (16:22 -0700)]
Removed DeferredUpdates::addHTMLCacheUpdate()
* That method does not belong in DeferredUpdates
as this class should agnostic to the work done
Change-Id: I8098ffb82bf9c33ccb48a31aa9dbad514e8724a8
jenkins-bot [Tue, 22 Sep 2015 00:58:54 +0000 (00:58 +0000)]
Merge "Reduced the DOS potential of 404 page floods"
jenkins-bot [Tue, 22 Sep 2015 00:50:22 +0000 (00:50 +0000)]
Merge "Removed deprecated $wgDeferredUpdateList"
Aaron Schulz [Fri, 18 Sep 2015 05:37:16 +0000 (22:37 -0700)]
Reduced the DOS potential of 404 page floods
* showMissingArticle() will now only show the log excerpt
if the page was deleted very recently or if the viewing
user is logged in. Crawlers and poorly written bots tend
to be logged out, and logged in users are better tracked.
If many hits to the same recently deleted page are made,
then the innoDB buffer pool should actually have the
relevant index pages in cache (especially with query grouping).
* There have been several outages or DB performance problems
caused by crawlers or sloppy mirrors hitting many bogus pages
(due to bad URL generation, ect...). Previously a redis bloom
filter was used to handle this, but was removed due to high
complexity (especially if it was to be supported in multi-DC
setup). This is a simpler solution to keep 404 pages cheap,
as they cannot really be cached (there are innumerable possible
titles that never existed).
Change-Id: If948602a32deb16dba21d232d0c6128568a980d6
Aaron Schulz [Mon, 21 Sep 2015 23:25:47 +0000 (16:25 -0700)]
Removed deprecated $wgDeferredUpdateList
Change-Id: I7072ad3b34dd9a0726df6d1c044616c3b4bcd79f
jenkins-bot [Mon, 21 Sep 2015 23:26:05 +0000 (23:26 +0000)]
Merge "Produce monolog messages through kafka+avro"
Aaron Schulz [Mon, 21 Sep 2015 22:04:12 +0000 (15:04 -0700)]
Set getFeatures() for MemoryFileBackend
Change-Id: I565e2e2c8a4a89c6706349a4ef9826f87445d1d2
jenkins-bot [Mon, 21 Sep 2015 21:30:45 +0000 (21:30 +0000)]
Merge "Added read affinity tests for FileBackendMultiWrite"
Erik Bernhardson [Tue, 4 Aug 2015 18:02:47 +0000 (11:02 -0700)]
Produce monolog messages through kafka+avro
This allows a logging channel to be configured to write
directly to kafka. Logs can be serialized either to json
blobs or the more compact apache avro format.
The Kafka handler for monolog needs a list of one of more
kafka servers to query cluster metadata from. This should be
able to use any monolog formatter, although some like
JsonFormatter require you to disable formatBatch as Kafka
protocol would prefer to encode each record independently in
the protocol. This requires the nmred/kafka-php library,
version >= 1.3.0.
Adds a new formatter which serializes to the apache avro
format. This is a compact binary format which uses pre-
defined schemas. This initial implementation is very simple
and takes the plain schemas as a constructor argument.
Adds a new option to MonologSpi to wrap handlers in a
BufferHandler. This doesn't flush until the request shuts
down and prevents any network requests in the logger from
adding latency to web requests.
Related mediawiki/vendor update: Ibfe4bd2036ae8e998e2973f07bd9a6f057691578
The necessary config is something like:
array(
'loggers' => array(
'CirrusSearchRequests' => array(
'handlers' => array( 'kafka' ),
),
),
'handlers' => array(
'kafka' => array(
'factory' => '\\MediaWiki\\Logger\\Monolog\\KafkaHandler::factory',
'args' => array( 'localhost:9092' ),
'formatter' => 'avro',
'buffer' => true,
),
),
'formatters' => array(
'avro' => array(
'class' => '\\MediaWiki\\Logger\\Monolog\\AvroFormatter',
'args' => array(
array(
'CirrusSearchRequests' => array(
'type' => 'record',
'name' => 'CirrusSearchRequests'
'fields' => array( ... )
),
),
),
),
),
)
Bug: T106256
Change-Id: I6ee744b3e5306af0bed70811b558a543eed22840
Translation updater bot [Mon, 21 Sep 2015 19:42:14 +0000 (21:42 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I63f5687fe78418403fdb3de398ece449efd3c72a
jenkins-bot [Mon, 21 Sep 2015 19:16:19 +0000 (19:16 +0000)]
Merge "Refactor changeTypes in RecentChange"
jenkins-bot [Mon, 21 Sep 2015 19:16:15 +0000 (19:16 +0000)]
Merge "Add tests for RecentChange::parse(To|From)RCType"
Aaron Schulz [Mon, 21 Sep 2015 18:55:15 +0000 (18:55 +0000)]
Merge "Cleaned up $asyncWrites member variable in MultiWriteBagOStuff"
Aaron Schulz [Mon, 21 Sep 2015 18:41:44 +0000 (11:41 -0700)]
Cleaned up $asyncWrites member variable in MultiWriteBagOStuff
Change-Id: I27e48aef77ac0f6453b7837f2b2686b7b5b726d4
Ori Livneh [Mon, 21 Sep 2015 18:29:50 +0000 (11:29 -0700)]
MultiWriteBagOStuff: require nonempty 'caches' param
MultiWriteBagOStuff::__construct() barfs if the 'caches' parameter is unset,
but it permits it to be an empty array. This means that subsequent operations
that need to reference the first (primary) cache backend need to check that
it is there at all.
Since there is not much sense in having a MultiWriteBagOStuff object with zero
cache backends, make the constructor require a nonempty array for 'caches', and
remove the subsequent checks that are made redundant by this new restriction.
Change-Id: I30f3e0dcbfe67570a368e64b8233cc0ba7f90b2f
Aaron Schulz [Mon, 21 Sep 2015 18:21:00 +0000 (11:21 -0700)]
Added read affinity tests for FileBackendMultiWrite
Change-Id: I1407273175396d4d3631531ff0ca0afa3009913e
jenkins-bot [Mon, 21 Sep 2015 17:47:27 +0000 (17:47 +0000)]
Merge "Add i18n messages for ApiStashEdit"
Kunal Mehta [Thu, 14 May 2015 05:51:55 +0000 (22:51 -0700)]
registration: Allow extensions to specify which MW core versions they require
This adds a "requires" property to extension.json, which extensions and
skins can use to indicate which versions of MediaWiki core they support.
The hacky wfUseMW() is now deprecated in favor of this.
Rather than writing our own version constraint and parser library, we
can re-use composer's, which was recently split out into a separate
library named "composer/semver" for this patch.
Any syntax accepted by composer[1] is available for usage here. Test
cases have been provided to demonstrate how versions are parsed. For now
it is recommended that people stick to expressing compatability with
stable versions (e.g. ">= 1.26").
This patch does not support requiring specific MediaWiki core WMF
branches, since those do not follow the standard semver format that
composer parses. If we are unable to parse $wgVersion, all checking will
be skipped and reported as compatible.
[1] https://getcomposer.org/doc/01-basic-usage.md#package-versions
Bug: T99084
Change-Id: I7785827216e16c596356d0ae42d6b30f3f179f10
addshore [Thu, 17 Sep 2015 09:56:22 +0000 (10:56 +0100)]
Refactor changeTypes in RecentChange
This is split from:
I03516bb34144d95e5f25c46ae98ab70ce699b31b
Change-Id: I285cdbe3d1a62aa1071a5c174928136c3f59d557
Brad Jorsch [Mon, 21 Sep 2015 14:31:01 +0000 (10:31 -0400)]
Add i18n messages for ApiStashEdit
Bug: T113189
Change-Id: Iee7b2fbb7b9cd4e7255c87d78be9396073f41236
addshore [Mon, 21 Sep 2015 13:58:56 +0000 (14:58 +0100)]
Add tests for RecentChange::parse(To|From)RCType
Change-Id: I60278aaeef475ed3ec1515b1f5f28d6afcc700c5
addshore [Mon, 21 Sep 2015 13:51:44 +0000 (14:51 +0100)]
Add test for RecentChange::newFromRow
Change-Id: I1e21d296e15c1b6d18f19ae9cc7038387c8f4e2b
addshore [Mon, 21 Sep 2015 09:34:13 +0000 (10:34 +0100)]
Add test for RecentChange::isInRCLifespan
Change-Id: I0eac57d0cfabba3ed9b5b430e9972e7c5c0b9f8b
jenkins-bot [Mon, 21 Sep 2015 14:15:30 +0000 (14:15 +0000)]
Merge "Use setUp instead of __construct in RecentChangeTest"
jenkins-bot [Mon, 21 Sep 2015 14:15:26 +0000 (14:15 +0000)]
Merge "Cleanup RecentChangeTest, move things out that don't belong"
addshore [Mon, 21 Sep 2015 09:25:24 +0000 (10:25 +0100)]
Use setUp instead of __construct in RecentChangeTest
Change-Id: Ia0d704a2832c54995fba0014ae6422765a743be0
addshore [Mon, 21 Sep 2015 08:50:04 +0000 (09:50 +0100)]
Cleanup RecentChangeTest, move things out that don't belong
This moves out a bunch of stuff that doesnt
seem to test anything in RecentChange....
This also shows us how few tests RecentChange
actually has!
Change-Id: Ia5016c82c00dd7c35a6f1253d6e385b587ec485e
jenkins-bot [Mon, 21 Sep 2015 12:55:32 +0000 (12:55 +0000)]
Merge "ResourceLoaderModule: cache file content hash"
jenkins-bot [Mon, 21 Sep 2015 12:53:05 +0000 (12:53 +0000)]
Merge "resourceloader: Log load.php exceptions to JavaScript console"
jenkins-bot [Mon, 21 Sep 2015 12:43:57 +0000 (12:43 +0000)]
Merge "Move prefsection style to mediawiki.special.preferences.css"
jenkins-bot [Mon, 21 Sep 2015 12:20:45 +0000 (12:20 +0000)]
Merge "Added readAffinity flag to FileBackendMultiWrite"
jenkins-bot [Mon, 21 Sep 2015 12:11:46 +0000 (12:11 +0000)]
Merge "Fixed "last modified" date fudging on null edit"
jenkins-bot [Mon, 21 Sep 2015 12:10:15 +0000 (12:10 +0000)]
Merge "resourceloader: Run ResourceLoaderRegisterModules after wgResourceModules"
jenkins-bot [Mon, 21 Sep 2015 11:47:12 +0000 (11:47 +0000)]
Merge "Explicitly float local search results left so they come first"
jenkins-bot [Mon, 21 Sep 2015 11:31:59 +0000 (11:31 +0000)]
Merge "Update documentation for EmailUser hooks"
Bartosz Dziewoński [Tue, 15 Sep 2015 22:36:02 +0000 (00:36 +0200)]
Update UploadWizard-specific messages
Merge after I706d76ab4720a94e772d03196c91697d9047f5b9 in UploadWizard.
Two messages lost a silly link and $2 parameter:
* api-error-duplicate
* api-error-duplicate-archive
They were both confusingly phrased, as if the link led directly to the
file; instead, at least in UploadWizard, clicking on it opened a popup
dialog with a list. I don't expect the change to be problematic, the
few translations that I understand work equally well with the link
removed, and UploadWizard code can now handle both versions. I'm not
aware of any uses elsewhere, hopefully this makes the messages less
UploadWizard-specific and more reusable.
Two messages were removed because they are no longer used in Gerrit extensions::
* api-error-duplicate-archive-popup-title
* api-error-duplicate-popup-title
Bug: T34606
Change-Id: I9661f24323371f186976df1f5569aba002d4f34e
jenkins-bot [Mon, 21 Sep 2015 09:40:43 +0000 (09:40 +0000)]
Merge "Removed old "noPush" config hacks from FileBackendMultiWrite"
jenkins-bot [Mon, 21 Sep 2015 09:40:39 +0000 (09:40 +0000)]
Merge "Avoid master queries on image history view"
jenkins-bot [Mon, 21 Sep 2015 09:31:01 +0000 (09:31 +0000)]
Merge "Prevent IDEA error in doOperationsInternal()"
jenkins-bot [Mon, 21 Sep 2015 09:29:47 +0000 (09:29 +0000)]
Merge "Removed unused LockManager var"
jenkins-bot [Mon, 21 Sep 2015 09:29:24 +0000 (09:29 +0000)]
Merge "Made some FileBackendMultiWrite docs more accurate"
Aaron Schulz [Mon, 21 Sep 2015 06:04:29 +0000 (23:04 -0700)]
Prevent IDEA error in doOperationsInternal()
Change-Id: I2f0a1885803fff9dc0eb8ca4a595a83736ce421b
Aaron Schulz [Sun, 20 Sep 2015 20:57:46 +0000 (13:57 -0700)]
Removed unused LockManager var
Change-Id: I02c1fef624e6f2fe04e3c6d525aaed881eacabd7
Translation updater bot [Sun, 20 Sep 2015 19:38:30 +0000 (21:38 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Icdbc2c339c73d7535bff79444065260c8a9a8065
jenkins-bot [Sun, 20 Sep 2015 19:26:50 +0000 (19:26 +0000)]
Merge "Fix hook documentation for ArticleRevisionVisibilitySet"
Aaron Schulz [Sat, 19 Sep 2015 23:05:37 +0000 (16:05 -0700)]
Added readAffinity flag to FileBackendMultiWrite
* A backend with this set (normally 1) will be used for
non-latest reads. This can be used to prefer a local,
replicated, backend instead of one farther away (for
multi-DC setups)
* Note that listings still come from the master always.
Bug: T112708
Change-Id: Ic4bf4ba5a2c9ef78abd11dbd0d4b48c73cad6923
Aaron Schulz [Sun, 20 Sep 2015 19:24:48 +0000 (19:24 +0000)]
Merge "Cleaned up getScopedFileLocks() return value"
umherirrender [Sat, 19 Sep 2015 18:50:37 +0000 (20:50 +0200)]
Update documentation for EmailUser hooks
Document the missing $error parameter of the EmailUser hook.
Clarify the type of the address parameter
Also add an comment, why a variable is used twice
Follows
38c7c8f895f75ac04dbb6e0349779171f8a8e8a1 (r64903)
Change-Id: I1c5636dc378667ef2798c69659b43f70734f4144
umherirrender [Sun, 20 Sep 2015 08:47:29 +0000 (10:47 +0200)]
Fix hook documentation for ArticleRevisionVisibilitySet
The last parameter was not in documentation.
Follows I6a14c7b95041fdd44d7962af6dc139bcc29f7223
Change-Id: I5e5d8948d6a1f4dc2db09028c77cfb79fb4ed5d0
jenkins-bot [Sun, 20 Sep 2015 15:10:08 +0000 (15:10 +0000)]
Merge "Strip comments before gathering url(...) refs in CSS"
Aaron Schulz [Sun, 20 Sep 2015 04:11:53 +0000 (21:11 -0700)]
Made some FileBackendMultiWrite docs more accurate
Change-Id: I14c152601fef3d3c75e7ea7aac72ff87c9f5fd52
Translation updater bot [Sat, 19 Sep 2015 20:54:08 +0000 (22:54 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I211d55ab5194485af47b42a5e428c7475d9a7c44
Elliott Eggleston [Sat, 19 Sep 2015 19:32:09 +0000 (15:32 -0400)]
Strip comments before gathering url(...) refs in CSS
Change I5a3cdeb7d53485f161ccf8133e76850cdf5b4579 introduced tests
for existence of all local files referenced in CSS. It's currently
failing changes even when the referenced files have been commented
out. This change ensures that commented-out files are not included
in the testing list.
Change-Id: I2ad74c13a9cf36e96a7d7451bf229856bcd18422
jenkins-bot [Sat, 19 Sep 2015 18:23:06 +0000 (18:23 +0000)]
Merge "Support async writes to secondary MultiWriteBagOStuff stores"
Aaron Schulz [Fri, 18 Sep 2015 22:19:54 +0000 (15:19 -0700)]
Fixed small IDE error in \96syncFileBackend.php
Change-Id: I86c6cf73470109af2eb88d1c0d053292391630e7
jenkins-bot [Sat, 19 Sep 2015 17:00:36 +0000 (17:00 +0000)]
Merge "Update at-ease to v1.1.0, and OOjs UI to v0.12.8-atease"
mjbmr [Mon, 17 Aug 2015 11:56:04 +0000 (11:56 +0000)]
Add localized "Project" namespace alias for Northern Luri
Change-Id: I6a33acac4ccb440a1784826e8090c7746fb2af7c
Kevin Israel [Sat, 19 Sep 2015 06:07:13 +0000 (02:07 -0400)]
DatabaseBase::deadlockLoop(): Remove unused variables
Follows-up
419221e4a71b.
Change-Id: Ia0d50e40600ca2cd7b90441b66340d3c290be85f
Aaron Schulz [Fri, 21 Aug 2015 06:53:52 +0000 (23:53 -0700)]
Support async writes to secondary MultiWriteBagOStuff stores
* This is useful for ParserCache, as it tries to focus on memcached
and use other caches (e.g. mariadb) for the long-tail of less used
content, as setup on WMF. The class uses BagOStuff in a way that is
compatible with this approach.
Bug: T109751
Change-Id: Ia64eb44a9b52a988fde27b468d604d9163bed4b4
Aaron Schulz [Sat, 19 Sep 2015 00:36:09 +0000 (17:36 -0700)]
Removed old "noPush" config hacks from FileBackendMultiWrite
Change-Id: I80e688cc61c0a656524a0db6aeabb3d3f6e667bd
Ori Livneh [Thu, 17 Sep 2015 22:30:41 +0000 (15:30 -0700)]
ResourceLoaderModule: cache file content hash
Cache the content hash of module files in APC, if available. Include the
modification time in the cached value, so that touching the file invalidates
the cache.
Does this take us back to a world in which updates to a file's mtime cause a
module's version to change? No. The content hash cache will be invalidated,
and the content hash will be computed, but the actual value should remain
the same.
Change-Id: I5ceb8537c3cdb120beae19740635f085ee128272
Ori Livneh [Wed, 16 Sep 2015 23:51:53 +0000 (16:51 -0700)]
resourceloader: Use MD4 to compute file hash rather than SHA1
The hash value generated by ResourceLoaderModule::safeFileHash() is used for
versioning and cache invalidation, so a cryptographic hash function is not
necessary. We can get better performance by using MD4.
Wikimedia on-CPU time over 24 hours of safeFileHash() in load.php:
* 6.68% with safeFileHash using SHA1 (day 1)
* 7.07% with safeFileHash using SHA1 (day 2)
* 2.84% with safeFileHash using MD4 (day 3)
Change-Id: I6ff728f1240268517c0f03e0823129316bc901cb
jdlrobson [Sat, 22 Aug 2015 00:15:48 +0000 (17:15 -0700)]
Do not double load gallery styles now cache has expired
Was separated in 1.26wmf21 (Ib1aef04dc4fece78e6615386ecaef6a9f368f49e)
We should aim to get this in 1.26wmf24 (there will still
be a small amount of pages with outdated HTML but the benefit
to all users not double loading is arguably larger at this point)
Bug: T110709
Change-Id: I96acc21f57ecc8c5e55df9528a4412d0ea641fa8
Translation updater bot [Fri, 18 Sep 2015 21:08:20 +0000 (23:08 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: If90fadcca386970dc6fe43f225d873fa538f9ef7
Timo Tijhof [Tue, 16 Jun 2015 21:14:10 +0000 (22:14 +0100)]
resourceloader: Run ResourceLoaderRegisterModules after wgResourceModules
We don't allow modifying existing modules or registering the same module twice.
We do have an established convention of registering plugins for optional
dependencies conditionally.
E.g.
- VisualEditor should only register 'uls.data' if ULS extension isn't installed.
- The Math extension should only register its VE plugin if VE is installed.
Typically the dependency being checked is registered unconditionally. The
conditional one is the supplemental one in case the canonical source within
the MediaWiki landscape is absent.
Currently this means code will check both isModuleRegistered() and the global
$wgResourceModules. This doesn't make sense. Reverse this so that the
unconditional registry is processed first, and the programmatic one after.
This also helps exceptions come from a more sensible place in case of a duplicate
registration.
Change-Id: Ib2d01c88511ade75a97b2509bccfabb1a4cc5c15
James D. Forrester [Fri, 18 Sep 2015 18:52:43 +0000 (11:52 -0700)]
Update at-ease to v1.1.0, and OOjs UI to v0.12.8-atease
Change-Id: I2e2224f802378f583702fe54e4acfc2937612396
Aaron Schulz [Fri, 18 Sep 2015 17:45:15 +0000 (10:45 -0700)]
Cleaned up getScopedFileLocks() return value
* Just return the ScopedLock itself without wrappig it in an array.
This also makes getScopedLocksForOps() actually return the correct
type according to the docs
Change-Id: Ic2d01d56c3fcb22af3adb5e5d4d1586d62316552
Ori Livneh [Fri, 18 Sep 2015 17:44:50 +0000 (10:44 -0700)]
Fix another test broken by I826adf9
Change-Id: I15367691af8d2290d54cdb3bb134dfa71a15f9f7
Ori Livneh [Fri, 18 Sep 2015 17:26:00 +0000 (10:26 -0700)]
Fix test broken by I826adf9
Change-Id: I4313188767d47cf9efcfd24ed2716475a289bb77
Ori Livneh [Thu, 10 Sep 2015 22:22:13 +0000 (15:22 -0700)]
Replace leafo/lessphp with oyejorge/less.php
Bug: T112035
Change-Id: I826adf981ac28c44f0915ceb059d699d6b23a254