|
|
@@ -122,13 +122,13 @@ function fetchFiles(urls, filesData, index, retry, zipFilename) {
|
|
|
xhr.timeout = 5000; // time in milliseconds
|
|
|
}
|
|
|
else if (retry == 2) { // longer timeout
|
|
|
- xhr.timeout = 20000; // time in milliseconds
|
|
|
+ xhr.timeout = 10000; // time in milliseconds
|
|
|
}
|
|
|
else if (retry == 3) { // longer timeout
|
|
|
- xhr.timeout = 30000; // time in milliseconds
|
|
|
+ xhr.timeout = 20000; // time in milliseconds
|
|
|
}
|
|
|
else { // very long timeout
|
|
|
- xhr.timeout = 60000; // time in milliseconds
|
|
|
+ xhr.timeout = 30000; // time in milliseconds
|
|
|
}
|
|
|
|
|
|
xhr.onload = () => { // Request finished
|
|
|
@@ -146,6 +146,20 @@ function fetchFiles(urls, filesData, index, retry, zipFilename) {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ xhr.onprogress = (e) => { // XMLHttpRequest progress ... extend timeout
|
|
|
+ xhr.timeout = xhr.timeout + 500;
|
|
|
+ };
|
|
|
+
|
|
|
+ xhr.onerror = (e) => { // XMLHttpRequest error loading
|
|
|
+ console.log("Error on fetching " + url + "!");
|
|
|
+ if (retry > 5) {
|
|
|
+ setStatus("<span style=\"color: red\">Backup failed, please restart the device and try again!</span>");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ fetchFiles(urls, filesData, index, retry+1, zipFilename);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
xhr.ontimeout = (e) => { // XMLHttpRequest timed out
|
|
|
console.log("Timeout on fetching " + url + "!");
|
|
|
if (retry > 5) {
|