mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-19 14:25:14 +03:00
Adding a progress bar for CLOUD BUILD progress (#3081)
* Adding simple progress bar for build request * Adding language support.
This commit is contained in:
parent
30340c17bd
commit
717d7f6685
4 changed files with 49 additions and 14 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue