CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

fix(dashboard): design-sweep fixes for the /dashboard visual audit (#211) #5461

Merged⚡ AI-generatedXSccantynz wants to mergesweep/dashboardmainopened 24d ago
ccantynzcommented 24d ago

Part of the six-agent design sweep for the visual-audit ledger, #211. Slice: /dashboard (src/routes/dashboard.tsx).

Defects fixed

1. Unbounded repo-card descriptions Card descriptions now use .dash-card-desc: a 2-line clamp (display: -webkit-box; -webkit-line-clamp: 2 with a max-height: 3em fallback for engines without -webkit-box), full text preserved on the title attribute. The text column also gets flex: 1; min-width: 0 so it shrinks correctly. Multi-line marketing paragraphs (the nzee card) no longer blow up row heights.

Data cleanup suggestion (not done here): the verom repo's description contains leaked meta-text starting The 'Professional & Trustworthy' (Best for B2B/Legal) Description: … — that is DATA in the repo description column. The clamp contains the display damage; the description itself should be cleaned up via repo settings.

2. Live Activity rendered as an empty bordered box src/views/live-feed.tsx (used only by the dashboard) now SSRs an honest empty state — "No live activity right now — events appear here as they happen." — per the honest-degradation rule: never advertise liveness the surface can't prove. The first real SSE event removes the placeholder client-side before appending.

3. Duplicated Recent Activity rows Root cause in src/lib/recent-activity.ts: a merged PR contributes both a derived pr_open and pr_merge row, and pushes land as individual activity_feed rows.

  • "Merged PR #N" now absorbs "Opened PR #N" for the same owner/repo#number (the merge implies the open).
  • Consecutive push rows for the same repo within a 10-minute window collapse into one row, rendered as Pushed code in <repo> ×3.
  • The post-sort logic is extracted into a pure exported collapseRecentActivity() with 9 new unit tests (src/__tests__/recent-activity.test.ts).

4. journey-* probe repo rendered as a full repo card The dashboard repo query now excludes ^journey-[0-9]{14}-[a-z0-9]{4}$ — the same defensive filter /explore already uses for orphaned scripts/agent-journey.ts probe repos. Stats (repo count, avg health) follow the filtered set, so the probe stops inflating them too.

Verification

  • bunx tsc --noEmit -p . — clean.
  • bun test src/__tests__ --test-name-pattern "dashboard|recent-activity" — 13 pass / 0 fail.
  • bun test src/__tests__/recent-activity.test.ts — 9 pass / 0 fail (new suite).

🤖 Generated with Claude Code

ccantynzAI Reviewcommented 24d ago

AI Triage

(no summary)

Priority: medium Risk area: mixed

Suggested labels: (no label suggestions) Suggested reviewers: (no reviewer suggestions)

Suggestions only — nothing has been applied. The PR author stays in control.

gluecron[bot]🤖 botAI Reviewcommented 24d ago

AI review unavailable

The platform's AI balance is exhausted, so AI generation is temporarily unavailable. Nothing was lost. You can queue this as a repair for the internal agent from the repository's Health page, or try again once the balance is restored. The PR is otherwise unchanged.

Cross-repo impact

See what breaks downstream if this PR merges.

Analyze →
⮌ Merged

This pull request was merged into main.

c comment · e edit title · m merge · a approve · r request changes · ? shortcuts