LinwoodDev / Butterfly

🎨 Powerful, minimalistic, cross-platform, opensource note-taking app
https://butterfly.linwood.dev
GNU Affero General Public License v3.0
980 stars 67 forks source link

Include changelog in-app #691

Closed licaon-kter closed 4 months ago

licaon-kter commented 4 months ago

...instead of leaking user IP and user device info to the developer servers every time users open the Settings page.

Ref: https://gitlab.com/fdroid/fdroiddata/-/issues/3257

CodeDoctorDE commented 4 months ago

Hmm, I could make a "Check update" button. The thing is that I need a server anyhow to show the latest version. Do you have a better idea? The docs are staticly generated when using pnpm build in the docs directory. This will be build by vercel and served with html, css, javascript and a meta.json file. LibreTube has also a "Check update" button in the settings.

This isn't really the changelog that will be fetched there. The changelog itself is just a link that will be open in the webbrowser when clicking on the button.

licaon-kter commented 4 months ago

Neither this app nor Libretube are reproducible, when the user learns about a new update, what's the next actionable thing they can do exactly?

Updates are handled by F-Droid, there's no need for "extra check update".

Yes, a button is nicer, then again, reading above, imho, this whole check should be removed from the F-Droid build.

CodeDoctorDE commented 4 months ago

The thing is: fdroid is really slow with updates. To check if you have the latest update is essential when opening a bug report. We are currently at 2.1.0-rc.2 where fdroid is at 2.1.0-beta.5 which is 3 weeks old. Having to know if this current version is nearly at the latest version is important. I dont know how privacy friendly I should do more. Can I build the documentation on the fdroid servers? What should I do when adding a asset server to the app where you can download packs (for components and stickers). My idea is like the documentation to staticly host it on vercel.

CodeDoctorDE commented 4 months ago

Additionally fdroid doesnt autoupdate. This could help users to maybe check the fdroid app if the app has a new version.

The app itself doesnt update itself, it just checks the json file in the static generated docs page

licaon-kter commented 4 months ago

Latest F-Droid is rc0, but that's the nightly, where I expect more expert users to install that, and test bug fixes. Those expert users might be more open to your github APKs or maybe even your own hosted F-Droid repo that pushes the latest version on the second you build it.

F-Droid is not a CI, nor has ever claimed to be one.

And yes, we're concerned about the speed too. :) WiP

CodeDoctorDE commented 4 months ago

But the same could be said in stable There I also update bug fixes, or small features. I just want to have the same build for all platforms to have simplicity. But a "NonFreeNet" antifeature doesn't really handle this. The page is 100% opensource and can be build by everyone. Also vercel just builds it automatically by the ci, so I couldn't change anything about the build. What about the asset library? How can I add this without a fdroid-antifeature?

licaon-kter commented 4 months ago

But a "NonFreeNet" antifeature doesn't really handle this.

reading https://f-droid.org/docs/Anti-Features/#NonFreeNet

This antifeature would not apply, if there is a simple configuration option that allows pointing the app to a running instance of an alternative, publicly available, self-hostable, free software server solution.

or make it opt-in

Also, forcing the user will also give you https://f-droid.org/docs/Anti-Features/#Tracking

Examples of where this Anti-Feature might be applied: ...

  • Checking for updates without your knowledge or permission

or make it opt-in

What should I do when adding a asset server to the app where you can download packs (for components and stickers)

no issue with that, if... it's... opt-in :smile:

CodeDoctorDE commented 4 months ago

Okay, this is nice 👍 Then I change the 3. line to a button "Check for updates" and under it: "This will connect to the butterfly documentation website". Sorry for the hard language, I just wanted to be sure that I understand it correctly.

CodeDoctorDE commented 4 months ago

image added in 2.1.0-rc.3

CodeDoctorDE commented 4 months ago

Is this okay?

licaon-kter commented 4 months ago

Yes, sounds fine