-
Notifications
You must be signed in to change notification settings - Fork 985
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[F-Droid] Make Firebase optional or remove it #8742
Comments
Yeah, I think for now we should just turn off Firebase when building for F-Droid. This is what the Push Notifications v1.5 initiative was supposed to address, but we're still a long ways off. |
And yeah, we should disable the analytics for sure. |
@pombeirp could explain in more detail what we use Firebase for? Why is it even needed? |
Sure. Firebase is only needed right now to interact with GCM (Google Cloud Messaging). AFAIR GCM is implemented in the Google Play Services, so of course not available on stripped-down devices that wouldn't include Google stuff. We use it to receive push notifications (in status-react cljs code) and to send push notifications (in status-go code, for no better reason than the fact that at the time, the API we needed was not exposed in the JS library we used, but was exposed in a Go library we could use. I don't think that's the case any longer, but that's a bit of a tangent). |
I see, so based on that I guess removing Firebase is not an option, and we can only make a flavour of the App without it? |
Right. |
(Bolds mine.) With all due respect for your work, isn't that just another way of saying "the closed-source, data-collecting alternative from Google is working quite well, so we'll just use that"? And isn't this...
...basically saying "we'll make a version without the data-collecting component for the few who explicitly seek that, but we'll keep serving the rest of our users with the version that actively relies on exchanging data through Google"? Of the Status principles, apart from principle IV (Privacy) that jakubgs mentioned in the opening comment, this also seem to go against the following ones:
|
@leafcutterant the assertion that removing FCM is not an option is not a correct one. I think @jakubgs was referring to what can be done in the short term (v1 release) given the constraints we have (in terms of e.g. core contributors). As I mentioned above, there are plans to improve this (Push Notifications v2), where we allow users to select their PN provider, it's just a question of finding the time to implement the spec. |
@pombeirp thank you for clarifying. To make it clear, I don't want to make best the enemy of better. I'd be just sad to see FCM remaining included in the code base on the long-term. I appreciate the efforts made towards realizing PN v2. Speaking of future plans:
How about, once PN v2 is implemented to the degree that it's working smoothly, removing the FCM option altogether? To make Status completely libre? |
Yes, that's the ultimate goal with PN v2. |
Problem
In the process of researching the build process for F-Droid in #8512 it turned out that we cannot submit Status to their database if it includes Firebase in its dependencies.
From their Inclusion Policy:
Implementation
Either:
fdroid
build flavour that does not contain FirebaseAcceptance Criteria
Status for Android can be built without any Firebase dependencies included.
Notes
I'm not sure why we even included Firebase in the first place considering it includes analytics and we seem to be using them:
https://github.com/status-im/status-react/blob/3b8d8d0013b4b2dd7cbe3b55ba44ea0f5792e29b/android/app/google-services.json#L4
https://github.com/status-im/status-react/blob/3b8d8d0013b4b2dd7cbe3b55ba44ea0f5792e29b/android/app/google-services.json#L27-L29
I thought that went against our Principles:
The text was updated successfully, but these errors were encountered: