Add developer LAN mode detection and warning banner

Parse the MQTT "fun" field bit 0x20000000 to detect whether connected
printers have Developer LAN Mode enabled. Show a persistent orange
warning banner when any printer lacks it, since newer firmware silently
rejects MQTT write commands without developer mode.

- Parse fun field into developer_mode on PrinterState
- Add /printers/developer-mode-warnings lightweight polling endpoint
- Include developer_mode in printer status API and support bundle
- Orange banner with affected printer names and wiki link
- Translations for all 6 locales (en, de, fr, it, ja, pt-BR)
- 7 backend + 4 frontend tests
This commit is contained in:
maziggy
2026-02-21 12:06:16 +01:00
parent 055243683c
commit 0e87c377e6
17 changed files with 662 additions and 395 deletions
+4
View File
@@ -250,6 +250,8 @@ export interface PrinterStatus {
big_fan2_speed: number | null; // Chamber/exhaust fan
heatbreak_fan_speed: number | null; // Hotend heatbreak fan
firmware_version: string | null; // Firmware version from MQTT
// Developer LAN mode: true = enabled, false = disabled, null = unknown
developer_mode: boolean | null;
// Queue: user has acknowledged plate is cleared for next queued print
plate_cleared: boolean;
}
@@ -2292,6 +2294,8 @@ export const api = {
`/printers/${id}?delete_archives=${deleteArchives}`,
{ method: 'DELETE' }
),
getDeveloperModeWarnings: () =>
request<{ printer_id: number; name: string }[]>('/printers/developer-mode-warnings'),
getPrinterStatus: (id: number) =>
request<PrinterStatus>(`/printers/${id}/status`),
refreshPrinterStatus: (id: number) =>