Skip to content

Less table row rerenders - #1680

Open
Arnei wants to merge 2 commits into
opencast:developfrom
Arnei:table-render-performance
Open

Arnei wants to merge 2 commits into
opencast:developfrom
Arnei:table-render-performance

Conversation

@Arnei

@Arnei Arnei commented Sep 24, 2026

Copy link
Copy Markdown
Member

Improves table rerender peformance by

  • Avoiding table row rerenders if possible, e.g. don't render rows again every 5 seconds if data has not actually changed
  • Remove the hotkey listeners from the modals while they are not showing

How to test this

If you don't want to rely on feeling you'll have to use your browsers profiler to check if the rows are still all rendering one very poll. Note: the TableRows component will still rerender, this is about TableRow.

AI Usage

Claude Sonnet 5 was used for this PR:

Keep row objects whose data did not change and memoize TableRow, so polling no longer re-renders the whole table.

This commit was AI generated
Closed modals, such as the ones in every table row, no longer each add keyboard listeners and hotkey registrations.

This commit was AI generated
@Arnei Arnei added the type:enhancement New feature or request label Sep 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This pull request is deployed at test.admin-interface.opencast.org/1680/2026-09-24_14-45-26/ .
It might take a few minutes for it to become available.

@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 

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 

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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant