🚀 - Add changelog inside the web application #397
Replies: 6 comments
-
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Beta Was this translation helpful? Give feedback.
-
SummaryConsidering we need the same content as the changelog for codeimage and for the landing page it's necessary to start from the creation, as totally different. Todo releases notes I think we have two ways:
ConsiderationsAs analysed both required no indifferent effort and deep dive to do better analysis. But to try one or another choice we can skip some steps and do it manually focusing on rendering the changelogs.
|
Beta Was this translation helpful? Give feedback.
-
Creating an another ad-hoc tool in my opinion is not the good choice, the effort that we should take for having something working is a lot considering that we are not planning to release and update the change logs pretty often. Also no one is stopping us to put the .md files in our repo in order to keep all changelog versioned with git. having differences between GitHub Releases and our changelog is not bad at all I like the idea of retrieving the list of change logs in CI, the problem is know when we have to reload the changelog. If we put the .md file in our repository, we are able to trigger a GitHub action workflow in order to rebuild everything. The next problem is the parsing and the rendering. There are some libraries that may help us to convert the Notion blocks in md files https://www.npmjs.com/package/notion-to-md, but are we able to render and parse md files right now? I saw there are some libraries that render mdx with solid but I’m not convinced at all, I saw someone in discord that it’s using this library https://www.npmjs.com/package/marked but it’s only .md (but that could be our real case) So in my opinion the flow could be:
|
Beta Was this translation helpful? Give feedback.
-
Also forgot this. The release tab of GitHub now consist of tagging the version of the repository and I am trying to do a new release/tag for every deploy (patch, minor, fix). The changelog that we can show to the users could be custom and have a very different structure (for example showing only “new features” instead of grouping by minor/patch/major etc. Keeping the two things separated imo it’s better and easier to mantain |
Beta Was this translation helpful? Give feedback.
-
@riccardoperra if we organize the tabs it's easier for us to main, totally agree. So for the next release, the ideal flow to release could be:
I suggest rendering the release notes using the obtained from GH API, so we don't need to import old releases from GH to Notion. The Notion will use only as an editor. To have the release pages asap I would start from the end by retrieving data and rendering it. (Important it's useful if the page will render static using the data from the API to not use many resources and the free tier from GH) So to code this I'll proceed: 1° stage
2* stage
WDYT? |
Beta Was this translation helpful? Give feedback.
-
As we said on telegram, there will be two different changelog for CodeImage
The two changelogs will not be directly synchronized since we don't want to show in website and application everything but just the most important things. Here's the solution that we discussed and we may try at the moment:
|
Beta Was this translation helpful? Give feedback.
-
Description
Users should be notified when a new update of the app has been released. The idea is to handle a changelog component which will shows all info about the newest release.
Here's some recommendation/questions that we've discussed with @hackpirodev:
Dialog once you open the app
Guest users will see a full screen dialog with the latest release info the first time they see the page. (Then we will save a "user read" flag in the local storage in order to save this info locally.
For Authenticated users we may save this info using the Auth0 user metadata
How we retrieve the content
We have some ideas about how rendering the content of the release automatically:
Here are some things that we have to analyze in order to take the right way:
How to display this content in the website
How we render the content
In my opinion MDX could be the right choice since there are some examples of using solid with mdx content
in order to also have more flexibility (what if we need to render some custom content inside?)
In the case we choose Notion, we have to make sure we can render his blocks without taking a lot of effort since there aren't libraries that does this job right now (there is an example for React https://github.com/splitbee/react-notion) but implementation could be easier without VDOM
cc @hackpirodev
Beta Was this translation helpful? Give feedback.
All reactions