lhc/web/wiklou.git
8 years agoMerge "Use wgNamespaceIds constants instead of hard-coded numbers"
jenkins-bot [Mon, 7 Dec 2015 00:19:49 +0000 (00:19 +0000)]
Merge "Use wgNamespaceIds constants instead of hard-coded numbers"

8 years agoMerge "objectcache: Make protected WANObjectCache::makePurgeValue non-static"
jenkins-bot [Sun, 6 Dec 2015 22:34:46 +0000 (22:34 +0000)]
Merge "objectcache: Make protected WANObjectCache::makePurgeValue non-static"

8 years agoMerge "tests: Clean up use of mt_rand()"
jenkins-bot [Sun, 6 Dec 2015 22:32:43 +0000 (22:32 +0000)]
Merge "tests: Clean up use of mt_rand()"

8 years agoMerge "tests: Remove unused TableCleanupTest class"
jenkins-bot [Sun, 6 Dec 2015 22:32:39 +0000 (22:32 +0000)]
Merge "tests: Remove unused TableCleanupTest class"

8 years agoMerge "Special:Statistics: Change link target for content pages to hide redirects"
jenkins-bot [Sun, 6 Dec 2015 20:44:44 +0000 (20:44 +0000)]
Merge "Special:Statistics: Change link target for content pages to hide redirects"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 6 Dec 2015 20:31:22 +0000 (21:31 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I0bd8b710b580a76a88e16088ab0f70677a90ea63

8 years agoSpecial:Statistics: Change link target for content pages to hide redirects
Florianschmidtwelzow [Tue, 3 Nov 2015 08:04:46 +0000 (09:04 +0100)]
Special:Statistics: Change link target for content pages to hide redirects

Content pages, as visible on Special:Statistics, doesn't include
redirects in the visible counter. But the link target (Special:AllPages)
includes redirects in the default view, which could be confusing, if a
user expects all pages excluding redirects.

Change the link target of Content pages to hide redirects by default and
add a link for "Pages" to the default view of Special:AllPages.

Change-Id: I1c1ada8e3d16d19db8315eccfbea2c753814659e

8 years agoMerge "Remove obsolete category links code"
Krinkle [Sun, 6 Dec 2015 18:42:39 +0000 (18:42 +0000)]
Merge "Remove obsolete category links code"

8 years agoMerge "Make RefreshLinksJob de-duplication more robust"
jenkins-bot [Sun, 6 Dec 2015 18:41:48 +0000 (18:41 +0000)]
Merge "Make RefreshLinksJob de-duplication more robust"

8 years agoMerge "Add user autocomplete and autofocus to Special:ActiveUsers"
jenkins-bot [Sun, 6 Dec 2015 16:31:49 +0000 (16:31 +0000)]
Merge "Add user autocomplete and autofocus to Special:ActiveUsers"

8 years agoMerge "Fill getSubpagesForPrefixSearch of Special:Tags"
jenkins-bot [Sun, 6 Dec 2015 15:49:56 +0000 (15:49 +0000)]
Merge "Fill getSubpagesForPrefixSearch of Special:Tags"

8 years agoMerge "SpecialContributions: Fix whitespace in tagfilter"
jenkins-bot [Sun, 6 Dec 2015 15:33:22 +0000 (15:33 +0000)]
Merge "SpecialContributions: Fix whitespace in tagfilter"

8 years agoMerge "Fix PHPDoc for getTimeAndDelay()"
jenkins-bot [Sun, 6 Dec 2015 15:31:12 +0000 (15:31 +0000)]
Merge "Fix PHPDoc for getTimeAndDelay()"

8 years agoSpecialContributions: Fix whitespace in tagfilter
Florian [Sun, 6 Dec 2015 01:30:30 +0000 (02:30 +0100)]
SpecialContributions: Fix whitespace in tagfilter

Removing the first element of an array, and using it as a label, doesn't make
much sense, if the array will be imploded using a whitespace to add a whitespace
between both array parts.

Instead of writing:
Tag filter:<input>

this will result in the expected output:
Tag filter: <input>

Change-Id: Ifc9de7cc6ab380fcff435fcd0410963e72ef6203

8 years agoMerge "Make ForkController destroy redis instances too"
jenkins-bot [Sun, 6 Dec 2015 15:16:19 +0000 (15:16 +0000)]
Merge "Make ForkController destroy redis instances too"

8 years agoAdd user autocomplete and autofocus to Special:ActiveUsers
umherirrender [Sun, 6 Dec 2015 14:26:52 +0000 (15:26 +0100)]
Add user autocomplete and autofocus to Special:ActiveUsers

Add autocomplete and autofocus as already exists on Special:ListUsers

Change-Id: I7a89023491cfff4d36c3214a4d56d4c0d35d192e

8 years agoFill getSubpagesForPrefixSearch of Special:Tags
umherirrender [Sun, 6 Dec 2015 14:58:31 +0000 (15:58 +0100)]
Fill getSubpagesForPrefixSearch of Special:Tags

Adding all the possible sub pages to getSubpagesForPrefixSearch will
show them up on search suggestion

Change-Id: I4bd99376bbddbbce1812119a43484f08e2360ff5

8 years agoobjectcache: Make protected WANObjectCache::makePurgeValue non-static
Timo Tijhof [Fri, 4 Dec 2015 12:34:01 +0000 (12:34 +0000)]
objectcache: Make protected WANObjectCache::makePurgeValue non-static

It was already used everywhere as non-static via $this.
This is needed in order to allow MessageBlobStore unit tests
to disable the holdoff via a mock (mocks can't override static methods).

Change-Id: I3aad5b6e780addf1b6ce9de56c81b91f5ab358b2

8 years agoMerge "Fix get()/getMulti() check key race condition in WANObjectCache"
jenkins-bot [Sun, 6 Dec 2015 14:13:13 +0000 (14:13 +0000)]
Merge "Fix get()/getMulti() check key race condition in WANObjectCache"

8 years agomediawiki.ForeignStructuredUpload: Always use '|1=' for description templates
Steinsplitter [Sun, 6 Dec 2015 07:21:13 +0000 (07:21 +0000)]
mediawiki.ForeignStructuredUpload: Always use '|1=' for description templates

'|1=' should be always used, following the standard on Commons.

Follow-up to 56af60ab91e0b74af9e416b11fa487e15097f5bc.

Bug: T119691
Change-Id: Ied787ecb91aaae3f643c9d013b8982ddabea8142

8 years agoDeduplicate input in Special:Contributions
Ltrlg [Sun, 6 Dec 2015 01:08:44 +0000 (02:08 +0100)]
Deduplicate input in Special:Contributions

Bug: T120542
Change-Id: I129bf2cf826439b873c3bf590f784ea24ab6181d

8 years agoRemove obsolete category links code
Aaron Schulz [Sun, 6 Dec 2015 00:07:50 +0000 (16:07 -0800)]
Remove obsolete category links code

* These calls and methods should no longer be needed
* Follow-up to 6dedffc2d7f8

Change-Id: Iff121263610117112c84edb5e575f039456d1ac8

8 years agoFix PHPDoc for getTimeAndDelay()
Aaron Schulz [Sat, 5 Dec 2015 22:02:34 +0000 (14:02 -0800)]
Fix PHPDoc for getTimeAndDelay()

Change-Id: I7e5b368d13489afec6df56cdc3e71c2e60e07e20

8 years agoFix some FileRepo IDEA errors
Aaron Schulz [Fri, 4 Dec 2015 23:31:02 +0000 (15:31 -0800)]
Fix some FileRepo IDEA errors

Change-Id: Ia30d82c9ce27503182d95cd9a3f23d80743e7364

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 5 Dec 2015 21:48:14 +0000 (22:48 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I5b5a38cb36401a8866f1c15b8892a84bc131e570

8 years agoFix IDEA error in intervalsSinceGregorianBinary()
Aaron Schulz [Sat, 5 Dec 2015 21:31:07 +0000 (13:31 -0800)]
Fix IDEA error in intervalsSinceGregorianBinary()

Change-Id: Icc90a3050d5d918176dfbb88636a4d9b742fd4b0

8 years agoMerge "registration: Remove type validation for "config" items"
jenkins-bot [Sat, 5 Dec 2015 21:07:26 +0000 (21:07 +0000)]
Merge "registration: Remove type validation for "config" items"

8 years agoAdd UUIDv1 function to UIDGenerator
Ori Livneh [Wed, 2 Dec 2015 22:10:01 +0000 (14:10 -0800)]
Add UUIDv1 function to UIDGenerator

* Added some more unit tests.

Change-Id: Ieb7e66b1319df2e9c6da1518cc9539f276da1838

8 years agoMake ForkController destroy redis instances too
Aaron Schulz [Sat, 5 Dec 2015 07:15:36 +0000 (23:15 -0800)]
Make ForkController destroy redis instances too

Bug: T85565
Change-Id: I79e1b6aab30ef8ddfee2dd4f5f41e991562dbf13

8 years agoregistration: Remove type validation for "config" items
Kunal Mehta [Sat, 5 Dec 2015 05:04:51 +0000 (21:04 -0800)]
registration: Remove type validation for "config" items

The type list was missing "number" for doubles, but since we allow *all*
types of variables, don't even bother checking types.

Bug: T120507
Change-Id: I10626f5764f49d4f96a3cc35a27c890905a71bfe

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 4 Dec 2015 23:20:07 +0000 (00:20 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I898facfb74a8876df8b0dd2068026f3c6c7fe93d

8 years agoFix get()/getMulti() check key race condition in WANObjectCache
Aaron Schulz [Fri, 4 Dec 2015 22:22:02 +0000 (14:22 -0800)]
Fix get()/getMulti() check key race condition in WANObjectCache

If a set() happened around the exact same time as check key was
initialized via get(), the curTTL in future get() calls could
sometimes be 0 instead of a negative value, even though hold-off
should apply.

Change-Id: Ide1fd65112aff425a4798e2ec406d71f2a8e84a7

8 years agoConvert ApiStashEdit to PSR-3
Bryan Davis [Fri, 4 Dec 2015 22:18:07 +0000 (15:18 -0700)]
Convert ApiStashEdit to PSR-3

Convert the wfDebugLog calls in ApiStashEdit to direct use of the PSR-3
logging layer and add severity information for each message.

Change-Id: Ic91e89ceee405a1d22e5e3c461ad37795cae4a6f

8 years agoFollow-up for Iba0138a6d: remove now-unused MWHookException class
Ori Livneh [Fri, 4 Dec 2015 21:14:33 +0000 (13:14 -0800)]
Follow-up for Iba0138a6d: remove now-unused MWHookException class

Change-Id: I9cf80f2b701d6db8a6cfe884e4fd15d4e0482dda

8 years agoRemove DeferredUpdates::forceDeferral() testing hack
Aaron Schulz [Wed, 2 Dec 2015 00:13:51 +0000 (16:13 -0800)]
Remove DeferredUpdates::forceDeferral() testing hack

Change-Id: I7f2ad8190e1a746b6c39190b86fa9c83c5b921fe

8 years agoMerge "Remove redundant testGetMulti() assertion"
jenkins-bot [Fri, 4 Dec 2015 21:13:16 +0000 (21:13 +0000)]
Merge "Remove redundant testGetMulti() assertion"

8 years agoMerge "Fix phpdoc of StatusValue::merge"
jenkins-bot [Fri, 4 Dec 2015 21:05:22 +0000 (21:05 +0000)]
Merge "Fix phpdoc of StatusValue::merge"

8 years agoRemove redundant testGetMulti() assertion
Aaron Schulz [Fri, 4 Dec 2015 20:31:01 +0000 (12:31 -0800)]
Remove redundant testGetMulti() assertion

Change-Id: Iadbf39de9c6be2baeb7c2f7c1dce39e9f2bed2e4

8 years agoMerge "Don't install a custom error handler for hooks"
jenkins-bot [Fri, 4 Dec 2015 21:02:44 +0000 (21:02 +0000)]
Merge "Don't install a custom error handler for hooks"

8 years agoFix phpdoc of StatusValue::merge
addshore [Fri, 4 Dec 2015 20:45:30 +0000 (21:45 +0100)]
Fix phpdoc of StatusValue::merge

Change-Id: I6fec36f9911d647fa7507c36b57f6b11ef04d63d

8 years agoMake RefreshLinksJob de-duplication more robust
Aaron Schulz [Tue, 1 Dec 2015 23:40:46 +0000 (15:40 -0800)]
Make RefreshLinksJob de-duplication more robust

* Do not de-duplicate jobs with "masterPos". It either does not
  catch anything or is not correct. Previously, it was the later,
  by making getDuplicationInfo() ignore the position. That made the
  oldest DB position win among "duplicate" jobs, which is unsafe.
* From graphite, deduplication only applies .5-2% of the time for
  "refreshLinks", so there should not be much more duplicated
  effort. Dynamic and Prioritized refreshLinks jobs remain
  de-duplicated on push() and root job de-duplication still applies
  as it did before. Also, getLinksTimestamp() is still checked to
  avoid excess work.
* Document the class constants.

Change-Id: Ie9a10aa58f14fa76917501065dfe65083afb985c

8 years agoMerge "Add support for blacklisting common passwords"
jenkins-bot [Fri, 4 Dec 2015 20:17:45 +0000 (20:17 +0000)]
Merge "Add support for blacklisting common passwords"

8 years agoDon't install a custom error handler for hooks
Ori Livneh [Fri, 4 Dec 2015 19:59:52 +0000 (11:59 -0800)]
Don't install a custom error handler for hooks

Installing a custom error handler on every hook invocation has a high overhead,
and does not even correctly achieves what it sets out to achieve, which is to
flag hook function signature errors (and only hook function signature errors).
The "PHP way" is to simply increase the error reporting level for development
environments, which we do already.

Bug: T117553
Change-Id: Iba0138a6d0a0ddf839bc5a36e03cadb012e06f3c

8 years agoUse wgNamespaceIds constants instead of hard-coded numbers
Ed Sanders [Fri, 4 Dec 2015 19:59:19 +0000 (19:59 +0000)]
Use wgNamespaceIds constants instead of hard-coded numbers

Change-Id: I2d4a75ed877331ff41e0dca6a7dddd5feb91eabf

8 years agoMerge "Defer the redirect table update in WikiPage::insertRedirect()"
jenkins-bot [Fri, 4 Dec 2015 19:30:05 +0000 (19:30 +0000)]
Merge "Defer the redirect table update in WikiPage::insertRedirect()"

8 years agoMerge "Add user autocomplete and autofocus to Special:Emailuser"
jenkins-bot [Fri, 4 Dec 2015 19:26:42 +0000 (19:26 +0000)]
Merge "Add user autocomplete and autofocus to Special:Emailuser"

8 years agoMerge "Add more BacklinkJobUtils comments"
jenkins-bot [Fri, 4 Dec 2015 19:24:54 +0000 (19:24 +0000)]
Merge "Add more BacklinkJobUtils comments"

8 years agoMerge "Remove unused WikiPage::getLastNAuthors() method"
jenkins-bot [Fri, 4 Dec 2015 19:20:33 +0000 (19:20 +0000)]
Merge "Remove unused WikiPage::getLastNAuthors() method"

8 years agoMerge "Fix some IDEA errors in BacklinkJobUtils"
jenkins-bot [Fri, 4 Dec 2015 19:19:51 +0000 (19:19 +0000)]
Merge "Fix some IDEA errors in BacklinkJobUtils"

8 years agoMerge "Make CDN purge calls use DeferredUpdates"
jenkins-bot [Fri, 4 Dec 2015 19:19:09 +0000 (19:19 +0000)]
Merge "Make CDN purge calls use DeferredUpdates"

8 years agoMerge "Add mergeable update support DeferredUpdates"
jenkins-bot [Fri, 4 Dec 2015 19:19:05 +0000 (19:19 +0000)]
Merge "Add mergeable update support DeferredUpdates"

8 years agoMerge "Add pre-send update support to DeferredUpdates"
jenkins-bot [Fri, 4 Dec 2015 19:16:00 +0000 (19:16 +0000)]
Merge "Add pre-send update support to DeferredUpdates"

8 years agoMake CDN purge calls use DeferredUpdates
Aaron Schulz [Tue, 1 Dec 2015 00:05:56 +0000 (16:05 -0800)]
Make CDN purge calls use DeferredUpdates

* Using addUpdate() makes sure purges are coalesced and
  de-duplicated.
* Also removed incosistent $wgUseSquid checks. If CDN caching
  is not used, then $wgSquidServers will just be empty anyway.

Bug: T119016
Change-Id: I8b448366f037f668385d252f9d68289b71d1a707

8 years agoAdd mergeable update support DeferredUpdates
Aaron Schulz [Mon, 30 Nov 2015 23:26:45 +0000 (15:26 -0800)]
Add mergeable update support DeferredUpdates

* DeferrableUpdate classes can implement MergeableUpdate.
  Duplicate updates will be merged via the merge() method.
* Make SquidUpdate support merge() so that duplicate URL
  purges are now caught accross the entire pre-send request
  execution.

Change-Id: Idffdd3e71d89e4a0f28281e65a881113caae497c

8 years agoAdd pre-send update support to DeferredUpdates
Aaron Schulz [Mon, 30 Nov 2015 22:02:53 +0000 (14:02 -0800)]
Add pre-send update support to DeferredUpdates

* PRESEND/POSTSEND constants can now be used in addUpdate()
  and addCallableUpdate() to control when the update runs.
  This is useful for updates that may report errors the client
  should see or to just get a head start on queued or pubsub
  based updates like CDN purges. The OutputPage::output() method
  can easily take a few 100ms.
* Removed some argument b/c code from doUpdates().
* Also moved DeferrableUpdate to a separate file.

Change-Id: I9831fe890f9f68f9ad8c4f4bba6921a8f29ba666

8 years agoMerge "Make HTMLCacheUpdate always use the job queue"
jenkins-bot [Fri, 4 Dec 2015 19:07:58 +0000 (19:07 +0000)]
Merge "Make HTMLCacheUpdate always use the job queue"

8 years agoAdd user autocomplete and autofocus to Special:Emailuser
umherirrender [Fri, 4 Dec 2015 18:55:28 +0000 (19:55 +0100)]
Add user autocomplete and autofocus to Special:Emailuser

When the page is visited without a user in context, there is a user
input field which now has autofocus and autocomplete

Change-Id: I31e08b7f950fbdb02e5617e3acf9a136bcdef50b

8 years agoMerge "SpecialWatchlist: Remove random unnecessary `<hr>`"
jenkins-bot [Fri, 4 Dec 2015 17:26:33 +0000 (17:26 +0000)]
Merge "SpecialWatchlist: Remove random unnecessary `<hr>`"

8 years agoMerge "Use normal space instead of &#160; in "white-space: nowrap"
jenkins-bot [Fri, 4 Dec 2015 17:16:06 +0000 (17:16 +0000)]
Merge "Use normal space instead of &#160; in "white-space: nowrap"

8 years agoMerge "Extracted some code from PrefixSearch for re-usability by other search engines."
jenkins-bot [Fri, 4 Dec 2015 16:56:39 +0000 (16:56 +0000)]
Merge "Extracted some code from PrefixSearch for re-usability by other search engines."

8 years agoSpecialWatchlist: Remove random unnecessary `<hr>`
Bartosz Dziewoński [Fri, 4 Dec 2015 16:39:53 +0000 (17:39 +0100)]
SpecialWatchlist: Remove random unnecessary `<hr>`

Change-Id: I7ebe73ae0773a4bfc52c02fdc0cd028913b044b3

8 years agoSpecialWatchlist: Add an option to automatically reload the page when a filter was...
Florian [Sat, 28 Nov 2015 15:10:33 +0000 (16:10 +0100)]
SpecialWatchlist: Add an option to automatically reload the page when a filter was changed

The biggest negative point (as far as I can tell) with the change mentioned in the follow-up
is, that a user needs at least 3 clicks to change an option, which before it required only
one click. This option adds a new preference for the watchlist (which can be enabled/disabled
using Special:Preferences) which, if enabled, loads a new, tiny module with a script, that
listens on all input and select fields in the header form of Special:Watchlist. Whenever one
of these elements get changed, the watchlist form will be submitted automatically.

The default for this option is false (disabled).

Follow up: I3bcd27596c21aa4

Bug: T50615
Bug: T119322
Change-Id: Icab1a5143df24a06f468165421d40db8fa57e73c

8 years agoFix categories with a namespace prefix in the cat name for CatWatch
addshore [Fri, 4 Dec 2015 11:03:44 +0000 (12:03 +0100)]
Fix categories with a namespace prefix in the cat name for CatWatch

Title::newFromText will use the given namespace as default, but when
parsing a title with a namespace at the begin the method will not use
the default, instead used the namespace from the given text.
Use Title::makeTitle to create a title with always belongs to the given
namespace.

Bug: T119763
Change-Id: Ic96671e1c33c6572b07f0f859d97c85a7a15bd39

8 years agoMerge "Fix CatMemberChanges for numeric category names"
jenkins-bot [Fri, 4 Dec 2015 10:57:26 +0000 (10:57 +0000)]
Merge "Fix CatMemberChanges for numeric category names"

8 years agoMerge "Move category membership RC updates to CategoryMembershipChangeJob"
jenkins-bot [Fri, 4 Dec 2015 10:56:12 +0000 (10:56 +0000)]
Merge "Move category membership RC updates to CategoryMembershipChangeJob"

8 years agoAdd warning comment on formatLinksInComment
csteipp [Fri, 4 Dec 2015 00:12:41 +0000 (16:12 -0800)]
Add warning comment on formatLinksInComment

Bug: T120324
Change-Id: If4423e14737a7e9d80661da27ad6f5463798a7d7

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 3 Dec 2015 21:43:23 +0000 (22:43 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I8925bc900d351d0a7aa6e69553fea3c48f86a4a2

8 years agoMerge "Move Special:ChangeContentModel to the pagetools special page group"
jenkins-bot [Thu, 3 Dec 2015 19:45:23 +0000 (19:45 +0000)]
Merge "Move Special:ChangeContentModel to the pagetools special page group"

8 years agoMove Special:ChangeContentModel to the pagetools special page group
umherirrender [Thu, 3 Dec 2015 19:13:42 +0000 (20:13 +0100)]
Move Special:ChangeContentModel to the pagetools special page group

Acting on pages, so that group is better than the default of "other"
The group is shown on Special:Specialpages

Change-Id: I0d9734fa31775332fb8935bf4fc63ad3fb8a2852

8 years agoMerge "Supports schema revision id in avro binary formatter"
jenkins-bot [Thu, 3 Dec 2015 18:10:39 +0000 (18:10 +0000)]
Merge "Supports schema revision id in avro binary formatter"

8 years agoMerge "Cast numeric cat names back to string in api output"
jenkins-bot [Thu, 3 Dec 2015 14:56:42 +0000 (14:56 +0000)]
Merge "Cast numeric cat names back to string in api output"

8 years agoDon't load WikiPage (w/ READ_LATEST) if search-update is not supported
aude [Wed, 2 Dec 2015 16:16:17 +0000 (17:16 +0100)]
Don't load WikiPage (w/ READ_LATEST) if search-update is not supported

instead lazy load WikiPage, when needed.

Change-Id: If67057b0b76f0f889ed498d8bbedaaeae3b2785d

8 years agoMerge "Consolidate Title normalization code in SearchUpdate"
jenkins-bot [Thu, 3 Dec 2015 14:21:00 +0000 (14:21 +0000)]
Merge "Consolidate Title normalization code in SearchUpdate"

8 years agoMerge "Do SearchUpdate::indexTitle after search-update is supported check"
jenkins-bot [Thu, 3 Dec 2015 14:20:56 +0000 (14:20 +0000)]
Merge "Do SearchUpdate::indexTitle after search-update is supported check"

8 years agoCast numeric cat names back to string in api output
addshore [Thu, 3 Dec 2015 14:15:59 +0000 (15:15 +0100)]
Cast numeric cat names back to string in api output

This could be considered a breaking change even
though it unifies behaviour.

Change-Id: Ib6bc7386f689cc6c2812e9e9406f18b20caa8fee

8 years agotests: Clean up use of mt_rand()
Timo Tijhof [Thu, 3 Dec 2015 13:32:04 +0000 (13:32 +0000)]
tests: Clean up use of mt_rand()

* ApiQueryTest: One random is enough.

* FileBackendTest: More consistent and idiomatic via wfRandomString()

* MigrateFileRepoLayoutTest: Use getNewTempDirectory(). Similar to
  what FileBackendTest used already.
* UploadFromUrlTestSuite: Use getNewTempDirectory().

Change-Id: I772de2134be41506d8ed08367be8c18f354bfc72

8 years agotests: Remove unused TableCleanupTest class
Timo Tijhof [Thu, 3 Dec 2015 13:09:55 +0000 (13:09 +0000)]
tests: Remove unused TableCleanupTest class

Follows-up 77086dc2ef (r56862).

Change-Id: I7e8accc35596d134c934a03072c3c3e99fd2aa0a

8 years agoFix CatMemberChanges for numeric category names
addshore [Thu, 3 Dec 2015 13:09:34 +0000 (14:09 +0100)]
Fix CatMemberChanges for numeric category names

Change-Id: I5ff3ff2d26d8e2d0b4250843f028eabc96020ccc

8 years agoMerge "Make getCacheSetOptions() and WAN cache handle broken replication"
jenkins-bot [Thu, 3 Dec 2015 12:24:37 +0000 (12:24 +0000)]
Merge "Make getCacheSetOptions() and WAN cache handle broken replication"

8 years agoMove category membership RC updates to CategoryMembershipChangeJob
Aaron Schulz [Sun, 15 Nov 2015 02:29:37 +0000 (18:29 -0800)]
Move category membership RC updates to CategoryMembershipChangeJob

* Recursive link updates no longer mention an category changes.
  It's hard to avoid either duplicate mentioning of changes or
  confusing explicit and automatic category changes.
* LinksUpdate no longer handles this logic, but rather WikiPage
  decides to spawn this update when needed in doEditUpdates().
* Fix race conditions with calculating category deltas. Do not
  rely on the link tables for the read used to determine these
  writes, as they may be out-of-date due to slave lag. Using the
  master would still not be good enough since that would assume
  FIFO and serialized job execution, which is not garaunteed.
  Use the parser output of the relevant revisions to determine
  the RC rows. If 3 users quickly edit a page's categories, the
  old way could misattribute who actually changed what.
* Make sure RC rows are inserted in an order that matches that
  of the corresponding revisions.
* Better avoid mentioning time-based (parser functions) category
  changes so they don't get attributed to the next editor.
* Also wait for slaves between RC row insertions if there where
  many category changes (it theory it could well over 10K rows).
* Using a separate job better separates concerns as LinksUpdate
  should not have to care about recent changes updates.
* Added more docs to $wgRCWatchCategoryMembership.

Bug: T95501
Change-Id: I5863e7d7483a4fd1fa633597af66a0088ace4c68

8 years agoMerge "Improve error message for failing HTTP requests"
jenkins-bot [Thu, 3 Dec 2015 00:28:48 +0000 (00:28 +0000)]
Merge "Improve error message for failing HTTP requests"

8 years agoMake getCacheSetOptions() and WAN cache handle broken replication
Aaron Schulz [Sat, 28 Nov 2015 12:13:27 +0000 (04:13 -0800)]
Make getCacheSetOptions() and WAN cache handle broken replication

TTL_LAGGED now triggers if the slave or I/O threads stopped

Change-Id: I5e7bf2d33b8d3a60182ec53a93d65f7e55f02222

8 years agoDefer the redirect table update in WikiPage::insertRedirect()
Aaron Schulz [Thu, 26 Nov 2015 23:17:26 +0000 (15:17 -0800)]
Defer the redirect table update in WikiPage::insertRedirect()

This avoids contention slams and synchronous master DB writes
on HTTP GET requests.

Bug: T119742
Bug: T92357
Change-Id: I7b3ebac0d6a11542c47ddf3219911be54380c537

8 years agoMerge "Fix relayPurge() IDEA warnings"
jenkins-bot [Wed, 2 Dec 2015 22:41:43 +0000 (22:41 +0000)]
Merge "Fix relayPurge() IDEA warnings"

8 years agoMerge "API: Allow querying central user info"
jenkins-bot [Wed, 2 Dec 2015 22:41:38 +0000 (22:41 +0000)]
Merge "API: Allow querying central user info"

8 years agoMerge "objectcache: Add $holdoff parameter to WANObjectCache::touchCheckKey()"
jenkins-bot [Wed, 2 Dec 2015 22:35:00 +0000 (22:35 +0000)]
Merge "objectcache: Add $holdoff parameter to WANObjectCache::touchCheckKey()"

8 years agoAPI: Allow querying central user info
Brad Jorsch [Thu, 19 Nov 2015 20:57:12 +0000 (15:57 -0500)]
API: Allow querying central user info

meta=siteinfo gets a list of all configured central ID lookup providers
and which one is being used as the default, while meta=userinfo,
list=users, and list=allusers get the ability to return the IDs and
attachment status.

Change-Id: Iea15b6c22baac79b3f8ca6df0e20a6a4299507d2

8 years agoFix relayPurge() IDEA warnings
Aaron Schulz [Wed, 2 Dec 2015 22:31:51 +0000 (14:31 -0800)]
Fix relayPurge() IDEA warnings

Change-Id: I6e6c0f611c344eab79350468552a2ccbf4cd1d18

8 years agoMerge "objectcache: Move WANObjectCache holdoff from get() to purge value"
jenkins-bot [Wed, 2 Dec 2015 22:27:34 +0000 (22:27 +0000)]
Merge "objectcache: Move WANObjectCache holdoff from get() to purge value"

8 years agoAdd a central ID lookup service
Brad Jorsch [Thu, 12 Nov 2015 23:21:19 +0000 (18:21 -0500)]
Add a central ID lookup service

Anything that wants to be "central" right now has to depend on
CentralAuth, and then either can't work without CentralAuth or has to
branch all over the place based on whether CentralAuth is present. Most
of the time all it really needs is a mapping from local users to central
user IDs and back or the ability to query whether the local user is
attached on some other wiki, so let's make an interface for that in
core.

See I52aa0460 for an example implementation (CentralAuth), and Ibd192e29
for an example use (OAuth).

Bug: T111302
Change-Id: I49568358ec35fdfd0b9e53e441adabded5c7b80f

8 years agoobjectcache: Add $holdoff parameter to WANObjectCache::touchCheckKey()
Timo Tijhof [Wed, 2 Dec 2015 15:47:05 +0000 (15:47 +0000)]
objectcache: Add $holdoff parameter to WANObjectCache::touchCheckKey()

Change-Id: I14b6d7660b34271826b77875c660c34343712648

8 years agoobjectcache: Move WANObjectCache holdoff from get() to purge value
Timo Tijhof [Wed, 2 Dec 2015 15:08:42 +0000 (15:08 +0000)]
objectcache: Move WANObjectCache holdoff from get() to purge value

Move the holdoff period into the purge value instead of deciding
it at runtime. This opens the way for touchCheckKey() to support
a custom $holdoff parameter, which will allow callers to invalidate
keys without a holdoff period. Similar to what we already support
in delete().

Right now the holdoff period is decided at run time.

Change-Id: Id10c036272e92ae4429effc823b75e08fb11a48b

8 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Wed, 2 Dec 2015 20:36:35 +0000 (20:36 +0000)]
Merge "Localisation updates from https://translatewiki.net."

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 2 Dec 2015 20:33:50 +0000 (21:33 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I189c9f774d7322a9aa2cb8b18f6e1d0465576dd5

8 years agoFix case for special pages (was breaking tests)
Elliott Eggleston [Wed, 2 Dec 2015 19:51:30 +0000 (11:51 -0800)]
Fix case for special pages (was breaking tests)

Change I6f44e3e5d97ea917e4a03af47f3795792e4ca122 added some calls
to make special page URLs with the wrong case.  This is breaking
tests in extensions, e.g.
https://integration.wikimedia.org/ci/job/mwext-DonationInterface-testextension-zend/2097/consoleFull

Change-Id: Ica66b314088275d43b67e207cedea97a5f1a7350

8 years agoMerge "Connect OOjs UI to MediaWiki's localisation system"
jenkins-bot [Wed, 2 Dec 2015 18:05:44 +0000 (18:05 +0000)]
Merge "Connect OOjs UI to MediaWiki's localisation system"

8 years agoExtracted some code from PrefixSearch for re-usability by other search engines.
dcausse [Fri, 11 Sep 2015 15:32:15 +0000 (17:32 +0200)]
Extracted some code from PrefixSearch for re-usability by other search engines.

(This patch is needed for Ida9b9f8)

Bug: T112028
Change-Id: I35aece88333a65f6b1f55f7a87e2d14de4f5bea7

8 years agoConsolidate Title normalization code in SearchUpdate
aude [Wed, 2 Dec 2015 15:42:18 +0000 (16:42 +0100)]
Consolidate Title normalization code in SearchUpdate

and rename the private method to be more clear

Change-Id: Iec7b934babddd102402cfa7616accd91fd3422ff

8 years agoConnect OOjs UI to MediaWiki's localisation system
Bartosz Dziewoński [Wed, 2 Dec 2015 16:02:56 +0000 (17:02 +0100)]
Connect OOjs UI to MediaWiki's localisation system

Somehow we have forgotten to do this in here, it was only done in
VisualEditor, which is why no one noticed for so long.

Bug: T119984
Change-Id: I9154345119846dcba90c30f81636ea70fd524471

8 years agoDo SearchUpdate::indexTitle after search-update is supported check
aude [Wed, 2 Dec 2015 15:34:25 +0000 (16:34 +0100)]
Do SearchUpdate::indexTitle after search-update is supported check

If the SearchEngine does not support search-update, then
$indexTitle is not used and thus no need to create it in
that case.

Change-Id: I487d06274e921223a3bcb5af846b48b7c2b8065e