Translation updater bot [Mon, 7 Mar 2016 20:59:57 +0000 (21:59 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I11fb4866b2fc0c5daf9ee639d42feef2cdafe768
jenkins-bot [Mon, 7 Mar 2016 19:15:41 +0000 (19:15 +0000)]
Merge "Improve change content model log entry for page creations"
Kunal Mehta [Wed, 2 Mar 2016 21:31:18 +0000 (13:31 -0800)]
Improve change content model log entry for page creations
There really isn't a previous content model because the page didn't
exist beforehand, so say the page was created with a non-default
content model.
Bug: T128645
Change-Id: Ibe0b124e3f3ceaaf3775f82e2646b7639a146a42
Translation updater bot [Sun, 6 Mar 2016 20:51:01 +0000 (21:51 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I683765945022afc8b9b4a839ab28f47f79d86f69
jenkins-bot [Sat, 5 Mar 2016 23:31:25 +0000 (23:31 +0000)]
Merge "Instrument diff timing"
Translation updater bot [Sat, 5 Mar 2016 21:41:56 +0000 (22:41 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ib49bf89dcc309086e521635db1198fe39e46b995
jenkins-bot [Sat, 5 Mar 2016 00:37:40 +0000 (00:37 +0000)]
Merge "qunit: Don't require expect() anymore"
jenkins-bot [Sat, 5 Mar 2016 00:20:43 +0000 (00:20 +0000)]
Merge "Don't treat configured but absent engine as executable"
Timo Tijhof [Fri, 4 Mar 2016 02:29:55 +0000 (02:29 +0000)]
qunit: Don't require expect() anymore
This hasn't been useful in QUnit for a while now with the improved
assertion context object and tracking of asynchronous tests without
shared global state.
Change-Id: Icaf865b4d6e85e739bf79c4d1bacb8a71ec5a3da
Max Semenik [Fri, 4 Mar 2016 22:41:50 +0000 (14:41 -0800)]
Instrument diff timing
Bug: T128697
Change-Id: I748286abac025092abc33b3b7b8a0d3dabafdd25
Max Semenik [Fri, 4 Mar 2016 19:21:53 +0000 (11:21 -0800)]
Don't treat configured but absent engine as executable
E.g. if you have $wgExternalDiffEngine = 'wikidiff2' but after
a PHP update you no longer have the module you still shouldn't attempt
to shell out to some nonexistent wikidiff2.
Bug: T74030
Change-Id: I745cd1cb2e152f4fbb95c8f782d70117f8c844f1
jenkins-bot [Fri, 4 Mar 2016 21:26:29 +0000 (21:26 +0000)]
Merge "SpecialUserlogin: Update main RequestContext in addition to globals"
Translation updater bot [Fri, 4 Mar 2016 21:11:18 +0000 (22:11 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I62572d292497e21e7ffcaf6b8ab2524f469360a6
jenkins-bot [Fri, 4 Mar 2016 21:01:58 +0000 (21:01 +0000)]
Merge "Ditch support for original wikidiff"
Max Semenik [Fri, 4 Mar 2016 07:04:30 +0000 (23:04 -0800)]
Ditch support for original wikidiff
It's been unmaintained for a while and does not support
various languages adequately.
Also, document $wgExternalDiffEngine.
Change-Id: Ia8aeffd79d550fb7a1a7121456940446eea8bd4f
jenkins-bot [Fri, 4 Mar 2016 20:10:17 +0000 (20:10 +0000)]
Merge "Add additional tracking information to mediawiki.searchSuggest"
Erik Bernhardson [Mon, 15 Feb 2016 20:49:37 +0000 (12:49 -0800)]
Add additional tracking information to mediawiki.searchSuggest
Adds a few pieces of information to improve tracking of autocomplete
usage.
* When using Special:Search 'go' feature forward wprov parameter to redirect
* Include a data attribute indicating autocomplete location to
differentiate usage of the header and Special:Search content autocompletes
* Report exact query string that was used for impression-results
* Add handling to allow searchSuggest subscribers to append tracking
information to generated article links
* Add a new hook, SpecialSearchGoResult, that can either change the url
redirected to in the 'go' feature or cancel it entirely.
Bug: T125915
Change-Id: Iec7171fcf301f1659d852afa87ce271f468177c1
Timo Tijhof [Fri, 4 Mar 2016 18:49:58 +0000 (18:49 +0000)]
SpecialUserlogin: Update main RequestContext in addition to globals
Change-Id: I835bb77938f7e02c862563ea38341cf5840aa367
jenkins-bot [Fri, 4 Mar 2016 17:59:03 +0000 (17:59 +0000)]
Merge "Follow-up
e33d6f45a. Fix some mistakes w/ limit on QueryPage"
jenkins-bot [Fri, 4 Mar 2016 16:42:18 +0000 (16:42 +0000)]
Merge "Revert "Allow auto suggestion for subpages of Special:BotPasswords""
Anomie [Fri, 4 Mar 2016 16:27:58 +0000 (16:27 +0000)]
Revert "Allow auto suggestion for subpages of Special:BotPasswords"
This is completely wrong. If you're going to auto-complete anything here (which is probably not really necessary), you need to auto-complete the "bot names" for the current user rather than every user name on the wiki.
This reverts commit
aa8823ac4b58be611caf2595ad3c7b0ecacbc8ac.
Change-Id: I5d477198827c107f947d25dddc2513f12d2bfd62
jenkins-bot [Fri, 4 Mar 2016 15:29:30 +0000 (15:29 +0000)]
Merge "Revert "Templatize Special:Contributions lines""
Krinkle [Fri, 4 Mar 2016 15:14:58 +0000 (15:14 +0000)]
Revert "Templatize Special:Contributions lines"
Breaks RevisionDelete.
This reverts commit
1bce6db10e99840cfbd10fa074c93d8d96d88412.
Change-Id: I8f63e002e34a9d13e2597a27e3dd918a687d1e7c
Arlo Breault [Fri, 4 Mar 2016 00:52:39 +0000 (16:52 -0800)]
Fix parserTests.php script
* Follow up to
60e4f3fd
Change-Id: If1370a720da21c3662fda4100c96b1758ddc1dc0
Brian Wolff [Tue, 29 Dec 2015 07:55:21 +0000 (02:55 -0500)]
Follow-up
e33d6f45a. Fix some mistakes w/ limit on QueryPage
Fix some rather embarrassing mistakes. See comments on
e33d6f45a.
Also change the behaviour when someone sets an offset higher than
max allowed. Returning a page with 0 results and broken prev/next
links is poor UI imo.
Change-Id: Ibfc983675ae0c600eeccd5e361550e9b5f96f5fd
jenkins-bot [Thu, 3 Mar 2016 20:39:01 +0000 (20:39 +0000)]
Merge "mediawiki.ui: Button group active buttons unchanged on user interaction"
jenkins-bot [Thu, 3 Mar 2016 20:38:56 +0000 (20:38 +0000)]
Merge "Upstream `isElementInViewport` from MobileFrontend"
jenkins-bot [Thu, 3 Mar 2016 20:30:54 +0000 (20:30 +0000)]
Merge "Templatize Special:Contributions lines"
jenkins-bot [Thu, 3 Mar 2016 20:30:49 +0000 (20:30 +0000)]
Merge "MediaWiki Widgets: Add new SearchInputWidget"
Volker E [Tue, 23 Feb 2016 04:21:36 +0000 (20:21 -0800)]
mediawiki.ui: Button group active buttons unchanged on user interaction
Applying default cursor and making active button's hover state behave same
as normal state for improved user experience.
Bug: T77916
Depends-On: Ib89500d70b3e79edcf9ba989f05a311e0edec82b
Change-Id: I8fd74c28ccb89df1e257aa3d63d362697c4542ed
Adam Roses Wight [Wed, 27 Jan 2016 05:17:21 +0000 (21:17 -0800)]
Templatize Special:Contributions lines
Bug: T122537
Change-Id: I11aac43de495881e10e393d075a231bd346ea547
Volker E [Wed, 30 Dec 2015 03:05:45 +0000 (04:05 +0100)]
Integrate Less helper `.mixin-screen-reader-text()`
Adding Less parametric helper mixin for screen reader users.
This will help with changes such as
I7db2d7e5387f1a4392d587764598dbd82dd0a5cd
Bug: T119444
Change-Id: Ie9bce512804385578361eb77579106c799d5ff57
jenkins-bot [Thu, 3 Mar 2016 17:11:05 +0000 (17:11 +0000)]
Merge "Prevent "Failed to create..." warnings when session loading fails"
Florian [Wed, 25 Nov 2015 20:01:58 +0000 (21:01 +0100)]
MediaWiki Widgets: Add new SearchInputWidget
SearchInputWidget is similar to a TitleInputWidget, but doesn't has
a visible loading indication, doesn't highlight the first result and
uses the opensearch api endpoint for suggestions, instead of
prefixsearch.
Extra points:
* Improve documentation of mw.widgets.TitleInputWidget's configuration
option validateTitle
Bug: T118443
Change-Id: I8b8098041fe2971389fa908d007d2e77255829ec
jenkins-bot [Thu, 3 Mar 2016 16:28:45 +0000 (16:28 +0000)]
Merge "Add tags support to patrol, protect, unblock, and undelete"
jenkins-bot [Thu, 3 Mar 2016 01:55:35 +0000 (01:55 +0000)]
Merge "installer: Update main RequestContext when updating $wgLang"
jenkins-bot [Thu, 3 Mar 2016 01:54:14 +0000 (01:54 +0000)]
Merge "tests: Ensure main RequestContext reflects custom $wgLang"
jenkins-bot [Thu, 3 Mar 2016 01:47:14 +0000 (01:47 +0000)]
Merge "maintenance: Remove odd use of $wgLang"
Timo Tijhof [Tue, 1 Mar 2016 21:50:26 +0000 (21:50 +0000)]
installer: Update main RequestContext when updating $wgLang
Change-Id: I1e3b76b2358a90a551616dc84eb6f2be6bb41c0a
Timo Tijhof [Tue, 1 Mar 2016 21:46:35 +0000 (21:46 +0000)]
tests: Ensure main RequestContext reflects custom $wgLang
Call RequestContext::resetMain() so that any subsequent call
to getMain() and getLanguage() is aware of the latest state
as set up by the setUp() and setupGlobals() methods.
The MediaWikiTestCase class for PHPUnit did this already, but
the parserTest suite and UploadFromUrlTestSuite didn't yet.
Change-Id: I6481176228944004091078704d0346c8f3fc0cf1
jenkins-bot [Thu, 3 Mar 2016 01:38:05 +0000 (01:38 +0000)]
Merge "filebackend: Clean up TempFSFile and fix IDEA errors"
Timo Tijhof [Tue, 1 Mar 2016 21:36:08 +0000 (21:36 +0000)]
maintenance: Remove odd use of $wgLang
* testCompression.php: Called $wgLang, but didn't set it.
It just assumed it was English. Use a local variable instead.
* update.php: Set $wgLang to English. Set main RequestContext as well.
* transstat.php: Rename $wgLanguages to $languages for less confusion.
It's just a local instance of language.inc's Languages class.
Change-Id: I67865f4d8710946001f7586ab0a17e125366b184
Aaron Schulz [Fri, 26 Feb 2016 03:17:46 +0000 (19:17 -0800)]
filebackend: Clean up TempFSFile and fix IDEA errors
Change-Id: I4e25e3bf906fa3a918f4462fac1a6be5e85696aa
Timo Tijhof [Thu, 3 Mar 2016 00:16:13 +0000 (00:16 +0000)]
CSSMin: Remove file-existance filter in getLocalFileReferences()
Follows-up
8f5cd11d82fa.
The old getLocalFileReferences() method is no longer used anywhere.
Remove it and rename getAllLocalFileReferences back to it.
Change-Id: I864258aad128ba9b54464c7bc854543f2937f977
Timo Tijhof [Wed, 2 Mar 2016 23:55:28 +0000 (23:55 +0000)]
resourceloader: Don't cache CSSMin::remap() calls
The output of this function is not deterministic. This function
is what tranforms urls to include content hashes and also embeds
content as data URI. The calls to this function are expected to be
up to date and matching the version hash as constructed by the
current web request.
Previously, the content hash as constructed based on the collective
file hash of all references images was accurate but the generated
css associated with it could be stale.
Unless we abuse MemoizedCallable to take a separate cache buster
(with $localFileRefs?), it's best to remove this as it isn't
a deterministic function and shouldn't be memoized.
Bug: T128668
Change-Id: Icb87ddc585d7320ac48619446bb8b9cbe5f4780e
Gergő Tisza [Wed, 2 Mar 2016 23:36:02 +0000 (15:36 -0800)]
Prevent "Failed to create..." warnings when session loading fails
If there is an existing session for a given ID but loading it fails,
there is no point in trying to create a new empty session with that
ID. Just fail silently (the reason for not loading the session
should be logged elsewhere), don't spam the logs and don't slow
down execution by throwing and catching an exception.
Change-Id: I8299872cc29c32cb245686ed0bca6b9a5902cdc1
This, that and the other [Thu, 28 Jan 2016 14:03:18 +0000 (01:03 +1100)]
Linker: Avoid passing false to Title::newFromText
This is needed because the call to substr() returns false when the string
is only 1 character long, which occurs when parsing degenerate links like
[[:]] and [[::|foo]].
The seemingly unnecessary test for $match[1] !== '' is for forwards
compatibility with PHP 7.
Bug: T121706
Change-Id: Icc19ee990d01958d64b938d298e9a7e1df7181b5
jhobs [Thu, 28 Jan 2016 17:49:38 +0000 (12:49 -0500)]
Upstream `isElementInViewport` from MobileFrontend
As a useful utility function, we've copied this method several times
across multiple extensions, which is a pretty good sign it should
actually live in core.
Changes:
* Add `mediawiki.viewport` module
* Rewrite method to be more robust and accept any viewport
* Add `mw.viewport` to jsduck categories file
* Add method for checking if an element is close to the viewport
* Add unit tests
Bug: T124317
Change-Id: I38eec4f1e568f51e7e212b2b3f10b8da8d36f316
Timo Tijhof [Wed, 2 Mar 2016 21:52:21 +0000 (21:52 +0000)]
api: Fix "PHP Notice: Undefined variable: config"
Follows-up
362c220aa1, which split the method up but didn't
re-create a local $config variable.
Change-Id: Ic32ac3c600d0b4d69e8129fa50ea47d9a6a54b20
Translation updater bot [Wed, 2 Mar 2016 21:36:58 +0000 (22:36 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ib781f4c698a70de2afd5db1c3a0c58bf8f4285f0
jenkins-bot [Wed, 2 Mar 2016 21:24:28 +0000 (21:24 +0000)]
Merge "Add ContentHandler::supportsCategories method"
jenkins-bot [Wed, 2 Mar 2016 20:22:37 +0000 (20:22 +0000)]
Merge "AutoloadGenerator: Account for PHP 5.5 syntax like "self::static""
Bartosz Dziewoński [Wed, 2 Mar 2016 19:57:35 +0000 (20:57 +0100)]
Fix trivial PHPCS violations in */skins/* directories
Due to T127238, files in various */skins/* directories are not checked
by PHPCS. Temporarily removed the exclude rule from phpcs.xml and ran:
composer fix includes/skins/* tests/phpunit/includes/skins/* tests/phpunit/skins/*
Change-Id: I9240c1cee825920b6634903282be6252cce55686
jenkins-bot [Wed, 2 Mar 2016 19:40:01 +0000 (19:40 +0000)]
Merge "Revert "Deprecating: Consolidating `progressive` & `constructive` buttons""
Bartosz Dziewoński [Wed, 2 Mar 2016 19:27:52 +0000 (19:27 +0000)]
Revert "Deprecating: Consolidating `progressive` & `constructive` buttons"
I merged it too early, sorry. Deployment is planned for a week later.
This reverts commit
cb8fa5fd173f4cfdb9945019fa9ac894eafa3ffe.
Bug: T110555
Change-Id: I369fa6d2b4f6531f7ec475c08cba283d323a0ffb
jenkins-bot [Wed, 2 Mar 2016 19:25:15 +0000 (19:25 +0000)]
Merge "Add help link for Special:ChangeContentModel"
Timo Tijhof [Wed, 2 Mar 2016 19:17:42 +0000 (19:17 +0000)]
AutoloadGenerator: Account for PHP 5.5 syntax like "self::static"
Bug: T128625
Change-Id: I905b549a738b76c07c56ec92f500553c1d48f558
jenkins-bot [Wed, 2 Mar 2016 19:14:25 +0000 (19:14 +0000)]
Merge "Allow FSFile objects for src in FileBackend::do*Operations"
Aaron Schulz [Sat, 27 Feb 2016 01:33:42 +0000 (17:33 -0800)]
Allow FSFile objects for src in FileBackend::do*Operations
Convenience aside, this lets multiwrite backends do async replication for
"store" operations safely, buy keeping a handle to the source file that
prevents it from getting prematurely deleted before the post-send writes
to the secondary backends can happen.
Bug: T91869
Change-Id: I1254de527c47835c35fed6e526b42953c1b2b2ca
Kunal Mehta [Wed, 2 Mar 2016 08:47:04 +0000 (00:47 -0800)]
Add help link for Special:ChangeContentModel
Bug: T128556
Change-Id: Id55a463cf6eac4f20e800ae49448e6007f68a3c4
Brad Jorsch [Wed, 2 Mar 2016 17:17:55 +0000 (12:17 -0500)]
Fix use of RawMessage in Status::getMessage()
RawMessage::__construct() takes a single array of params, it's not
varargs-style like wfMessage().
Change-Id: I63950ee16e359aa2627228350e27d9e94bb6e8ce
jenkins-bot [Wed, 2 Mar 2016 16:39:17 +0000 (16:39 +0000)]
Merge "Deprecating: Consolidating `progressive` & `constructive` buttons"
aude [Mon, 15 Feb 2016 15:19:58 +0000 (16:19 +0100)]
Add ContentHandler::supportsCategories method
and check for this in WikiPage::doEditUpdates before
inserting a new CategoryMembershipChangeJob.
Some content models like the Wikibase ones do not
have categories and it's wasteful to add these jobs
for all Wikibase edits.
Bug: T126977
Change-Id: I2c54a4ba1546445dc41101e15cb83a2c6cc2b1c9
jenkins-bot [Wed, 2 Mar 2016 12:19:54 +0000 (12:19 +0000)]
Merge "Fix comment in SearchEngine.php"
jenkins-bot [Wed, 2 Mar 2016 05:07:09 +0000 (05:07 +0000)]
Merge "objectcache: Fix MultiWriteBagOStuff docs ('asyncHandler', not 'asyncCallback')"
Timo Tijhof [Wed, 2 Mar 2016 02:49:53 +0000 (02:49 +0000)]
objectcache: Fix MultiWriteBagOStuff docs ('asyncHandler', not 'asyncCallback')
Follows-up
1171cc00cd.
Change-Id: I97189e916d0aba507273216e3e9ab28ce0d5ffec
jenkins-bot [Wed, 2 Mar 2016 02:27:58 +0000 (02:27 +0000)]
Merge "Convert remaining array() to [] in API"
jenkins-bot [Wed, 2 Mar 2016 01:48:19 +0000 (01:48 +0000)]
Merge "mw.Upload.BookletLayout/Dialog: Add determinate progress bar"
jenkins-bot [Tue, 1 Mar 2016 23:14:46 +0000 (23:14 +0000)]
Merge "findHooks.php: Use recursive directory iterator"
jenkins-bot [Tue, 1 Mar 2016 23:07:15 +0000 (23:07 +0000)]
Merge "WebRequestUpload: Use canonical header name in getHeader()"
Timo Tijhof [Fri, 26 Feb 2016 18:51:40 +0000 (18:51 +0000)]
findHooks.php: Use recursive directory iterator
The following dirs were not previously included:
* includes/compat/
* includes/compat/normal/
* includes/composer/
* includes/config/
* includes/db/loadbalancer/
* includes/debug/logger/
* includes/filebackend/filejournal/
* includes/filebackend/lockmanager/
* includes/jobqueue/aggregator/
* includes/jobqueue/jobs/
* includes/jobqueue/utils/
* includes/libs/
* includes/objectcache/
* includes/pager/
* includes/poolcounter/
* includes/profiler/output/
* includes/profiler/
* includes/registration/
* includes/templates/
* includes/tidy/
* includes/title/
* includes/utils/iterators/
* includes/widget/
* maintenance/ subdirectories
Change-Id: I6c01b8768f9f70152e320d254f8025a0ffde8c62
Timo Tijhof [Sat, 27 Feb 2016 19:35:21 +0000 (19:35 +0000)]
user: Remove obsolete note in docs/memcached.txt
The User object cache hasn't been that since
b3acd4f.
Change-Id: Ia7ab78ef22c24a7421ea25db1440e7267f0a725d
James D. Forrester [Tue, 1 Mar 2016 22:00:31 +0000 (14:00 -0800)]
Update OOjs UI to v0.16.1
Release notes:
https://git.wikimedia.org/blob/oojs%2Fui.git/v0.16.1/History.md
Change-Id: I4bd51d4c105a09d71a911e04538b51f58c3ea721
Translation updater bot [Tue, 1 Mar 2016 20:18:57 +0000 (21:18 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I7c15b259b0f88dbc05ce1520ecb319a66eed6f73
jenkins-bot [Tue, 1 Mar 2016 18:16:33 +0000 (18:16 +0000)]
Merge "Add mobile target to mediawiki.special"
jenkins-bot [Tue, 1 Mar 2016 18:16:29 +0000 (18:16 +0000)]
Merge "Add access modifiers to MagicWordArray.php"
jenkins-bot [Tue, 1 Mar 2016 18:13:19 +0000 (18:13 +0000)]
Merge "Add access modifiers to MagicWord.php"
jenkins-bot [Tue, 1 Mar 2016 17:40:07 +0000 (17:40 +0000)]
Merge "Move MagicWordArray class to own file"
jenkins-bot [Tue, 1 Mar 2016 16:49:49 +0000 (16:49 +0000)]
Merge "Rm unused $config from SpecialRecentChanges::getDefaultOptions"
addshore [Tue, 1 Mar 2016 11:55:58 +0000 (11:55 +0000)]
Rm unused $config from SpecialRecentChanges::getDefaultOptions
Change-Id: I5dc8f091c06b0d32d5d84af885608a57ca9c054a
Alex Monk [Sun, 14 Feb 2016 20:01:44 +0000 (20:01 +0000)]
Add mobile target to mediawiki.special
Bug: T126935
Change-Id: I1135397d150b5ad978da88bfd9d85c1d9e294eb7
jenkins-bot [Tue, 1 Mar 2016 11:30:55 +0000 (11:30 +0000)]
Merge "Reset scoped session for upload jobs after deferred updates"
jenkins-bot [Tue, 1 Mar 2016 11:12:20 +0000 (11:12 +0000)]
Merge "Allow API action=logout with BotPasswords"
jenkins-bot [Tue, 1 Mar 2016 11:02:48 +0000 (11:02 +0000)]
Merge "Unpersist the session on session load failure"
addshore [Tue, 1 Mar 2016 10:56:55 +0000 (10:56 +0000)]
Add access modifiers to MagicWordArray.php
Change-Id: Ib5fe0fd22a6f24142f1e87338298c1bdef45cc4a
addshore [Tue, 1 Mar 2016 10:56:04 +0000 (10:56 +0000)]
Add access modifiers to MagicWord.php
Change-Id: I3588d9d2c17203ec3ff11736cd6ce84f687677a5
addshore [Tue, 1 Mar 2016 10:49:29 +0000 (10:49 +0000)]
Move MagicWordArray class to own file
Change-Id: I9ba602da77f1c8d4270d8ae10d03e82a3197e5b1
aude [Tue, 1 Mar 2016 09:48:55 +0000 (10:48 +0100)]
Fix comment in SearchEngine.php
Change-Id: Ib00b42d2210be5bc1125fa7ba74c27a5d7fbf36c
jenkins-bot [Tue, 1 Mar 2016 02:37:47 +0000 (02:37 +0000)]
Merge "Unpersist the session on logout"
Brad Jorsch [Mon, 29 Feb 2016 17:12:17 +0000 (12:12 -0500)]
Allow API action=logout with BotPasswords
Since login is handled specially, do the same for logout.
Bug: T128335
Change-Id: Ib3b12d7045449b5c44f5ff7d1ecfce14416e8400
jenkins-bot [Tue, 1 Mar 2016 00:34:45 +0000 (00:34 +0000)]
Merge "Use static::class instead of get_called_class()"
Gergő Tisza [Mon, 29 Feb 2016 23:41:56 +0000 (15:41 -0800)]
Cache user data in memory
Stores user data looked up in WAN cache in memory so that lookups in the
same request do not result in new memcached lookups.
Quick and dirty solution, but nicer ones are more difficult:
* no idea what replacing WANObjectCache::get/set with getWithSetCallback
(which has its own in-process cache) would do, the code is complex
and completely different
* would be nice to wrap the logic into a proxy object (like CachedBagOStuff)
but WANObjectCache calls set() internally (and marks it final), so
inheriting is not safe; the interface and implementation should be
separated, and that means updating all external callers which do a type
check.
* ObjectCache::getInstance('hash') cannot be used because it has no
item limit and this could eat up the memory with a script that iterates
through lots of users
The patch does not attempt to replicate tombstoning for
User::clearSharedCache('refresh').
Based on Iec1504700a and Idef9a9d3.
Change-Id: I419f356b0c306d16711b433da95dccdb44645154
Co-Authored-By: Ori Livneh <ori@wikimedia.org>
Bug: T128157
jenkins-bot [Mon, 29 Feb 2016 23:58:59 +0000 (23:58 +0000)]
Merge "Revert "Add type hint against LinkTarget""
jenkins-bot [Mon, 29 Feb 2016 23:44:52 +0000 (23:44 +0000)]
Merge "Add CategoryMembershipChangeJobTest"
jenkins-bot [Mon, 29 Feb 2016 23:33:15 +0000 (23:33 +0000)]
Merge "CategoryViewer: Do opportunistic category recounts for mismatched file counts, too"
jenkins-bot [Mon, 29 Feb 2016 23:33:10 +0000 (23:33 +0000)]
Merge "mail: Turn UserMailer::quotedPrintableCallback into an inline closure"
jenkins-bot [Mon, 29 Feb 2016 23:32:00 +0000 (23:32 +0000)]
Merge "media: Fix casing of IPTC::parse() in tests"
Brian Wolff [Mon, 29 Feb 2016 23:31:48 +0000 (23:31 +0000)]
Revert "Add type hint against LinkTarget"
Can cause fatal if your database has invalid titles
stored in it (Title::makeTitleSafe is fed to $lb->addObj()
without checking that the result is non-null)
This reverts commit
0e5a1f8879b211b44416e3762bf2d76c28f3f569.
Change-Id: I4174b2fdcc3d8e24ecf0bcc39cd0f0f2e8bfd6b2
addshore [Mon, 29 Feb 2016 22:54:01 +0000 (22:54 +0000)]
Add CategoryMembershipChangeJobTest
Change-Id: Ia04bb85260be7d2aaaf171a2c886633b66ee6e77
Reedy [Thu, 25 Feb 2016 20:36:32 +0000 (20:36 +0000)]
mail: Turn UserMailer::quotedPrintableCallback into an inline closure
Change-Id: I1b11a95d47caeaf02291a5ab522b57d7570ca738