You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(frontend): vulnerabilities on the redesign layout #909
Four KPI tiles: open, open KEV, SLA breached, MTTR on criticals.
Search, severity pills with counts, "KEV uniquement" and "Inclure corrigées" toggles.
Table: expand chevron, CVE, title with severity dot and KEV tag, CVSS, EPSS, asset, SLA, status.
The expanded row keeps our details and actions (assign, fix, accept, create risk).
"Lancer un scan" entry point to the automatic scan (separate backend issue).
Definition of done
The screen matches the design at 1440×900 in dark and light, checked side by side in a real browser; the comparison and any deliberate difference are written on this issue.
Loading skeleton, error with retry, and empty state exist for every block.
FR and EN strings, no hard-coded copy.
npx tsc -b --noEmit, npx vitest run on the touched features, and npx eslint on the touched files pass.
Backend changes, if any, come with TestXxx_Success, TestXxx_NotFound, TestXxx_Unauthorized, filter by tenant_id, and go test ./... passes.
Activity
alex-dembele commentedon Oct 14, 2026
frontend-react / backend-go — 2026-10-14
Done: PR #950 (base master; #925–#943 are all merged).
remediated_at+ migration 0073 (domain/vulnerability.goSetStatus,MeanDaysToRemediate); statsunresolved,sla_breached,mttr_critical_*;severity_countson the list (gorm_vulnerability_repository.govulnFilters/SeverityCounts).features/vulnerabilities/VulnerabilitiesPage.tsxrebuilt,vulnQueue.ts(SLA, EPSS, next statuses, priority signals);shared/datatablerow expansion; the Filters badge counts panel facets only.Verified
go test ./...: oknpx tsc -b --noEmitandnpx eslinton touched files: cleannpx vitest run --maxWorkers=4: 1088/1088Comparison with the design. These differences are deliberate:
Aligned to the design: KPI 28px/600, every SLA cell semibold with warning at ≤ 3 days, pills 34px tall.
Criteria: 1 ✅ · 2 ✅ · 3 ✅ · 4 ✅ · 5 ✅ The button starts the existing scanner configs. The package-inventory auto-scan is #910.
Next: owner review of #950. Then #911.
Blocked on: nothing
Merge pull request #950 from opendefender/feat/909-vulnerabilities