[PR #7] [MERGED] Add status filter and highlight failed runs on dashboard #6

Closed
opened 2026-10-31 22:05:58 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfyci-dashboard/pull/7
Author: @marawan206
Created: 6/12/2026
Status: ✅ Merged
Merged: 8/21/2026
Merged by: @marawan206

Base: main ← Head: dashboard-failure-visibility


📝 Commits (1)

  • dc834f0 Add status filter and highlight failed runs on dashboard

📊 Changes

4 files changed (+68 additions, -32 deletions)

View changed files

📝 components/StatsDashboard.tsx (+1 -11)
📝 pages/index.tsx (+54 -18)
📝 pages/workflow/[id].tsx (+3 -3)
➕ utils/format.ts (+10 -0)

📄 Description

Since CI failures currently have no notifications, the dashboard is the only place anyone sees them — so this makes failures easier to spot, plus some cleanup.

Changes

  • Status filter (Failed / In Progress / Success) on the Workflow Results table. The /gitcommit API has no status parameter, so this filters the rows already loaded for the current page, client-side. A caption under the filters states the scope ("Showing N of M runs on this page matching …") so it's not mistaken for a global filter.
  • Failed rows are tinted red for at-a-glance scanning.
  • Stable React keys (result id) instead of array index in the results table.
  • One shared formatDuration (utils/format.ts) replacing three diverging formatters — the old calculateTimeDifference rendered e.g. 1.5 minute / 30 sec while the stats card rendered 1.5m / 45s. Now consistent everywhere (workflow table, workflow detail, stats).
  • Removed a stray console.log left in the filter effect.

Verification

pnpm build and pnpm lint both pass. Changes are presentational + client-side filtering; no API or data-model changes.

Follow-ups (backend-gated, not in this PR)

  • A real status filter and global success-rate need a server-side param / aggregate endpoint on api.comfy.org — the current stats cards are necessarily scoped to the loaded page ("in current view"). Worth a backend ticket.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfyci-dashboard/pull/7 **Author:** [@marawan206](https://github.com/marawan206) **Created:** 6/12/2026 **Status:** ✅ Merged **Merged:** 8/21/2026 **Merged by:** [@marawan206](https://github.com/marawan206) **Base:** `main` ← **Head:** `dashboard-failure-visibility` --- ### 📝 Commits (1) - [`dc834f0`](https://github.com/Comfy-Org/comfyci-dashboard/commit/dc834f0ec5cd01c4981d8ad46e36a4cac16747f9) Add status filter and highlight failed runs on dashboard ### 📊 Changes **4 files changed** (+68 additions, -32 deletions) <details> <summary>View changed files</summary> 📝 `components/StatsDashboard.tsx` (+1 -11) 📝 `pages/index.tsx` (+54 -18) 📝 `pages/workflow/[id].tsx` (+3 -3) ➕ `utils/format.ts` (+10 -0) </details> ### 📄 Description Since CI failures currently have no notifications, the dashboard is the only place anyone sees them — so this makes failures easier to spot, plus some cleanup. ## Changes - **Status filter** (Failed / In Progress / Success) on the Workflow Results table. The `/gitcommit` API has no status parameter, so this filters the rows already loaded for the current page, client-side. A caption under the filters states the scope ("Showing N of M runs on this page matching …") so it's not mistaken for a global filter. - **Failed rows are tinted red** for at-a-glance scanning. - **Stable React keys** (result id) instead of array index in the results table. - **One shared `formatDuration`** (`utils/format.ts`) replacing three diverging formatters — the old `calculateTimeDifference` rendered e.g. `1.5 minute` / `30 sec` while the stats card rendered `1.5m` / `45s`. Now consistent everywhere (workflow table, workflow detail, stats). - Removed a stray `console.log` left in the filter effect. ## Verification `pnpm build` and `pnpm lint` both pass. Changes are presentational + client-side filtering; no API or data-model changes. ## Follow-ups (backend-gated, not in this PR) - A real **status filter** and **global success-rate** need a server-side param / aggregate endpoint on `api.comfy.org` — the current stats cards are necessarily scoped to the loaded page ("in current view"). Worth a backend ticket. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/comfyci-dashboard#6
No description provided.