Page MenuHomePhabricator

UploadWizard doesn't transfer Flickr photos
Closed, ResolvedPublic

Description

Author: bidgee-wiki

Description:
Example of a "blank file"

I've tried transferring photographs licensed under CC-BY/CC-BY-SA 2.0 from Flickr authors whom are not blacklisted. This happens on all browsers and on Mac OS X and Windows 7 OS.

http://commons.wikimedia.org/wiki/Commons:Upload_Wizard_feedback#Upload_Wizard_does_nothing_with_Flickr_uploads


Version: master
Severity: normal

Attached:

Screen_Shot_2013-04-26_at_10.24.02_PM.png (282×904 px, 21 KB)

Details

Reference
bz47771

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 1:15 AM
bzimport added a project: UploadWizard.
bzimport set Reference to bz47771.

So after getting through to the flickr interface on that wiki using $( '#mwe-upwiz-upload-ctrl-flickr' ).click() and uploading a file, I see this error:

Uncaught TypeError: Object function arrayPrototypeUniq() {
var result = [];
for( var i = 0; i < this.length; ++i ) {

		var current = this[i];
		if( result.indexOf( current ) == -1 ) {
			result.push( current );
		}

}
return result;
} has no method 'counter'

This is because we loop through an array in updateCopyMsgs in mw.UploadWizardDetails.js using "for ( var mx in msgs ) { var msg = msgs[mx]; }".

For most users this is fine, but both of us include Array.prototype.uniq, Array.prototype.dups, and Array.prototype.chunk in morebits.js, which is needed for Twinkle.

(I'm using https://en.wikipedia.org/w/index.php?title=User:AzaToth/morebits.js while the bug creator seems to be using https://commons.wikimedia.org/wiki/User:Maximr/morebits.js)

I'm not sure we should expect other JS to do this, but a workaround seems to be to use $.each on the msgs array instead.

Related URL: https://gerrit.wikimedia.org/r/61249 (Gerrit Change I583dbb8e196b7b87137ac9de2c4747d1e99405fc)

Alex, I have just changed the for loop to $.each can you verify that this works.

(In reply to comment #3)

Alex, I have just changed the for loop to $.each can you verify that this
works.

This needs to be answered first:

I'm not sure we should expect other JS to do this

I cannot verify that this entirely fixes the problem, we'll have to ask the bug creator about that.

... Okay, TheDJ has approved the change. This should get deployed to Commons on Wednesday the 1st of May. Hopefully we'll know whether this completely fixed it for the bug creator then.

(In reply to comment #5)

I now think the change shouldn't have been merged in, see my inline comments on the patch.

bidgee-wiki wrote:

I can confirm that the change made has fixed the issue.