diff --git a/locales/en/messages.json b/locales/en/messages.json
index 1e3817c9d2..196ac70e08 100644
--- a/locales/en/messages.json
+++ b/locales/en/messages.json
@@ -2757,6 +2757,13 @@
"firmwareFlasherFailedToLoadOnlineFirmware": {
"message": "Failed to load remote firmware"
},
+ "firmwareFlasherFailedToLoadUnifiedConfig": {
+ "message": "Failed to load remote config for {{remote_file}}"
+ },
+ "firmwareFlasherLegacyLabel": {
+ "message": "{{target}} (Legacy)",
+ "description": "If we have a Unified target and a old style target available, we are labeling the older one"
+ },
"firmwareFlasherNoFirmwareSelected": {
"message": "No firmware selected to load"
},
diff --git a/src/js/tabs/firmware_flasher.js b/src/js/tabs/firmware_flasher.js
index 0494cdcf67..8475bca31e 100644
--- a/src/js/tabs/firmware_flasher.js
+++ b/src/js/tabs/firmware_flasher.js
@@ -250,6 +250,7 @@ TABS.firmware_flasher.initialize = function (callback) {
let releases = {};
let unifiedConfigs = {};
let items = {};
+ let baseTargets = {};
data.forEach(function(target) {
let targetName = target.name;
if (targetName.endsWith('.config')) {
@@ -258,16 +259,23 @@ TABS.firmware_flasher.initialize = function (callback) {
return;
}
unifiedConfigs[targetName]=target.download_url;
- items[targetName] = target.download_url;
+ items[targetName] = "something";
});
Object.keys(builds).forEach(function (key) {
+ // unifiedTargets is our list above of 4 targets
if (unifiedTargets.includes(key)) {
items[key] = "something";
releases[key] = builds[key];
} else {
var legacyKey = key + " (Legacy)";
- items[legacyKey] = "something";
- releases[legacyKey] = builds[key];
+ if (unifiedConfigs[key] === undefined) {
+ items[key] = "something";
+ releases[key] = builds[key];
+ } else {
+ items[legacyKey] = "i18nplz";
+ baseTargets[legacyKey] = key;
+ releases[legacyKey] = builds[key];
+ }
}
});
$('select[name="board"]').empty()
@@ -281,7 +289,10 @@ TABS.firmware_flasher.initialize = function (callback) {
Object.keys(items)
.sort()
.forEach(function(target, i) {
- var select_e = $("".format(target));
+ //console.log(items);console.log('target', items[target]);
+ var select_e = $("".format(target,
+ items[target] === "i18nplz" ? i18n.getMessage("firmwareFlasherLegacyLabel",
+ {target: baseTargets[target]}) : target));
boards_e.append(select_e);
});
TABS.firmware_flasher.releases = releases;
@@ -462,7 +473,9 @@ TABS.firmware_flasher.initialize = function (callback) {
targetConfig = undefined;
isConfigLocal = false;
unifiedConfig= undefined;
- GUI.log('failed to load a unified config');
+ let baseFileName = TABS.firmware_flasher.unifiedConfigs[target].reverse()[0];
+ GUI.log(i18n.getMessage('firmwareFlasherFailedToLoadUnifiedConfig',
+ {remote_file: baseFileName}));
});
} else {
console.log('We have the config cached for', target);