KoalaSat / nostros

Nostr client on Android
Apache License 2.0
408 stars 30 forks source link

IzzyOnDroid incomplete #429

Open Gzushgshsh opened 1 year ago

Gzushgshsh commented 1 year ago

Screenshot_20230313-195313_F-Droid.jpg

Just arm-v8 is in the in IzzyOnDroid repositore, change this to universal build or add the other versions too

KoalaSat commented 1 year ago

Right now IzzyDroid only accepts arm-v8, if you know any other repository we can contacts with accepting more version would be glad to contact them :)

Gzushgshsh commented 1 year ago

Right now IzzyDroid only accepts arm-v8, if you know any other repository we can contacts with accepting more version would be glad to contact them :)

So what is going on with this app? Screenshot_20230314-193531_F-Droid.jpg

KoalaSat commented 1 year ago

Right now IzzyDroid only accepts arm-v8, if you know any other repository we can contacts with accepting more version would be glad to contact them :)

So what is going on with this app? Screenshot_20230314-193531_F-Droid.jpg

Maybe I'm wrong but I remember when talking with them they allowed me to choose between amerabi and v8, but their recommendation was v8

Gzushgshsh commented 1 year ago

Right now IzzyDroid only accepts arm-v8, if you know any other repository we can contacts with accepting more version would be glad to contact them :)

So what is going on with this app? Screenshot_20230314-193531_F-Droid.jpg

Maybe I'm wrong but I remember when talking with them they allowed me to choose between amerabi and v8, but their recommendation was v8

This app here seems to provide the universal apk, this is FairEmailScreenshot_20230315-125020_F-Droid.jpg

Gzushgshsh commented 1 year ago

I don't know how but it seems to be possible to make it available

KoalaSat commented 1 year ago

Yep, but the universal APK is 2 tines bigger, they allow only 2 versions of the specific v8/armeabi or just 1 version of the universal, I just just followed all their tips and the way they recommend to offer APKs 🙂

IzzySoft commented 1 year ago

To be more precise: the limit is 30 MB per app. So it's either 2 copies of a single ABI (currently around 14 MB each) and not running the risk of "install errors" when a new version was released but you didn't yet update the index – or a single copy of the "fat lady" (currently around 29 MB) and the risk that it would exceed the 30 MB limit anytime soon. Not sure if there's a third variant (like a build with both ARM ABIs only but in one APK), which might be something around 25 MB then.

By the way, @KoalaSat: I just had to add the NonFreeNet anti-feature as somehow a "Google Play" library slipped in. If that was by accident, you might wish to find and remove the culprit (npm list might help with that). If it was intended, you might wish to reconsider :wink:

KoalaSat commented 1 year ago

Thanks @IzzySoft for letting us know. I'm running the script you shared with me but I believe somehow it's not really working

https://github.com/KoalaSat/nostros/blob/main/.github/workflows/android-build.yml#L46

Do you see something wrong? Here is an example of the last run https://github.com/KoalaSat/nostros/actions/runs/4511890155/jobs/7944610670

IzzySoft commented 1 year ago
https://github.com/iBotPeaches/Apktool/releases/download/v2.5.0/apktool_2.5.0.jar

Ugh? That's pretty old (12/2020). I'd recommend using the latest release, here: https://github.com/iBotPeaches/Apktool/releases/download/v2.7.0/apktool_2.7.0.jar (11/2022, so almost 2 years younger). But it is still working, see the report at this place.

Offending libs:
---------------
* Google Play (/com/android/vending): NonFreeNet

1 offenders.

I guess you'd rather want a variant of my script as used by F-Droid's issuebot (what you used is rather for a quick manual investigation), see here – which outputs its report in JSON so your task can easily evaluate that (and e.g. get the count of "offenders").

KoalaSat commented 1 year ago

Ah I see, I just assumed scanapk.php finish with an exit 1 if any offender is found, this would help a lot for CI/CD, do you thing it would be possible to add it?

IzzySoft commented 1 year ago

Sure it's possible. And as it's FOSS you could even do that yourself :stuck_out_tongue_winking_eye: Done, just fetch the update.

KoalaSat commented 1 year ago

Sure it's possible. And as it's FOSS you could even do that yourself 😜 Done, just fetch the update.

Totally legitimate answer 😄 sorry has been a while since the last time I walked my php skills, next time I'll try 😛

KoalaSat commented 1 year ago

Done, should be good with the latest release

IzzySoft commented 1 year ago

Thanks! AF should be gone with the next index sync :smiley:

Gzushgshsh commented 1 year ago

@KoalaSat Any news about this issue?

IzzySoft commented 1 year ago

@lucas-04 unlikely. @KoalaSat cannot do much about that: which APKs are fetched is up to me (who runs the IzzyOnDroid repo). The universal APK is beyond the allotted 30-MB-per-app limit (and hardly will it be possible to make it smaller), so I decided to pick a per-ABI-build.

But seeing we decided for the armv8 build here: I probably could switch to fetching armv7 if @KoalaSat wants that. It should be compatible with most 64bit devices as well (except with Pixel 7+ and probably other future devices coming as 64bit-only). So would the other half of you complain then about the missing arm64 builds? And would a switch allow existing arm64 users to update still? (Taking a look: Yes, that should not be an issue here as the ABI is indicated by the "lowest bit": v7 has 70001, v8 70003 with the current version; just needed to make sure as e.g. Flutter by default uses the highest bit – e.g. 1007 vs. 3007, so whoever had installed v8 could never switch to v7).

That said, what device are you using? Will it even be capable of running Nostros "fluently"? I can only tell from having tested Amethyst for its inclusion with F-Droid.org that it was quite resource hungry, and even my (admittedly a bit older) Arm64 device had issues keeping up. @KoalaSat could you name some "recommended minimum requirements" towards hardware, especially how much RAM and CPU power would be needed to not end up in frustration?

Gzushgshsh commented 1 year ago

@IzzySoft I use a Galaxy A02 whith 2GB of RAM and 4x 1.5 Ghz CPU, it's very low cost device

IzzySoft commented 1 year ago

That about matches the Wileyfox Swift I've used for testing Amethyst. Have you tried the 32bit APK from releases here? Does it run acceptably smooth (not expecting wonders on low-end devices, but on my Fox Amethyst became quite … ahem … slow after a while)? I mean, I cannot argue for all Nostr clients by just having tested one of them. One day @KoalaSat might decide to have it at F-Droid, so I'll finally have a reason to try Nostros myself when performing the review :wink:

Gzushgshsh commented 1 year ago

I not test, i still use https://github.com/kaiwolfram/Nozzle it's very light nostr client

IzzySoft commented 1 year ago

Ah, yes. And also available via my repo :smiley: Maybe you can help improve its description?

Gzushgshsh commented 1 year ago

How i do this?

IzzySoft commented 1 year ago

Just let me know what should be added there. I'll update it then in my repo – and maybe open a PR to provide it upstream for further maintenance.

Gzushgshsh commented 1 year ago

Maybe the original description, the main attraction is that it is a light and simple client and this is not mentioned in the repository description

IzzySoft commented 1 year ago

Trouble is there is no such thing like "original description" – just one-liners. OK, I've added the word "lightweight" then, thanks!

IzzySoft commented 1 year ago

@KoalaSat could it be you forgot to increase versionCode with today's release? My updater is complaining.

KoalaSat commented 1 year ago

@KoalaSat could it be you forgot to increase versionCode with today's release? My updater is complaining.

Nope https://github.com/KoalaSat/nostros/commit/9b7a9db439219fe0ab0355b7d2cbea38210095c4 any details?

IzzySoft commented 1 year ago

Nope https://github.com/KoalaSat/nostros/commit/9b7a9db439219fe0ab0355b7d2cbea38210095c4 any details?

2023-04-05 19:31:36 local WARNING  repo/com.nostros_70003.apk already exists, quarantining before replacing it with update 'com.nostros_0.3.2.4-alpha.apk'

The meanwhile previous version was affected. The log message means it fetched 0.3.2.4-alpha, and it had versionCode 70003 which was already present (must have been 0.3.2.3)

package: name='com.nostros' versionCode='70003' versionName='v0.3.2.3-alpha'
package: name='com.nostros' versionCode='70003' versionName='v0.3.2.4-alpha'

Hereby confirmed. So fixed with the new one :wink:

jawsh207 commented 1 year ago

That about matches the Wileyfox Swift I've used for testing Amethyst. Have you tried the 32bit APK from releases here? Does it run acceptably smooth (not expecting wonders on low-end devices, but on my Fox Amethyst became quite … ahem … slow after a while)? I mean, I cannot argue for all Nostr clients by just having tested one of them. One day @KoalaSat might decide to have it at F-Droid, so I'll finally have a reason to try Nostros myself when performing the review 😉

I know this post is about a month old but my device has a sd712 paired with 8gb of ram and Amethyst is just about impossible to use, which seems crazy to me. It's not the most powerful device but I have zero issues running anything else I've thrown at it. Nostros works great and imo, it's the best open source client. Plasma could be good in the future but lacks a lot of features currently.