diff --git a/locales/en/messages.json b/locales/en/messages.json
index b025e9a5..9b6615ec 100644
--- a/locales/en/messages.json
+++ b/locales/en/messages.json
@@ -3084,7 +3084,7 @@
"message": "Select commit"
},
"firmwareFlasherReleaseSummaryHead": {
- "message": "Release info"
+ "message": "Release and Build info"
},
"firmwareFlasherReleaseManufacturer": {
"message": "Manufacturer ID:"
@@ -3116,6 +3116,24 @@
"firmwareFlasherCloudBuildStatus": {
"message": "Status:"
},
+ "firmwareFlasherCloudBuildPending": {
+ "message": "pending"
+ },
+ "firmwareFlasherCloudBuildProcessing": {
+ "message": "processing"
+ },
+ "firmwareFlasherCloudBuildSuccessCached": {
+ "message": "success (cached)"
+ },
+ "firmwareFlasherCloudBuildSuccess": {
+ "message": "success"
+ },
+ "firmwareFlasherCloudBuildTimedOut": {
+ "message": "timed out (please retry)"
+ },
+ "firmwareFlasherCloudBuildFailed": {
+ "message": "failed (please check log)"
+ },
"firmwareFlasherReleaseFileUrl": {
"message": "Download manually."
},
diff --git a/src/css/dark-theme.less b/src/css/dark-theme.less
index ba2b0f57..d63e64dc 100644
--- a/src/css/dark-theme.less
+++ b/src/css/dark-theme.less
@@ -354,7 +354,11 @@ button {
}
.release_info {
.target {
- color: #98ddff;
+ color: white;
+ }
+ .buildProgress {
+ border: 1px solid var(--subtleAccent);
+ border-radius: 2px;
}
}
.cf_table {
diff --git a/src/js/tabs/firmware_flasher.js b/src/js/tabs/firmware_flasher.js
index 9c6504a9..d1a03577 100644
--- a/src/js/tabs/firmware_flasher.js
+++ b/src/js/tabs/firmware_flasher.js
@@ -772,11 +772,12 @@ firmware_flasher.initialize = function (callback) {
i18n.localizePage();
}
- function updateStatus(status, key) {
- if (status === 'success' || status === 'fail') {
- $('div.release_info #cloudTargetLog').text('Build Log').prop('href', `https://build.betaflight.com/api/builds/${key}/log`);
+ function updateStatus(status, key, val, showLog) {
+ if (showLog === true) {
+ $('div.release_info #cloudTargetLog').text(i18n.getMessage(`firmwareFlasherCloudBuildLogUrl`)).prop('href', `https://build.betaflight.com/api/builds/${key}/log`);
}
- $('div.release_info #cloudTargetStatus').text(status);
+ $('div.release_info #cloudTargetStatus').text(i18n.getMessage(`firmwareFlasherCloudBuild${status}`));
+ $('.buildProgress').val(val);
}
function requestCloudBuild(summary) {
@@ -817,14 +818,17 @@ firmware_flasher.initialize = function (callback) {
analytics.setFirmwareData(analytics.DATA.FIRMWARE_NAME, info.file);
- let retries = 0;
+ updateStatus('Pending', info.key, 0, false);
+ let retries = 1;
self.releaseLoader.requestBuildStatus(info.key, (status) => {
if (status.status !== "queued") {
- updateStatus(status.status, info.key);
// will be cached already, no need to wait.
if (status.status === 'success') {
+ updateStatus('SuccessCached', info.key, 100, true);
+ $('.buildProgress').val(100);
self.releaseLoader.loadTargetHex(info.url, (hex) => onLoadSuccess(hex, info.file), onLoadFailed);
} else {
+ updateStatus('Failed', info.key, 0, true);
onLoadFailed();
}
return;
@@ -832,20 +836,26 @@ firmware_flasher.initialize = function (callback) {
const timer = setInterval(() => {
self.releaseLoader.requestBuildStatus(info.key, (status) => {
- if (status.status !== 'queued' || retries > 8) {
- updateStatus(status.status, info.key);
+ if (status.status !== 'queued' || retries > 10) {
clearInterval(timer);
if (status.status === 'success') {
+ updateStatus('Success', info.key, 100, true);
self.releaseLoader.loadTargetHex(info.url, (hex) => onLoadSuccess(hex, info.file), onLoadFailed);
} else {
+ if (retries > 10) {
+ updateStatus('TimedOut', info.key, 0, true);
+ } else {
+ updateStatus('Failed', info.key, 0, true);
+ }
onLoadFailed();
}
return;
}
- updateStatus(`${status.status} (${retries})`, info.key);
+
+ updateStatus('Processing', info.key, retries * 10, false);
retries = retries + 1;
});
- }, 5000);
+ }, 4000);
});
}, onLoadFailed);
}
diff --git a/src/tabs/firmware_flasher.html b/src/tabs/firmware_flasher.html
index 712b0ba6..0f50ab54 100644
--- a/src/tabs/firmware_flasher.html
+++ b/src/tabs/firmware_flasher.html
@@ -244,11 +244,14 @@
+
-
-