Skip to content

Improve acl tab performance for systems with many roles#1589

Open
Arnei wants to merge 1 commit intoopencast:r/19.xfrom
Arnei:acl-tab-performance
Open

Improve acl tab performance for systems with many roles#1589
Arnei wants to merge 1 commit intoopencast:r/19.xfrom
Arnei:acl-tab-performance

Conversation

@Arnei
Copy link
Copy Markdown
Member

@Arnei Arnei commented Apr 28, 2026

Memoization should prevent the dropdown options from getting recreated on every rerender. This should speed up non-dropdown related actions, such as adding new roles or changing access rights, on systems with many roles.

How to test this

Can be tested against develop, as there are many roles there.

Memoization should prevent the dropdown options from
getting recreated on every rerender. This should speed up
non-dropdown related actions, such as adding new roles or
changing access rights,
on systems with many roles.
@Arnei Arnei added the type:bug Something isn't working label Apr 28, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Use docker or podman to test this pull request locally.

Run test server using develop.opencast.org as backend:

podman run --rm -it -p 127.0.0.1:3000:3000 ghcr.io/opencast/admin-interface:pr-1589

Specify a different backend like stable.opencast.org:

podman run --rm -it -p 127.0.0.1:3000:3000 -e PROXY_TARGET=https://stable.opencast.org ghcr.io/opencast/admin-interface:pr-1589

It may take a few seconds for the interface to spin up.
It will then be available at http://127.0.0.1:3000.
For more options you can pass on to the proxy, take a look at the README.md.

@github-actions
Copy link
Copy Markdown
Contributor

This pull request is deployed at test.admin-interface.opencast.org/1589/2026-04-28_09-25-08/ .
It might take a few minutes for it to become available.

@ferishili ferishili self-requested a review April 28, 2026 09:40
Copy link
Copy Markdown
Contributor

@ferishili ferishili left a comment

Choose a reason for hiding this comment

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

Thanks @Arnei,
I can confirm that this PR significantly improves the performance of the dropdown in the ACL tab.

One small observation (see attached video): when hovering over or changing dropdown options, it looks like the entire dropdown is re-rendered. Is this expected behavior, or could it be optimized to render once and then update without re-rendering on every interaction?

Screen.Recording.2026-04-28.at.11.37.52.-.720.mov

@Arnei
Copy link
Copy Markdown
Member Author

Arnei commented Apr 28, 2026

At the very least the visually changing elements must be re-rendered I suppose. If you have more ideas on how to optimize our dropdowns, you are welcome to contribut, arguably having dropdowns with this many options is bad design anyhow #1442. But that is not the goal of this PR.

@ferishili ferishili self-requested a review April 28, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants