mediar-ai / screenpipe

24/7 local AI screen & mic recording. Works with Ollama. Llama3.2 control your computer. Alternative to Rewind.ai & Zapier. Open. Secure. You own your data. Rust.
https://screenpi.pe
MIT License
7.93k stars 434 forks source link

add release changelog in release-app and in the app ui #169

Open louis030195 opened 2 months ago

louis030195 commented 2 months ago

definition of done:

tips:

/bounty 100

algora-pbc[bot] commented 1 week ago

💎 $100 bounty • Screenpi.pe

Steps to solve:

  1. Start working: Comment /attempt #169 with your implementation plan
  2. Submit work: Create a pull request including /claim #169 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to mediar-ai/screenpipe!

Add a bounty • Share on socials

ologbonowiwi commented 1 week ago

I want to attempt this.

My implementation plan:

Thoughts @louis030195?

louis030195 commented 6 days ago

I want to attempt this.

My implementation plan:

  • create a changelog folder
  • generate a changelog with <version>.md on release
  • show the latest changelog/the changelog matching the current version upon restarting

Thoughts @louis030195?

sounds good

can you put in the content/changelog folder? dont like when there are too many files at the root

also "show the latest changelog/the changelog matching the current version upon restarting" preferably should not show twice the same changelog to user (say i update app, restart, see dialog, then close restart app, it should not show again, you can just store something in localstorage probably to avoid this)

ologbonowiwi commented 6 days ago

Do you have any video or step-by-step on what happens when a user updates the app?

I saw only now this

then it would update a CHANGELOG.md, the app dialog could just embed this file in the dialog, simple

It's way simpler than I had in mind. What I'm thinking now is that we can have a flag on localStorage, for example, saying showChangelog, which will be set to false once the user closes the changelog dialog. When the app restarts/updates, we set this to true, and on first initiation, the app will check it and show the dialog if the flag is set to true.

Alternatively, if we have any variable on-app holding the current version of the system, we can have a variable on localStorage, something like lastUsedVersion. At each initiation, we compare the value from lastUsedVersion with the variable from the app that holds the actual current version. If they differ, we then show the dialog.

~Additionally, I was wondering if we should show a changelog for the user-built app. If so, somehow, we need to keep track of the version the user is using (in this case, maybe we can use commit?). If this isn't important, we can ignore it and say it's only available on the paid version.~ I just figured we can't have it on user-built since we only generate changelogs on releases.

Let me know what you think.

louis030195 commented 5 days ago

Do you have any video or step-by-step on what happens when a user updates the app?

I saw only now this

then it would update a CHANGELOG.md, the app dialog could just embed this file in the dialog, simple

It's way simpler than I had in mind. What I'm thinking now is that we can have a flag on localStorage, for example, saying showChangelog, which will be set to false once the user closes the changelog dialog. When the app restarts/updates, we set this to true, and on first initiation, the app will check it and show the dialog if the flag is set to true.

Alternatively, if we have any variable on-app holding the current version of the system, we can have a variable on localStorage, something like lastUsedVersion. At each initiation, we compare the value from lastUsedVersion with the variable from the app that holds the actual current version. If they differ, we then show the dialog.

~Additionally, I was wondering if we should show a changelog for the user-built app. If so, somehow, we need to keep track of the version the user is using (in this case, maybe we can use commit?). If this isn't important, we can ignore it and say it's only available on the paid version.~ I just figured we can't have it on user-built since we only generate changelogs on releases.

Let me know what you think.

anything simple that don't spam the user with dialogs but still show the changes

Screenshot 2024-10-11 at 09 35 17

and could add button here to show the changelog dialog again