spacecowboy / NotePad

Now under new management
GNU General Public License v3.0
382 stars 158 forks source link

enable updates on f-droid #410

Closed CampelloManuel closed 1 year ago

CampelloManuel commented 1 year ago

the f-droid team disabled auto-updates for the app, as shown here: https://gitlab.com/fdroid/fdroiddata/-/blob/84acda7e142b0365749acc9a981246f745d363b5/metadata/com.nononsenseapps.notepad.yml#L178-179 So we have to contact them once we have a new version ready to be published. This https://gitlab.com/fdroid/fdroiddata/-/blob/203ce022ecd15b87d9d96a43397f4d61e2f17ed3/metadata/io.github.quillpad.yml shows how the file should look like. Open the issue for inclusion as explained here https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md#updating-apps-already-in-f-droid See https://gitlab.com/fdroid/rfp

Then we go back to work on #387

CampelloManuel commented 1 year ago

@spacecowboy I think now the app is ready to be released,

I fixed the most urgent problems and I got some unit tests to work https://github.com/spacecowboy/NotePad/actions/runs/3595460269

Github builds the app in debug mode, you can get it here for example https://github.com/spacecowboy/NotePad/actions/runs/3595460267

Maybe you want to try it first, and give some feedback, but as far as I'm concerned, you can already get in contact with the f-droid team to publish the app. You have more experience than me with the publishing procedure, so I'll be counting on you.

spacecowboy commented 1 year ago

Sure. It's not so much contacting them as making a PR with updates to https://gitlab.com/fdroid/fdroiddata/-/blob/84acda7e142b0365749acc9a981246f745d363b5/metadata/com.nononsenseapps.notepad.yml#L178-179

I'll have a look at the app

spacecowboy commented 1 year ago

OK I installed it in an emulator and it seems to work fine.

Some thoughts:

Once you feel really ready to make the release, make an annotated git tag (or create a release here on github, same thing really) and I'll make a PR against F-Droid to re-enable it.

Oh and here is the metadata file. Just waiting on the git tag and your go-ahead. https://gitlab.com/spacecowboy/fdroiddata/-/commit/6a0fe29aa6352faec0c5f74de65f50fa96e8f15e

CampelloManuel commented 1 year ago

Thank you for your feedback.

There are some lint checks failing, [...]

Satisfying lint checks, and android studio code analysis suggestions in general, is in the TODO list in #387 but it's complicated because some resources appear unused to the instruments, but if I delete them the build fails. I think it's due to how the annotations library imports the layouts into the java classes. I will fix this by replacing that library with modern alternatives. You already replaced that library in version 6.0.0 beta, but almost 10 years passed since then, and I want to explore the new approaches such as viewbinding. So I'll fix it, in due time.

The Google Tasks setting still exists in settings/synchronization [...]

In #427 I have hidden those settings and in #426 I explain why the functionality is being removed. I will still wait some time before completely removing it, I mean maybe someone will show interest in this functionality and pick it up and work on it. But yeah we agree that eventually it will be completely removed.

Settings/About still reference https://crowdin.com/project/nononsensenotes [...]

I have no experience with translation services, and I honestly just ignored this part. Maybe we can take down the crowdin page, then have a clean start on weblate. In #427 i removed references to crowdin from the app, so now there should be no ambiguity. How much maintenance would weblate require ? Is it something where we can import updated strings.xml files every once in a while, or does it require more attention ? Personally, I'm fine with strings in english, so I will give this secondary importance, unless it's a very quick & easy thing to setup. Migration to weblate is in the TO DO list in #387

Settings/About maybe give yourself more credit [...]

Done in #427 (I was afraid I'd sound too arrogant if I did it without getting your approval first)

Once you feel really ready to make the release, make an annotated git tag [...]

Once github tests for #427 are complete, I will tag it. Everything else that needs to be done is of secondary importance & tracked in #387 so I think the app is ready to be released. Then we can discuss how to improve the app for version 7.1.0, but there will be time for that

here is the metadata file [...]

Checked. I made a simple fastlane structure, I don't know if f-droid will use it. It includes an app description.

CampelloManuel commented 1 year ago

I added the tag. You can go ahead and publish it on f-droid.

spacecowboy commented 1 year ago

Is it something where we can import updated strings.xml files every once in a while, or does it require more attention ?

Weblate is nice because it creates a pull request automatically with the strings.xml changes. So it's extremely low attention once it is set up. I can help with it later if you want.

Checked. I made a simple fastlane structure, I don't know if f-droid will use it. It includes an app description.

F-Droid will use the app-specific description if it exists.

F-Droid MR here also: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/12209

CampelloManuel commented 1 year ago

In #429 I fixed the code based on the feedback from the f-droid team. Now the app descriptions are in our fastlane folder, so you can delete them from their fdroid/data repository. Also, the version code is now static.

I'm going to make a new release for this (7.0.1), but first I want to add a link to a weblate project in the app's about page. I can try to set it up on my own, but I've never used it before. Is there anything you require ? For example, do you want some specific settings or project name in this weblate thing ? If not, I'll simply set it up and test it, then I'll have you take a look so you can give feedback.

spacecowboy commented 1 year ago

In #429 I fixed the code based on the feedback from the f-droid team. Now the app descriptions are in our fastlane folder, so you can delete them from their fdroid/data repository. Also, the version code is now static.

I'm going to make a new release for this (7.0.1), but first I want to add a link to a weblate project in the app's about page. I can try to set it up on my own, but I've never used it before. Is there anything you require ? For example, do you want some specific settings or project name in this weblate thing ? If not, I'll simply set it up and test it, then I'll have you take a look so you can give feedback.

As an example you can see how I've setup weblate for feeder: https://hosted.weblate.org/projects/feeder/

There is one component for Android strings, and one component for Fastlane files.

The android strings need the correct setting or the language codes generated when users add languages are wrong. See screenshots of what I use on Feeder:

Screenshot from 2022-12-08 23-07-19

Screenshot from 2022-12-08 23-08-18

spacecowboy commented 1 year ago

I've updated the F-Droid MR. Just waiting on 7.0.1 for the final change @CampelloManuel

spacecowboy commented 1 year ago

F-Droid has merged the MR so it will show up soon!

CampelloManuel commented 1 year ago

The tag 7.0.1 is available, now it should comply to all f-droid requirements. Weblate is set up here: https://hosted.weblate.org/engage/no-nonsense-notes/ Proof that it works: #430 So if now you need to contact the f-droid team, I'll leave that to you. When I see the updated version here https://f-droid.org/packages/com.nononsenseapps.notepad/ I will close this issue

CampelloManuel commented 1 year ago

Well, there it is. @spacecowboy is there anything else we need to do for f-droid, or will they automaticall publish the updates when we make new tags ?

spacecowboy commented 1 year ago

Well, there it is. @spacecowboy is there anything else we need to do for f-droid, or will they automaticall publish the updates when we make new tags ?

Should happen automatically from now on. I can recommend a small shellscript or similar which bumps versionCode, versionName, and then makes a git tag.

It's easy to forget one of the three.

CampelloManuel commented 1 year ago

Nice. The shell script will be added in the next PR.