forked from Cloud-Pipelines/pipeline-editor
-
Notifications
You must be signed in to change notification settings - Fork 5
epic: Homepage Redesign #1964
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Redesign the homepage to surface useful aggregate information at a glance and provide a more complete browsing experience for runs, pipelines, and components.
Layout Vision
┌──────────────────────────────────────────────────────┐
│ STATS ROW │
│ [22 Runs] [10 Succeeded] [10 Failed] [2 Cancelled] │
│ ████████████████████████░░░░░░░░░▓▓▓ (status bar) │
│ [25 Pipelines] │
├──────────────────────────────────────────────────────┤
│ RECENTLY OPENED │
│ [Pipeline A] [Run #42] [Pipeline B] [Run #39] │
├──────────────────────────────────────────────────────┤
│ FAVORITES │
│ ★ Pipeline X ★ Run #17 ★ Pipeline Y │
├──────────────────────────────────────────────────────┤
│ [Runs] [Pipelines] [Components] ← tabs │
│ ┌────────────────────────────────────────────────┐ │
│ │ Filtered list based on active tab + any stat │ │
│ │ card clicked above │ │
│ └────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
Stats cards respond to the active filters — if you filter by date range + "created by me", the cards update to show counts for that filtered view. Clicking a stat card (e.g., "10 Failed") applies that status filter to the Runs tab.
Issues
Backend (TangleML/tangle)
- feat: [BE] Add pipeline run stats endpoint with caching tangle#177 — Stats endpoint:
GET /api/pipeline_runs/statswith filter_query support and caching - feat: [BE] Add pagination to published components endpoint tangle#179 — Components pagination: Add pagination to published components endpoint
- feat: [BE] Add filter_query support to published components endpoint tangle#180 — Component filtering: Add filter_query support to published components endpoint
- feat: [BE] Add page_size param to pipeline runs list endpoint tangle#188 — page_size param: Add
page_sizequery param toGET /api/pipeline_runs/
Frontend (TangleML/tangle-ui)
- feat: [FE] Add /dashboard route with beta flag #1965 — Dashboard route: New
/dashboardroute with beta flag to enable/disable - feat: [FE] Add stats cards and status bar to homepage #1960 — Stats cards & status bar: Clickable stats cards + horizontal status bar (depends on tangle#177)
- feat: [FE] Add recently opened section to homepage #1961 — Recently opened: Last 4 opened pipelines/runs as cards
- feat: [FE] Add favorites section to homepage #1962 — Favorites: Star/favorite pipelines and runs, dedicated homepage section
- feat: [FE] Add tabbed Runs/Pipelines/Components list to homepage #1963 — Tabbed list: Replace 2-tab layout with Runs / Pipelines / Components tabs
- feat: [FE] Move component search filtering to backend #1966 — Component search backend integration: Move client-side component filtering to use backend query
params (depends on tangle#180) - Dashboard runs: use page_size param once backend supports it #2016 — Use page_size in RunSection: Pass
page_sizeto the API once backend supports it (depends on tangle#188)
Related existing issues
These pre-existing issues overlap with or feed into this epic:
| Issue | Relationship |
|---|---|
| TangleML/tangle#38 — Stats API for execution node states | Superseded by TangleML/tangle#177 |
| TangleML/tangle#39 — Stats API for container execution statuses | Superseded by TangleML/tangle#177 |
| TangleML/tangle#24 — Search pipeline runs by name substring | Already implemented via filter_query (value_contains on system/pipeline_run.name), used by TangleML/tangle#177 |
| TangleML/tangle#44 — Run list search by run name | Same as TangleML/tangle#24 |
| TangleML/tangle#59 — PublishedComponents search by publisher annotation | Related to TangleML/tangle#180 (same endpoint, different scope) |
| TangleML/tangle#83 — Include annotations in pipeline runs list response | Useful for enriching the Runs tab in #1963 |
TangleML/tangle#87 — Add has_ended to pipeline runs list response |
Useful for run status display in #1963 |
Dependency Graph & Suggested Order
#1965 (Dashboard route + beta flag) ← do this first
│
tangle#177 (Backend stats) ──→ #1960 (Stats cards UI)
│
#1961 (Recently opened) │ ← independent
#1962 (Favorites) │ ← independent
▼
tangle#179 (Backend pagination) ──→ #1963 (Tabbed list + components tab)
tangle#180 (Backend filtering) ──→ #1966 (FE component search) ──→ #1963
Recommended order:
- feat: [FE] Add /dashboard route with beta flag #1965 (dashboard route scaffold — unblocks all frontend work)
- tangle#177 → feat: [FE] Add stats cards and status bar to homepage #1960 (stats pipeline — highest impact)
- feat: [FE] Add recently opened section to homepage #1961 + feat: [FE] Add favorites section to homepage #1962 (recently opened + favorites — independent, can parallel)
- tangle#179 + tangle#180 → feat: [FE] Move component search filtering to backend #1966 → feat: [FE] Add tabbed Runs/Pipelines/Components list to homepage #1963 (components tab with backend search + pagination)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request