Skip to content

Lead the vulnerability card with an actionability statement - #216

Merged
LarsLaskowski merged 2 commits into
mainfrom
claude/issue-208-e6gyuz
Jul 27, 2026
Merged

Lead the vulnerability card with an actionability statement#216
LarsLaskowski merged 2 commits into
mainfrom
claude/issue-208-e6gyuz

Conversation

@LarsLaskowski

@LarsLaskowski LarsLaskowski commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

VulnerabilityAssessmentCard now opens with a statement about what the user can do instead of burying it below the counts:

  • FixableFindingCount > 0 → warning tone: "X of Y findings can be fixed by updating this image"
  • FixableFindingCount == 0 && ActiveFindingCount > 0 → neutral tone: "Nothing to fix right now — no upstream fix is available for the Y known issues in this image"
  • ActiveFindingCount == 0 → unchanged, the plain status chip

The separate "N of M active findings have a fix available" line is absorbed into the new leading line. The persisted VulnerabilityAssessmentMessage is now rendered only for statuses other than "Findings detected" and "No findings", so provider error text on the failure paths stays visible while the redundant "reported N finding(s)" text is gone. New summary-remediation / summary-remediation--warning classes in app.css carry the two tones, with a dark-mode override for the warning colour.

Why

For a runtime container the only remedy is pulling an updated image. A card reporting 1236 active with 0 of 1236 fixable was saying "there is nothing you can do" in error-coloured chips, which for a Debian-based image is the normal, healthy state. The information is worth keeping; the weighting was wrong.

Linked issues

Closes #208

Review notes

  • UI-side only: no view data, query, or persistence changes; VulnerabilityAssessmentViewData.FixableFindingCount already existed.
  • VulnerabilityDisplayFormatter.GetStatusColor is untouched — the change is the leading text line, not a recolouring.
  • The status labels are compared as the formatted strings the view service produces ("Findings detected" / "No findings"), matching how the card already receives Status as text.
  • bUnit tests cover fixable > 0, fixable == 0 with active findings, no active findings, and a failed assessment still showing its provider message; the three detail-page tests were updated to the new wording.
  • Rendered at 390 / 768 / 1280 px in light and dark: the line wraps within the card with no horizontal overflow.

Follow-up work

None

claude and others added 2 commits July 27, 2026 17:38
The card now opens with a line that says whether updating the image helps:
a warning-toned "X of Y findings can be fixed by updating this image" when
findings are fixable, and a neutral "Nothing to fix right now" statement when
no upstream fix exists. The separate fixable-count line is absorbed into it,
and the persisted assessment message is only rendered for statuses other than
"Findings detected" and "No findings" so provider errors stay visible while
the redundant "reported N finding(s)" text disappears. Adds the
summary-remediation classes with a dark-mode tone override.

Closes #208
@sonarqubecloud

Copy link
Copy Markdown

@LarsLaskowski
LarsLaskowski merged commit ed0c3e0 into main Jul 27, 2026
4 checks passed
@LarsLaskowski
LarsLaskowski deleted the claude/issue-208-e6gyuz branch July 27, 2026 17:45
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.

Lead the vulnerability card with what the user can act on instead of raw finding counts

2 participants