Skip to content

[CHAIN] feat(ui): improve attack paths graph exploration#11015

Merged
Alan-TheGentleman merged 2 commits intoPROWLER-1273/react-flow-migrationfrom
PROWLER-1273/attack-path-legend-redesign
May 8, 2026
Merged

[CHAIN] feat(ui): improve attack paths graph exploration#11015
Alan-TheGentleman merged 2 commits intoPROWLER-1273/react-flow-migrationfrom
PROWLER-1273/attack-path-legend-redesign

Conversation

@Alan-TheGentleman
Copy link
Copy Markdown
Contributor

@Alan-TheGentleman Alan-TheGentleman commented May 5, 2026

🔗 Part of Chained PRs

Field Value
Feature Branch PROWLER-1273/react-flow-migration
Main PR #10686
Chain Position 8 of 11
Depends on #11014 (node icon rendering)

Chain Overview

#10701 → #10705 → #10756 → #10800 → #10970 → #11010 → #11013 → #11014 → 📍 #11015 → #11016 → #11017 → #11020 → #10686

Context

This PR polishes the icon-enabled Attack Paths graph experience. It keeps the graph readable after adding richer node visuals and restores context-aware viewport behavior for common exploration actions.


Description

Changes:

  • Add a responsive semantic legend for provider roots, visible node types, states, edges, and finding risk when applicable.
  • Remove stale Ctrl+scroll zoom help text now that normal scroll zoom behavior is restored.
  • Restore contextual viewport behavior for Show findings, Hide findings, and Back to Full View.
  • Keep Show findings focused on the selected resource and its finding children instead of fitting the entire graph.
  • Add browser coverage for contextual viewport transitions and unit coverage for the legend.

Steps to review

  1. Run a query with findings and click a resource with findings.
  2. Choose Show findings — viewport should frame that resource and its findings.
  3. Choose Hide findings — viewport should re-fit the remaining visible graph.
  4. Click a finding, then Back to Full View — viewport should return to the expanded findings context when one exists.
  5. Verify the legend wraps naturally and does not mention Ctrl+scroll zoom.
  6. Run pnpm test:browser -- --run attack-paths-page and the focused legend unit test.

Checklist

Community Checklist
  • This feature/issue is listed in here or roadmap.prowler.com
  • Is it assigned to me, if not, request it via the issue/feature in here or Prowler Community Slack

UI

  • All issue/task requirements work as expected on the UI
  • Screenshots/Video of the functionality flow (if applicable) - Mobile (X < 640px)
  • Screenshots/Video of the functionality flow (if applicable) - Table (640px > X < 1024px)
  • Screenshots/Video of the functionality flow (if applicable) - Desktop (X > 1024px)
  • Ensure new entries are added to CHANGELOG.md, if applicable.

License

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

strokeWidth,
glowColor,
}: LegendStateItem) => (
<svg width="36" height="36" viewBox="0 0 36 36" aria-hidden="true">
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.

Should we have overflow-visible too here?

@Alan-TheGentleman Alan-TheGentleman force-pushed the PROWLER-1273/attack-path-node-icons-rendering branch from 18931a8 to 8a9a338 Compare May 7, 2026 15:46
Base automatically changed from PROWLER-1273/attack-path-node-icons-rendering to PROWLER-1273/react-flow-migration May 7, 2026 15:49
- Drop the repeated page heading from the query builder view
- Add a regression test for the review feedback
- Remove an unused icon import blocking UI lint checks
@Alan-TheGentleman Alan-TheGentleman force-pushed the PROWLER-1273/attack-path-legend-redesign branch from 651fa45 to b20ad88 Compare May 8, 2026 11:58
@Alan-TheGentleman Alan-TheGentleman merged commit ed6cd57 into PROWLER-1273/react-flow-migration May 8, 2026
3 checks passed
@Alan-TheGentleman Alan-TheGentleman deleted the PROWLER-1273/attack-path-legend-redesign branch May 8, 2026 12:48
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.

2 participants