sk22 / megalodon

Pink modification of the official Mastodon for Android app
https://sk22.github.io/megalodon
GNU General Public License v3.0
544 stars 36 forks source link

F-Droid.org #47

Open lichingyun opened 1 year ago

lichingyun commented 1 year ago

Mastodos with the latest updateis simply amazing, thanks ! Why don't you put this app in Fdroid? Mastodos can be more visible.

sk22 commented 1 year ago

because that's something i'd need to figure out how to do. i'd like to add it to f-droid, but i can't say if and when i find the time. same with the play store, actually, but i'd obviously prioritize f-droid (edit: this statement aged poorly, lol). but since the app has an integrated update checker (thanks to upstream!) i don't think it's that urgent

lichingyun commented 1 year ago

Thanks for your answer Samuel 🙏 I am not a developer/creator and I don't know how to publish to F-Droid, but you are right, is not that urgent

lichingyun commented 1 year ago

@sk22 I forgetti ask: do you have a Mastodon account for Mastodos or for you?

sk22 commented 1 year ago

@lichingyun i don't have one for mastodos (although maybe i should consider making one at some point…) and mine is private :)

lichingyun commented 1 year ago

ok: :)

Il giorno gio 17 nov 2022 alle ore 19:56 sk22 @.***> ha scritto:

@lichingyun https://github.com/lichingyun i don't have one for mastodos (although maybe i should consider making one at some point…) and mine is private :)

— Reply to this email directly, view it on GitHub https://github.com/sk22/mastodos/issues/47#issuecomment-1319067453, or unsubscribe https://github.com/notifications/unsubscribe-auth/AS3PKTTRQT4QY2VIC7WKZE3WIZ5VDANCNFSM6AAAAAASCNORYE . You are receiving this because you were mentioned.Message ID: @.***>

IzzySoft commented 1 year ago

Several steps you should do for preparation:

Once that's ready, next step is to apply for F-Droid inclusion. I can help you with that then as well. Disclosure: I'm one of the F-Droid maintainers :wink:

As you're thinking about a Masto account for Mastodos: depending on your language preferences, fosstodon.social (EN only) or floss.social (multi-lang supported) might be good and matching instances to look at. I'm at the latter should you look for me: @IzzyOnDroid@floss.social.

sk22 commented 1 year ago

When the next release is fetched and the flag is gone, my updater will send me a notice to remove the corresponding AntiFeature as well, so that will solve (semi-)automatically. Thanks!

Originally posted by @IzzySoft in https://github.com/sk22/mastodos/issues/72#issuecomment-1322093657

just wanted to let you know: at the moment i only release the github variant (which includes the auto updater) on github. but i could as well release two variants from now on - mastodos.apk and mastodos-fdroid.apk - and let you know once it's ready? by the way, i requested an account on floss.social - https://floss.social/@mastodos, once it's approved :D

sk22 commented 1 year ago

(and speaking of anti-features: i didn't change the push notifications implementation (yet anyway), and the upstream implementation uses google services)

IzzySoft commented 1 year ago

at the moment i only release the github variant

My updater currently picks from each tag not being marked pre-release. And for the app in my repo it doesn't matter if an updater is inside (the APK that updater would fetch has the same signature as the one in my repo, so no problems updating). But once you "go F-Droid.org" that will need a variant without the updater as signatures would no longer match, thus causing conflicts and confusion.

Should you one day attach more than one APK at a release, please let me know which to pick. Ideally, have a naming schema then that makes matching via a regular expression easy so it covers future releases as well (your examples perfectly fit, so I could either pick the /fdroid/i or ignore it, effectively picking the other one).

i requested an account on floss.social

Wonderful idea! And right in time (before the "cap" is reached). No idea why it should not be approved.

speaking of anti-features: i didn't change the push notifications implementation

Oh, good point! As the FCM libs are not present, that didn't trigger my library scanner. Copied the NonFreeNet over then.

upstream implementation uses google services

They use their own implementation, which is why it was accepted. And the build just succeeded, so it should pop up in the repo soon. Looks like many just move on to Mastodos – calling it "the future" and "the bar raised for the official app". Congrats!

sk22 commented 1 year ago

Should you one day attach more than one APK at a release, please let me know which to pick.

that day might just be today – i think i will also attach an upstream mastodon build to each release so it's easier to know whether my fork causes crashes or whether it's upstream issues.

should be 3 variants then:

except… (and maybe you can help me decide?) should i ever want to publish my app to the play store – does it make sense to have another build variant for that? (i've never done this before, so i'm not sure about that) or should i call the f-droid release mastodos-appcenter.apk right ahead? no, right?

IzzySoft commented 1 year ago

OK, so I should definitely ignore the upstream one. Which one do you wish me to pick then? The one with the integrated updater, or the other one? I need to set that up before you attach them, else my updater might be faster. Further, apart from the upstream one, will the other two each have their own dedicated packageName, or both come as org.joinmastodon.android.sk? That's what's in my repo now, and so that's what the packageName must be with the one I pick for updates.

For Playstore you could simply use the one with the integrated updater (Google sometimes takes a while to review new versions, especially with Fediverse apps – so it's good if users have a separate update path to get it faster).

How you name the APKs is totally up to you. I just need to know so I can prepare my updater accordingly.

sk22 commented 1 year ago

okay, so, i think it'll be fine if you use the build with the updater – i'll omit the f-droid build for now. the apk name will stay mastodos.apk as that's also what the updater expects. thanks! :)

IzzySoft commented 1 year ago

Currently the updater randomly picks whatever *.apk is there. So let me make sure it won't be the upstream one… done: ApkIgnore: /upstream/i. Now you can go ahead. Should I need another regex just let me know; next to ApkIgnore there's also ApkMatch if you decide on a dedicated pattern for that. The advantage to that would be you can add any other APK you like without causing trouble – the minor disadvantage is you should never change the pattern for the name of the APK to be fetched without letting me know, or nothing would be picked up :see_no_evil:

IzzySoft commented 1 year ago

And while talking about it: Could you please make sure to use * (asterisks) or - (minus) as bullet-points in your fastlane full_description.txt files? I see you use — (a long dash). That's not recognised as a bullet-point and hence the entire list converted to a single wall-of-text. Not all locales are affected; e.g. de-DE is fine but ca is broken, and in uk you use • which breaks it as well. I've for now fixed it locally here, but your next update would overwrite it, so please take care. Thanks!

sk22 commented 1 year ago

And while talking about it: Could you please make sure to use * (asterisks) or - (minus) as bullet-points in your fastlane full_description.txt files? I see you use — (a long dash). That's not recognised as a bullet-point and hence the entire list converted to a single wall-of-text. Not all locales are affected; e.g. de-DE is fine but ca is broken, and in uk you use • which breaks it as well. I've for now fixed it locally here, but your next update would overwrite it, so please take care. Thanks!

Oh dear, thanks for pointing this out! Will try to make sure things coming from Weblate are well-formatted…

IzzySoft commented 1 year ago

Thanks a lot! Unfortunately, that • is quite common with PlayStore listings. Even more unfortunate is that both are multi-byte characters (other than the permitted *+- characters): I tried to add that dot as allowed char, but obviously the library used cannot deal with multi-byte in that place…

rugk commented 1 year ago

It would be great to see this Android app on F-Droid!

F-Droid is an Android app store specifically for free/libre open-source apps. It would be great if your app could be released there, as it is the number one for getting FLOSS Android apps for many people. F-Droid also builds all apps from source (optionally even reproducible), so downloads from there can be trusted.

Seeing this I guess you already kmow, but in case yoi dont, the app developer FAQ or the quick start guide may help you to get started.

BTW a release on F-Droid could also bring some (more) popularity (in case that is intended), as it will show up in the app (new apps are featured there).

tcely commented 10 months ago

It would be useful to look at the metadata for the upstream app:

https://gitlab.com/fdroid/fdroiddata/-/blob/3046aaecef9d19f5d67ef72491e419bd78e18f91/metadata/org.joinmastodon.android.yml

This has notes about auto-updating and reproducible builds as well as the NonFree tag.

If Megalodon can remove NonFree and be a reproducible build, that would be yet another competitive advantage over the upstream app.