chakra-ui-docs icon indicating copy to clipboard operation
chakra-ui-docs copied to clipboard

Improve `/changelog` page performance

Open segunadebayo opened this issue 2 years ago • 10 comments

Subject

Changelog

Description

There's a warning from Next.js about the changelog page being too large in size.

Warning: data for page "/changelog" is 250 kB, this amount of data can reduce performance.

I'm thinking we can use progressive disclosure to improve the page's performance. Here are some ideas:

  • Show the changelog for only the current version, and hide the rest
  • Include the Table of Content on the right side that shows the previous versions so the users can navigate to the version they're interested in.
  • Consider using a dynamic route /changelog/<version> to determine which changelog to show

segunadebayo avatar Jan 05 '22 08:01 segunadebayo

@segunadebayo I'd be happy to work on this

jacobhq avatar Mar 02 '22 08:03 jacobhq

Go for it, @jacobhq!

nikolovlazar avatar Mar 02 '22 08:03 nikolovlazar

Ideas for the UI and execution:

https://releases.figma.com/ (this one solves the problem with pagination) https://www.sketch.com/updates/ (same with this) https://www.raycast.com/changelog https://linear.app/changelog

segunadebayo avatar Mar 08 '22 13:03 segunadebayo

Also here's a bunch of good looking changelogs: https://www.changelogs.gallery/

P.S. Our changelog is already on that list 😎

nikolovlazar avatar Mar 11 '22 07:03 nikolovlazar

Thanks, I'll make sure it stays on that list :)

jacobhq avatar Mar 11 '22 08:03 jacobhq

Hi! This issue has been automatically marked as stale because lack of recent activity. It will be closed if no further activity occurs within 5 days. Thank you for your contributions.

stale[bot] avatar Apr 16 '22 02:04 stale[bot]

A mental model I have to resolve this:

  • In the core repo, break each changelog versions into their own files so we have a structure like .changelog/v2.0.0.mdx, .changelog/v2.0.2.mdx, etc.
  • Update the GitHub actions in the core repo, such that we also write to the .changelog/v{{version}}.mdxThis makes it easier to consume in the docs repo.
  • In the changelog page, show the changelog for the most recent version.
  • add a version selector for those who want to go back in time. As they pick the version we can navigate to /changelog/v{{version}} in Next.js which will display the changelog for the selected version.

This will help us achieve progressive disclosure and reduce the page size.

segunadebayo avatar May 22 '22 06:05 segunadebayo

Hi! This issue has been automatically marked as stale because lack of recent activity. It will be closed if no further activity occurs within 5 days. Thank you for your contributions.

stale[bot] avatar Jul 10 '22 12:07 stale[bot]

Hey would anyone else like to take this one, I'm not sure I'll be able to make much progress on it.

jacobhq avatar Jul 18 '22 13:07 jacobhq

Lazar and I worked on this today.

All that's left is to update the pages/changelog code to pick the correct changelog to render.

segunadebayo avatar Aug 26 '22 13:08 segunadebayo

This is now done. cc @nikolovlazar @segunadebayo

noobinthisgame avatar Sep 25 '22 09:09 noobinthisgame