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

feat: view changes between app versions based on the Changelog #747

Open
wants to merge 6 commits into
base: next
Choose a base branch
from

Conversation

kabaros
Copy link
Collaborator

@kabaros kabaros commented Dec 19, 2024

implements HUB-160

The PR adds the ability to view an app change log:

  • This is based on the CHANGELOG.md that is automatically generated for apps that use semantic-release (all of our apps)
  • We will also be exposing a manual entry for each version change_summary, where the users can write whatever they want to describe what changed in a specific version
    • When that change_summary exists, it will be displayed first next to the entry (then any other changes from the changelog)

It also:

  • changes the design of the app details page according to the new specs
  • adds tests for the UI, and migrates from mocha to jest
  • fixes some linting issues with css modules

To test this: Upload a new version of one of our apps (since these have a changelog generated) - this will update the app entry with the changelog which is then parsed and used by the UI.

UI

This is based on the design here: https://docs.google.com/document/d/1hHgEgx1XI9mjha4SArmjtEGwJzQ_XihUPhfhs8mlFhw/edit?tab=t.0#heading=h.pvxbt0ldmbhq

This is the first version of the tabbed App View page - there will be further work to merge the changelog and releases history, based on the users' feedback so far.

changelog-3.webm

obsolete versions

ignore - just leaving the video if we want to refer back

https://github.com/user-attachments/assets/f4348a53-b2c4-4a73-a482-1ce688c87566

https://github.com/user-attachments/assets/307aa427-8f59-4f81-b0a0-ba0f91ac8a96

@kabaros kabaros requested review from amcgee and cooper-joe December 19, 2024 12:32
@kabaros kabaros requested review from a team and Birkbjo December 19, 2024 12:32
@kabaros
Copy link
Collaborator Author

kabaros commented Dec 19, 2024

@cooper-joe @amcgee I marked this PR as draft, even though this implementation is ready - I tried to find a decent way to expose the changelog now that we have it, but I am not entirely convinced this is the right direction. I am happy to explore a completely different UX / concept (or few concepts) now that we have the changelog data ready.

@kabaros kabaros force-pushed the feat/changelog-improvement branch from b2cdf8c to a48b7e2 Compare December 19, 2024 12:39
@cooper-joe
Copy link
Member

Thanks for the explanation @kabaros, helpful to get the context. I'm taking a look at this now, exploring some design ideas for viewing and comparing changes.

@kabaros kabaros force-pushed the feat/changelog-improvement branch from fa1a118 to 7ef3657 Compare January 15, 2025 09:07
@kabaros kabaros force-pushed the feat/changelog-improvement branch 2 times, most recently from 2a67fa8 to bd3a9e9 Compare January 16, 2025 15:06
@kabaros kabaros force-pushed the feat/changelog-improvement branch from bd3a9e9 to ca28a57 Compare January 16, 2025 15:18
@codecov-commenter
Copy link

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@kabaros kabaros force-pushed the feat/changelog-improvement branch from f19c159 to c68c5d2 Compare January 21, 2025 14:13
@kabaros kabaros force-pushed the feat/changelog-improvement branch 4 times, most recently from c68bc6f to 2e8acbf Compare January 21, 2025 14:54
@kabaros kabaros marked this pull request as ready for review January 21, 2025 14:55
@kabaros kabaros force-pushed the feat/changelog-improvement branch 5 times, most recently from 53b45ca to 99eef6f Compare January 22, 2025 12:12
@kabaros kabaros force-pushed the feat/changelog-improvement branch 3 times, most recently from e202711 to 33afd55 Compare January 22, 2025 16:36
Copy link
Member

@amcgee amcgee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good! Added a few code comments

client/src/api/AppHubAPI.js Show resolved Hide resolved
<TableCell className={styles.channelNameCell}>
<ol className={styles.versionList}>
{versions.map((version) => {
const changes = changelogData?.[version.version] ?? []
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was a bit surprised to see this as an array... would it not be better to store / display just a markdown text block for each version change as GitHub releases does?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was like that initially to keep the changes in a structured format and display them consistently, to do things like:

  • we were displaying the change type in a cell in a table so this was better than doing regex parsing at last minute
  • renaming the change types: "feat" to "feature" etc..
  • highlighting (or ignoring) translations
  • being able to show only bugs or features, or group by change type (never did that but thought it makes sense when we're showing the changes vs instlaled version for example that we'd show all features then all bugs..)

slowly though, the design evolved, and we're not doing any of these .. so I could go back to just having an array of versions, and the changes as a markdown that we display as it is

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@amcgee updated it to just show the raw markdown:

image

client/src/utils/changelog.js Outdated Show resolved Hide resolved
client/src/utils/changelog.js Outdated Show resolved Hide resolved
client/src/utils/changelog.js Outdated Show resolved Hide resolved
@kabaros kabaros force-pushed the feat/changelog-improvement branch 8 times, most recently from ed516a0 to 60cdfae Compare January 23, 2025 11:17
@dhis2 dhis2 deleted a comment from sonarqubecloud bot Jan 23, 2025
instead of trying to parse into a structured format
@kabaros kabaros force-pushed the feat/changelog-improvement branch from 7acf314 to cd51dcb Compare January 24, 2025 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants