Skip to content

feat: [UIE-9251] - IAM Delegation: Add Account Delegations Tab#12927

Merged
mpolotsk-akamai merged 7 commits intolinode:developfrom
mpolotsk-akamai:UIE-9251-account-delegation-tab
Oct 10, 2025
Merged

feat: [UIE-9251] - IAM Delegation: Add Account Delegations Tab#12927
mpolotsk-akamai merged 7 commits intolinode:developfrom
mpolotsk-akamai:UIE-9251-account-delegation-tab

Conversation

@mpolotsk-akamai
Copy link
Contributor

@mpolotsk-akamai mpolotsk-akamai commented Sep 29, 2025

Description 📝

This PR implements a new "Account Delegations" tab under Identity and Access.

Changes 🔄

List any change(s) relevant to the reviewer.

  • Add new tab
  • Add routing
  • Add table displaying all account delegations with client-side sorting and filtering

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Target release date 🗓️

October 21st

Preview 📷

Screenshot 2025-10-01 at 5 03 44 PM

How to test 🧪

Prerequisites

(How to setup test environment)

  • have an IAM parent/child DevCloud account (IAM Delegation (Parent/Child) flag should be enabled)
  • start MSW CRUD mode and seed some child account data

Verification steps

(How to verify changes)

  • Navigate to /iam.
  • Verify new "Account Delegations" tab is visible.
  • Navigate to /iam/delegations.
  • Add Child Accounts & Delegations in DevTools (e.g., 100).
  • Verify the table with accounts is visible.
  • Verify filtering works.
  • Verify pagination works.
  • Verify sorting works.
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@mpolotsk-akamai mpolotsk-akamai added the IAM Delegation Implementing the new Parent/Child delegation UI label Oct 1, 2025
@mpolotsk-akamai mpolotsk-akamai force-pushed the UIE-9251-account-delegation-tab branch from 0da7b9f to e505be9 Compare October 3, 2025 12:52
@mpolotsk-akamai mpolotsk-akamai marked this pull request as ready for review October 3, 2025 12:53
@mpolotsk-akamai mpolotsk-akamai requested a review from a team as a code owner October 3, 2025 12:53
Copy link
Contributor

@abailly-akamai abailly-akamai left a comment

Choose a reason for hiding this comment

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

Looks great! left a few non-blocking comments but this looks good to go from my end 👍

@mpolotsk-akamai mpolotsk-akamai force-pushed the UIE-9251-account-delegation-tab branch from e505be9 to 9b10d50 Compare October 8, 2025 11:34
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 2 failing tests on test run #8 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
2 Failing835 Passing12 Skipped40m 54s

Details

Failing Tests
SpecTest
clone-linode.spec.tsCloud Manager Cypress Tests→clone linode » can clone a Linode from Linode details page
create-firewall.spec.tsCloud Manager Cypress Tests→create firewall » "before all" hook for "creates a firewall without a linode"

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/linodes/clone-linode.spec.ts,cypress/e2e/core/firewalls/create-firewall.spec.ts"

<TruncatedList
addEllipsis
customOverflowButton={(numHiddenItems) => (
// TODO: move to the separate component
Copy link
Contributor

Choose a reason for hiding this comment

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

is there a ticket for that or you'll do that in this PR?

Copy link
Contributor

Choose a reason for hiding this comment

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

This component is pretty small (~100 lines) so unless we need to reuse it i think it could stay like this

if (isLoading) {
return <CircleProgress />;
}
if (!flags.iamDelegation?.enabled) {
Copy link
Contributor

Choose a reason for hiding this comment

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

remember to use the new useIsIAMDelegationEnabled to be consistent 👍


return order === 'asc' ? comparison : -comparison;
});
}, [filteredDelegations, order]);
Copy link
Contributor

Choose a reason for hiding this comment

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

We can prob change this when we get API support for filtering, but useOrderV2 will help you there because it also handles query params

see #12974

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Oct 10, 2025
@mpolotsk-akamai mpolotsk-akamai merged commit 185709a into linode:develop Oct 10, 2025
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Oct 10, 2025
corya-akamai pushed a commit to corya-akamai/manager that referenced this pull request Dec 8, 2025
…e#12927)

* feat: [UIE-9251] - IAM Delegation: Add Account Delegation Tab

* feat: [UIE-9251] - Add client side sorting, filtering and expand/hide functionality for users

* feat: [UIE-9251] - review updates, refactoring

* feat: [UIE-9251] - style fix

* feat: [UIE-9251] - unit test

* Added changeset: IAM: Account Delegations Tab

* feat: [UIE-9251] - review fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

IAM Delegation Implementing the new Parent/Child delegation UI

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants