From 3ed01a41e59de08a2b3492d0230d7b59e31eaa3f Mon Sep 17 00:00:00 2001 From: mcuw <112967559+mcuw@users.noreply.github.com> Date: Thu, 13 Aug 2026 23:17:18 +0200 Subject: [PATCH 1/3] fix: show occupied message when github is building --- web/src/components/OtaBanner.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web/src/components/OtaBanner.tsx b/web/src/components/OtaBanner.tsx index 12b49f6..5deeea3 100644 --- a/web/src/components/OtaBanner.tsx +++ b/web/src/components/OtaBanner.tsx @@ -49,6 +49,9 @@ export default component$(() => { !a.name.includes('partition'), ); if (!asset) { + updateState.value = 'error'; + lastError.value = + 'Firmware is currently being built on GitHub - please try again in a few minutes.'; return; } From 060af8191e602ec4596f169821cd129d01653ca5 Mon Sep 17 00:00:00 2001 From: mcuw <112967559+mcuw@users.noreply.github.com> Date: Thu, 13 Aug 2026 23:25:43 +0200 Subject: [PATCH 2/3] OTA: show OtaBanner message while github is building --- web/src/components/DeviceControl.tsx | 18 +++++++++--------- web/src/components/OtaBanner.tsx | 25 ++++++++++++++++++------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/web/src/components/DeviceControl.tsx b/web/src/components/DeviceControl.tsx index 38a7a51..0078da2 100644 --- a/web/src/components/DeviceControl.tsx +++ b/web/src/components/DeviceControl.tsx @@ -17,7 +17,7 @@ export default component$(() => { const sendCommand = $(async (command: string) => { if (!selectedAddress.value) { - message.value = 'Bitte zuerst ein Gerät auswählen'; + message.value = 'Please select a device first'; return; } const token = localStorage.getItem('ot_br_setup_token') ?? ''; @@ -27,9 +27,9 @@ export default component$(() => { address: selectedAddress.value, command, }); - message.value = `"${command}" gesendet`; + message.value = `"${command}" sent to ${selectedAddress.value}`; } catch (e) { - message.value = e instanceof Error ? e.message : 'Fehler beim Senden'; + message.value = e instanceof Error ? e.message : 'Failed to send command'; } finally { sending.value = false; } @@ -37,9 +37,9 @@ export default component$(() => { return (
Keine Geräte im Netzwerk gefunden.
+No devices found in the network.
) : ( <>- Update verfügbar: {latestRelease.value?.tag_name}{' '} - (aktuell: {currentVersion.value}) + Update is available:{' '} + {latestRelease.value?.tag_name} (current:{' '} + {currentVersion.value})
- + {assetReady ? ( + + ) : ( +Firmware is still being built, please wait...
+ )} > )} {updateState.value === 'updating' && (Update läuft... {progress.value}%
+Update is running... {progress.value}%