New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 824018 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug



Sign in to add a comment

Try again download message is not shown when download button is clicked in airplane mode

Project Member Reported by rakurati@chromium.org, Mar 21 2018

Issue description

App Version: 67.0.3376.0 Canary
iOS Version: 11.3 beta 6, 10.3.3
Device: iPhone and iPad
URL: https://developer.apple.com/fonts/

Steps to reproduce:
1. Launch chrome and go to above URL
2. Tap on download file
3. Go to airplane mode(no internet connection)
4. Tap on download button in info bar

Observed results:
Notice that try again download message is not displayed

Note: Go to airplane mode while downloading in progress then the try again message will be shown

Expected results:
Try again download message should be displayed

Number of times you were able to reproduce: 5/5
Bug reproducible after clean install: Yes
Bug reproducible after clearing cache and cookies: Yes
Bug reproducible on Chrome Mobile on Android: Not tested
Bug reproducible on Safari/Firefox: Firefox: NA, Safari: NA 
Bug reproducible on current stable build (App Version, iOS Version): No on M65 [New Download UI from M67]
Bug reproducible on the current beta channel build (App Version, iOS Version): No on M66 [New Download UI from M67]

Link to video/image:
https://drive.google.com/file/d/1n2EYz4_gplgnUgpToiFqA4cy2G4JEPEp/view?usp=sharing

 
Labels: ReleaseBlock-Stable M-67
Owner: eugene...@chromium.org
Status: Assigned (was: Untriaged)
Current timeout for the failure is set to 1 week. Will lower it to 60 seconds :)
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5d6aaf99248ccd8486dc2ebf63d18f5cb41c9df

commit b5d6aaf99248ccd8486dc2ebf63d18f5cb41c9df
Author: Eugene But <eugenebut@google.com>
Date: Fri Mar 23 16:38:33 2018

Set 60 seconds as timeoutIntervalForResource for Downloads.

Background NSURLSession never fails due to connectivity errors. Instead
that session waits for connectivity up to timeoutIntervalForResource
timeout which defaults to 1 week.

This CL changes the timeout to 60 seconds.

Bug:  824018 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I841fc4580fa6bc6724198d825bb1736b91027fc4
Reviewed-on: https://chromium-review.googlesource.com/976623
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545482}
[modify] https://crrev.com/b5d6aaf99248ccd8486dc2ebf63d18f5cb41c9df/ios/web/download/download_controller_impl.mm

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/92ab9b4398cc8625c9003a6924e7fe6b43b9978d

commit 92ab9b4398cc8625c9003a6924e7fe6b43b9978d
Author: Eugene But <eugenebut@chromium.org>
Date: Fri Mar 23 17:51:46 2018

Revert "Set 60 seconds as timeoutIntervalForResource for Downloads."

This reverts commit b5d6aaf99248ccd8486dc2ebf63d18f5cb41c9df.

Reason for revert: This change cancels the download if the task did not complete within 60 seconds timeout.

Original change's description:
> Set 60 seconds as timeoutIntervalForResource for Downloads.
> 
> Background NSURLSession never fails due to connectivity errors. Instead
> that session waits for connectivity up to timeoutIntervalForResource
> timeout which defaults to 1 week.
> 
> This CL changes the timeout to 60 seconds.
> 
> Bug:  824018 
> Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
> Change-Id: I841fc4580fa6bc6724198d825bb1736b91027fc4
> Reviewed-on: https://chromium-review.googlesource.com/976623
> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
> Commit-Queue: Eugene But <eugenebut@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#545482}

TBR=sdefresne@chromium.org,eugenebut@chromium.org

Change-Id: I750099a0e3d786930a9d57dacdf62597be8d36f7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  824018 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Reviewed-on: https://chromium-review.googlesource.com/978471
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545512}
[modify] https://crrev.com/92ab9b4398cc8625c9003a6924e7fe6b43b9978d/ios/web/download/download_controller_impl.mm

Cc: eugene...@chromium.org sdefresne@chromium.org
Labels: -Pri-2 Pri-1
Owner: ghendel@chromium.org
This bug turned out to be very interesting. Background NSURLSession which is now used by download manager does not fail if there is no internet. It just waits until the device is connected again. And I actually find this very convenient, because if the connection drops during the download I actually prefer for Download Manager to wait. 

Perhaps never failing can be somewhat confusing user experience and we should set some sort of timeout and fail the download if there was not response for let's say 60 seconds. But I don't know if it worth the effort. Code for adding timeout is not complex, but it's still has to be custom written code.

Gabe, do you think we should add this timeout or close as WAI?


Cc: srikanthg@chromium.org
Status: WontFix (was: Assigned)
Try again is displayed if Airplane mode in turned on in the middle of the download (this is how we can test Try Again button). If Airplane mode is turned on before the download, then Download Manager will wait for connectivity. Khalil (Download Manager UX) said it's not a big deal to wait. Closing as WAI.

Comment 7 by ghendel@google.com, Apr 5 2018

Ya this is fine to keep as WAI. A timeout is nice but the user can also troubleshoot their connectivity and try again.

Comment 8 by ghendel@google.com, Apr 5 2018

Labels: -Pri-1 -ReleaseBlock-Stable Pri-2
Removing this from RBS bugs. 60 second timeout would be nice but not needed.

Sign in to add a comment