Closed Bug 682679 Opened 13 years ago Closed 13 years ago

Unable to attach documents and images on vk.com (vkontakte.ru)

Categories

(Tech Evangelism Graveyard :: Russian, defect)

defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: mdykun, Unassigned)

References

()

Details

Attachments

(3 files)

Attached image Step1.PNG
User Agent: Mozilla/5.0 (Windows NT 6.1; rv:9.0a1) Gecko/20110827 Firefox/9.0a1
Build ID: 20110827030801

Steps to reproduce:

1. Go on vk.com/wall.php (registration required), find the "Attach" link (in the bottom right corner of textbox) 
2. On pop-up select "Photo".
3. Select some picture from PC with the "Browse" button ("Upload a new photo:")

(see screenshots if needed)


Actual results:

Nothing


Expected results:

The uploading process of our photo begins
Attached image step 2
Attached image Step 3
Comment on attachment 556367 [details]
Step1.PNG

Step 1
As for me, importance of this bug is high, because vk.com is the most popular social network in Russia, Ukraine and some other countries.

It regression from 8 Branch, affected on FF 8 (aurora) and FF 9 (latest nightly).
Keywords: regression
Severity: normal → major
Confirm on 2 computers.
Yakove, помененяй Platform: c x86 Windows 7, на all all. В Keywords: добавь top100.
Product: поменяй на core, Component: на подходящий.
Version: на 7, проблема замечена на firefox > 7.
Component: General → DOM
Keywords: top100
OS: Windows 7 → All
Product: Firefox → Core
Hardware: x86 → All
Confirmed against Mozilla/5.0 (Windows NT 5.1; rv:9.0a1) Gecko/20110827 Firefox/9.0a1 ID:20110827085010

Error Console Output:

Error: files[j].fileName is undefined
Source file: http://vk.com/js/al/upload.js?17
Line: 383


uploadFiles: function(i, files, max_files) {
  if (max_files <= 0) return;
  var options = this.options[i],
      vars = extend(this.vars[i], {ajx: 1}),
      params = [],
      totalSize = 0,
      filesQueue = [],
      re;

  if (options.file_match) re = new RegExp(options.file_match, "i");
  for (var j in vars) {
    params.push(j + "=" + vars[j]);
  }
  var uploadUrl = this.uploadUrls[i] + (this.uploadUrls[i].match(/\?/) ? '&' : '?') + params.join('&');

  for (var j = 0; j < max_files; j++) {
    if (options.file_match) {
      if (!files[j].fileName.match(re)) continue; <=========================== Line 383
    }
    if (options.multi_progress) this.onUploadStart({ind: i, fileName: files[j].fileName});
    totalSize += files[j].size;
    filesQueue.push(files[j]);
  }
  filesQueue.reverse();
  if (filesQueue.length > 0) {
    if (cur.multiProgressIndex !== undefined) {
      if (!cur.nextQueues) cur.nextQueues = [];
      cur.nextQueues.push(i);
    } else {
      this.uploadFile(i, filesQueue.pop(), uploadUrl);
      if (options.multi_progress) cur.multiProgressIndex = i;
    }
  }
  Upload.options[i].filesQueue = filesQueue;
  Upload.options[i].filesTotalSize = totalSize;
  Upload.options[i].filesLoadedSize = 0;
},

Works in Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.864.0 Safari/535.2
Component: DOM → General
OS: All → Windows 7
QA Contact: general → general
Hardware: All → x86
Version: 8 Branch → Trunk
When downloading firebug gives an error, files [j]. FileName is undefined - upload.js? 17 (383). In the analysis shows that the files [j] does not contain attribute fileName, and contains a name attribute with the desired value. In google chrome this attribute is present and no error occurs. I will try to find the source of errors.
XtC4UaLL [:xtc4uall] This problem appeared with Firefox 7.
I guess a Regression Range against mozilla-central/mozilla-inbound wouldn't hurt.

I won't have Time for the next couple Hours. If somebody wants to try: http://harthur.github.com/mozregression/
(In reply to XtC4UaLL [:xtc4uall] from comment #10)

mozregression could not find nightlies since June 2011 for me
Works for me:
Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.20) Gecko/20110803 Firefox/3.6.20
Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20100101 Firefox/6.0

Reproduced:
Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20100101 Firefox/7.0
Mozilla/5.0 (X11; Linux x86_64; rv:8.0a2) Gecko/20110828 Firefox/8.0a2
Mozilla/5.0 (X11; Linux x86_64; rv:9.0a1) Gecko/20110827 Firefox/9.0a1


Last good nightly: 2011-06-05
First bad nightly: 2011-06-06

Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=4f9bbea16f75&tochange=caf81a228fff
OS: Windows 7 → All
Hardware: x86 → All
Local track down using Linux x86_64:

The first bad revision is:
changeset:   70572:1dec937dfbb6
user:        Kyle Huey <khuey@kylehuey.com>
date:        Sun Jun 05 11:54:50 2011 -0700
summary:     Bug 661876: Remove obsolete nsIDOMFile methods/properties. r=sicking

http://hg.mozilla.org/mozilla-central/rev/1dec937dfbb6
Blocks: 661876
Hmm, like Bug 662838, Bug 664780 and Bug 670086 this sounds like a Site Issue i.e. Tech Evangelism.
This is not site issue, because it works on FF6 and earlier, Chrome, Opera, IE and Safary
(In reply to Yakove from comment #15)
> This is not site issue, because it works on FF6 and earlier, Chrome, Opera,
> IE and Safary

It isn't always a that simple Equation when other Browsers work and Firefox does not.
Site can rely on APIs Firefox offered in the Past but doesn't do so anymore => Site has to be updated/adjusted.

Did you actually read the surrounding Bug Reports Thomas and I posted?
OS: All → Windows 7
Hardware: All → x86
OK, maybe you are right. I'll try to connect with VK developers
XtC4UaLL [:xtc4uall]
Why x86 platform?
On x64 I have bug too!
OS: Windows 7 → All
Hardware: x86 → All
They're using a non-standard property that has a standard equivalent in all browsers that support this.

Moving to Technical Evangelism.
Assignee: nobody → russian
Component: General → Russian
Product: Core → Tech Evangelism
QA Contact: general → russian
Version: Trunk → unspecified
Status: UNCONFIRMED → NEW
Ever confirmed: true
Looks like VKontakte has fixed this error. I can not reproduce it anymore.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Yes, bug has fixed. Thanks to all!
Keywords: regression, top100
Yep, http://vk.com/js/al/upload.js?17 has been changed.

Previously it looked like this:

  for (var j = 0; j < max_files; j++) {
    if (options.file_match) {
      if (!files[j].fileName.match(re)) continue;
    }
    if (options.multi_progress) this.onUploadStart({ind: i, fileName: files[j].fileName});
    totalSize += files[j].size;
    filesQueue.push(files[j]);
  }


Now it looks like this instead:

  for (var j = 0; j < max_files; j++) {
    fileName = files[j].fileName || files[j].name || '';
    if (options.file_match) {
      if (!fileName.match(re)) continue;
    }
    if (options.multi_progress) this.onUploadStart({ind: i, fileName: fileName});
    totalSize += files[j].size;
    filesQueue.push(files[j]);
  }

-----

Works for me:
Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.20) Gecko/20110803 Firefox/3.6.20
Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20100101 Firefox/6.0
Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20100101 Firefox/7.0
Mozilla/5.0 (X11; Linux x86_64; rv:8.0a2) Gecko/20110829 Firefox/8.0a2
Mozilla/5.0 (X11; Linux x86_64; rv:9.0a1) Gecko/20110829 Firefox/9.0a1
Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.9.168 Version/11.50
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1
Status: RESOLVED → VERIFIED
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: