likecoin / likecoin-app

LikeCoin App
https://like.co/in
GNU General Public License v3.0
40 stars 19 forks source link

Publish on F-Droid #294

Open linsui opened 2 years ago

linsui commented 2 years ago

Could you please publish this app on F-Droid? Thanks!

shuvashish76 commented 2 years ago

RFP: https://gitlab.com/fdroid/rfp/-/issues/1695

Any updates? @nwingt @williamchong

williamchong commented 2 years ago

RFP: https://gitlab.com/fdroid/rfp/-/issues/1695

Any updates? @nwingt @williamchong

@linsui @shuvashish76 We certainly do not object to publishing on fdroid, but is there anything extra we need to do code-wise? We are not familiar with how to publish on fdroid, and what kind of dev resources do we need

linsui commented 2 years ago

Thanks! How to build the Android app? Is gradle assembleRelease enough? Firebase and GMS are not FOSS, could you please add a flavor without them? It seems not difficult to patch them out on our side though.

williamchong commented 2 years ago

We are using react-native so you might have to yarn build first, then gradle assembleRelease should do However we are using firebase remote-config to fill in some critical config, we need to fill in some production default values first before it would work without firebase

linsui commented 2 years ago

However we are using firebase remote-config to fill in some critical config, we need to fill in some production default values first before it would work without firebase

Will you provide a flavor? Should I fill those values manully?

williamchong commented 2 years ago

However we are using firebase remote-config to fill in some critical config, we need to fill in some production default values first before it would work without firebase

Will you provide a flavor? Should I fill those values manully?

We will fill in the default values in a new commit

@nwingt Do you have an idea if firebase-less flavor is do-able in some simple way? If not we will let fdroid patch it

nwingt commented 2 years ago

However we are using firebase remote-config to fill in some critical config, we need to fill in some production default values first before it would work without firebase

Will you provide a flavor? Should I fill those values manully?

Please check out the feature/config branch and the README for configuration guide, I have provided necessary config in the .env file

linsui commented 2 years ago

It's more difficult than I expected to patch nonfree bits out. Could you please help? Thanks!

  1. Since 8.0.0, play service is optional in react-native-device-info, could you please update it?
  2. react-native-camera depends on GMS/Firebase, I need to remove it so there is no barcode scanning function.
  3. react-native-rate depends on play service so I need to remove it.
  4. Trackers are removed because firebase and fbsdk are nonfree. Sentry is FOSS but I don't know how to keep it.
  5. Though I can disable remote config, I still need to remove all related lines because I need to remove firebase. Is that possible to make the whole dep optional?

The current metadata is here.

nwingt commented 2 years ago

For 1., I have tried to update it, but there is a syntax error when importing the module

image

For 2, it seems react-native-camera is not maintained anymore, we should find a replacement without GMS/Firebase

For 3-5, we can deploy a stub for all related services

linsui commented 2 years ago

For 1., I have tried to update it, but there is a syntax error when importing the module image

Looks like this is a known issue. https://github.com/react-native-device-info/react-native-device-info/issues/1212

For 2, it seems react-native-camera is not maintained anymore, we should find a replacement without GMS/Firebase

Thanks! Before it's replaced (if there is a proper alternative), I can remove the scanning function.

For 3-5, we can deploy a stub for all related services

Thanks!

linsui commented 2 years ago

Finally I make more patches: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/11460/diffs I update https://github.com/react-native-device-info/react-native-device-info/issues/1212 and apply the patch suggested here. I thought a proper fix should be updating react native and babel but as a workaround could you please add the patch to patch-package?

I removed react-native-camera. I also removed react-native-iap due to it depends on billing client which is not FOSS.

The apk starts fine but I don't have an account to test it more. If my patches are OK to you I'll do more tests. Then I'll open a PR adding fastlane structure and merge the MR in fdroiddata.

linsui commented 2 years ago

@williamchong @nwingt Are above patches good to you?

williamchong commented 2 years ago

@williamchong @nwingt Are above patches good to you?

Sorry for taking so long, we are occupied on a chain upgrade and related releases for the patch-package, do you mean we would need to upgrade the device info here and do the patch in this repo too?

linsui commented 2 years ago

You can take those patches or we can just keep them downstream. I want to know if you are OK with such patches.

williamchong commented 2 years ago

You can take those patches or we can just keep them downstream. I want to know if you are OK with such patches.

Yes the patches look good to me. The only important feature removed is qrcode scanning, we will find a replacement for react-native-camera in later version

linsui commented 2 years ago

Will you merge the feature/config branch in the develop?