lhc/web/wiklou.git
9 years agoMerge "jquery.tablesorter: testcases for the parsers"
jenkins-bot [Tue, 17 Feb 2015 13:42:22 +0000 (13:42 +0000)]
Merge "jquery.tablesorter: testcases for the parsers"

9 years agoMerge "Improve title text in jquery.confirmable"
jenkins-bot [Tue, 17 Feb 2015 13:39:52 +0000 (13:39 +0000)]
Merge "Improve title text in jquery.confirmable"

9 years agoMerge "jquery.makeCollapsible: Align toggle based on content language"
jenkins-bot [Tue, 17 Feb 2015 13:37:31 +0000 (13:37 +0000)]
Merge "jquery.makeCollapsible: Align toggle based on content language"

9 years agoMerge "htmlform: Simplify implementation of loadDataFromRequest()"
jenkins-bot [Tue, 17 Feb 2015 13:36:15 +0000 (13:36 +0000)]
Merge "htmlform: Simplify implementation of loadDataFromRequest()"

9 years agoDocument mw.libs better
S Page [Tue, 17 Feb 2015 02:02:00 +0000 (18:02 -0800)]
Document mw.libs better

Per Krinkle in IRC. This is a comment-only change.

Change-Id: Id5b8be26557683ab82b4c664e8d5271e7a32a52b

9 years agoregistration: Improve merging of arrays
Kunal Mehta [Fri, 13 Feb 2015 07:40:13 +0000 (23:40 -0800)]
registration: Improve merging of arrays

Currently we use array_merge_recursive when merging any array, which is really
only needed for merging $wgHooks entries, and causes issues when trying to
merge default settings if the config is already set.

$wgHooks and $wgGroupPermissions are now special cased when merging, and all
other arrays are just +='d.

Bug: T88665
Bug: T89364
Change-Id: I773a9463d4428aa618c17f848c01b24e04610e95

9 years agoMade EditPage avoid querying the master block table on form view
Aaron Schulz [Thu, 15 Jan 2015 00:18:02 +0000 (16:18 -0800)]
Made EditPage avoid querying the master block table on form view

* Refactored getUserPermissionsErrors "expensive" checks flag to be
  a bit more general.

bug: T51419
Change-Id: Ic1882aa2957eed2b978761b5fc34ea9bdd8981b5

9 years agoFix URL comparison used for cacheability decision
Roan Kattouw [Mon, 16 Feb 2015 20:20:21 +0000 (12:20 -0800)]
Fix URL comparison used for cacheability decision

HTTPS hits were never marked as cacheable, because
getFullRequestURL() (https://...) was being compared to
getSquidURLs() (which are all http://...).

Instead, expand the request URL with PROTO_INTERNAL and
use that for the comparison.

Bug: T89673
Change-Id: I3402820613bc6839fa2e2d053ddffcbf1b17ddb5

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 16 Feb 2015 20:25:18 +0000 (21:25 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I063611d4a2759d3d367175068f8e2de90717d2a6

9 years agotest: Remove several jscs over-rides and make the code pass
James D. Forrester [Sat, 14 Feb 2015 20:29:43 +0000 (12:29 -0800)]
test: Remove several jscs over-rides and make the code pass

Rules newly instated from the coding standards:

* disallowKeywordsOnNewLine
* disallowImplicitTypeConversion
* requireLineBreakAfterVariableAssignment
* requireSpaceAfterLineComment
* validateIndentation

Change-Id: I3d1845b1ed68037b6a4275ba9f333c3ccc36359a

9 years agoImprove title text in jquery.confirmable
wctaiwan [Sun, 15 Feb 2015 22:09:57 +0000 (17:09 -0500)]
Improve title text in jquery.confirmable

Don't clone the title text for the "No" button, and make the title text
customizable for both yes and no buttons.

Bug: T89572
Change-Id: I7e1e5c6ee78aa54a97205d6682f9520008cc11dd

9 years agoMerge "mediawiki.mixins.less: Do not serve SVG to Opera 12 when fallback available"
jenkins-bot [Mon, 16 Feb 2015 17:57:45 +0000 (17:57 +0000)]
Merge "mediawiki.mixins.less: Do not serve SVG to Opera 12 when fallback available"

9 years agomediawiki.user: Clean up crypto version of generateRandomSessionId
Timo Tijhof [Sat, 14 Feb 2015 10:03:55 +0000 (10:03 +0000)]
mediawiki.user: Clean up crypto version of generateRandomSessionId

Follows-up 4860ea3ca6.

* Documented how the byteToHex padding works.
* Move for-statement to after var and function declarations.
* Use permalink for git url (master will change, making the link
  less useful).
* Remove dead ", r" comma statement.
* Substitute 0x03 to match the other 3.
* Use 8 instead of arr.length. (Matching the other loops.)
* Use jQuery from closure instead of global $.
* Use $.trim instead of str.trim (new in ES5).
* Add test to assert consecutive return values are different.

Change-Id: I9f59cf60316091e435e4bc9dbd700b9c6e431dac

9 years agomediawiki.mixins.less: Do not serve SVG to Opera 12 when fallback available
Bartosz Dziewoński [Mon, 16 Feb 2015 16:21:18 +0000 (17:21 +0100)]
mediawiki.mixins.less: Do not serve SVG to Opera 12 when fallback available

We support it as a Grade A browser, which means that we should do our
best to provide the best possible experience. In my opinion, the best
possible experience involves not giving it any SVGs.

Opera 12 has issues when rendering SVG background-images together with
border-radius or background-size rules (see task T87504 for details
and examples), and both of these are becoming increasingly common in
our codebase.

Uses in CSS are not worth changing, as they are probably the simple
cases where it works correctly anyway.

Bug: T87504
Change-Id: Icdc2e1dcbcbc356042a064d703e1fe469004280b

9 years agoMerge "Chunked upload: Return expected offset on offset error"
jenkins-bot [Mon, 16 Feb 2015 14:59:39 +0000 (14:59 +0000)]
Merge "Chunked upload: Return expected offset on offset error"

9 years agoMerge "Make HTMLTagFilter disappear totally when $wgUseTagFilter = false"
jenkins-bot [Mon, 16 Feb 2015 13:18:46 +0000 (13:18 +0000)]
Merge "Make HTMLTagFilter disappear totally when $wgUseTagFilter = false"

9 years agoMake HTMLTagFilter disappear totally when $wgUseTagFilter = false
This, that and the other [Mon, 16 Feb 2015 13:02:51 +0000 (00:02 +1100)]
Make HTMLTagFilter disappear totally when $wgUseTagFilter = false

Previously the label displayed but the input field didn't.

Bug: T78432
Change-Id: Ia84ac611f76c98495a5b3f90c0ce01b6e1e404a3

9 years agoUse both Latin and Cyrillic for Uzbek in Names.php
Bahodir Mansurov [Fri, 6 Feb 2015 23:55:15 +0000 (18:55 -0500)]
Use both Latin and Cyrillic for Uzbek in Names.php

Change-Id: I19c3dcae6ea5900a492a963f8ac9aa0b7a43fab7

9 years agoMerge "update.php: Add option to not check if external dependencies are up to date"
jenkins-bot [Sun, 15 Feb 2015 20:44:50 +0000 (20:44 +0000)]
Merge "update.php: Add option to not check if external dependencies are up to date"

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 15 Feb 2015 19:24:24 +0000 (20:24 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I7dc4a94ec0977157d89cc73f0b550afaa1d87180

9 years agojquery.makeCollapsible: Align toggle based on content language
Fomafix [Sun, 15 Feb 2015 11:26:36 +0000 (11:26 +0000)]
jquery.makeCollapsible: Align toggle based on content language

The collapsible toggle button is in user interface language but the alignment
of this button should fit to the direction of the content language.

Change-Id: I31927b8e091bdf81458c7d3d0cd5f6040af5f0f4

9 years agoCheck use of RC patrol for watchlists
cenarium [Fri, 13 Feb 2015 12:55:28 +0000 (13:55 +0100)]
Check use of RC patrol for watchlists

This checks use of RC patrol instead of NP patrol to determine when to
display show/hide patroled edits in watchlists. RecentChanges already
does this, and there's no use in displaying a setting that only affect
new page creations in the watchlist. The filtering cannot work anyway
since ChangesListSpecialPage checks for RC patrol on its own.
Bug: T76054
Change-Id: I9c587f56297881d58551ee302c4de01e9452b960

9 years agoPass the right variable to recordQueryCompletion()
Aaron Schulz [Fri, 13 Feb 2015 22:19:00 +0000 (14:19 -0800)]
Pass the right variable to recordQueryCompletion()

Change-Id: I0d75ed7dd55e40b63bd823ec43b8d3a8f5bed53b

9 years agotest: Don't run the npm pipeline for the now-empty skins directory
James D. Forrester [Sat, 14 Feb 2015 21:30:42 +0000 (13:30 -0800)]
test: Don't run the npm pipeline for the now-empty skins directory

Change-Id: I426835c83c0dd73fa7247ed2ec299cdec1e43fcb

9 years agoMerge "Replace dev.w3.org with more permanent or stable urls"
jenkins-bot [Sat, 14 Feb 2015 18:57:14 +0000 (18:57 +0000)]
Merge "Replace dev.w3.org with more permanent or stable urls"

9 years agoMerge "Avoid undefined index when query old block logs with api"
jenkins-bot [Sat, 14 Feb 2015 18:04:42 +0000 (18:04 +0000)]
Merge "Avoid undefined index when query old block logs with api"

9 years agoReplace dev.w3.org with more permanent or stable urls
Timo Tijhof [Sat, 14 Feb 2015 14:21:33 +0000 (14:21 +0000)]
Replace dev.w3.org with more permanent or stable urls

* Sanitizer: dev.w3.org/html5/spec-preview
  Follows-up 8e8b15afc6.
  Use stable reference to www.w3.org/TR/html5 instead (currently
  from October 2014) instead of an old preview branch from 2012.

* parserTests: dev.w3.org/html5
  Follows-up 959aa336a1.
  Url is now a dead end. Replaced with link to a draft from around
  that time. The relevant section no longer exists in the curent
  spec as it got split off into a separate spec. Maybe this one:
  https://url.spec.whatwg.org/#percent-encoded-bytes

* Parser, HTMLIntField: dev.w3.org/html5
  Use stable reference to www.w3.org/TR/html5 instead.

* HTMLFloatField.php: dev.w3.org/html5
  Url is now a dead end. Draft from around that time:
  http://www.w3.org/TR/2011/WD-html5-20110525/common-microsyntaxes.html#real-numbers
  The section "Real numbers" no longer exists in the current spec,
  but the Infrastructure chapter has a section on floating point
  numbers that describes the same sequence now.

Change-Id: I7dcd49b6cd39785fb1b294e4eeaf39bda52337b2

9 years agoMerge "Handle invalid grouppage on Special:Statistics"
jenkins-bot [Sat, 14 Feb 2015 12:56:27 +0000 (12:56 +0000)]
Merge "Handle invalid grouppage on Special:Statistics"

9 years agomediawiki.ui: Fix .mw-ui-input padding to be centered vertically
jarrettmunton [Sun, 8 Feb 2015 23:07:10 +0000 (17:07 -0600)]
mediawiki.ui: Fix .mw-ui-input padding to be centered vertically

Changed the padding information in
resources/src/mediawiki.ui/components/inputs.less
from .4em .3em .2em .6em to .3em .3em .3em .6em
so that vertical spacing is centered properly.

Bug: T85284
Change-Id: I1e90e3f1922ebee205f6101e186ddb4ba7c19c10

9 years agohtmlform: Simplify implementation of loadDataFromRequest()
Timo Tijhof [Sat, 14 Feb 2015 07:16:43 +0000 (07:16 +0000)]
htmlform: Simplify implementation of loadDataFromRequest()

Change-Id: I30d1c186c9e3eb67130b798af987f275316828de

9 years agoMerge "Add .list-style-image-svg"
jenkins-bot [Sat, 14 Feb 2015 02:47:55 +0000 (02:47 +0000)]
Merge "Add .list-style-image-svg"

9 years agoMerge "Using cryptoAPI if available in generateRandomSessionId"
jenkins-bot [Sat, 14 Feb 2015 01:53:10 +0000 (01:53 +0000)]
Merge "Using cryptoAPI if available in generateRandomSessionId"

9 years agoMerge "Update MWLoggerMonologHandler for Monolog 1.12.0"
jenkins-bot [Sat, 14 Feb 2015 01:41:42 +0000 (01:41 +0000)]
Merge "Update MWLoggerMonologHandler for Monolog 1.12.0"

9 years agoUpdate MWLoggerMonologHandler for Monolog 1.12.0
Bryan Davis [Sat, 14 Feb 2015 01:08:21 +0000 (18:08 -0700)]
Update MWLoggerMonologHandler for Monolog 1.12.0

Monolog 1.12.0 "fixed" Handler::isHandling() so that instead of a full
log record it is only passed an array with the log event's level.
MWLoggerMonologHandler was relying on a full record to allow inspecting
the channel name and looking for a 'private' flag in the context
information.

Update MWLoggerMonologHandler to do legacy processing checks in
Handler::write() where the full log event is present for inspection.

Bug: T89313
Change-Id: Ia878c2cb6bff47d6b35ff38ba3b7ac2ea5556565

9 years agoMerge "mediawiki.cookie: Implement expiry option as time from now"
jenkins-bot [Sat, 14 Feb 2015 01:03:52 +0000 (01:03 +0000)]
Merge "mediawiki.cookie: Implement expiry option as time from now"

9 years agoMerge "Add File::getDescriptionTouched() method"
jenkins-bot [Sat, 14 Feb 2015 01:01:23 +0000 (01:01 +0000)]
Merge "Add File::getDescriptionTouched() method"

9 years agomediawiki.cookie: Implement expiry option as time from now
Timo Tijhof [Tue, 10 Feb 2015 06:12:15 +0000 (06:12 +0000)]
mediawiki.cookie: Implement expiry option as time from now

The current option (Date object) isn't user-friendly as it requires
users to construct a Date and set the time offset accordingly.

They likely do that using an offset, not an exact date. Optimise
for the common case by supporting this directly (similar to the
server-side cookie expiration logic, as well as our ObjectCache
classes and other systems).

Support for exact dates is kept as this is still useful for the
native transport layer where timestamps are used. But the API
surface now supports durations as well.

Note that there was an undocumented fall-through of options.expires
as number of days. This is implemented by upstream jquery.cookie
and mw.cookie previously didn't recognise or reject this value so
it fell through.

Change-Id: Ia2e51d3a3e4d19484367cb74003c4f756c87345d

9 years agoAdd File::getDescriptionTouched() method
Gergő Tisza [Thu, 5 Feb 2015 03:43:22 +0000 (03:43 +0000)]
Add File::getDescriptionTouched() method

Fetch page_touched timestamp of file description page via a DB query
(possibly to a foreign DB).

Not sure about the performance implications; could add a memcached
layer on top, but the same DB lookup was already done for local
files.

Bug: T88648
Change-Id: I891c806aab235ff2c0e73c98b06b64fbe78e1517

9 years agoMerge "Fix magic getter for $status->ok"
jenkins-bot [Sat, 14 Feb 2015 00:44:14 +0000 (00:44 +0000)]
Merge "Fix magic getter for $status->ok"

9 years agoFix magic getter for $status->ok
Mark Holmquist [Fri, 13 Feb 2015 17:29:58 +0000 (11:29 -0600)]
Fix magic getter for $status->ok

__get called a non-existant function which caused errors
in file deletion.

Also adds tests for $status->ok and $status->errors

Change-Id: I8f5a21eb8d795e5e3f5a58f2384ad0dcbad749a2

9 years agoUsing cryptoAPI if available in generateRandomSessionId
Nuria Ruiz [Sat, 31 Jan 2015 03:50:09 +0000 (19:50 -0800)]
Using cryptoAPI if available in generateRandomSessionId

BREAKING CHANGE:
The alphabet of the prior string returned was
A-Za-z0-9 and now it is 0-9A-F

Bug: T78449

Change-Id: I71b5ccc5887b842485971917809d1eb01bc56a90

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 13 Feb 2015 20:16:58 +0000 (21:16 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I1226cfd518a5101431a2de1a7b2ec101e64bcd30

9 years agoMerge "Cache countable statistics to prevent multiple counting on import"
Legoktm [Fri, 13 Feb 2015 19:54:17 +0000 (19:54 +0000)]
Merge "Cache countable statistics to prevent multiple counting on import"

9 years agoMerge "Make ImageGalleryBase member variables protected"
jenkins-bot [Fri, 13 Feb 2015 18:54:58 +0000 (18:54 +0000)]
Merge "Make ImageGalleryBase member variables protected"

9 years agoMerge "UnregisteredLocalFile.php: Override File::getBitDepth() stub"
jenkins-bot [Fri, 13 Feb 2015 18:25:12 +0000 (18:25 +0000)]
Merge "UnregisteredLocalFile.php: Override File::getBitDepth() stub"

9 years agoUnregisteredLocalFile.php: Override File::getBitDepth() stub
Vivek Ghaisas [Thu, 25 Dec 2014 08:52:12 +0000 (11:52 +0300)]
UnregisteredLocalFile.php: Override File::getBitDepth() stub

The File::getBitDepth() stub simply returns 0 and UnregisteredLocalFile was not
overriding this to return the actual bit depth. UnregisteredLocalFile::getBitDepth()
now handles this by returning the 'bits' field of $this->getImageSize().

This commit just fixes the above bug, but some rethinking of the structure and
behaviour of this class and the UploadStashFile class is required.

Bug: T36952
Change-Id: I4a8fd6b74b923f2052ccd2e47980486299ad2a6e

9 years agoSpecialMediaStatistics: Protect against invalid indexes
Chad Horohoe [Thu, 12 Feb 2015 19:31:47 +0000 (11:31 -0800)]
SpecialMediaStatistics: Protect against invalid indexes

Sometimes the full string isn't represented, leading to invalid
index access on list()

Just default to 0 since it makes sense here

Change-Id: Icd06d2b22b1fcb57a8849ef6dc8659b424f27fdc

9 years agoMerge "Define the context field in LogFormatter"
jenkins-bot [Fri, 13 Feb 2015 16:48:57 +0000 (16:48 +0000)]
Merge "Define the context field in LogFormatter"

9 years agoFix spammy "Writes done" debug message
Tim Starling [Fri, 13 Feb 2015 04:56:39 +0000 (15:56 +1100)]
Fix spammy "Writes done" debug message

Was broken by I1a8830eaf, which accidentally caused the log message to
be output for every write query, instead of only the first write query.

Change-Id: I4a53914bcb28804ff4c31b4e0418591793d411b6

9 years agoDefine the context field in LogFormatter
Matthew Flaschen [Fri, 13 Feb 2015 03:53:50 +0000 (22:53 -0500)]
Define the context field in LogFormatter

Public for backwards-compatibility.

Change-Id: I6d66d14b58def1fe6674b47d1e4d3ff53034bf2c

9 years agoMerge "Slightly increase wikitable padding"
jenkins-bot [Fri, 13 Feb 2015 01:08:38 +0000 (01:08 +0000)]
Merge "Slightly increase wikitable padding"

9 years agoSlightly increase wikitable padding
MZMcBride [Tue, 3 Feb 2015 06:29:20 +0000 (01:29 -0500)]
Slightly increase wikitable padding

A friend of mine suggested that increasing the wikitable padding improves
readability and looks cleaner. Leaving the print padding untouched.

Change-Id: I7f6f8850ab47bed5e158b3aa8c6b49170ce6e910

9 years agoImprove namespaceDupes.php
Tim Starling [Thu, 5 Feb 2015 05:08:14 +0000 (16:08 +1100)]
Improve namespaceDupes.php

General review and improvement in service of T87645.

* Add the option to add a prefix to a page on conflict, instead of a suffix.
  This makes it easier to find the pages after they are renamed, since
  [[Special:Prefixindex]] can be used.
* Rename options --prefix to --source-pseudo-ns, --suffix to --add-suffix,
  --key to --dest-ns.
* Document --source-pseudo-ns and verify that it does what I think it was
  meant to do, per T14371, thus allowing me to remove the "todo" note.
* Add the option to do a history merge instead of a rename to resolve
  conflicts.
* Pass around an options array instead of an ever-growing list of formal
  parameters.
* Rename resolveConflictOn() to movePage() and remove the $table and
  $prefix parameters which were unused since MW 1.5. Also get rid of
  the usage AS in getConflicts(), most instances of which were for MW 1.4
  compatibility.
* Rename getConflicts() to getTargetList() since "conflict" is a
  misnomer. A conflict occurs between two entities, really what the code
  was calling an "unresolvable conflict" is actually a conflict, whereas a
  "resolvable conflict" is merely a page in the wrong namespace.
* Add option --move-talk since checking the talk namespace doesn't make sense
  in the case of corruption, it only makes sense when introducing a new
  namespace, when a pseudo-namespace has previously been used.
* Use terse, greppable output, with a single line per page.
* Replace ksort() followed by asort() with a single uksort(), since I think
  that is what was intended. PHP's sort functions are not stable, so you
  can't run two different sort functions on the same array and expect to the
  first sort to have a predictable effect on the result.
* If --fix is not given, give the same output, just don't take the action.
* Refactor checkNamespace(). Move target title determination to its own
  function, was a mixture of SQL and a couple of lines in reportConflict().
  Move alternate title determination to its own function, was mostly in
  resolveConflict(). Get rid of reportConflict() and resolveConflict(), do
  what's left of them in the main loop. Get rid of modification of page row.
* Improve destination namespace calculation logic of --move-talk feature,
  per comments by PleaseStand.

Change-Id: I49921315315e1a29c9559ba221e9903b10b73d68

9 years agoMerge "backupTextPassTest: Disable checkpointHelper test"
jenkins-bot [Fri, 13 Feb 2015 00:48:36 +0000 (00:48 +0000)]
Merge "backupTextPassTest: Disable checkpointHelper test"

9 years agoExpose installed libraries in action=query&meta=siteinfo
Kunal Mehta [Thu, 12 Feb 2015 21:09:23 +0000 (13:09 -0800)]
Expose installed libraries in action=query&meta=siteinfo

Bug: T89385
Change-Id: I4256f4d9858c09c042f649b7e701189acf85aedd

9 years agoAdd .list-style-image-svg
paladox [Fri, 6 Feb 2015 21:58:02 +0000 (21:58 +0000)]
Add .list-style-image-svg

Edokter suggested to use this, this way.

Bug: T37338
Change-Id: I09319e9188878cf316dd5a20c76804be9d88999d

9 years agoMerge "Removed deprecated RefreshLinksJob2 class"
jenkins-bot [Thu, 12 Feb 2015 22:38:10 +0000 (22:38 +0000)]
Merge "Removed deprecated RefreshLinksJob2 class"

9 years agoRemoved deprecated RefreshLinksJob2 class
Aaron Schulz [Thu, 12 Feb 2015 22:19:06 +0000 (14:19 -0800)]
Removed deprecated RefreshLinksJob2 class

Change-Id: Id5659c7fe0c6ebcbee0ef435ee4a95c1033cda47

9 years agoMerge "Added query/connection expectation support to TransactionProfiler"
jenkins-bot [Thu, 12 Feb 2015 21:38:58 +0000 (21:38 +0000)]
Merge "Added query/connection expectation support to TransactionProfiler"

9 years agoMerge "Make Profiler::$instance private and drop double underscores"
jenkins-bot [Thu, 12 Feb 2015 21:32:08 +0000 (21:32 +0000)]
Merge "Make Profiler::$instance private and drop double underscores"

9 years agoMerge "Add Monolog handler for syslog UDP transport"
jenkins-bot [Thu, 12 Feb 2015 21:12:24 +0000 (21:12 +0000)]
Merge "Add Monolog handler for syslog UDP transport"

9 years agoMake Profiler::$instance private and drop double underscores
Chad Horohoe [Thu, 12 Feb 2015 20:53:39 +0000 (12:53 -0800)]
Make Profiler::$instance private and drop double underscores

Nothing calls it anymore outside of the class

Change-Id: Icc9ebcd63e440f9bafca29647856d36fc493ff39

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 12 Feb 2015 19:48:11 +0000 (20:48 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I6c61d096e9eb1924c0b4f61f812d8e52e3c6a9ba

9 years agoMerge "Made BagOStuff::debug protected"
jenkins-bot [Thu, 12 Feb 2015 17:17:30 +0000 (17:17 +0000)]
Merge "Made BagOStuff::debug protected"

9 years agoChunked upload: Return expected offset on offset error
rillke [Thu, 12 Feb 2015 15:59:09 +0000 (16:59 +0100)]
Chunked upload: Return expected offset on offset error

Bug: T87535
Change-Id: If68e0075e73a78c1dd8d95839f7ee9374a995201

9 years agoMerge "mediawiki.api.login: Include second HTTP request in abort()"
jenkins-bot [Thu, 12 Feb 2015 15:01:09 +0000 (15:01 +0000)]
Merge "mediawiki.api.login: Include second HTTP request in abort()"

9 years agoMerge "mediawiki.jqueryMsg: Refactor "Match PHP parser" test suite"
jenkins-bot [Thu, 12 Feb 2015 10:32:34 +0000 (10:32 +0000)]
Merge "mediawiki.jqueryMsg: Refactor "Match PHP parser" test suite"

9 years agobackupTextPassTest: Disable checkpointHelper test
Timo Tijhof [Thu, 12 Feb 2015 08:56:50 +0000 (08:56 +0000)]
backupTextPassTest: Disable checkpointHelper test

Bug: T70653
Change-Id: Iafab3094b7526dd646610f34ed9f97cfca868c3a

9 years agoMake eval.php try to handle newlines in code
Aaron Schulz [Tue, 18 Nov 2014 02:45:49 +0000 (18:45 -0800)]
Make eval.php try to handle newlines in code

Change-Id: I9f4664bde6bea6f0e1dca0f4623553b9e849c83b

9 years agoMerge "Use MediaWikiTestCase methods for tempdir in unit tests"
jenkins-bot [Thu, 12 Feb 2015 07:57:04 +0000 (07:57 +0000)]
Merge "Use MediaWikiTestCase methods for tempdir in unit tests"

9 years agoMerge "filerepo: Use standard method for creating temp dir in unit test"
jenkins-bot [Thu, 12 Feb 2015 07:28:10 +0000 (07:28 +0000)]
Merge "filerepo: Use standard method for creating temp dir in unit test"

9 years agomediawiki.jqueryMsg: Refactor "Match PHP parser" test suite
Timo Tijhof [Thu, 12 Feb 2015 04:51:58 +0000 (04:51 +0000)]
mediawiki.jqueryMsg: Refactor "Match PHP parser" test suite

Previously it was doing quite a few things wrong:

* Tests could potentially run in parallel. This was somewhat
  obscured by the asynchronous getMwLanguage() call being inside
  the synchronous each() loop. As such it basically first fired off
  the requests, and then handled them as they came back. They
  pretty much always come back in order (lucky) so the tests pass,
  but it was fragile.

* By default, jQuery.ajax() appends a cache buster ("&_{random}" query string)
  to requests with dataType 'script'. Disable this by setting cache=true.

Also:
* Store Promise objects instead of a low-level Callbacks list so that we don't
  have to wrap it. Instead, we simply chain from the $.ajax() promise, and use
  then() to feed the value instead of calling resolve() or fire().
* Use hasOwn() as extra sanity check (in case a random browser's non-standard
  Object.prototype methods match one of our non-standard language codes).
* Remove dead code "mw.messages.set( test.message )". This object has no message
  property (or anything else that it could be mistaken for). It just performs
  15 no-op in a loop. Follows-up 261aac63ec0777d6.

While the requests happen to (almost) always arrive in order, them running in
parallel put a lot of pressure on slow VMs using SQLite databases (which are
I/O bound). This causes a lock when queries from different processes overlap.

Change-Id: I0c5064780f80e1ddcc58ce32c390b2639b1f1ab6

9 years agoMerge "Update OOjs UI to v0.7.0"
jenkins-bot [Thu, 12 Feb 2015 00:54:12 +0000 (00:54 +0000)]
Merge "Update OOjs UI to v0.7.0"

9 years agoSpecialWhatlinkshere: Mark redirects containing templates
Fomafix [Tue, 10 Feb 2015 10:54:20 +0000 (10:54 +0000)]
SpecialWhatlinkshere: Mark redirects containing templates

Mark redirects containing templates with class "mw-redirect" on
Special:WhatLinksHere.

Bug: T89098
Change-Id: Icd921c25a9c3542acb44e7175195328f283a1d5c

9 years agoUpdate OOjs UI to v0.7.0
James D. Forrester [Thu, 12 Feb 2015 00:08:17 +0000 (16:08 -0800)]
Update OOjs UI to v0.7.0

Release notes:
 https://git.wikimedia.org/blob/oojs%2Fui.git/v0.7.0/History.md

Change-Id: I70c56ce5aa070d1a5e6f51f80fce7cd7750b3007

9 years agoFixed FileRepo::newGood handling of $value
Aaron Schulz [Wed, 11 Feb 2015 22:21:16 +0000 (14:21 -0800)]
Fixed FileRepo::newGood handling of $value

bug: T89296
Change-Id: Icc2cc058d99a972bc0b243c94c49326627aa89b5

9 years agoMerge "Made BagOStuff::merge() take any callable"
jenkins-bot [Wed, 11 Feb 2015 20:47:07 +0000 (20:47 +0000)]
Merge "Made BagOStuff::merge() take any callable"

9 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 11 Feb 2015 20:24:17 +0000 (21:24 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Id5664c8bed61f9c2f0260163de04befce964cbd4

9 years agoMade BagOStuff::merge() take any callable
Aaron Schulz [Tue, 10 Feb 2015 19:11:53 +0000 (11:11 -0800)]
Made BagOStuff::merge() take any callable

Change-Id: I5ce99b8d343f1629f888a3b7594976a83839e2b7

9 years agoMerge "Never treat persistent stat cache as "latest" in FileBackend"
jenkins-bot [Wed, 11 Feb 2015 19:00:55 +0000 (19:00 +0000)]
Merge "Never treat persistent stat cache as "latest" in FileBackend"

9 years agoMerge "Made RecentChangesUpdateJob lock wiki specific"
jenkins-bot [Wed, 11 Feb 2015 19:00:16 +0000 (19:00 +0000)]
Merge "Made RecentChangesUpdateJob lock wiki specific"

9 years agoAdded query/connection expectation support to TransactionProfiler
Aaron Schulz [Thu, 15 Jan 2015 23:55:17 +0000 (15:55 -0800)]
Added query/connection expectation support to TransactionProfiler

* Master connections and writes on read requests will now be logged to
  get visibility into code that reduces performance and site availability.

bug: T88445
bug: T86862
Change-Id: Ic2ae95c33facbb54e062aef2ce67d6182caa044a

9 years agoMerge "Do not call purgeExpiredRestrictions on simple page views"
jenkins-bot [Wed, 11 Feb 2015 18:48:41 +0000 (18:48 +0000)]
Merge "Do not call purgeExpiredRestrictions on simple page views"

9 years agoFix doc comment on $wgResponsiveImages
Brion Vibber [Thu, 5 Feb 2015 09:49:43 +0000 (01:49 -0800)]
Fix doc comment on $wgResponsiveImages

Doc comment referred to older implementation's data attributes.
Updated to refer to the correct srcset attribute as settled on
by browser makers, which was switched to long ago here.

Change-Id: If2bc83dd41dd88d6480957ff4968111396c9fe98

9 years agoMade RecentChangesUpdateJob lock wiki specific
Aaron Schulz [Wed, 11 Feb 2015 17:54:34 +0000 (09:54 -0800)]
Made RecentChangesUpdateJob lock wiki specific

Change-Id: I566d81affcd3d60cd5e8da090db9ea79495e7722

9 years agoMerge "Clean up state of libxml on failed import."
jenkins-bot [Wed, 11 Feb 2015 17:52:15 +0000 (17:52 +0000)]
Merge "Clean up state of libxml on failed import."

9 years agoMerge "Revert "Add AvailableRightsTest for User::getAllRights completeness""
jenkins-bot [Wed, 11 Feb 2015 15:09:50 +0000 (15:09 +0000)]
Merge "Revert "Add AvailableRightsTest for User::getAllRights completeness""

9 years agoRevert "Add AvailableRightsTest for User::getAllRights completeness"
Hashar [Wed, 11 Feb 2015 15:03:02 +0000 (15:03 +0000)]
Revert "Add AvailableRightsTest for User::getAllRights completeness"

This change has not been advertised and cause random extensions
to start failing giving little clue to users.

Please have this change discussed on wikitech-l and announced
ahead of time to minimize disruptions. It brokes MathSearch at least:

https://gerrit.wikimedia.org/r/#/c/189442/

This reverts commit d333cd8f7be190d7e296721caa79478ab7ef1b20.

Change-Id: If9a28b1386fca946d8ba351c16134cdf7da8a148

9 years agoMerge "mediawiki.api.login: Chain then() instead of Deferred wrapping"
jenkins-bot [Wed, 11 Feb 2015 14:20:50 +0000 (14:20 +0000)]
Merge "mediawiki.api.login: Chain then() instead of Deferred wrapping"

9 years agoClean up state of libxml on failed import.
daniel [Wed, 11 Feb 2015 11:06:25 +0000 (12:06 +0100)]
Clean up state of libxml on failed import.

Make sure we always call XMLReader::close() to clean up libxml's internal state,
even if import fails with an exception. Otherwise, any subsequent attempt at importing
(or otherwise using an XMLReader) will fail with:

  XMLReader::open(): Unable to open source data

This is particularly annoying for unit tests which should be allowed to fail
without dragging down subsequent tests. Even more importantly, they may
explicitly be testing a failure case, which should not cause subsequent tests
to fail.

NOTE: Wikibase patch Id035ecebebb67 is blocked on this,
please re-check once this is merged.

Change-Id: I31c014df39aa11c11ded70050ef12a8e2c5fefc5

9 years agoFix mediawiki.startUp documentation
Gergő Tisza [Wed, 11 Feb 2015 10:22:53 +0000 (10:22 +0000)]
Fix mediawiki.startUp documentation

Follow-up to I41177b730a7370b4c9ca13d758d9f8493ff5192e

Change-Id: I4a7bfd7f4efc719bda2ae8680555c6b27e6ccfe2

9 years agoMerge "Ignore EXIF data in FormatMetadata::fetchExtendedMetadata()"
jenkins-bot [Wed, 11 Feb 2015 09:33:01 +0000 (09:33 +0000)]
Merge "Ignore EXIF data in FormatMetadata::fetchExtendedMetadata()"

9 years agoMerge "Handle missing width nicely in thumb.php"
jenkins-bot [Wed, 11 Feb 2015 09:09:54 +0000 (09:09 +0000)]
Merge "Handle missing width nicely in thumb.php"

9 years agoDo not call purgeExpiredRestrictions on simple page views
Aaron Schulz [Wed, 11 Feb 2015 05:22:39 +0000 (21:22 -0800)]
Do not call purgeExpiredRestrictions on simple page views

* Also cleaned up the on-the-fly expiry check.

bug: T88445
Change-Id: I0f601df978cc7cdd0a0b7861d39e59dae9bdda00

9 years agomediawiki.api.login: Include second HTTP request in abort()
Timo Tijhof [Wed, 11 Feb 2015 04:13:54 +0000 (04:13 +0000)]
mediawiki.api.login: Include second HTTP request in abort()

Change-Id: I52e81781b2caf330ddb920b3ce842903808b7df3

9 years agomediawiki.api.login: Chain then() instead of Deferred wrapping
Timo Tijhof [Wed, 11 Feb 2015 04:08:49 +0000 (04:08 +0000)]
mediawiki.api.login: Chain then() instead of Deferred wrapping

No need to wrap a promise and manually forwarding fail().
Using "then()" does this by default.

Remove redundant 'data.login' assertion. API errors are already
handled at this point.

Handle login error before success to allow a clean function exit.

Change-Id: I032226b1e2b362c61eb2c6de0c7f5ebe2ed25b7e

9 years agoUse MediaWikiTestCase methods for tempdir in unit tests
Timo Tijhof [Wed, 11 Feb 2015 01:42:33 +0000 (01:42 +0000)]
Use MediaWikiTestCase methods for tempdir in unit tests

* Use MediaWikiTestCase::getNewTempFile and getNewTempDirectory
  instead of wfTempDir().

  The upload api tests wrote a tempnam() file directly (where
  wfTempDir() is typically shared with other systems and concurrent
  runs). Use MediaWikiTestCase::getNewTempFile and
  getNewTempDirectory instead.

  This also ensures its removal by the teardown handler without
  needing manual unlink() calls. And it doesn't rely on the test
  passing. (Many unlink calls where at the bottom of tests,
  which wouldn't be reached in case of failure).

* For the upload test, the presistent storing of
  'Oberaargletscher_from_Oberaar.jpg' (downloaded from Commons)
  was removed. Note that this didn't work for Jenkins builds anyway
  as Jenkins builds set $wgTmpDirectory to a unique directory
  in tmpfs associated with an individual build.

* For filebackend tests, moved directory creation from the dataProvider
  to the main test.

  Implemented addTmpFiles() to allow subclasses to register
  additional files (created by other means) to be cleaned up also.

  Removed unused $tmpName and $toPath parameters in data
  provider for FileBackendTest::testStore. And fixed weird double
  $op2 variable name to be called $op3.

* Skipped parserTest.inc, MockFileBackend.php, and
  UploadFromUrlTestSuite.php as those don't use MediaWikiTestCase.

Change-Id: Ic7feb06ef0c1006eb99485470a1a59419f972545

9 years agoMerge "registration: Apply ResourceFileModulePaths to all modules"
jenkins-bot [Wed, 11 Feb 2015 01:54:50 +0000 (01:54 +0000)]
Merge "registration: Apply ResourceFileModulePaths to all modules"

9 years agoMerge "registration: Throw an Exception if a JSON file is invalid"
jenkins-bot [Wed, 11 Feb 2015 01:54:47 +0000 (01:54 +0000)]
Merge "registration: Throw an Exception if a JSON file is invalid"

9 years agoregistration: Apply ResourceFileModulePaths to all modules
Kunal Mehta [Wed, 11 Feb 2015 00:43:12 +0000 (16:43 -0800)]
registration: Apply ResourceFileModulePaths to all modules

Previously any module definition that specified a "class" was skipped. This
is problematic for custom modules that extend ResourceLoaderFileModule and
should be using the default paths.

Since we can't determine at initialization time whether a module class is a
ResourceLoaderFileModule or not, just add the default paths to all modules,
and leave it up to the individual classes to use the extra arguments or not.

Change-Id: Iee5d178343326030968755983f62629b81ef3c88