mymonero / mymonero-mobile

MyMonero Android and iOS app codebase
BSD 3-Clause "New" or "Revised" License
30 stars 5 forks source link

Submit App to F-Droid #23

Open devinpearson opened 3 years ago

devinpearson commented 3 years ago

Look at adding the app to the F-Droid store https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md

danielloera commented 3 years ago

Hi all, I started the F-droid import process in this repository.

It currently runs into these 6 errors during the build process:

* ERROR: Found Android DEX code at node_modules/capacitor-file-selector/android/build/.transforms/22e8b49399b3a302abdaacacc9519ef6/classes/classes.dex
* ERROR: Found usual suspect 'firebase' at node_modules/capacitor-file-selector/node_modules/@capacitor/android/capacitor/build.gradle
* ERROR: Found usual suspect 'google.*play.*services' at node_modules/capacitor-file-selector/node_modules/@capacitor/android/capacitor/build.gradle
* ERROR: Found usual suspect 'firebase' at node_modules/@capacitor/android/capacitor/build.gradle
* ERROR: Found usual suspect 'google.*play.*services' at node_modules/@capacitor/android/capacitor/build.gradle
* ERROR: Found binary at .gradle/5.6.4/fileChanges/last-build.bin

The .dex file generated by the capacitor file selector, mention of firebase, and mention of play services seem to be triggering F-droid's blacklist. I'm not sure what the last error is about.. just looks like a lingering cached binary.

We'll have to find alternatives for these libraries, otherwise it looks like F-droid is a no-go. 😢

devinpearson commented 3 years ago

Thanks @danielloera for taking the time to look at this.

From what I can tell if we want to make use of capacitor we need to use plugins that use version 3. They have unbundled firebase and Google services out and in to individual modules.

I'm sure we can find a file selector package that will support this change.

danielloera commented 3 years ago

So if I understand correctly, mentions of firebase and play services are coming from the capacitor file selector? And not from direct use by the app?

devinpearson commented 3 years ago

That is correct. capacitor is a successor to Cordova created by Ionic.

Here is a mention of it. https://github.com/ionic-team/capacitor/discussions/3443

We will look to see if there is an alternative file selector else if we can update the capacitor-file-selector itself to use capacitor 3

danielloera commented 3 years ago

Did a little bit of digging and found: https://www.npmjs.com/package/capacitor-file-select

This uses capacitor 3.

I tried updating this repo to use it but ran into a number of errors related to upgrading the project to cap 3.

danielloera commented 3 years ago

My in-progress conversion can be found here: https://github.com/danielloera/mymonero-android-js

I was able to use capacitor-file-select successfully but unfortunately, as far as I can tell, the QR scanner plugin no longer works. I think the community-managed qr-scanner is our best bet but it it does not currently support cap v3.. 🙃

danielloera commented 3 years ago

Support for v3 is "coming soon"! https://github.com/capacitor-community/barcode-scanner/issues/23#issuecomment-819423100

I'll keep an eye out for the update

devinpearson commented 3 years ago

Looks like we can continue with this as capacitor 3 is now a stable release as of this week

danielloera commented 3 years ago

We will still need to find appropriate plugins that use cap 3.

karlbuys commented 3 years ago

Hi @danielloera

I was able to get the following branch working with a barcode scanner:

https://github.com/mymonero/mymonero-android-js/tree/capacitor3-migration

Once I've wrapped up the multi-currency exchange code, I'll pull your branch, merge mine into it, test everything, and if working, open a PR to the develop branch. You're more than welcome to work on it in the interrim, but I don't want to impose on your time schedule given that you've already helped us along.

Thank you for your assistance with this :-)

danielloera commented 3 years ago

That's great news! I'll see if I can pick this up again but don't hold your breath :)

j-berman commented 2 years ago

EDIT: Whoops, I see @karlbuys already got it done in mymonero/mymonero-android-js#80. Nice :)

Original comment: Open source ftw, picked up on what you guys did and combined it all into mymonero/mymonero-android-js#82

RasheedAZ commented 9 months ago

Hi. Any update on this? Currently there appears to be no Monero wallets on F-Droid :(