Alan Buscaglia
f759933253
fix(ui): FAIL-first sort, FAIL-only filter, and mute scope for findings drill-down
...
Address 3 product blockers from Pepe's review:
- Add sort=-status to getFindingGroupResources and
getLatestFindingGroupResources so FAIL resources appear before PASS
in the drill-down list (sort kept as future-proofing even when
filter[status]=FAIL makes it a no-op for now)
- Add filter[status]=FAIL to both resource endpoints so drill-down
only shows impacted resources, matching the count in the group header
- Add filter[status]=FAIL to createResourceFindingResolutionUrl so
muting a group only affects active FAIL findings, not all historical
- Use .set() after appendSanitizedProviderFilters to guarantee
hardcoded FAIL wins even if caller passes filter[status] in filters
(prevents duplicate filter[status] params with undefined API behavior)
- Apply symmetric .set() pattern in findings-by-resource.ts for
consistency
26 tests (10 new). All passing.
Judgment Day: 2 rounds, 0 discrepancies remaining.
2026-03-30 16:08:49 +02:00
Alan Buscaglia
1bf13bf567
fix(ui): code quality improvements for findings grouped view
...
- Replace `any` with `unknown` + type guards in finding-groups and
findings-by-resource adapters (4 adapter functions hardened)
- Add unmount cleanup for AbortController in use-resource-detail-drawer
to prevent memory leaks on mid-flight unmount
- Add try/catch/finally error handling for onBeforeOpen in floating mute
button to prevent permanent spinner state on network errors
- Replace hardcoded colors (border-gray-300, bg-white, text-slate-950)
with semantic tokens (border-default-200, bg-background, text-foreground)
for dark mode compatibility
- Change non-accessible `<p onClick>` to `<button>` with w-full and
type=button in column-finding-groups for keyboard accessibility
- Fix region flag mapping: asia-east1 (Taiwan) now correctly shows flag_tw
instead of flag_hk by adding specific rule before Hong Kong regex
- Fix import type usage in adapter files (value imports preserved for
runtime constants like FINDINGS_ROW_TYPE)
- Restore pageRef.current = 1 in refresh() for error path safety
43 new tests across 7 test files. 50 total tests passing.
TypeScript: 0 errors. ESLint: 0 errors.
Judgment Day: 2 rounds, 0 discrepancies remaining.
2026-03-30 15:45:01 +02:00
Alan Buscaglia
9c1dba9295
fix(ui): security and crash fixes for findings grouped view
...
- Fix SSRF path traversal: encode checkId with encodeURIComponent in
getFindingGroupResources and getLatestFindingGroupResources URL paths
- Fix SSR crash: add isMounted guard for createPortal(document.body) in
InlineResourceContainer to prevent document access during server render
- Fix invalid Tailwind: replace mt-[-10] (no unit) with -mt-2.5 scale token
- Fix unbounded page[size]: cap at 500 via Math.min in URL builder as
defense-in-depth alongside existing chunking
- Fix pageRef race condition: move page counter increment inside fetchPage
after successful non-aborted response, remove redundant pre-set from
refresh() to prevent permanent page skip on concurrent abort
26 tests across 4 test suites (2 new, 2 extended). All passing.
TypeScript: 0 errors in changed files. ESLint: 0 errors.
Claude Code validation: PASSED.
Pre-existing healthcheck failures (.next/types, @codemirror) unrelated.
2026-03-30 15:10:04 +02:00
50556df713
feat(ui): add findings grouped view ( #10425 )
...
Co-authored-by: Adrián Jesús Peña Rodríguez <adrianjpr@gmail.com >
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
2026-03-30 14:17:36 +02:00
Hugo Pereira Brito
f75ce7b4dd
feat(ui): add OpenCypher query editor ( #10445 )
2026-03-27 10:58:48 +00:00
Hugo Pereira Brito
49ba25ba07
feat(ui): add custom attack paths queries ( #10397 )
2026-03-23 15:36:37 +00:00
Pedro Martín and alejandrobailo
712da2cf98
feat(ui): Add CloudTrail Events tab to detail cards ( #10320 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2026-03-17 09:45:29 +01:00
Alejandro Bailo
4cd3b09818
feat(ui): add organization-specific actions to providers table dropdown ( #10317 )
2026-03-16 10:32:12 +01:00
Alejandro Bailo
db7554c8fb
feat(ui): redesign providers page with modern table and cloud recursion ( #10292 )
2026-03-11 13:13:28 +01:00
Alejandro Bailo
48df613095
feat(ui): improve attack paths page layout and UX ( #10249 )
2026-03-06 10:49:11 +01:00
Alejandro Bailo
231bfd6f41
feat(ui): add organization server actions and scan launching ( #10155 )
2026-02-25 12:56:26 +01:00
Alejandro Bailo
fe8d5893af
feat(ui): add organization and wizard types and stores ( #10154 )
2026-02-25 12:45:15 +01:00
Alejandro Bailo
5b038e631a
refactor(ui): centralize provider type filter sanitization in server actions ( #10043 )
2026-02-12 14:12:37 +01:00
Alejandro Bailo
f5345a3982
fix(ui): fix filter navigation and pagination bugs in findings and scans pages ( #10013 )
2026-02-11 11:18:29 +01:00
Alan Buscaglia
770269772a
test(ui): stabilize auth and provider e2e flows ( #9945 )
2026-02-05 09:56:49 +01:00
Alejandro Bailo
065827cd38
feat: upgrade to Next.js 16.1.3 ( #9826 )
2026-01-27 14:02:31 +01:00
d386730770
fix(ui): fetch all providers in scan page dropdown ( #9781 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 15:14:22 +01:00
Alejandro Bailo
f47310bceb
feat(ui): add resource groups filter to findings view ( #9812 )
2026-01-16 13:58:36 +01:00
+23
032499c29a
feat(attack-paths): The complete Attack Paths feature ( #9805 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: César Arroba <19954079+cesararroba@users.noreply.github.com >
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Andoni Alonso <14891798+andoniaf@users.noreply.github.com >
Co-authored-by: Rubén De la Torre Vico <ruben@prowler.com >
Co-authored-by: HugoPBrito <hugopbrit@gmail.com >
Co-authored-by: Hugo Pereira Brito <101209179+HugoPBrito@users.noreply.github.com >
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Chandrapal Badshah <Chan9390@users.noreply.github.com >
Co-authored-by: Chandrapal Badshah <12944530+Chan9390@users.noreply.github.com >
Co-authored-by: Adrián Peña <adrianjpr@gmail.com >
Co-authored-by: Pedro Martín <pedromarting3@gmail.com >
Co-authored-by: KonstGolfi <73020281+KonstGolfi@users.noreply.github.com >
Co-authored-by: lydiavilchez <114735608+lydiavilchez@users.noreply.github.com >
Co-authored-by: Prowler Bot <bot@prowler.com >
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
Co-authored-by: StylusFrost <43682773+StylusFrost@users.noreply.github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
Co-authored-by: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com >
Co-authored-by: Víctor Fernández Poyatos <victor@prowler.com >
Co-authored-by: bota4go <108249054+bota4go@users.noreply.github.com >
Co-authored-by: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com >
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
Co-authored-by: mchennai <50082780+mchennai@users.noreply.github.com >
Co-authored-by: Ryan Nolette <sonofagl1tch@users.noreply.github.com >
Co-authored-by: Ulissis Correa <123517149+ulissisc@users.noreply.github.com >
Co-authored-by: Sergio Garcia <hello@mistercloudsec.com >
Co-authored-by: Lee Trout <ltrout@watchpointlabs.com >
Co-authored-by: Sergio Garcia <sergargar1@gmail.com >
Co-authored-by: Alan-TheGentleman <alan@thegentleman.dev >
2026-01-16 13:37:09 +01:00
Alejandro Bailo and Alan Buscaglia
d5e2c930a9
feat(ui): add Resources Inventory feature ( #9492 )
...
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
2026-01-15 16:25:12 +01:00
Alejandro Bailo
c8bc0576ea
feat: implement compliance watchlist ( #9786 )
2026-01-15 12:37:16 +01:00
Pedro Martín
3eb2595f6d
feat(api): support alibabacloud provider ( #9485 )
2025-12-22 12:46:50 +01:00
Alejandro Bailo and Alan Buscaglia
d93c7dcc4d
feat(ui): implement simple Mutelist and add new view ( #9577 )
...
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
2025-12-18 16:06:45 +01:00
Alan Buscaglia and alejandrobailo
c58ca136f0
feat(ui): add Risk Radar component with category filtering ( #9561 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2025-12-17 13:49:40 +01:00
b9bfdc1a5a
feat: Integrate Prowler MCP to Lighthouse AI ( #9255 )
...
Co-authored-by: Chandrapal Badshah <12944530+Chan9390@users.noreply.github.com >
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
Co-authored-by: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com >
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
Co-authored-by: Adrián Jesús Peña Rodríguez <adrianjpr@gmail.com >
Co-authored-by: Andoni Alonso <14891798+andoniaf@users.noreply.github.com >
Co-authored-by: Rubén De la Torre Vico <ruben@prowler.com >
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2025-12-17 10:10:43 +01:00
Alan Buscaglia
8f361e7e8d
feat(ui): add Risk Radar component with API integration ( #9532 )
2025-12-15 17:02:21 +01:00
Alan Buscaglia
49c75cc418
fix(ui): add default date_from filter for severity over time endpoint ( #9472 )
2025-12-05 17:55:04 +01:00
Alan Buscaglia
56bca7c104
feat(ui): implement Risk Plot component with interactive legend and navigation ( #9469 )
2025-12-05 14:03:58 +01:00
Alan Buscaglia
379c1dc7dd
fix(ui): update severity trends endpoint and reorganize types ( #9460 )
2025-12-04 14:35:21 +01:00
Alan Buscaglia
7f12832808
feat(ui): add Finding Severity Over Time chart to overview page ( #9405 )
2025-12-04 13:19:15 +01:00
Alan Buscaglia
c1bb51cf1a
fix(ui): collection of UI bug fixes and improvements ( #9346 )
2025-12-03 14:31:23 +01:00
f5c2146d19
fix(lighthouse): show all models in selector even without default model ( #9402 )
...
Co-authored-by: Chandrapal Badshah <12944530+Chan9390@users.noreply.github.com >
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2025-12-03 09:23:13 +01:00
Alan Buscaglia
5e033321e8
feat(ui): add attack surface overview component ( #9412 )
2025-12-02 13:57:07 +01:00
Alan Buscaglia
3097513525
fix(ui): filter Risk Pipeline chart by selected providers and show zero-data legends ( #9340 )
2025-11-27 17:39:01 +01:00
Alan Buscaglia
6af9ff4b4b
feat(ui): add interactive charts with filter navigation ( #9333 )
2025-11-27 16:04:55 +01:00
Daniel Barranquero and Alan Buscaglia
ed5f6b3af6
feat(ui): add MongoDB Atlas provider support ( #9253 )
...
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
2025-11-27 12:37:20 +01:00
Alan Buscaglia and alejandrobailo
28d5b2bb6c
feat(ui): integrate threat map with regions API endpoint ( #9324 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2025-11-26 16:12:31 +01:00
Alan Buscaglia and alejandrobailo
4e9dd46a5e
feat(ui): add Risk Pipeline View with Sankey chart to Overview page ( #9320 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2025-11-26 13:33:58 +01:00
Alan Buscaglia and alejandrobailo
a07e599cfc
feat(ui): add service watchlist component with real API integration ( #9316 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2025-11-25 17:03:24 +01:00
Alejandro Bailo and Alan Buscaglia
e020b3f74b
feat: add watchlist component ( #9199 )
...
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
2025-11-25 16:01:38 +01:00
Alan Buscaglia
8e7e376e4f
feat(ui): hide new overview route and filter mongo providers ( #9314 )
2025-11-25 14:22:03 +01:00
Alan Buscaglia
a63a3d3f68
fix: add filters for mongo providers and findings ( #9311 )
2025-11-25 13:19:49 +01:00
Alan Buscaglia
58bb66ff27
feat(ui/overview): add click navigation for charts and threat score improvements ( #9281 )
2025-11-20 18:47:42 +01:00
Pedro Martín and alejandrobailo
94fe87b4a2
feat(ens): support PDF reporting ( #9158 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2025-11-19 18:57:58 +01:00
Alejandro Bailo
c23e2502f3
refactor(ui): redo the whole app with styles ( #9234 )
2025-11-19 11:37:17 +01:00
031548ca7e
feat: Update Lighthouse UI to support multi LLM ( #8925 )
...
Co-authored-by: Chandrapal Badshah <12944530+Chan9390@users.noreply.github.com >
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2025-11-14 11:46:38 +01:00
Alan Buscaglia and Claude
07ac96661e
feat: implement Finding Severity Over Time chart with time range selector ( #9106 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-12 14:33:20 +01:00
ccb269caa2
chore(dependencies): add Sentry to /ui ( #8730 )
...
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2025-11-11 17:12:42 +01:00
Alejandro Bailo
1e584c5b58
feat: new overview threat score component ( #9125 )
2025-11-04 15:08:58 +01:00
Andoni Alonso
601495166c
feat(iac): add IaC to Prowler App ( #8751 )
2025-11-04 10:01:58 +01:00