Show telemetry failures instead of empty console states - #63
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Several console reads explicitly catch every API error and replace it with null or an empty array. This makes an unavailable or corrupt telemetry source visually identical to a healthy source with no events.
In particular, a backend 502 for history, live shared-budget state, or recent breaches would still render as "nothing to show", defeating the fail-closed API fixes and potentially allowing the Overview to claim every target is under its caps without a readable breach log.
Fix
Before / after
Before: 401/403/500/502/network errors on these core reads could become empty charts, empty event lists, or benign setup guidance.
After: the existing page-level error UI shows the API's concrete message. Empty states now mean the server successfully returned no data.
Verification
Review notes for Alice
This is deliberately a frontend-only PR on master. It does not depend on the backend PRs, but it is what makes their explicit 502 responses visible to an operator. The two remaining catches are intentional enrichment fallbacks: the target list on Traces only fills a dropdown, and the application index on Targets only adds group totals.