jenkins-bot [Tue, 4 Aug 2015 18:17:10 +0000 (18:17 +0000)]
Merge "mw.widgets.DateInputWidget: Don't get stuck on today's date if none given"
jenkins-bot [Tue, 4 Aug 2015 18:14:16 +0000 (18:14 +0000)]
Merge "mw.widgets.DateInputWidget: Add @example"
jenkins-bot [Tue, 4 Aug 2015 17:30:21 +0000 (17:30 +0000)]
Merge "resourceloader: Async all the way"
jenkins-bot [Tue, 4 Aug 2015 17:26:43 +0000 (17:26 +0000)]
Merge "Remove Sajax"
Timo Tijhof [Tue, 28 Jul 2015 02:46:00 +0000 (19:46 -0700)]
resourceloader: Async all the way
Page startup:
* Due to the startup module and top queue being asynchronous now,
move client-nojs/client-js class handling to OutputPage to ensure
there is no flashes of wrongly styled or unstyled content.
To preserve compatibility for unsupported browsers, undo the
class swap at runtime after the isCompatible() check.
ResourceLoader startup module:
* Load the startup module with <script async>.
* Use DOM methods instead of 'document.write' to create base module request (jquery|mediawiki).
mw.loader:
* Drop 'async' parameter from mw.loader.load().
* Remove the now-unused code paths for synchronous requests.
OutputPage:
* Drop '$loadCall' parameter from makeResourceLoaderLink().
Asynchronous is now the default and only way to load JavaScript.
This means the 'user' module "conditional document-write scripts"
are now a simple "mw.loader.load( url )" call.
* Fix incorrect @return of makeResourceLoaderLink(). This returns
an array not a string.
* Improve documentation of makeResourceLoaderLink().
* Drop '$inHead' parameter from getScriptsForBottomQueue(). No longer used.
Compatibility with the $wgResourceLoaderExperimentalAsyncLoading
feature is maintained. It just no longer needs to change the
way the queue works since it's always asynchronous. The feature
flag now only controls whether the bottom queue starts at the bottom
or starts at the top.
* Remove jQuery.ready() optimisation.
This was mostly there to avoid the setTimeout() loop jQuery does to detect
dom-ready in IE6/IE7 (which we no longer serve JavaScript at all).
And for a bug in Firefox with document.write (which is no longer used as of
this commit).
Bug: T107399
Change-Id: Icba6d7a87b239bf127a221bc6bc432cfa71a4a72
Bartosz Dziewoński [Tue, 4 Aug 2015 16:29:51 +0000 (18:29 +0200)]
mw.widgets.DateInputWidget: Don't get stuck on today's date if none given
If no date was given, the calendar would select today, but the
DateInputWidget itself would have no value.
However, this made the date picker ignore attempts to actually choose
today: the calendar already had that date chosen, so no 'change' even
was fired, and date input stayed empty.
Change mw.widgets.CalendarWidget not to actually select today's date,
just focus the calendar on it.
Follow-up to
66686f8c5e4df1c2cc94273918b9328269d2ec09.
Change-Id: I3ba064982b045a577209d56a009ad0098c357754
C. Scott Ananian [Tue, 4 Aug 2015 16:30:20 +0000 (12:30 -0400)]
Sync up with Parsoid parserTests.
This now aligns with Parsoid commit
19c5d8af12ea0a79141f3aa0634d0fd28fb30c5c
Change-Id: Ifffc18a38c6501706209d1b033d2305a7534ba61
Bartosz Dziewoński [Tue, 4 Aug 2015 16:03:30 +0000 (18:03 +0200)]
mw.widgets.DateInputWidget: Add @example
Bug: T107247
Change-Id: I193fcd3175ebc96297f9d2cdd0f4de428388dd8e
Bartosz Dziewoński [Tue, 4 Aug 2015 12:51:12 +0000 (14:51 +0200)]
mw.widgets.CalendarWidget: Improve today's date highlighting
This was goofy, and the margins caused items to wobble around on
hover. I forgot about the box-shadow trick.
Change-Id: I35c32456ad0a1633ffbd1fbe6ad77adba694ae2d
Bartosz Dziewoński [Tue, 4 Aug 2015 12:00:02 +0000 (14:00 +0200)]
mw.widgets.DateInputWidget: Don't set today's date on activation
Per Mark's review on Ia7bb737bc11b0af3659552fa75d11e6663e2812e.
Change-Id: Ie96602514dd57ffbe655d4ba4a8b5028771acda8
jenkins-bot [Tue, 4 Aug 2015 09:26:08 +0000 (09:26 +0000)]
Merge "Automatically de-duplicate EnqueueJob jobs when possible"
Timo Tijhof [Tue, 4 Aug 2015 01:38:30 +0000 (18:38 -0700)]
resourceloader: In startup, move RLQ handling to after mw.config
Follows-up
59f1a1efa8.
This wasn't breaking anything currently because the startup module
is still loading synchronously.
Change-Id: I2c91331050378f2b5925e89b3aab50a555c07bcd
jenkins-bot [Mon, 3 Aug 2015 23:26:15 +0000 (23:26 +0000)]
Merge "Added DBAccessObjectUtils class to avoid duplication"
jenkins-bot [Mon, 3 Aug 2015 23:07:00 +0000 (23:07 +0000)]
Merge "Empty attribute syntax"
Gergő Tisza [Thu, 23 Jul 2015 20:13:27 +0000 (20:13 +0000)]
Sample StatsD messages when instructed
Bug: T106457
Change-Id: I8ddb5a53dcbaf398f5a114d2a4a862842e980db4
Translation updater bot [Mon, 3 Aug 2015 19:46:31 +0000 (21:46 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Iffa0a6e5b7957ee91312fa19a8816b5d013f6629
Aaron Schulz [Mon, 3 Aug 2015 19:46:30 +0000 (12:46 -0700)]
Automatically de-duplicate EnqueueJob jobs when possible
Bug: T107792
Change-Id: I1e7fe5d5a6fed7b9a0dd4482ef3fc3a260033109
S Page [Mon, 3 Aug 2015 05:33:43 +0000 (22:33 -0700)]
Delete "Currently unused" regarding generateTOC
includes/api/ApiHelp.php uses Linker:generateTOC.
This is a trivial comment-only change.
Change-Id: Ie566a94a67b5e583d20a23edcdac5a1e3ba3d542
Florianschmidtwelzow [Mon, 3 Aug 2015 11:02:48 +0000 (13:02 +0200)]
Use lower case edit link on Special:WhatLinkshere
Bug: T107633
Change-Id: I2365623d0f0e72645c385be279bc2ccdf4954bcd
Kunal Mehta [Sun, 2 Aug 2015 21:10:23 +0000 (14:10 -0700)]
registration: Document 'templates' property of ResourceModules objects
Bug: T107008
Change-Id: Iaac805969460ef114f9e87afe8f6e9f442728670
Ori Livneh [Mon, 3 Aug 2015 03:05:51 +0000 (20:05 -0700)]
Remove Sajax
Calls for the removal of Sajax go back to (at least) October of 2012, when it
was already possible to describe the library as "ancient".[0] The work to mark
the library as deprecated[1] and to update its callers in Core[2] was completed
by Alex Monk two years ago. Usage in extensions was removed long ago in most
cases, and the last holdout -- SecurePoll -- was migrated by Frances Hocutt
last month. There is a long tail of usage in the MediaWiki namespace, but it
should not block this patch.
[0]: http://thread.gmane.org/gmane.science.linguistics.wikipedia.technical/64380
[1]: I4a0af8986
[2]: I52f01e4e7
[3]: I1e4f3107e
Bug: T55120
Change-Id: I22b69113a67c0b3a0979ff6ba1854ee8e95c1b88
Kunal Mehta [Mon, 21 Jul 2014 09:13:23 +0000 (02:13 -0700)]
Add base interface for setters in RequestContext and DerivativeContext
Change-Id: I819633ca5344f73a196623569bb58fd8372d6779
jenkins-bot [Mon, 3 Aug 2015 05:26:47 +0000 (05:26 +0000)]
Merge "Improve messages related to $wgAllowCategorizedRecentChanges"
jenkins-bot [Mon, 3 Aug 2015 05:10:43 +0000 (05:10 +0000)]
Merge "OutputPage: Add \n between </style> and <script>"
Kunal Mehta [Sun, 2 Aug 2015 21:56:44 +0000 (14:56 -0700)]
registration: Actually set the merge strategy for $wgExtensionCredits
$wgExtensionCredits is special and needs to be set in the
ExtensionRegistry. Also change the cache key so any bad cache entries
will be ignored.
Follows up
1ebb0f5659667f.
Change-Id: Iec08ab8d9ef7fe7cccde979530839ef553779658
jenkins-bot [Sun, 2 Aug 2015 21:44:02 +0000 (21:44 +0000)]
Merge "Update the comment in MessagesAzb.php to be consistent with Names.php"
Kunal Mehta [Sat, 1 Aug 2015 08:37:10 +0000 (01:37 -0700)]
registration: Allow setting $wgCapitalLinkOverrides
Change-Id: Iaf8b44d02adf94ac7f7cb6a8a090b4069b98a88c
Kunal Mehta [Sat, 1 Aug 2015 07:39:52 +0000 (00:39 -0700)]
registration: Allow setting $wgNamespaceProtection
Change-Id: Id071eeeb3e734f7833d36610a6b4e786f2d26fa6
jenkins-bot [Sun, 2 Aug 2015 20:29:02 +0000 (20:29 +0000)]
Merge "registration: Overhaul merging of globals"
Translation updater bot [Sun, 2 Aug 2015 19:33:33 +0000 (21:33 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ib39a676086a94d604ccac932170a992ad67b4a41
Kunal Mehta [Sat, 1 Aug 2015 07:38:27 +0000 (00:38 -0700)]
registration: Overhaul merging of globals
Instead of hardcoding specific global settings in ExtensionRegistry,
create specific "merge strategies" that are used to merge globals.
Merge strategies are set for core properties in the ExtensionProcessor,
and extensions can set them for their own configuration settings using
the magic "_merge_strategy" key.
The following merge strategies are included:
* array_merge_recursive - call `array_merge_recursive` on the two arrays
* array_plus - use the "+" operator to combine arrays, preserving
integer keys
* array_plus_2d - A version of array_plus that works on 2d arrays, used
for merging arrays like $wgGroupPermissions
* array_merge - call `array_merge` (default)
This changes the merging of various namespaces related settings to use
array_plus so they actually work.
Bug: T107646
Change-Id: I64cb0553864e3b78b0f203333f58bb73b86a6434
Amir E. Aharoni [Sun, 2 Aug 2015 17:33:35 +0000 (20:33 +0300)]
Update the comment in MessagesAzb.php to be consistent with Names.php
Change-Id: I86ae4c514eebaaea6072c9b67bd35915c7b4c3e4
Kunal Mehta [Sun, 2 Aug 2015 08:16:14 +0000 (01:16 -0700)]
ApiQueryInfo: Remove unused variable
Change-Id: I071ba28ef8ba9f8b137f5e0ea4c7e1fca35cdede
Bryan Davis [Sun, 2 Aug 2015 02:07:21 +0000 (20:07 -0600)]
Remove classmap-authoratative: true from composer.json
The use of classmap-authoratative: true provides a measurable
performance improvement for MediaWiki on the WMF production cluster, but
that environment really uses the composer.json in the
mediawiki/vendor.git repo and not the composer.json in
mediawiki/core.git. Since this setting is merely performance enhancing
and can be worked around for WMF and other large scale users, it seems
reasonable to change the default behavior to be more friendly to
development use where there may be legitimate reasons for PSR0/4
autoloaders (eg bootstrapped tests in extensions).
Bug: T107682
Change-Id: I805c1b82eb6bc93bf3a74a8a9d07e34f2f8c645f
Geoffrey Mon [Sun, 7 Jun 2015 00:51:41 +0000 (20:51 -0400)]
Use notification on successful preferences save
"Now 98.6% leaner!"
* Use Xml::tags() for cleaner (old) successbox generation.
* Use #mw-preferences-success for the old successbox
to make its removal more specific.
* Use the mw.notify box for saved prefs message.
* Remove box on keydown or mousedown in #preftoc or
.prefsection.
* Remove success=1 querystring on load to prevent
unnecessary reappearance of notification on reload.
Bug: T19496
Change-Id: Ibecbe21aa52ddc061d4bb27815f6fa5161a96735
Geoffrey Mon [Sat, 1 Aug 2015 21:15:58 +0000 (21:15 +0000)]
Use XmlSelect in SpecialListusers
Bug: T93234
Change-Id: I25cdd8f7eb1bbfd893d201f6c68f5ccfabe70bf3
Translation updater bot [Sat, 1 Aug 2015 19:33:52 +0000 (21:33 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ibdd18216129fb8ab0180d07083521e4a0520c30c
Timo Tijhof [Fri, 31 Jul 2015 19:34:10 +0000 (12:34 -0700)]
resourceloader: Remove ESI support (previously disabled)
These were never enabled or used in production and are not
compatible with the upcoming async changes (T107399). To avoid
having to maintain compatibility with this, remove it for now.
The current on-going request to operations for ESI support is unrelated
to this code.
Considered making makeResourceLoaderLink() protected as it's not
used anywhere in @wikimedia Git outside mediawiki-core. And the unit
test actually treated it as protected already. However it's called
in SpecialJavaScriptTest so leaving that as-is for now.
In Icba6d7a87b239 the signature will change again with the removal
of the $loadCall parameter, which is obsolete in an async world
due to document.write being forbidden.
Change-Id: I9f557cc794638ffd15329934865e21e1027f7cfa
Fomafix [Sat, 1 Aug 2015 12:24:45 +0000 (12:24 +0000)]
OutputPage: Add \n between </style> and <script>
The ResourceLoader does not add a newline anymore.
Change-Id: Idfdbd0a8836ab2ec7abef1530ca883fb6d618eb4
Kunal Mehta [Sat, 1 Aug 2015 06:40:07 +0000 (23:40 -0700)]
registration: Fix merging of $wgRevokePermissions
It's the same as $wgGroupPermissions.
Change-Id: I9c289219c53314970e7af5998c00d6a372bb00cb
Kunal Mehta [Sat, 1 Aug 2015 06:01:59 +0000 (23:01 -0700)]
registration: Fix "namespaces" schema to match code
The "namespaces" property is supposed to be an array of objects, not an
object. Document the properties of the individual objects, and mark the
actually required ones as required.
Change-Id: Ie3cee3e720b962073a1ff098659faa9f11d44fe3
jenkins-bot [Sat, 1 Aug 2015 01:05:13 +0000 (01:05 +0000)]
Merge "Revision::newNullRevision: Make sure the Title is set in the constructor"
Kunal Mehta [Sat, 1 Aug 2015 00:00:48 +0000 (17:00 -0700)]
Revision::newNullRevision: Make sure the Title is set in the constructor
Revision::__construct() calls Revision::getContentModel() to initialize
the 'content_model' field. If a Title object is not set, it will try to
look up the page in the slave database, which might be behind. At that
point it will default to wikitext, which is problematic during imports.
By passing the Title object in the constructor instead of afterwards,
the content model should be intialized properly.
Bug: T91170
Change-Id: I7fea996ea5b723967272af8cb344150aea10bb54
jenkins-bot [Sat, 1 Aug 2015 00:00:38 +0000 (00:00 +0000)]
Merge "mediawiki.filewarning: Use 'visibility: hidden' instead of 'display: none'"
jenkins-bot [Sat, 1 Aug 2015 00:00:17 +0000 (00:00 +0000)]
Merge "mw.widgets.DateInputWidget: Allow not having a date selected"
Ori.livneh [Fri, 31 Jul 2015 23:13:35 +0000 (23:13 +0000)]
Revert I4afaecd8: Avoiding writing sessions for no reason
I4afaecd8 reduced the frequency at which the TTL of sessions keys is reset, on
the assumption that we were doing it a whole lot more often than necessary.
We can now assume that this assumption was false, because an uncommitted revert
of this change which I pushed to production earlier caused the rate of session
loss errors in the logs to plummet.
Bug: T102199
Change-Id: Ie67f4ca000afcf3d4f44155c13f91cd4c286866d
Ori Livneh [Fri, 31 Jul 2015 02:07:43 +0000 (19:07 -0700)]
Fix spelling mistake in ResourceLoader inline documentation
Change-Id: Ie099eed12ba45aeb1d3b8b08c911222af25e42fa
Bartosz Dziewoński [Fri, 31 Jul 2015 21:27:47 +0000 (23:27 +0200)]
mediawiki.filewarning: Use 'visibility: hidden' instead of 'display: none'
Setting 'display: none' causes OOjs UI to get confused when it's
trying to show the popup and calculating its position.
Bug: T107554
Change-Id: Iaf8d728c58efd67cdb965b4cd529164aaabc02be
jenkins-bot [Fri, 31 Jul 2015 19:52:02 +0000 (19:52 +0000)]
Merge "Monolog: Add Formatter that uses MWExceptionHandler::getRedactedTraceAsString"
Translation updater bot [Fri, 31 Jul 2015 19:29:37 +0000 (21:29 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ibfb6ba5ceb9cc7cc8365891a76936c7754afabea
Bryan Davis [Thu, 30 Jul 2015 19:02:35 +0000 (13:02 -0600)]
Monolog: Add Formatter that uses MWExceptionHandler::getRedactedTraceAsString
Add a Monolog Formatter class that uses
MWExceptionHandler::getRedactedTraceAsString when outputting stack
traces.
Bug: T107440
Change-Id: Ic580c137e27aac95435f7b073a18cf61820b172f
Bartosz Dziewoński [Thu, 30 Jul 2015 22:36:19 +0000 (00:36 +0200)]
mw.widgets.DateInputWidget: Allow not having a date selected
* Allow empty value, that is, no date being selected. Display
an appropriate label when that is the case.
* Start with no date selected, rather than today's date.
* When the field is empty and gets focus, set the date to today, on
the assumption that this is likely what the user wants. Permit
emptying the field, though.
* Highlight today's date on the calendar.
Bonus cleanup:
* Update the UI from #setValue, immediately when needed.
* Improve validation of incoming values.
* Correct some documentation.
* Correct some bad copy-paste in styles which caused disabled widget
to not display correctly.
Change-Id: I7a1f7ff20eb6fc21ea59ecfe48deb9305c8e29e8
Timo Tijhof [Fri, 31 Jul 2015 00:13:04 +0000 (17:13 -0700)]
resourceloader: Use WrappedString library to merge RLQ inline scripts
Update unit test to account for the internal 'html' prop now
being an array instead of string. And update expected values to
no longer have a trailing line break.
Bug: T27202
Change-Id: I105b6ef2e64ab8b891562e16940edb88592bd415
Bartosz Dziewoński [Thu, 30 Jul 2015 21:03:19 +0000 (23:03 +0200)]
XmlSelect: Tweak documentation
Correct some variable names and types, also some words.
Change-Id: I7ff0664f7ac4f26be8427a2140e2280aa7620657
mjbmr [Thu, 30 Jul 2015 14:31:40 +0000 (14:31 +0000)]
Use Perso-Arabic numberic system for South Azeri (azb)
Change-Id: Ifb0e8edc1ca4d0720ceb048a46589158b34eec52
jenkins-bot [Fri, 31 Jul 2015 09:32:03 +0000 (09:32 +0000)]
Merge "Added sanitizeHdrs() tests for Swift"
jenkins-bot [Fri, 31 Jul 2015 01:43:26 +0000 (01:43 +0000)]
Merge "array_shift returns null on empty array, not false"
Matthew Flaschen [Fri, 31 Jul 2015 01:27:07 +0000 (21:27 -0400)]
array_shift returns null on empty array, not false
Change-Id: I690f9dd0de11ff60f9cba9f401c6e456e7ba8bd6
Timo Tijhof [Fri, 31 Jul 2015 00:31:58 +0000 (17:31 -0700)]
Add wikimedia/wrappedstring library
Depends on I9a468fd65f1 in mediawiki/vendor.
Change-Id: I3f952aa059d930130a8d712e39798cc1031e0a25
jenkins-bot [Thu, 30 Jul 2015 23:33:12 +0000 (23:33 +0000)]
Merge "Actually run the Less compilation tests"
Ori Livneh [Thu, 30 Jul 2015 22:54:18 +0000 (15:54 -0700)]
Make Special:MIMESearch expensive again
Anything slow enough to get reaped by query timeouts is expensive, right?
This reverts change I88826ae7bf.
Bug: T107265
Change-Id: Ic9ed00f164d8fa076bb53649f77a9e5ac1e33a6d
jenkins-bot [Thu, 30 Jul 2015 22:35:23 +0000 (22:35 +0000)]
Merge "Switch search-suggest message to use Message::parse()"
jenkins-bot [Thu, 30 Jul 2015 21:57:15 +0000 (21:57 +0000)]
Merge "Throw exception on falsy server in RedisConnectionPool."
jenkins-bot [Thu, 30 Jul 2015 21:47:47 +0000 (21:47 +0000)]
Merge "Use XmlSelect in ProtectionForm"
Matthew Flaschen [Thu, 30 Jul 2015 21:38:42 +0000 (17:38 -0400)]
Throw exception on falsy server in RedisConnectionPool.
Surprisingly, IP::splitHostAndPort does not return false for these.
Also, tweak documentation of splitHostAndPort.
Bug: T107498
Change-Id: I4230b1e7ba0fa2d28be8de3e0e7b064e58f0579c
Timo Tijhof [Wed, 29 Jul 2015 23:50:10 +0000 (16:50 -0700)]
resourceloader: Restore minification for 'user' and 'site' module
Follows-up
19a40cd3ad, Id599b6be4.
TODO: Change minification to happen per-module instead of per-request so that
these hacks aren't needed (T107377).
Change-Id: Iaa281ee117f2ae7a51884d256dfbb1807224fc52
jenkins-bot [Thu, 30 Jul 2015 21:20:38 +0000 (21:20 +0000)]
Merge "Add getImageInfo to mw.Upload"
jenkins-bot [Thu, 30 Jul 2015 21:20:32 +0000 (21:20 +0000)]
Merge "Use XmlSelect in WebInstallerPage"
Geoffrey Mon [Thu, 30 Jul 2015 20:00:41 +0000 (20:00 +0000)]
Use XmlSelect in ProtectionForm
Bug: T93234
Change-Id: I47e08fb364dda6e4f59cd84c4c135e267e2c7bd9
Geoffrey Mon [Thu, 30 Jul 2015 19:07:48 +0000 (19:07 +0000)]
Use XmlSelect in WebInstallerPage
Bug: T93234
Change-Id: Iba0067b4fac381e715e92d87c682261eef8d6669
jenkins-bot [Thu, 30 Jul 2015 19:05:20 +0000 (19:05 +0000)]
Merge "Revert "Use OOUI HTMLForm for Special:Watchlist""
Mark Holmquist [Thu, 30 Jul 2015 18:52:38 +0000 (13:52 -0500)]
Add getImageInfo to mw.Upload
Just a little shortcut and so you don't need to rely on the promises.
Bug: T107460
Change-Id: I1e36f3cd8cb6b50ec5db6d77512ce03cd98a2caf
Translation updater bot [Thu, 30 Jul 2015 18:56:15 +0000 (20:56 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I9b25e1abaaf2e6e4ba21e4c540a79bdb30521cea
Legoktm [Thu, 30 Jul 2015 18:55:20 +0000 (18:55 +0000)]
Revert "Use OOUI HTMLForm for Special:Watchlist"
Issues with spacing (T107311), probably shouldn't have
been merged right before the branch cut.
This reverts commit
9508c5bd576ee4206eb8e89b7d2ba82985f4e151.
Change-Id: Ibf2ca5a33b8ab0f7381c720c6c92fbfd7a7c819d
jenkins-bot [Thu, 30 Jul 2015 18:45:40 +0000 (18:45 +0000)]
Merge "Add pageid to API parse output"
Timo Tijhof [Mon, 27 Jul 2015 23:40:52 +0000 (16:40 -0700)]
resourceloader: Convert inline statements to queued functions
Instead of having inline statements be plain statements wrapped
in an if-conditional block, convert them to inline functions
pushed into a queue.
The queue is kept in-memory until the startup module is loaded
at which point it transforms into a function that is immediately
invoked.
This is a prerequisite to making the top queue asynchronous.
Until then these functions will just run immediately as they
occur in the HTML after the startup module.
This is based on the previously reverted commit
e86e5f8460.
Bug: T107399
Change-Id: Ifb38efca219c10ab973ad4c4ebb21c6a4239b005
Geoffrey Mon [Wed, 29 Jul 2015 12:32:21 +0000 (12:32 +0000)]
Add pageid to API parse output
Bug: T27134
Change-Id: I4ef765e18020f93d7861e62d20649c89fca0f828
Aaron Schulz [Wed, 29 Jul 2015 20:51:42 +0000 (13:51 -0700)]
Use STRAIGHT_JOIN in SpecialWhatlinkshere query
* Also added a type hint to avoid IDE errors in this area
Bug: T106682
Change-Id: I825eedaceb0c0323de85466e48582d72c57b201a
Bryan Davis [Thu, 30 Jul 2015 17:24:07 +0000 (11:24 -0600)]
ObjectFactory: add support for setter injection
Extend ObjectFactory::getObjectFromSpec() to support setter injection on
created objects when the specification includes a 'calls' member.
Bug: T107440
Change-Id: Ie2ece2e9658dd2d895d3935da4dc2da8a0a316e2
jenkins-bot [Thu, 30 Jul 2015 02:00:12 +0000 (02:00 +0000)]
Merge "logger: Fix undefined variable $data"
Aaron Schulz [Thu, 30 Jul 2015 01:57:23 +0000 (18:57 -0700)]
Added sanitizeHdrs() tests for Swift
Change-Id: I2e3c3225c729e5220ca16f6ef4518da49e7f721c
Timo Tijhof [Thu, 30 Jul 2015 01:26:52 +0000 (18:26 -0700)]
logger: Fix undefined variable $data
Follows-up
77a397125f. Also add unit test that would've caught
this "PHP Notice: Undefined variable: data" error.
Change-Id: I8a3bd9c8b685c2aa7a466e3d3c61ffa027be02fa
Timo Tijhof [Wed, 29 Jul 2015 23:38:28 +0000 (16:38 -0700)]
resourceloader: Ensure 'user' loads after 'site' (asynchronously)
Regression from
19a40cd3ad which made the 'site' module load asynchronously,
but the 'user' module was still loaded synchronously which meant it ran before
the site module finished.
Full test script at <https://gist.github.com/Krinkle/
5db1d237da241b243485>.
Also:
* This changes the 'user' module to load asynchronously.
* Similar to
19a40cd3ad for site module, this makes the styles for the user
module load twice. Harmless but doesn't look pretty internally.
* Remove the obsolete XXX-comment from
0b5389d98d (r56770).
* Add comment documenting the fact that the 'excludepages' feature can cause
User/common.js and User/vector.js to be mis-ordered when the user previews
common.js edits. This has always been the case (since 2009) and is merely
being documented here.
Bug: T32358
Bug: T106736
Bug: T102077
Change-Id: Id599b6be42613529fb7f4dd3273f36ccadb3a09e
jenkins-bot [Thu, 30 Jul 2015 00:53:45 +0000 (00:53 +0000)]
Merge "Decolonize 'viewsourcetext' and 'viewyourtext' messages"
jenkins-bot [Thu, 30 Jul 2015 00:53:41 +0000 (00:53 +0000)]
Merge "HTMLForm: Correct documentation"
Kunal Mehta [Wed, 29 Jul 2015 22:38:40 +0000 (15:38 -0700)]
Have RedisConnectionPool explicitly implement Psr\Log\LoggerAwareInterface
Follows up
93f360a01b49
Change-Id: I0266be9771b7bf58de9f573249f28c6f28adf059
Bryan Davis [Wed, 29 Jul 2015 20:32:42 +0000 (14:32 -0600)]
RedisConnectionPool: convert to PSR3 logging
Convert from wfDebug* logging to Psr\Log\LoggerInterface. Use structured
logging data to tag log messages the associated redis server.
Bug: T88649
Change-Id: I5fc4c68e52b13a688bdcc93d9defc9f973323241
Timo Tijhof [Fri, 24 Jul 2015 04:00:39 +0000 (21:00 -0700)]
resourceloader: Implement support for 'site' into mw.loader
* No longer a dedicated <script> with only=scripts.
This means it creates no extra script request and becomes a versioned
request using data from the startup module.
* No longer in group=site.
This means it collapses into the existing bottom queue.
Not even one dedicated script request, but zero.
* No longer exclude from module storage. This can be cached like any other module.
It was previously excluded because it was already loaded separately.
* Change mw.loader#execute to special-case the 'site' module with $.globalEval.
* Add hack to ensure the styles of the 'site' module still load without
JavaScript, in the top, and after the ResourceLoaderDynamicStyles marker.
This unfortunately stays its own request. Not sure how to avoid that.
Bug: T32358
Bug: T106736
Bug: T102077
Change-Id: I291a8c3aae1a71760bec58161891c1bd77c9b724
Translation updater bot [Wed, 29 Jul 2015 19:20:43 +0000 (21:20 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I5de4b112125b9be8f2aa2ae23a0defaaec323407
jenkins-bot [Wed, 29 Jul 2015 17:45:17 +0000 (17:45 +0000)]
Merge "Populate rev_content_model when a move causes default content model to change"
jenkins-bot [Wed, 29 Jul 2015 16:10:52 +0000 (16:10 +0000)]
Merge "Add Content-Length header to thumb.php redirects"
Giuseppe Lavagetto [Wed, 29 Jul 2015 10:12:55 +0000 (12:12 +0200)]
Add Content-Length header to thumb.php redirects
Without the Content-Length header, the response is sent with
Transfer-Encoding: Chunked, which is somehow mangled by
mod_fastcgi. Varnish then claims the response is malformed and declines
to process it, sending the client a 503 instead.
This is a followup of
0ee9e717f49b9e15bd63fd66f3d0967939c35b05
Bug: T84842
Change-Id: Ia610a43789e6ff14cfc0964f285bbec39c890152
jenkins-bot [Wed, 29 Jul 2015 15:53:37 +0000 (15:53 +0000)]
Merge "mw.widgets.CalendarWidget: Silence jshint for one line, not entire file"
Prateek Saxena [Wed, 29 Jul 2015 01:03:30 +0000 (06:33 +0530)]
mw.widgets.CalendarWidget: Silence jshint for one line, not entire file
Follows up I6f760f7c32e2e6ed2008e897af72fb9e17dd663b
Suppress warning at the specific line that uses the static keyword
rather than the entire file.
> Expected an identifier and instead saw 'static' (a reserved word). (W024)
Change-Id: I0e4f9062b01b82893205da9e72c41acae3d6967f
Erik Bernhardson [Wed, 29 Jul 2015 15:06:29 +0000 (08:06 -0700)]
Switch search-suggest message to use Message::parse()
This was recently made more explicit and use escape() which matches
the english definition, but frwiki (and maybe others) has overridden
these messages on wiki via MediaWiki:search-suggest to include HTML
code. To get the correct output from that HTML we need to use ::parse()
instead of ::text()
Change-Id: I5251dead7f1262728b4cab5bcfc5b0d1b9acc761
Florian [Thu, 23 Jul 2015 16:15:08 +0000 (18:15 +0200)]
Special:WhatLinksHere Don't show edit links for non-direct-editing pages
It's possible, that pages links to a page, which aren't editable directly
through action=edit. Don't show an edit link for such pages.
Bug: T106680
Change-Id: I01ff6dbd5b4e9fff84795f7c3d8ada23c09c7ae8
Kunal Mehta [Wed, 29 Jul 2015 07:42:56 +0000 (00:42 -0700)]
Avoid revision lookup post-save in InfoAction::invalidateCache()
We just saved the page, so we know the revision id. Pass it on to
InfoAction::invalidateCache() so it doesn't have to be looked up again.
Follows-up
0452855044d2d.
Change-Id: I990c0da09fae94f403f3550069036d3f208090a6
Aaron Schulz [Wed, 29 Jul 2015 01:06:48 +0000 (18:06 -0700)]
Defer the InfoAction purge in onArticleEdit()
Change-Id: I73fba15c26c12bea1abad219611e660fb3901a86
jenkins-bot [Tue, 28 Jul 2015 23:53:20 +0000 (23:53 +0000)]
Merge "RedisBagOStuff: if no alternatives, skip master link status check"
Ori Livneh [Tue, 28 Jul 2015 23:22:57 +0000 (16:22 -0700)]
RedisBagOStuff: if no alternatives, skip master link status check
If RedisBagOStuff::getConnection() is able to establish a connection, only
check the master link status if automatic failover is enabled and if there are
other viable servers left to consider. If there are no servers left to
consider, or if automatic failover is not configured, just return the
connection handle without subjecting it to further tests.
This will have the side-effect of making RedisBagOStuff compatible with
Nutcracker, which does not implement the INFO command. This is because when
MediaWiki is configured to use Nutcracker, the server pool will consist of a
single server (namely, Nutcracker itself), and thus there will be no other
server to consider, so INFO will never be executed.
Change-Id: I3812ec5a0b22df122bdf44350bc0496574c02ce8