+ {/* Bulgu #95 (Round-25): /events used to 500 because of
+ a schema-drift bug (`status` column did not exist).
+ Now the response carries `meta.errors[]` for partial
+ failures and a `kind: fatal` envelope for total
+ failure — both render here so the operator never
+ wonders why the timeline is empty. */}
+ {diagEventsError?.kind === 'fatal' && (
+
- {ev.created_at} · {ev.source}
- {ev.event_type}
- {ev.message && {ev.message}
}
+ {diagEventsError.message}
+ {diagEventsError.correlation_id && (
+
+ Correlation ID: {diagEventsError.correlation_id}
+
+ )}
+ {diagEventsError.polling_stopped && (
+
+ Auto-refresh stopped after repeated failures. Re-open the panel to retry.
+
+ )}
- ),
- }))}
- />
- )
+ }
+ />
+ )}
+ {diagEventsError?.kind === 'partial' && (
+