-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Milbeta 460 norn config UI branch #4660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
92248f6
4b6a925
ffd84f3
447ff7e
157ff4b
73c34d9
d965698
4d63c86
796ac22
b076b0b
6021e00
c3b0d8a
5c3509e
bb78543
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7510,5 +7510,44 @@ | |
| "osdDescElementLidar": { | ||
| "message": "$t(osdTextElementLidar.message)", | ||
| "description": "Don't translate!!!" | ||
| }, | ||
| "nornManticore": { | ||
| "message": "Manticore" | ||
| }, | ||
| "nornVtx": { | ||
| "message": "VTX" | ||
| }, | ||
| "nornNone": { | ||
| "message": "Немає" | ||
| }, | ||
| "nornGenerate": { | ||
| "message": "Згенерувати" | ||
| }, | ||
| "nornOutput": { | ||
| "message": "Конфігурація" | ||
| }, | ||
| "nornDrone": { | ||
| "message": "Дрон" | ||
| }, | ||
| "nornController": { | ||
| "message": "Контролер" | ||
| }, | ||
| "nornSize": { | ||
| "message": "Розмір" | ||
| }, | ||
| "nornCraftName": { | ||
| "message": "Назва дрона" | ||
| }, | ||
| "nornGPS": { | ||
| "message": "GPS" | ||
| }, | ||
| "nornCopy": { | ||
| "message": "Копіювати в буффер" | ||
| }, | ||
| "nornSave": { | ||
| "message": "Зберегти" | ||
| }, | ||
|
Comment on lines
+7545
to
+7549
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix typo in user-facing text.
🤖 Prompt for AI Agents |
||
| "tabNornConfig": { | ||
| "message": "NORN Налаштування" | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -41,6 +41,7 @@ | |
| "node": "20.x" | ||
| }, | ||
| "dependencies": { | ||
| "ejs": "^3.1.9", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chainVerify EJS version for security advisories and latest updates. The EJS dependency version 3.1.9 was published in March 2023. Given the security-sensitive nature of template engines (server-side template injection risks are documented for EJS), ensure this version has no known vulnerabilities and consider whether a newer version is available. Based on learnings Run the following script to check for security advisories and the latest version: 🏁 Script executed: #!/bin/bash
# Check for the latest version of EJS
curl -s https://registry.npmjs.org/ejs | jq -r '.["dist-tags"].latest'
# Check for security advisories using GitHub API
gh api graphql -f query='
{
securityVulnerabilities(first: 10, ecosystem: NPM, package: "ejs") {
nodes {
advisory {
summary
severity
publishedAt
}
vulnerableVersionRange
firstPatchedVersion {
identifier
}
}
}
}'Length of output: 1108 Upgrade EJS to ≥3.1.10. Version 3.1.9 is vulnerable to a moderate‐severity “pollution protection” issue (published 2024-04-28) fixed in 3.1.10. 🤖 Prompt for AI Agents |
||
| "@capacitor/android": "^7.0.1", | ||
| "@capacitor/core": "^7.0.1", | ||
| "@fortawesome/fontawesome-free": "^6.5.2", | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -508,6 +508,7 @@ function checkReportProblems() { | |||||
| } | ||||||
| } | ||||||
|
|
||||||
| needsProblemReportingDialog = false; | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove the unconditional suppression of the problem-reporting dialog. This line unconditionally sets This appears to be debug or development code that should not be in production. Users need to see these warnings to diagnose and fix problems with their flight controllers. Remove this line to restore proper problem reporting: - needsProblemReportingDialog = false;
if (needsProblemReportingDialog) {📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||
| if (needsProblemReportingDialog) { | ||||||
| problems.forEach((problem) => { | ||||||
| problemItemTemplate.clone().html(problem.description).appendTo(problemDialogList); | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -740,10 +740,60 @@ firmware_flasher.initialize = async function (callback) { | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| STM32.rebootMode = 0; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GUI.connect_lock = false; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| startFlashing(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } else { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Auto-detect board when firmware flasher tab is active and no flash-on-connect | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Auto-detecting board for connected USB device`); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AutoDetect.verifyBoard(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| function detectedSerialDevice(device) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const isFlashOnConnect = $("input.flash_on_connect").is(":checked"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Detected serial device:`, device); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Reboot mode: %s, flash on connect`, STM32.rebootMode, isFlashOnConnect); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if (STM32.rebootMode || isFlashOnConnect) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| STM32.rebootMode = 0; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GUI.connect_lock = false; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| startFlashing(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } else { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Auto-detect board when firmware flasher tab is active and no flash-on-connect | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Auto-detecting board for connected serial device`); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AutoDetect.verifyBoard(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EventBus.$on("port-handler:auto-select-usb-device", detectedUsbDevice); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EventBus.$on("port-handler:auto-select-serial-device", detectedSerialDevice); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Also listen for port changes to catch reconnections | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| function onPortChange(port) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Port changed to:`, port); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Auto-detect board when port changes and we're on firmware flasher tab | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if (port && port !== "0" && !$("input.flash_on_connect").is(":checked") && !STM32.rebootMode) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Auto-detecting board for port change`); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| setTimeout(() => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AutoDetect.verifyBoard(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, 500); // Small delay to ensure port is ready | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } else if (!port || port === "0") { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Clear board selection when no port is selected | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Clearing board selection - no port selected`); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| $('select[name="board"]').val("0").trigger("change"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+770
to
+784
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Store timeout references for cleanup. The Store the timeout reference and clear it in the +let portChangeTimeout = null;
+
function onPortChange(port) {
console.log(`${self.logHead} Port changed to:`, port);
+ // Clear any pending timeout
+ if (portChangeTimeout) {
+ clearTimeout(portChangeTimeout);
+ portChangeTimeout = null;
+ }
// Auto-detect board when port changes and we're on firmware flasher tab
if (port && port !== "0" && !$("input.flash_on_connect").is(":checked") && !STM32.rebootMode) {
console.log(`${self.logHead} Auto-detecting board for port change`);
- setTimeout(() => {
+ portChangeTimeout = setTimeout(() => {
AutoDetect.verifyBoard();
+ portChangeTimeout = null;
}, 500); // Small delay to ensure port is readyThen in firmware_flasher.cleanup = function (callback) {
+ // Clear any pending timeouts
+ if (portChangeTimeout) {
+ clearTimeout(portChangeTimeout);
+ portChangeTimeout = null;
+ }
// unbind "global" events📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Listen for device removal to clear board selection | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| function onDeviceRemoved(devicePath) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Device removed:`, devicePath); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Clear board selection when device is removed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| $('select[name="board"]').val("0").trigger("change"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Also clear any loaded firmware | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| clearBufferedFirmware(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EventBus.$on("ports-input:change", onPortChange); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EventBus.$on("port-handler:device-removed", onDeviceRemoved); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| async function saveFirmware() { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const fileType = self.firmware_type; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -1458,6 +1508,17 @@ firmware_flasher.initialize = async function (callback) { | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| $("a.exit_dfu").removeClass("disabled"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Auto-detect board if a drone is already connected when tab becomes active | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (PortHandler.portAvailable && !$('select[name="board"]').val()) || | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| $('select[name="board"]').val() === "0" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| console.log(`${self.logHead} Auto-detecting board for already connected device`); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| setTimeout(() => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AutoDetect.verifyBoard(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, 1000); // Small delay to ensure tab is fully loaded | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+1511
to
+1520
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Store timeout reference for cleanup. The Store the timeout reference and clear it in the +let tabActivationTimeout = null;
+
// Auto-detect board if a drone is already connected when tab becomes active
if (
(PortHandler.portAvailable && !$('select[name="board"]').val()) ||
$('select[name="board"]').val() === "0"
) {
console.log(`${self.logHead} Auto-detecting board for already connected device`);
- setTimeout(() => {
+ tabActivationTimeout = setTimeout(() => {
AutoDetect.verifyBoard();
+ tabActivationTimeout = null;
}, 1000); // Small delay to ensure tab is fully loaded
}Then in firmware_flasher.cleanup = function (callback) {
+ // Clear any pending timeouts
+ if (tabActivationTimeout) {
+ clearTimeout(tabActivationTimeout);
+ tabActivationTimeout = null;
+ }
// unbind "global" events📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GUI.content_ready(callback); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -1476,6 +1537,12 @@ firmware_flasher.cleanup = function (callback) { | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| $(document).unbind("keypress"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| $(document).off("click", "span.progressLabel a"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Clean up EventBus listeners | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EventBus.$off("port-handler:auto-select-usb-device"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EventBus.$off("port-handler:auto-select-serial-device"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EventBus.$off("ports-input:change"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EventBus.$off("port-handler:device-removed"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+1540
to
+1544
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Pass handler references to EventBus.$off. Calling Pass the handler function references to properly unsubscribe only this tab's listeners: // Clean up EventBus listeners
-EventBus.$off("port-handler:auto-select-usb-device");
-EventBus.$off("port-handler:auto-select-serial-device");
-EventBus.$off("ports-input:change");
-EventBus.$off("port-handler:device-removed");
+EventBus.$off("port-handler:auto-select-usb-device", detectedUsbDevice);
+EventBus.$off("port-handler:auto-select-serial-device", detectedSerialDevice);
+EventBus.$off("ports-input:change", onPortChange);
+EventBus.$off("port-handler:device-removed", onDeviceRemoved);📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if (callback) callback(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add the missing OSD description strings.
Every OSD element string in this file has a paired
osdDescElement…entry. Without the new descriptions, the UI falls back to the raw key (or shows nothing) for the tooltips of these Manticore elements. Please add the descriptions alongside the text entries so the help popovers remain readable."osdTextElementManticoreV1": { "message": "Manticore V1" }, + "osdDescElementManticoreV1": { + "message": "Displays the status/state for the Manticore V1 data feed." + }, "osdTextElementManticoreV2": { "message": "Manticore V2" }, + "osdDescElementManticoreV2": { + "message": "Displays the status/state for the Manticore V2 data feed." + }, "osdTextElementManticoreV2Logger": { "message": "Manticore V2 Logger" }, + "osdDescElementManticoreV2Logger": { + "message": "Displays the logger status for the Manticore V2 data feed." + },📝 Committable suggestion
🤖 Prompt for AI Agents