MOV files are reported as 0 size in iOS7 & iOS8 w/ multiple attribute present #990

Open
rnicholus opened this Issue Sep 12, 2013 · 23 comments

Projects

None yet

5 participants

@rnicholus
Member

I was able to reproduce with this jsfiddle: http://jsfiddle.net/zrKQD/3/.

The issue is only reproducible if the multiple attribute is present on a . With this attribute set, all browsers on iOS7 report the File size attribute as "0". Removing this attribute results in as-expected size determination by the browser, but, of course, you can only select one file at a time.

I have filed a bug with Apple and am waiting for updates. A workaround will likely be provided until this is fixed.

See #989, where this was discovered.

@rnicholus rnicholus added a commit that referenced this issue Sep 12, 2013
@rnicholus rnicholus fix(client/js/util.js): #990, closes #989 - provide a workaround for …
…the MOV file size bug in iOS7
1c4c38d
@rnicholus
Member

Until Apple fixes this in iOS7, there is a very simple workaround. I've added a function that will allow you to determine if the browser is running on iOS7. You can use that to set the value of the file input's multiple attribute, so, if you plan on allowing MOV files, you should set the value of the multiple option like this:

$("#uploader").fineUploader({
    multiple: !qq.ios7(),
    ...
});

This will remove the multiple attribute from all upload buttons (unless you have contributed an extraButton with a specific value for multiple), but only in iOS7. This means that users will not be able to select multiple files at once in iOS7, but at least they will be able to upload MOV files!

Note that qq.ios7() is new as of Fine Uploader 3.9.

@feltnerm feltnerm added a commit that referenced this issue Sep 17, 2013
@feltnerm feltnerm fix(gh-pages/demos): #990 - Workaround iOS7
**NOTE!**

Will not work until latest Fine Uploader release (3.9) is included since 3.8.2
does not have a `qq.ios7()` function. I assume this will be done on release day
(tomorrow). I pushed these commits to save time on updating the site on release
day.

----

All demo .js files have the added option of:

```
multiple: !qq.ios7()
```

fixes #990

[ci skip]
7b01fe3
@feltnerm feltnerm added a commit that closed this issue Sep 18, 2013
@feltnerm feltnerm fix(gh-pages/demos): #990 - Workaround iOS7
**NOTE!**

Will not work until latest Fine Uploader release (3.9) is included since 3.8.2
does not have a `qq.ios7()` function. I assume this will be done on release day
(tomorrow). I pushed these commits to save time on updating the site on release
day.

----

All demo .js files have the added option of:

```
multiple: !qq.ios7()
```

fixes #990

[ci skip]
7b01fe3
@feltnerm feltnerm closed this in 7b01fe3 Sep 18, 2013
@mstuart
mstuart commented Sep 23, 2013

Hi @rnicholus - did you file it in the developer forums or the bug tracker? Can you share the link? Not having the "multiple" attribute is a big burden... I'd like to follow the progress on this ticket. Thanks!

@rnicholus
Member

Apple doesn't appear to be particularly interested in fixing bugs such as this one. If you've ever used their bug tracker, you may have noticed that the bug tracker itself is often down in fact. I have several outstanding bugs with Apple.

All I can tell you is that the bug number (in the bug tracker) is 14975656. There doesn't appear to be any way to grab a link. If this doesn't receive any attention from Apple, I will likely be forced to implement a (possibly permanent) workaround for iOS7. I'm wondering if simply tossing out the file size restrictions/checking for iOS7 MOV files will be sufficient.

@rnicholus
Member

This should not have been closed. Re-opening.

@rnicholus rnicholus reopened this Sep 23, 2013
@krankin
krankin commented Sep 24, 2013

Wanted to let you know we ran into this earlier today on IOS6. Tested with safari and chrome browsers on iOS6 as well as iOS7. In our haste we wrote our own iOS7 check method, and we're a few versions of fine uploader behind so I'm not sure if the iOS6 issue was resolved with another commit. All that to say, the workaround worked for us with Safari, but we are still having this issue with Chrome on both versions of iOS.

iOS-6.1.3

@rnicholus
Member

The first time I ran into this issue with MOV files was iOS 7.0.0. I tested previously on 6.1.4 and I don't recall seeing any MOV-related issues. Have you tested on 6.1.4 by any chance?

Chrome for iOS is not explicitly supported by Fine Uploader at this time. There is a pending feature case open for us to certify it, though. See #864 for more info. I'll look into this more when we get to that case. I can tell you that Chrome on iOS is a bit less capable than Safari. For example, upload progress is not supported. You will likely have a better experience, as far as uploading is concerned in iOS, with Safari.

@Annodyne

Interesting. Thanks for the info. We have an iPad 3 here in the office so I will be curious to try that out.

@rnicholus
Member

Note that the workaround (which is used in all demos on the fine uploader site) is described in my second comment in this issue.

@Annodyne

Works great. Thanks again.

@rnicholus
Member

Be sure you are using Fine Uploader 3.9 if you are utilizing the workaround I described.

@Annodyne

I do plan on upgrading some time soon, but for now I've just set a static false for the multiple attribute. I don't want them handling more than one video at a time so it works out.

@rnicholus
Member

I received the following message from Apple today regarding the bug I filed:

Please verify this issue in iOS 7.0.4 GM (Build: 11B554a) and reply back with your results.

I'm not sure what the point of this message was. The bug definitely still exists in 7.0.4 and Apple could have verified themselves in 10 seconds using my jsfiddle link.

@Annodyne

Hah! Good ol’ Apple. Thanks for following up!

@rnicholus
Member

Note that there is an automatic workaround for this that will be part of 4.1.0. See #1039.

@rnicholus rnicholus changed the title from MOV files are reported as 0 size in iOS7 w/ multiple attribute present to MOV files are reported as 0 size in iOS7 & iOS8 w/ multiple attribute present Sep 10, 2014
@rnicholus
Member

Also present in iOS8 GM, but the workaround triggers a new issue in iOS8, described in #1283.

@rnicholus rnicholus added this to the 5.0.5 milestone Sep 10, 2014
@rnicholus
Member

At the request of a Chromium developer, I filed an issue in the Chromium bug tracker as well. Since Apple isn't interested in fixing this, maybe the Chromium team can include a workaround specific to mobile Chrome.

https://code.google.com/p/chromium/issues/detail?id=414769

@rnicholus rnicholus removed this from the 5.0.5 milestone Sep 17, 2014
@rnicholus
Member

This appears to be fixed in iOS 8.0.2. The workaround will be adjusted in 5.0.7 to only target iOS7 & < iOS 8.0.2.

#1184 will be closed as a result, as it is no longer relevant.

@rnicholus rnicholus self-assigned this Sep 26, 2014
@rnicholus rnicholus added this to the 5.0.7 milestone Sep 26, 2014
@rnicholus rnicholus added 3 - Doing and removed 4 - Blocked labels Sep 26, 2014
@rnicholus
Member

I take that back - this is fixed in Safari, but not Chrome. Chrome seems to be unable to update videos regardless of the configuration at this point.

With the multiple attribute present, they are uploaded 0-sized.

With the multiple attribute absent, files can't be selected at all on iPads running iOS8 (an intentional "fix" by Google for #1283). On other devices, the video upload stalls shortly after starting. I'm moving this back to blocked until Chrome is fixed.

@rnicholus rnicholus added 4 - Blocked and removed 3 - Doing labels Sep 26, 2014
@rnicholus rnicholus removed this from the 5.0.7 milestone Sep 26, 2014
@mikewebaphorism

I just upgraded from custom.fineuploader-4.4.0.js to azure.fine-uploader.js and tested it on iPhone 5s and found same bug..... wondering if anyone else has seen this issue / bug?

@mikewebaphorism

/*! 2015-04-21 */

@rnicholus
Member

@mikewebaphorism This is a Chrome-specific issue, so everyone is likely seeing this. There is also a similar issue, #1401.

@rnicholus
Member

@mikewebaphorism "2015-04-21" isn't a version. Regardless, this is a Chrome issue. You can follow the status of this by looking at the chromium bug I filed, linked to a few messages back.

@mikewebaphorism

Thank You

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment