Skip to content

🎨 Fix dashboard brand drift and fold Releases into issues - #598

Merged
abahmed merged 5 commits into
mainfrom
fix/dashboard-brand-drift
Nov 6, 2026
Merged

abahmed merged 5 commits into
mainfrom
fix/dashboard-brand-drift

Conversation

@abahmed

@abahmed abahmed commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

Fixes the brand and UX drift from the designer review of the dashboard, and folds the Releases page into the issues it causes (decision from the user).

Releases folded into issues

  • The Releases page, js/releases.js, releases.css and /api/releases are removed (the dashboard is only in rc). /releases redirects to /issues.
  • Release tracking in the backend is unchanged: verdicts, the release watch, undo commands and the state file still drive alerts.
  • Issue detail: a row between the proof and "What to do" shows the linked release (release on /api/incidents/{id}): "Likely caused by a release" for failed, down and regressed, "A release near this issue" for the others, the workload, when it rolled out, what changed, the verdict, and the undo command with Copy (text only for GitOps-managed workloads; only the newest release gets a command). Restarts and the first fatal line (Pro) show only when kept.
  • Overview: "N releases in the last 24 hours, M went wrong" now comes from /api/overview. "went wrong" links to the issue, or to /issues?status=all&release=bad when several.
  • Regressed releases open no issue, so they are counted in "went wrong" and listed under the line (up to five) with their verdict and time. Chosen over opening a new issue because it needs no change to the incident model.

Brand and UX (items 1 to 17)

Embedded tokens.css plus tokens_test.go (fails on drift from the brand file when found, on redeclared tokens, undeclared var(), rgb colors and drop shadows); lime only on the logo dot; no shadows; chip and pill radii; one control height (--ctl, 44px on touch); one input border; hover and underline rules; one section-label style and --h1-product; Issues table with the Issue column first and flexible, a merged mono Where cell, fewer default columns and one Filters panel; failing banner restyled; loading, empty and error copy; "Active issues - kwatch" tab titles; visible helper text instead of tooltips; Refresh button on mobile; lifetime bar only with more than one state; docs/dashboard.md updated.

Notes

  • Push notifications (item 18): they do store server-side, in the state file under dashboard.push (VAPID key and up to 100 browser subscriptions). Left as is.
  • Skipped: title tooltips set from JS on chips (the visible legend covers them); a full pass of every string against MESSAGING.md (spot-checked for banned words).
  • Dashboard Go tests, lint and the browser tests pass locally; CI runs the full suite.

Before and after

Before After
Overview, 1280 dark
Issues, 1280 dark
Issue, 1280 dark
Overview, 375 light
Issues, 375 light
Issue, 375 light

The screenshots live on the branch assets/dashboard-brand-shots, which can be deleted after merge.

Follow-up

The table still starts low when Filters is open. Moving the severity chips into the Filters panel and View options and Columns onto the status row is left for a follow-up PR.

Embed the brand tokens with a test that guards them, align shapes, hovers,
type, inputs and shadows with the brand system, tighten the Issues table,
and show a linked release on the issue it caused instead of a page.
@abahmed abahmed added the e2e Run the real-cluster E2E suite on this pull request label Nov 6, 2026
@abahmed abahmed changed the title 💄 Fix dashboard brand drift and fold Releases into issues 🎨 Fix dashboard brand drift and fold Releases into issues Nov 6, 2026
@abahmed
abahmed merged commit 1d9231f into main Nov 6, 2026
24 checks passed
@abahmed
abahmed deleted the fix/dashboard-brand-drift branch November 6, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

e2e Run the real-cluster E2E suite on this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant