ajnart / homarr

Customizable browser's home page to interact with your homeserver's Docker containers (e.g. Sonarr/Radarr)
https://homarr.dev
MIT License
6.01k stars 275 forks source link

⚡️ Improve TorrentTile rendering performance #1951

Closed diederbert closed 6 months ago

diederbert commented 6 months ago

Thank you for contributing to Homarr! So that your Pull Request can be handled effectively, please populate the following fields (delete sections that are not applicable)

Note: lots of lines have changed, it seems my editor is not picking up on the eslint and/or prettier config? If that is indeed the case, any assistance would be greatly appreciated.

Category

Other (perfromance improvement)

Overview

Greatly improve rendering performance of large torrent lists by using TanStack Table's (used by mantine-react-table) virtualization option.

Using <MRT_TableContainer /> instead of <MRT_Table /> to fix container size. This also provides the virtualization service a ref of the scrollview.

As you can see in the video attached below, this also makes the header sticky. I think this is a nice improvement, but we could probably make it scroll like before if requested.

Issue Number (if applicable)

None

New Vars (if applicable)

None

Screenshot (if applicable)

Before before video

After after video