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 @@
+
- -
+
+ +
+