From 5811ac201e0f9e08285c66c02d98c18b3e1a2463 Mon Sep 17 00:00:00 2001 From: Matthias Hochmeister Date: Fri, 17 Apr 2026 09:47:31 +0200 Subject: [PATCH] fix(geplante-nachrichten): distinguish unconfigured bot from unreachable Nextcloud in room picker --- backend/src/services/scheduledMessages.service.ts | 3 ++- frontend/src/pages/GeplanteMachrichtenForm.tsx | 5 +++++ frontend/src/types/scheduledMessages.types.ts | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/backend/src/services/scheduledMessages.service.ts b/backend/src/services/scheduledMessages.service.ts index 074a7f3..3ef31a0 100644 --- a/backend/src/services/scheduledMessages.service.ts +++ b/backend/src/services/scheduledMessages.service.ts @@ -37,6 +37,7 @@ interface RoomInfo { interface RoomsResult { configured: boolean; data?: RoomInfo[]; + error?: string; } // ── Helpers ────────────────────────────────────────────────────────────────── @@ -327,7 +328,7 @@ async function getRooms(): Promise { logger.error('scheduledMessages.getRooms failed', { error: error instanceof Error ? error.message : String(error), }); - return { configured: false }; + return { configured: true, data: [], error: 'Verbindung zu Nextcloud fehlgeschlagen' }; } } diff --git a/frontend/src/pages/GeplanteMachrichtenForm.tsx b/frontend/src/pages/GeplanteMachrichtenForm.tsx index 5cf8502..0ce2d95 100644 --- a/frontend/src/pages/GeplanteMachrichtenForm.tsx +++ b/frontend/src/pages/GeplanteMachrichtenForm.tsx @@ -167,6 +167,7 @@ export default function GeplanteMachrichtenForm({ ruleId }: GeplanteMachrichtenF const isEventType = messageType === 'fahrzeug_event'; const rooms = roomsData?.data ?? []; const roomsConfigured = roomsData?.configured ?? false; + const roomsError = roomsData?.error; if (ruleId && ruleLoading) { return ( @@ -308,6 +309,10 @@ export default function GeplanteMachrichtenForm({ ruleId }: GeplanteMachrichtenF Bot-Konto nicht konfiguriert. Bitte in den Admin-Einstellungen unter Nextcloud konfigurieren. + ) : roomsError ? ( + + Nextcloud nicht erreichbar — Raumliste kann nicht geladen werden. + ) : (