Skip to content

fix(observability): visible loading message on Logs + Traces tabs (v0.11.2)#17

Merged
mguptahub merged 1 commit into
mainfrom
fix/observability-loading-message-v0.11.2
Apr 27, 2026
Merged

fix(observability): visible loading message on Logs + Traces tabs (v0.11.2)#17
mguptahub merged 1 commit into
mainfrom
fix/observability-loading-message-v0.11.2

Conversation

@eyriehq-bot
Copy link
Copy Markdown
Contributor

@eyriehq-bot eyriehq-bot Bot commented Apr 27, 2026

Summary

The Logs and Traces explorers go silent for the first ~1–2s while the initial ClickHouse query loads. The empty body (a bare skeleton div with aria-busy) is visually indistinguishable from a no-results state — MGupta noticed the dead-tab feel during a v0.11.1 walkthrough.

This PR swaps the bare <div className="…-skeleton" /> placeholders for the existing EmptyState component on both tabs. EmptyState centers a title + message and already provides role=\"status\" / aria-live=\"polite\" for screen readers, so the loading state now both looks alive and announces itself.

Copy

  • LogsTab — "Loading logs…" / "Fetching log entries from ClickHouse for the selected window."
  • TracesTab — "Loading traces…" / "Fetching trace spans from ClickHouse for the selected window."

MetricsTab — peeked, deliberately skipped

The Metrics tab uses ChartGrid with loading={true}, which renders 4 rectangular chart placeholders. That's visually informative — the user can tell at a glance that charts are loading. Leaving it alone keeps this PR minimal; a future follow-up could add a header subtitle if we want consistency across all three tabs.

Test plan

  • Open /observability/<cluster>/logs with a populated namespace selected — within the first 1–2s, the body should now show "Loading logs…" instead of a blank panel.
  • Open /observability/<cluster>/traces — same; "Loading traces…" while the query is in flight.
  • Existing metrics/components/ux.test.js continues to pass (no DOM-shape assertions on the skeleton; logic-level classifiers untouched).
  • Screen-reader smoke check: VoiceOver announces the loading title via the existing EmptyState aria-live=\"polite\" region.

Ships as part of v0.11.2 (submodule bump + GH release follow this PR).

….11.2)

The Logs Explorer and Traces tab both rendered a bare skeleton div for
the first 1–2s while the initial query hit ClickHouse. Visually that's
indistinguishable from a no-results state — the tab looks dead until
rows arrive.

Swap both bare `<div className="…-skeleton" aria-busy="true" />`
placeholders for the existing EmptyState component, which centers a
title + message and already provides role="status" / aria-live="polite"
for screen readers.

Copy:
  - LogsTab   → "Loading logs…" / "Fetching log entries from ClickHouse for the selected window."
  - TracesTab → "Loading traces…" / "Fetching trace spans from ClickHouse for the selected window."

MetricsTab uses ChartGridSkeleton (4 chart placeholders) — visually
informative, no change needed.

Co-Authored-By: arun <arun@infrawatchlabs.com>
@mguptahub mguptahub merged commit 60c2d18 into main Apr 27, 2026
1 check failed
@mguptahub mguptahub deleted the fix/observability-loading-message-v0.11.2 branch April 27, 2026 05:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant