Skip to content

fix(ui): reflect MaxRetriesReached layer state in dashboard - #947

Open
DjinnS wants to merge 2 commits into
mainfrom
claude/burrito-max-retries-ui-5643f7
Open

fix(ui): reflect MaxRetriesReached layer state in dashboard#947
DjinnS wants to merge 2 commits into
mainfrom
claude/burrito-max-retries-ui-5643f7

Conversation

@DjinnS

@DjinnS DjinnS commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Layer state API translation (getLayerState in internal/server/api/layers.go) had no case for the backend's MaxRetriesReached state, so it silently collapsed to success (or wrongly to error).
  • The frontend LayerState type didn't include it either, so no component could render it even if the backend sent it.
  • Added a dedicated retriesExhausted state end-to-end: API translation, TS type, badge (Tag.tsx, red "Max Retries" label), status bar counter/bubble (LayersStatusBar.tsx), filter dropdown option (StatesDropdown.tsx), and table warning icon (Table.tsx).

Why

Layers stuck in MaxRetriesReached (retries exhausted on plan/apply, needs manual intervention) were invisible in the dashboard — looking either healthy or generically errored, with no way to filter for them.

Test plan

  • go vet ./internal/server/...
  • yarn --cwd ui lint
  • yarn --cwd ui format-check
  • yarn --cwd ui build (tsc + vite)
  • Manual verification in a running dashboard against a layer in MaxRetriesReached

No existing test suite for internal/server/api package (no _test.go there yet), so none added per repo convention of extending existing suites rather than creating new ones from scratch.

The layer state API translation (getLayerState) had no case for the
MaxRetriesReached backend state, so it silently collapsed to
success/error. The frontend LayerState type didn't know about it
either, so no component could render it. Add a dedicated
retriesExhausted state end-to-end (API, type, badge, status bar
counter, filter dropdown, table icon) so layers stuck after
exhausting retries are visible instead of looking healthy or wrongly
errored.
@github-project-automation github-project-automation Bot moved this to 📋 Backlog in Burrito Jul 17, 2026
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 47.73%. Comparing base (68f576a) to head (bdad6d5).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #947      +/-   ##
==========================================
+ Coverage   47.62%   47.73%   +0.11%     
==========================================
  Files          99       99              
  Lines        6163     6165       +2     
==========================================
+ Hits         2935     2943       +8     
+ Misses       3022     3014       -8     
- Partials      206      208       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Codecov flagged 0% patch coverage on the new retriesExhausted branch
since internal/server/api had no test suite. Add a table-driven test
for getLayerState covering disabled, MaxRetriesReached, and default
success cases.
@corrieriluca

Copy link
Copy Markdown
Member

screenshot @DjinnS ? 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 📋 Backlog

Development

Successfully merging this pull request may close these issues.

3 participants