reposense / RepoSense

Contribution analysis tool for Git repositories
https://reposense.org
MIT License
248 stars 155 forks source link

Add virtual scrolling for faster initial load #1383

Open gerhean opened 3 years ago

gerhean commented 3 years ago

What feature(s) would you like to see in RepoSense?

Needs testing but I feel that the bulk of the time spent waiting for a long list of repos to load is rendering the components instead of filtering the files to display.

v-ramp is clearly very expensive to render. More likely than not the user will not scroll through the entire list of repos rendered, making it a waste.

Let's try to render components only when they become visible. This will hopefully improve front end performance.

Possible extension to tabs.

If possible, describe the solution

Can consider using: https://github.com/Akryum/vue-virtual-scroller

Alternative solution

Use pagination.

Additional context

Might need to upgrade Vue to 2.6

on visible rendering might prevent searching the page using ctrl-f

Possible worse experience as users may need to wait for entries to render while scrolling

damithc commented 3 years ago

on visible rendering might prevent searching the page using ctrl-f

Possible worse experience as users may need to wait for entries to render while scrolling

Alternative: render to top part first, and continue to render the rest in the background (no need to wait for user to scroll).

ckcherry23 commented 6 months ago

Another alternative we discussed is collapsing the ramp charts by default so that the ramp charts are only rendered when the user decides to expand the chart(s) they are interested in. However, we've opted against this approach because it diminishes the visual nature of data on the code dashboard, hindering comparison between charts.