r87584 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r87583‎ | r87584 | r87585 >
Date:21:50, 6 May 2011
Author:reedy
Status:resolved (Comments)
Tags:
Comment:
More versions added to @deprecated tags

Couple of inbound calls fixed up

Some ancient code removed as it's been marked deprecated
Modified paths:
  • /trunk/phase3/includes/Article.php (modified) (history)
  • /trunk/phase3/includes/CategoryPage.php (modified) (history)
  • /trunk/phase3/includes/DefaultSettings.php (modified) (history)
  • /trunk/phase3/includes/EditPage.php (modified) (history)
  • /trunk/phase3/includes/GlobalFunctions.php (modified) (history)
  • /trunk/phase3/includes/ImageGallery.php (modified) (history)
  • /trunk/phase3/includes/Linker.php (modified) (history)
  • /trunk/phase3/includes/LogEventsList.php (modified) (history)
  • /trunk/phase3/includes/Skin.php (modified) (history)
  • /trunk/phase3/includes/Title.php (modified) (history)
  • /trunk/phase3/includes/WebRequest.php (modified) (history)
  • /trunk/phase3/includes/Xml.php (modified) (history)
  • /trunk/phase3/includes/api/ApiBase.php (modified) (history)
  • /trunk/phase3/includes/api/ApiMain.php (modified) (history)
  • /trunk/phase3/includes/cache/HTMLCacheUpdate.php (modified) (history)
  • /trunk/phase3/includes/filerepo/LocalFile.php (modified) (history)
  • /trunk/phase3/includes/objectcache/EmptyBagOStuff.php (modified) (history)
  • /trunk/phase3/includes/parser/Parser.php (modified) (history)
  • /trunk/phase3/includes/search/SearchEngine.php (modified) (history)
  • /trunk/phase3/includes/specials/SpecialRandompage.php (modified) (history)
  • /trunk/phase3/includes/specials/SpecialUndelete.php (modified) (history)
  • /trunk/phase3/languages/Language.php (modified) (history)
  • /trunk/phase3/languages/LanguageConverter.php (modified) (history)
  • /trunk/phase3/skins/Vector.php (modified) (history)

Diff [purge]

Index: trunk/phase3/skins/Vector.php
@@ -111,7 +111,7 @@
112112 Linker::tooltip( $xmlID );
113113 } else {
114114 $nav[$section][$key]['key'] =
115 - Linker::tooltipAndAccesskey( $xmlID );
 115+ Linker::tooltipAndAccesskeyAttribs( $xmlID );
116116 }
117117 }
118118 }
@@ -216,7 +216,7 @@
217217 <!-- panel -->
218218 <div id="mw-panel" class="noprint">
219219 <!-- logo -->
220 - <div id="p-logo"><a style="background-image: url(<?php $this->text( 'logopath' ) ?>);" href="<?php echo htmlspecialchars( $this->data['nav_urls']['mainpage']['href'] ) ?>" <?php echo Linker::tooltipAndAccesskey( 'p-logo' ) ?>></a></div>
 220+ <div id="p-logo"><a style="background-image: url(<?php $this->text( 'logopath' ) ?>);" href="<?php echo htmlspecialchars( $this->data['nav_urls']['mainpage']['href'] ) ?>" <?php echo Linker::tooltipAndAccesskeyAttribs( 'p-logo' ) ?>></a></div>
221221 <!-- /logo -->
222222 <?php $this->renderPortals( $this->data['sidebar'] ); ?>
223223 </div>
Index: trunk/phase3/includes/Xml.php
@@ -417,7 +417,7 @@
418418 }
419419
420420 /**
421 - * @deprecated Synonymous to Html::hidden()
 421+ * @deprecated since 1.16 Synonymous to Html::hidden()
422422 */
423423 public static function hidden( $name, $value, $attribs = array() ) {
424424 return Html::hidden( $name, $value, $attribs );
Index: trunk/phase3/includes/CategoryPage.php
@@ -230,7 +230,7 @@
231231
232232 /**
233233 * Add a subcategory to the internal lists, using a title object
234 - * @deprecated kept for compatibility, please use addSubcategoryObject instead
 234+ * @deprecated since 1.17 kept for compatibility, please use addSubcategoryObject instead
235235 */
236236 function addSubcategory( Title $title, $sortkey, $pageLength ) {
237237 $this->addSubcategoryObject( Category::newFromTitle( $title ), $sortkey, $pageLength );
Index: trunk/phase3/includes/search/SearchEngine.php
@@ -64,7 +64,7 @@
6565
6666 /**
6767 * If this search backend can list/unlist redirects
68 - * @deprecated Call supports( 'list-redirects' );
 68+ * @deprecated since 1.19 Call supports( 'list-redirects' );
6969 */
7070 function acceptListRedirects() {
7171 return $this->supports( 'list-redirects' );
Index: trunk/phase3/includes/Article.php
@@ -326,23 +326,6 @@
327327 }
328328
329329 /**
330 - * This function returns the text of a section, specified by a number ($section).
331 - * A section is text under a heading like == Heading == or \<h1\>Heading\</h1\>, or
332 - * the first section before any such heading (section 0).
333 - *
334 - * If a section contains subsections, these are also returned.
335 - *
336 - * @param $text String: text to look in
337 - * @param $section Integer: section number
338 - * @return string text of the requested section
339 - * @deprecated
340 - */
341 - public function getSection( $text, $section ) {
342 - global $wgParser;
343 - return $wgParser->getSection( $text, $section );
344 - }
345 -
346 - /**
347330 * Get the text that needs to be saved in order to undo all revisions
348331 * between $undo and $undoafter. Revisions must belong to the same page,
349332 * must exist and must not be deleted
Index: trunk/phase3/includes/GlobalFunctions.php
@@ -2849,7 +2849,7 @@
28502850 *
28512851 * @param $name String
28522852 * @param $p Array: parameters
2853 - * @deprecated
 2853+ * @deprecated since 1.18
28542854 */
28552855 function wfCreateObject( $name, $p ) {
28562856 return MWFunction::newObj( $name, $p );
Index: trunk/phase3/includes/objectcache/EmptyBagOStuff.php
@@ -21,7 +21,7 @@
2222
2323 /**
2424 * Backwards compatibility alias for EmptyBagOStuff
25 - * @deprecated
 25+ * @deprecated since 1.18
2626 */
2727 class FakeMemCachedClient extends EmptyBagOStuff {
2828 }
Index: trunk/phase3/includes/parser/Parser.php
@@ -753,41 +753,6 @@
754754 }
755755
756756 /**
757 - * @deprecated use replaceVariables
758 - */
759 - function strip( $text, $state, $stripcomments = false , $dontstrip = array() ) {
760 - return $text;
761 - }
762 -
763 - /**
764 - * Restores pre, math, and other extensions removed by strip()
765 - *
766 - * always call unstripNoWiki() after this one
767 - * @private
768 - * @deprecated use $this->mStripState->unstrip()
769 - */
770 - function unstrip( $text, $state ) {
771 - return $state->unstripGeneral( $text );
772 - }
773 -
774 - /**
775 - * Always call this after unstrip() to preserve the order
776 - *
777 - * @private
778 - * @deprecated use $this->mStripState->unstrip()
779 - */
780 - function unstripNoWiki( $text, $state ) {
781 - return $state->unstripNoWiki( $text );
782 - }
783 -
784 - /**
785 - * @deprecated use $this->mStripState->unstripBoth()
786 - */
787 - function unstripForHTML( $text ) {
788 - return $this->mStripState->unstripBoth( $text );
789 - }
790 -
791 - /**
792757 * Add an item to the strip state
793758 * Returns the unique tag which must be inserted into the stripped text
794759 * The tag will be replaced with the original text in unstrip()
@@ -2035,18 +2000,6 @@
20362001 }
20372002
20382003 /**
2039 - * Make a link placeholder. The text returned can be later resolved to a real link with
2040 - * replaceLinkHolders(). This is done for two reasons: firstly to avoid further
2041 - * parsing of interwiki links, and secondly to allow all existence checks and
2042 - * article length checks (for stub links) to be bundled into a single query.
2043 - *
2044 - * @deprecated
2045 - */
2046 - function makeLinkHolder( &$nt, $text = '', $query = array(), $trail = '', $prefix = '' ) {
2047 - return $this->mLinkHolders->makeHolder( $nt, $text, $query, $trail, $prefix );
2048 - }
2049 -
2050 - /**
20512004 * Render a forced-blue link inline; protect against double expansion of
20522005 * URLs if we're in a mode that prepends full URL prefixes to internal links.
20532006 * Since this little disaster has to split off the trail text to avoid
Index: trunk/phase3/includes/Linker.php
@@ -1990,12 +1990,6 @@
19911991 return self::makeImageLink2( $title, $file, $frameParams, $handlerParams, $time );
19921992 }
19931993
1994 - /** @deprecated use Linker::makeMediaLinkObj() */
1995 - static function makeMediaLink( $name, $unused = '', $text = '', $time = false ) {
1996 - $nt = Title::makeTitleSafe( NS_FILE, $name );
1997 - return self::makeMediaLinkObj( $nt, $text, $time );
1998 - }
1999 -
20001994 /**
20011995 * Returns the attributes for the tooltip and access key.
20021996 */
@@ -2021,14 +2015,6 @@
20222016
20232017 /**
20242018 * @deprecated since 1.14
2025 - * Returns raw bits of HTML, use titleAttrib() and accesskey()
2026 - */
2027 - public static function tooltipAndAccesskey( $name ) {
2028 - return Xml::expandAttributes( self::tooltipAndAccesskeyAttribs( $name ) );
2029 - }
2030 -
2031 - /**
2032 - * @deprecated since 1.14
20332019 * Returns raw bits of HTML, use titleAttrib()
20342020 */
20352021 public static function tooltip( $name, $options = null ) {
Index: trunk/phase3/includes/filerepo/LocalFile.php
@@ -842,28 +842,7 @@
843843
844844 /**
845845 * Record a file upload in the upload log and the image table
846 - * @deprecated use upload()
847846 */
848 - function recordUpload( $oldver, $desc, $license = '', $copyStatus = '', $source = '',
849 - $watch = false, $timestamp = false )
850 - {
851 - $pageText = SpecialUpload::getInitialPageText( $desc, $license, $copyStatus, $source );
852 -
853 - if ( !$this->recordUpload2( $oldver, $desc, $pageText ) ) {
854 - return false;
855 - }
856 -
857 - if ( $watch ) {
858 - global $wgUser;
859 - $wgUser->addWatch( $this->getTitle() );
860 - }
861 - return true;
862 -
863 - }
864 -
865 - /**
866 - * Record a file upload in the upload log and the image table
867 - */
868847 function recordUpload2(
869848 $oldver, $comment, $pageText, $props = false, $timestamp = false, $user = null
870849 ) {
Index: trunk/phase3/includes/EditPage.php
@@ -2127,7 +2127,7 @@
21282128 * Produce the stock "your edit contains spam" page
21292129 *
21302130 * @param $match Text which triggered one or more filters
2131 - * @deprecated Use method spamPageWithContent() instead
 2131+ * @deprecated since 1.17 Use method spamPageWithContent() instead
21322132 */
21332133 static function spamPage( $match = false ) {
21342134 global $wgOut, $wgTitle;
@@ -2237,14 +2237,6 @@
22382238 }
22392239
22402240 /**
2241 - * @deprecated use $wgParser->stripSectionName()
2242 - */
2243 - function pseudoParseSectionAnchor( $text ) {
2244 - global $wgParser;
2245 - return $wgParser->stripSectionName( $text );
2246 - }
2247 -
2248 - /**
22492241 * Format an anchor fragment as it would appear for a given section name
22502242 * @param $text String
22512243 * @return String
Index: trunk/phase3/includes/LogEventsList.php
@@ -1056,7 +1056,7 @@
10571057 }
10581058
10591059 /**
1060 - * @deprecated
 1060+ * @deprecated since 1.14
10611061 * @ingroup SpecialPage
10621062 */
10631063 class LogReader {
@@ -1099,7 +1099,7 @@
11001100 }
11011101
11021102 /**
1103 - * @deprecated
 1103+ * @deprecated since 1.14
11041104 * @ingroup SpecialPage
11051105 */
11061106 class LogViewer {
Index: trunk/phase3/includes/api/ApiMain.php
@@ -278,7 +278,7 @@
279279 }
280280
281281 /**
282 - * @deprecated Private caching is now the default, so there is usually no
 282+ * @deprecated since 1.17 Private caching is now the default, so there is usually no
283283 * need to call this function. If there is a need, you can use
284284 * $this->setCacheMode('private')
285285 */
@@ -306,7 +306,7 @@
307307 * given URL must either always or never call this function; if it sometimes does and
308308 * sometimes doesn't, stuff will break.
309309 *
310 - * @deprecated Use setCacheMode( 'anon-public-user-private' )
 310+ * @deprecated since 1.17 Use setCacheMode( 'anon-public-user-private' )
311311 */
312312 public function setVaryCookie() {
313313 $this->setCacheMode( 'anon-public-user-private' );
Index: trunk/phase3/includes/api/ApiBase.php
@@ -585,7 +585,7 @@
586586 }
587587
588588 /**
589 - * @deprecated use MWNamespace::getValidNamespaces()
 589+ * @deprecated since 1.17 use MWNamespace::getValidNamespaces()
590590 */
591591 public static function getValidNamespaces() {
592592 return MWNamespace::getValidNamespaces();
Index: trunk/phase3/includes/WebRequest.php
@@ -633,7 +633,7 @@
634634 /**
635635 * Return the size of the upload, or 0.
636636 *
637 - * @deprecated
 637+ * @deprecated since 1.17
638638 * @param $key String:
639639 * @return integer
640640 */
Index: trunk/phase3/includes/cache/HTMLCacheUpdate.php
@@ -155,7 +155,7 @@
156156
157157 /**
158158 * Invalidate a range of pages, right now
159 - * @deprecated
 159+ * @deprecated since 1.16
160160 */
161161 public function invalidate( $startId = false, $endId = false ) {
162162 $titleArray = $this->mCache->getLinks( $this->mTable, $startId, $endId );
Index: trunk/phase3/includes/Title.php
@@ -5,12 +5,6 @@
66 */
77
88 /**
9 - * @deprecated This used to be a define, but was moved to
10 - * Title::GAID_FOR_UPDATE in 1.17. This will probably be removed in 1.18
11 - */
12 -define( 'GAID_FOR_UPDATE', Title::GAID_FOR_UPDATE );
13 -
14 -/**
159 * Represents a title within MediaWiki.
1610 * Optionally may contain an interwiki designation or namespace.
1711 * @note This class can fetch various kinds of data from the database;
Index: trunk/phase3/includes/DefaultSettings.php
@@ -284,7 +284,7 @@
285285 $wgIllegalFileChars = ":";
286286
287287 /**
288 - * @deprecated use $wgDeletedDirectory
 288+ * @deprecated since 1.17 use $wgDeletedDirectory
289289 */
290290 $wgFileStore = array();
291291
@@ -3599,7 +3599,7 @@
36003600 * - true : block it
36013601 * - false : let it through
36023602 *
3603 - * @deprecated Use hooks. See SpamBlacklist extension.
 3603+ * @deprecated since 1.17 Use hooks. See SpamBlacklist extension.
36043604 */
36053605 $wgFilterCallback = false;
36063606
@@ -3610,7 +3610,7 @@
36113611 $wgEnableDnsBlacklist = false;
36123612
36133613 /**
3614 - * @deprecated Use $wgEnableDnsBlacklist instead, only kept for backward
 3614+ * @deprecated since 1.17 Use $wgEnableDnsBlacklist instead, only kept for backward
36153615 * compatibility
36163616 */
36173617 $wgEnableSorbs = false;
@@ -3622,7 +3622,7 @@
36233623 $wgDnsBlacklistUrls = array( 'http.dnsbl.sorbs.net.' );
36243624
36253625 /**
3626 - * @deprecated Use $wgDnsBlacklistUrls instead, only kept for backward
 3626+ * @deprecated since 1.17 Use $wgDnsBlacklistUrls instead, only kept for backward
36273627 * compatibility
36283628 */
36293629 $wgSorbsUrl = array();
@@ -3672,7 +3672,7 @@
36733673 /**
36743674 * Array of groups which should never trigger the rate limiter
36753675 *
3676 - * @deprecated as of 1.13.0, the preferred method is using
 3676+ * @deprecated since 1.13.0, the preferred method is using
36773677 * $wgGroupPermissions[]['noratelimit']. However, this will still
36783678 * work if desired.
36793679 *
@@ -4426,7 +4426,7 @@
44274427
44284428 /**
44294429 * Set this to some HTML to override the rights icon with an arbitrary logo
4430 - * @deprecated Use $wgFooterIcons['copyright']['copyright']
 4430+ * @deprecated since 1.18 Use $wgFooterIcons['copyright']['copyright']
44314431 */
44324432 $wgCopyrightIcon = null;
44334433
@@ -4544,7 +4544,7 @@
45454545
45464546 /**
45474547 * Aliases for special pages provided by extensions.
4548 - * @deprecated Use $specialPageAliases in a file referred to by $wgExtensionMessagesFiles
 4548+ * @deprecated since 1.16 Use $specialPageAliases in a file referred to by $wgExtensionMessagesFiles
45494549 */
45504550 $wgExtensionAliasesFiles = array();
45514551
Index: trunk/phase3/includes/specials/SpecialUndelete.php
@@ -159,19 +159,6 @@
160160 }
161161
162162 /**
163 - * Fetch (and decompress if necessary) the stored text for the deleted
164 - * revision of the page with the given timestamp.
165 - *
166 - * @param $timestamp String
167 - * @return String
168 - * @deprecated Use getRevision() for more flexible information
169 - */
170 - function getRevisionText( $timestamp ) {
171 - $rev = $this->getRevision( $timestamp );
172 - return $rev ? $rev->getText() : null;
173 - }
174 -
175 - /**
176163 * Return a Revision object containing data for the deleted revision.
177164 * Note that the result *may* or *may not* have a null page ID.
178165 *
Index: trunk/phase3/includes/specials/SpecialRandompage.php
@@ -169,9 +169,9 @@
170170 return $dbr->fetchObject( $res );
171171 }
172172
173 - /* an alternative to $wgExtraRandompageSQL so subclasses
 173+ /** an alternative to $wgExtraRandompageSQL so subclasses
174174 * can add their own SQL by overriding this function
175 - * @deprecated, append to $this->extra instead
 175+ * @deprecated since 1.16 append to $this->extra instead
176176 */
177177 public function addExtraSQL() {
178178 return '';
Index: trunk/phase3/includes/Skin.php
@@ -376,7 +376,7 @@
377377 * This used to load MediaWiki:Common.js and the skin-specific style
378378 * before the ResourceLoader.
379379 *
380 - * @deprecated Use the ResourceLoader instead. This may be removed at some
 380+ * @deprecated since 1.18 Use the ResourceLoader instead. This may be removed at some
381381 * point.
382382 * @param $skinName String: If set, overrides the skin name
383383 * @return String
@@ -388,7 +388,7 @@
389389 /**
390390 * Generate user stylesheet for action=raw&gen=css
391391 *
392 - * @deprecated Use the ResourceLoader instead. This may be removed at some
 392+ * @deprecated since 1.18 Use the ResourceLoader instead. This may be removed at some
393393 * point.
394394 * @return String
395395 */
Index: trunk/phase3/includes/ImageGallery.php
@@ -127,9 +127,10 @@
128128 * Instruct the class to use a specific skin for rendering
129129 *
130130 * @param $skin Skin object
131 - * @deprecated Not used anymore
 131+ * @deprecated since 1.18 Not used anymore
132132 */
133133 function useSkin( $skin ) {
 134+ wfDeprecated( __METHOD__ );
134135 /* no op */
135136 }
136137
Index: trunk/phase3/languages/LanguageConverter.php
@@ -472,7 +472,7 @@
473473 *
474474 * @param $text String: the text to be converted
475475 * @return Array: variant => converted text
476 - * @deprecated Use autoConvertToAllVariants() instead
 476+ * @deprecated since 1.17 Use autoConvertToAllVariants() instead
477477 */
478478 public function convertLinkToAllVariants( $text ) {
479479 return $this->autoConvertToAllVariants( $text );
Index: trunk/phase3/languages/Language.php
@@ -2839,7 +2839,7 @@
28402840 * into an array of all possible variants of the text:
28412841 * 'variant' => text in that variant
28422842 *
2843 - * @deprecated Use autoConvertToAllVariants()
 2843+ * @deprecated since 1.17 Use autoConvertToAllVariants()
28442844 */
28452845 function convertLinkToAllVariants( $text ) {
28462846 return $this->mConverter->convertLinkToAllVariants( $text );

Follow-up revisions

RevisionCommit summaryAuthorDate
r87905follow-up to r87584: remove a call to no-op function ImageGallery::useSkin() ...ashley11:51, 12 May 2011
r87963Re-do r87961 in a better way. Like I said, it's not acting the same as Linker...krinkle10:34, 13 May 2011
r89224Followup r87584, r87963...reedy20:23, 31 May 2011
r94543Partial revert to r87584...reedy18:35, 15 August 2011
r94585MFT r94543 -- fix bug 30355 (importImages regression from r87584)brion22:39, 15 August 2011

Comments

#Comment by Bryan (talk | contribs)   21:53, 6 May 2011

RELEASE-NOTES for the removed functions?

#Comment by Reedy (talk | contribs)   22:06, 6 May 2011

Is it needed? The removed functions in most cases have been long deprecated?

I can probably go back through it all and just make a list.. Do we have a standardised way of doing it?

#Comment by Bryan (talk | contribs)   22:21, 6 May 2011

New section in RELEASE-NOTES? Don't go back too far, just things that were removed in 1.19.

#Comment by Nikerabbit (talk | contribs)   05:50, 11 May 2011
[11-May-2011 03:02:03] PHP Notice:  Use of ImageGallery::useSkin is deprecated. [Called from ImageQueryPage::outputResults in /www/w/includes/ImageQueryPage.php at line 26] for /w/i.php?title=Special:MostLinkedFiles&limit=50&offset=100<ul>
<li>ImageGallery.php line 133 calls wfDeprecated()</li>
<li>ImageQueryPage.php line 26 calls ImageGallery::useSkin()</li>
<li>QueryPage.php line 528 calls ImageQueryPage::outputResults()</li>
<li>SpecialPageFactory.php line 459 calls QueryPage::execute()</li>
<li>Wiki.php line 252 calls SpecialPageFactory::executePath()</li>
<li>Wiki.php line 98 calls MediaWiki::handleSpecialCases()</li>
<li>index.php line 149 calls MediaWiki::performRequestForTitle()</li>
#Comment by Reedy (talk | contribs)   16:14, 13 May 2011

Can't replicate

Marking new

#Comment by Nikerabbit (talk | contribs)   16:18, 13 May 2011

Someone fixed that.

#Comment by Brion VIBBER (talk | contribs)   19:05, 31 May 2011

Sloppy code change in Vector.php causes bug 29204 -- please don't just replace deprecated functions with other functions when they return different and incompatible data types!

#Comment by Reedy (talk | contribs)   20:04, 31 May 2011

Similarly then, people shouldn't add comments which are a lie

See methods removed in r1=87583&r2=87584 http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/Linker.php?&pathrev=87584&r1=87583&r2=87584

#Comment by Reedy (talk | contribs)   20:10, 31 May 2011

Goddamnit CR!

#Comment by Brion VIBBER (talk | contribs)   20:30, 31 May 2011

What comments are lies, exactly?

#Comment by Brion VIBBER (talk | contribs)   20:31, 31 May 2011

(And as a reminder, deprecation DOES NOT mean that something should be actively removed -- it means something is no longer recommended for new use. It's usually wise to refactor away from existing uses of deprecated functions, but only if the new code actually works better.)

#Comment by Reedy (talk | contribs)   20:37, 31 May 2011

I was only going through the process of removing stuff that had long been marked for removal. Trying to remove some of the remaining rotten code

As for the "lies", I quickly scanned the diff, and I didn't notice that I hadn't actually followed the replacement instructions (which I thought were wrong, hence a lie) exactly as they'd said


Lots of stuff going on, tiredness etc.

Sorry!

#Comment by Brion VIBBER (talk | contribs)   21:35, 31 May 2011

Thanks, just remember to test refactorings before committing. :)

It can also help to break up large commits like this; a commit that was labeled "replaced remaining deprecated Linker::tooltipAndAccessKey() calls with Linker::tooltipAndAccessKeyAttribs()" would probably have been easier to identify as slipping in a little bug, as somebody might have noticed the mismatched function signatures.

This commit ended up kinda big and I suspect reviewers didn't pay as much attention after clicking through to show a few diffs that were mostly adjustments to comments or removal of unused functions.

#Comment by Brion VIBBER (talk | contribs)   20:29, 31 May 2011

Ok, this looks like it's now fixed in r89224.

#Comment by Krinkle (talk | contribs)   19:10, 31 May 2011

See also r87963.

#Comment by Brion VIBBER (talk | contribs)   17:58, 15 August 2011

This commit removed LocalFile::recordUpload, apparently causing bug 30355.

WHYYYYYYYYYYY please don't remove things like this...

#Comment by Brion VIBBER (talk | contribs)   22:41, 15 August 2011

Resolved in r94543 (trunk), r94585 (1.18).

Status & tagging log