Skip to content

Conversation

@abailly-akamai
Copy link
Contributor

@abailly-akamai abailly-akamai commented Dec 5, 2025

Description 📝

This PR fixes a nasty rendering problem with the "Assigned Roles" and "Assigned Entities" User Detail pages.

When dealing with vert large entity data sets (> a few hundreds), the browser would start lagging (sometimes freezing in Safari) because of the data mounting/unmounting when entering/leaving the "Assigned Roles" tab.

The reason is, the computing is quite heavy for the TruncatedList component, which needs to make decisions on how to responsive show/hide the entity chips. When doing this with 1000 items it is a performance disaster. Good news is, we do not need to do that at all since we only need to show a small amount of items on the screen.

While this does not solve the initial loading of all entities (to be fixed later with better API support), this fix definitly prevents the browser issues we were seeing with large accounts

Changes 🔄

  • Pass 15max items to Truncated list and update count button to still show the right number of hidden items based on the original data set

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 🗓️

⚠️ 12/10/2025

How to test 🧪

Prerequisites

original reported bug in safari

v11.mov
Before After
Screen.Recording.2025-12-05.at.15.05.27.mov
Screen.Recording.2025-12-05.at.15.04.28.mov

Testing

👉 A IAM account with large data sets

should be a restricted user with entities assigned

Reproduction steps

  • navigate between /iam/users/<user>/roles and /iam/users/<user>/entities and refresh pages
  • ⛔ notice UI lag (more so visible in Safari): after clicking the tab, the UI won't update for a couple seconds

Verification steps

  • navigate between /iam/users/<user>/roles and /iam/users/<user>/entities and refresh pages
  • ✅ notice no UI lag (we don't compute as much data)
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

@abailly-akamai abailly-akamai marked this pull request as ready for review December 5, 2025 14:12
@abailly-akamai abailly-akamai requested a review from a team as a code owner December 5, 2025 14:15
@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Dec 5, 2025
@abailly-akamai abailly-akamai merged commit 5faffaa into linode:develop Dec 8, 2025
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Dec 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants