Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch the Page List block to client-side rendering #35632

Closed
Tracked by #35521
priethor opened this issue Oct 14, 2021 · 3 comments · Fixed by #31670
Closed
Tracked by #35521

Switch the Page List block to client-side rendering #35632

priethor opened this issue Oct 14, 2021 · 3 comments · Fixed by #31670
Assignees
Labels
[Block] Navigation Affects the Navigation Block [Block] Page List Affects the Page List Block [Status] In Progress Tracking issues with work in progress [Type] Task Issues or PRs that have been broken down into an individual action to take

Comments

@priethor
Copy link
Contributor

What problem does this address?

The Navigation block is prone to a lot of direct manipulation to customize its look and feel. Because the Page List block is server-side rendered, its manipulation can offer a poor user experience: user interactions can take a few seconds to apply on certain conditions, and this issue only becomes bigger as more design tools are added.

Grabacion.de.pantalla.2021-10-14.a.las.13.48.35.mov

What is your proposed solution?

Switching the Page List block to render on the client side would avoid the slow re-rendering it currently suffers.

@priethor priethor added [Type] Task Issues or PRs that have been broken down into an individual action to take [Block] Navigation Affects the Navigation Block [Block] Page List Affects the Page List Block labels Oct 14, 2021
@priethor priethor linked a pull request Oct 14, 2021 that will close this issue
7 tasks
@noisysocks noisysocks self-assigned this Oct 19, 2021
@tellthemachines
Copy link
Contributor

We'll want to test this with a large amount (hundreds) of pages, because the reason for using server side rendering initially was really bad performance with client side render.

I think @gwwar had some ideas about how we could improve performance on the client (there may even have been an issue at some point? but I can't find it 😅 ).

@gwwar
Copy link
Contributor

gwwar commented Oct 20, 2021

Re: performance I think that one was mostly about us limiting requests to 100 per page, and trying to fetch all resources. (many many requests). We could pre-load the endpoint, but I think it might be reasonable to think through limits on what we display for the PageList.

In the navigation block we intend it to be a quick start for a nav menu (which we assume to be somewhat limited), and outside of that context it could function more as a Table of Contents or directory (which we might be able to add paging to).

@ockham
Copy link
Contributor

ockham commented Oct 21, 2021

Potential fix in #31670.

@noisysocks noisysocks added the [Status] In Progress Tracking issues with work in progress label Oct 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Navigation Affects the Navigation Block [Block] Page List Affects the Page List Block [Status] In Progress Tracking issues with work in progress [Type] Task Issues or PRs that have been broken down into an individual action to take
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants