Render JSON log lines as collapsible key/value trees (ticket 014)

LogPreview.tsx now detects when a log line's raw text parses as a JSON
object and renders it as a collapsible tree instead of raw text; any
other line (non-JSON or invalid JSON) keeps today's plain-text
rendering unchanged. Client-side only, no backend changes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XFUNZwCvz3kcod3352ZR2o
This commit is contained in:
Hugh Kaznowski
2026-09-05 19:31:19 +01:00
co-authored by Claude Sonnet 5
parent e6e5bc8f50
commit cb101aa5da
2 changed files with 90 additions and 11 deletions
@@ -1,10 +0,0 @@
# Render JSON log lines as structured key/value trees
Follow-up to the JSON log ingestion design decision (repowise decision fdb47034ad954e3ea0b898fdc2750c32).
When an ingested log line's raw text parses as a JSON object, display it in the log viewer as a collapsible key/value tree instead of a raw string. Lines that aren't valid JSON objects keep rendering as plain text, unchanged.
## Acceptance criteria
- LogPreview.tsx detects a JSON-object log line (starts with `{` and parses) and renders it as a collapsible key/value tree.
- Non-JSON (or invalid-JSON) lines are unaffected — same raw-text rendering as today.
- Detection/parsing happens client-side against the existing raw `text` field; no backend API change required for this ticket.