Skip to content

feat(dashboard): application dashboard UX redesign and unified counters#493

Merged
imilbaev merged 13 commits into
masterfrom
feature/task-142-redesign
Jul 19, 2026
Merged

feat(dashboard): application dashboard UX redesign and unified counters#493
imilbaev merged 13 commits into
masterfrom
feature/task-142-redesign

Conversation

@imilbaev

Copy link
Copy Markdown
Collaborator

Summary

This PR completes the dashboard UX redesign for Task 142. It improves the clarity, trust, and layout hierarchy of the reporting views by unifying findings counters, separating real security threats from system/network infrastructure crashes, and highlighting critical vulnerabilities.

Changes

1. Unified Tab Counters

  • Relocated the deduplication logic to MainWorkspace.tsx to pre-calculate distinct counts for Grouped Errors and OWASP Top 10 immediately upon data loading.
  • Updated the Tab Bar badges to display these exact deduplicated numbers instead of the raw, duplicates-heavy query total count.
  • Added onUpdateCount callbacks to <Inspector /> and <OWASPTop10 /> to sync count updates when findings are dynamically loaded or filtered.

2. Security Vulnerabilities vs. Infrastructure & Runtime Errors

  • Re-architected Inspector.tsx to group scan results into two distinct, labelled sections:
    • 🛡️ Security Vulnerabilities: items with active scanner findings (SQLi, BOLA, XSS, etc.).
    • ⚙️ Infrastructure & Runtime Errors: unplaced crash statuses (such as HTTP 5xx errors, status 0 network timeouts, etc.).
  • Replaced pre-existing inline layout styles with dedicated classes in index.css (following layout guidelines).

3. Severity Sorting & Critical Highlighting

  • Sorted security vulnerabilities based on severity level priority: Critical/High first, then Medium/Warning, and then Low/Info.
  • Highlighted critical vulnerability cards with a soft pulsing red glow, red warning border, and a bold CRITICAL badge.

4. Polished OWASP API Top-10 Mapping & Exporting

  • Integrated an Export Report button into the OWASP Top 10 tab.
  • Generates and downloads a print-ready/machine-readable JSON report of mapped categories and findings.
  • Polished card animations, layouts, and gradients for improved readability.

Verification

  • TypeScript compilation: Passed cleanly (tsc --noEmit).
  • Production builds: Succeeded without errors (npm run build).
  • Unit tests: 232/232 unit tests passed.
  • E2E Playwright tests: Passed targeted automated tests:
    npx playwright test tests/e2e/owasp-and-diff.spec.ts

…security vulnerabilities from infrastructure errors, and sort by severity

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enhances the dashboard UX by separating findings into 'Security Vulnerabilities' and 'Infrastructure & Runtime Errors' sections, adding critical vulnerability highlighting, and introducing an OWASP Top 10 report export feature. Feedback focuses on resolving potential React key duplication bugs in the Inspector component, optimizing performance in MainWorkspace by caching parsed error subtypes to prevent UI thread blocking, and lifting the duplicated excludedStatuses state to improve the overall architecture.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread packages/web/src/components/Inspector/Inspector.tsx
Comment thread packages/web/src/components/Inspector/Inspector.tsx
Comment thread packages/web/src/components/MainWorkspace.tsx
Comment thread packages/web/src/components/MainWorkspace.tsx
@imilbaev
imilbaev merged commit 4c38385 into master Jul 19, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant