From eacfd21d7acb3b246e5887e42f9db7f4ff6184040531db3dd3ec5cf828609819 Mon Sep 17 00:00:00 2001 From: larssand Date: Mon, 22 Jun 2026 21:02:32 +0200 Subject: [PATCH] fix list fields array --- src/fgai/dashboard.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/fgai/dashboard.py b/src/fgai/dashboard.py index 279642a..4a43cbe 100644 --- a/src/fgai/dashboard.py +++ b/src/fgai/dashboard.py @@ -197,7 +197,7 @@ document.getElementById('loadFields').addEventListener('click', async () => { const selected = document.querySelector('.graylog-stream:checked'); if (!selected) { document.getElementById('fieldPicker').textContent = 'Load streams, tick one stream, then load its fields.'; return; } const payload = await (await fetch(`/api/graylog/fields?stream_id=${encodeURIComponent(selected.dataset.id)}`)).json(); - document.getElementById('fieldPicker').innerHTML = (payload.fields || []).map(field => `
${esc(field.name || field.field)} ${esc(field.type || '')} ${esc((field.capabilities || []).join(', '))}
`).join('') || esc(payload.error || 'No fields found.'); + document.getElementById('fieldPicker').innerHTML = (payload.fields || []).map(field => `
${esc(field.name || field.field)} ${esc((field.type || {}).type || field.type || '')} ${esc(((field.type || {}).properties || field.capabilities || []).join(', '))}
`).join('') || esc(payload.error || 'No fields found.'); }); document.getElementById('settingsForm').addEventListener('submit', async event => { event.preventDefault(); @@ -259,7 +259,9 @@ def serve_dashboard(host: str, port: int, status_file: str, *, image_dir: str | result = client.call_tool("list_fields", {"streams": [stream_id]}) content = result.get("result", {}).get("content", []) text = next((item.get("text", "") for item in content if isinstance(item, dict)), "") - self._send(200, "application/json", json.dumps({"fields": json.loads(text)}).encode("utf-8")) + payload = json.loads(text) + fields = payload.get("fields", payload) if isinstance(payload, dict) else payload + self._send(200, "application/json", json.dumps({"fields": fields}).encode("utf-8")) except Exception as exc: self._send(400, "application/json", json.dumps({"error": str(exc)}).encode("utf-8")) return