Skip to content

[web-shared] stabilize detail panel rendering during polling, add loading skeletons, and improve error display#1427

Merged
karthikscale3 merged 61 commits into
mainfrom
karthik/bugfix-web-shared
Mar 18, 2026
Merged

[web-shared] stabilize detail panel rendering during polling, add loading skeletons, and improve error display#1427
karthikscale3 merged 61 commits into
mainfrom
karthik/bugfix-web-shared

Conversation

@karthikscale3
Copy link
Copy Markdown
Contributor

@karthikscale3 karthikscale3 commented Mar 17, 2026

Description:

What changed

  • SelectionBridge now tracks the previous spanId and skips re-notifying the parent when the trace rebuilds during polling but the selection hasn't actually changed
  • EntityDetailPanel passes isLoading to EventsList so the events section shows skeletons while span details are being fetched
  • AttributePanel renders a resumeAt skeleton row inside the basic attributes table for sleep spans during loading
  • EventItem error state uses ErrorCard instead of a plain styled div

Why

  • On live runs, every poll cycle rebuilt the trace and gave selected a new reference, causing SelectionBridge to create a new selectedSpan object and re-render the entire detail panel (input/output cards, JSON blocks) every ~5 seconds
  • Selecting a span triggered a detail fetch but showed no loading indication for the events section or the resumeAt field — the content just popped in after the fetch completed
  • Expanding an event that failed to load showed a raw unstyled error string ("failed to fetch") instead of using the existing ErrorCard component

@karthikscale3 karthikscale3 enabled auto-merge (squash) March 18, 2026 00:27
@karthikscale3 karthikscale3 merged commit 11f45b2 into main Mar 18, 2026
102 checks passed
@karthikscale3 karthikscale3 deleted the karthik/bugfix-web-shared branch March 18, 2026 00:35
@ghost ghost mentioned this pull request Mar 18, 2026
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.

2 participants