Skip to content

refactor(ui): standardize "Providers" wording across UI and docs#10971

Merged
pfe-nazaries merged 8 commits into
masterfrom
fix/provider-wording
May 5, 2026
Merged

refactor(ui): standardize "Providers" wording across UI and docs#10971
pfe-nazaries merged 8 commits into
masterfrom
fix/provider-wording

Conversation

@pfe-nazaries

@pfe-nazaries pfe-nazaries commented May 4, 2026

Copy link
Copy Markdown
Contributor

Context

The Prowler UI used three different names for the same concept — "Cloud Providers", "Accounts", "Account Groups" — while the SDK, API, and Django models all use Provider / Provider Group. This PR aligns the UI and developer docs with the rest of the platform.

Description

UI strings — sidebar (menu-list.ts), /providers page (title, tabs, columns), wizard (provider-wizard-modal*, wizard-stepper.tsx), empty states (no-providers-{added,connected}.tsx), manage-groups (button + row actions + error), cross-page column headers and filters (Scans, Resources, Findings, data-filters.ts), and RBAC labels (lib/helper.ts, lib/permissions.ts):

  • Cloud ProvidersProviders
  • Accounts / Account GroupsProviders / Provider Groups
  • Cloud Provider (column / wizard / filter) → Provider
  • Manage Cloud ProvidersManage Providers; Manage AccountManage Provider

Internal contractprovider-page-tabs.shared.ts and all callers:

  • PROVIDER_TAB.ACCOUNTS / ACCOUNT_GROUPSPROVIDERS / PROVIDER_GROUPS
  • URL slug: ?tab=accounts?tab=providers, ?tab=account-groups?tab=provider-groups (deep-link break)

Tests — vitest fixtures (provider-page-tabs.test.tsx, provider-wizard-modal.utils.test.ts, providers/page.test.ts) and Playwright (tests/providers/providers-page.ts, tests/scans/scans-page.ts).

Docsdocs/getting-started/basic-usage/prowler-app.mdx, docs/user-guide/tutorials/prowler-app*.mdx, docs/user-guide/tutorials/prowler-cloud-aws-organizations.mdx, all 16 docs/user-guide/providers/*/getting-started-*.mdx, docs/developer-guide/provider.mdx.

Preserved: brand titles ("Google Cloud Provider", "Alibaba Cloud Provider"), AWS Organizations terms ("Account ID", "Management Account", "AWS Cloud Account"), GCP "Service Account", and PNG filenames under docs/images/.

Steps to review

  1. cd ui && pnpm install && pnpm run typecheck && pnpm run lint:check && pnpm run test:run — expect 591 tests passing.
  2. Smoke /providers: title, tabs, columns, URL slug on tab switch.
  3. Open the wizard from any empty state; confirm the new copy.
  4. Check Scans / Resources / Findings column header and filters.
  5. Open the Roles editor and Profile; confirm RBAC labels.
  6. Verify AWS Organizations and GCP forms still use their original "Account" / "Service Account" labels.

Screenshots / Video — UI

image image image image image image

Responsive

  • Mobile (X < 640px):
  • Tablet (640px ≤ X < 1024px):
  • Desktop (X ≥ 1024px):

Checklist

Community Checklist
  • This feature/issue is listed in here or roadmap.prowler.com
  • Is it assigned to me

UI

  • All issue/task requirements work as expected on the UI
  • Screenshots/Video - Mobile (X < 640px)
  • Screenshots/Video - Tablet (640px > X < 1024px)
  • Screenshots/Video - Desktop (X > 1024px)
  • Ensure new entries are added to ui/CHANGELOG.md

License

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

@mintlify

mintlify Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
prowler 🟢 Ready View Preview May 4, 2026, 9:30 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Conflict Markers Resolved

All conflict markers have been successfully resolved in this pull request.

@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

✅ All necessary CHANGELOG.md files have been updated.

@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

🔒 Container Security Scan

Image: prowler-ui:0637296
Last scan: 2026-05-05 11:16:26 UTC

📊 Vulnerability Summary

Severity Count
🔴 Critical 2
Total 2

2 package(s) affected

⚠️ Action Required

Critical severity vulnerabilities detected. These should be addressed before merging:

  • Review the detailed scan results
  • Update affected packages to patched versions
  • Consider using a different base image if updates are unavailable

📋 Resources:

pfe-nazaries pushed a commit that referenced this pull request May 4, 2026
Standardization is a behaviour-visible change, not a bug fix; ship it
in the next minor instead of patching 1.25.1. Also fill in the actual
PR number (#10971).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@pfe-nazaries pfe-nazaries marked this pull request as ready for review May 4, 2026 12:31
@pfe-nazaries pfe-nazaries requested review from a team as code owners May 4, 2026 12:31
Comment thread ui/lib/helper.ts Outdated

@Alan-TheGentleman Alan-TheGentleman 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.

  1. The Playwright locator on the scans page filters by stale text. ui/tests/scans/scans-page.ts:23 matches 'Choose a cloud provider', but this PR renamed the placeholder to 'Choose a provider' in select-scan-provider.tsx (L55, L70). The combobox locator will no longer match and the scans E2E suite will fail at runtime. Please update the filter text to 'Choose a provider'. (Cannot anchor inline because line 23 is outside the diff hunk.)

  2. The manage_account permission was relabeled to "Manage Provider". See the inline comment on ui/lib/helper.ts.

Other things that look incomplete relative to the stated scope ("UI strings ... and all callers"):

  • ui/app/(prowler)/providers/account-groups-content.tsx L60, L63, L130, L132 still render "Create a new account group" / "Edit account group" headings inside the Provider Groups tab.
  • The tabs component still exports accountsContent / accountGroupsContent props and page.tsx still references the AccountGroupsContent class, so the internal API does not match the new PROVIDER_TAB.PROVIDERS / PROVIDER_GROUPS enum.
  • ui/tests/setups/manage-cloud-providers.auth.setup.ts and several Playwright comments still carry the old wording.

Worth considering a temporary redirect from ?tab=accounts to ?tab=providers so existing bookmarks do not break silently after the slug change.

Comment thread ui/lib/helper.ts Outdated
Pablo F.G and others added 4 commits May 4, 2026 16:45
Replace legacy "Cloud Providers" / "Accounts" / "Account Groups" copy with
the canonical "Provider" / "Provider Group" terms aligned with the SDK,
API, and Django models. Also rename PROVIDER_TAB enum keys/values and
URL slug (?tab=accounts → ?tab=providers, ?tab=account-groups → ?tab=provider-groups).
Brand references ("Google Cloud Provider", "AlibabaCloud Provider") and
genuine cloud-account constructs ("AWS account", "Service Account",
"Account ID", "Management Account") are preserved per design D3.

PROWLER-1468

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Original audit was case-sensitive and missed lowercase variants visible
in the scan launch flow, empty states, overview filters, and the
manage_providers permission description. Replace with 'provider' /
'providers' for consistency.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Standardization is a behaviour-visible change, not a bug fix; ship it
in the next minor instead of patching 1.25.1. Also fill in the actual
PR number (#10971).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Revert manage_account label rename: it is a distinct RBAC permission
  for org/tenant settings (users, billing, RBAC), not provider
  management. Keep 'Manage Account' in helper.ts and permissions.ts.
- Fix stale Playwright locator in tests/scans/scans-page.ts:23 that still
  filtered the combobox by the old 'Choose a cloud provider' text.
- Rename provider-page-tabs props (accountsContent/accountGroupsContent
  -> providersContent/providerGroupsContent), the AccountGroupsContent
  component (-> ProviderGroupsContent), and the matching file
  (account-groups-content.tsx -> provider-groups-content.tsx) to align
  the internal API with PROVIDER_TAB.PROVIDERS / PROVIDER_GROUPS.
- Update Provider Groups tab headings and prose
  ('Create a new account group' / 'Edit account group' -> 'provider
  group').
- Update stale wording in tests/setups/manage-cloud-providers.auth.setup
  test description and Playwright comments in tests/providers/providers-
  page.ts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Comment thread docs/developer-guide/provider.mdx
jfagoagas
jfagoagas previously approved these changes May 4, 2026

@jfagoagas jfagoagas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for this one!

Pablo F.G added 2 commits May 5, 2026 08:51
…can list

Aligns the Attack Paths scan-list table with the canonical "Provider"
wording used across Scans, Resources and Findings tables. The cell
already renders provider data (provider_alias / provider_uid via
EntityInfo), so the prior "Account" header was the last
Provider-synonym column header in the UI.

Captured by spec scenario "Cross-page table column header" and tasks
§11.4 in the standardize-providers-wording openspec change.
@pfe-nazaries

Copy link
Copy Markdown
Contributor Author

@Alan-TheGentleman @jfagoagas Small tweak e1a5e4d

jfagoagas
jfagoagas previously approved these changes May 5, 2026
PR #10939 collapsed the compliance card to an always-stacked column
layout and removed `sm:flex-row`, but the existing source assertion test
was not updated and started failing in CI on every PR that touched the
UI. Update the assertion to reflect the new layout and rename the test
case accordingly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@pfe-nazaries pfe-nazaries dismissed stale reviews from Alan-TheGentleman and jfagoagas via dd6d08a May 5, 2026 11:09
@pfe-nazaries pfe-nazaries merged commit d23c2f3 into master May 5, 2026
39 checks passed
@pfe-nazaries pfe-nazaries deleted the fix/provider-wording branch May 5, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants