• Off Topic
  • Why tf does Proton Mail need Google Play Services to show notifications?

Hey friends, hope you're doing well.

I suppose this isn't strictly-speaking a GrapheneOS question, but it relates to how I'm setting up my phone. (Very happy with the OS so far)

When I installed and set up the Proton Mail app, it said it'd need Google Play services to send push notifications.

The whole reason I'm using Proton Mail (and, in part, GrapheneOS) is to get away from Google, so that's unacceptable. I also don't understand why Google Services would ever be necessary for something as simple as push notifications.

Does anyone know a way around this? Tysm!

    whew-zee also don't understand why Google Services would ever be necessary for something as simple as push notifications.

    very common in android apps, unfortunately. The whole deal with "push" notifications is that the server should "push" a message to the client instead of having the client periodically poll the server. There are two main ways that this is implemented:

    1. Each app always runs in the background and maintains a connection to the server, allowing the server to send new data whenever. For example, Signal does this when google play services are not installed. This may reduce battery life and generally use more resources since every app doing this runs in the background all the time.

    2. Much more common is using Google's Firebase Cloud Messaging (FCM). With this, the server sends messages over Firebase and client apps interact with Google Play Services so that the messages get delivered to the app. This way, most apps do not need to constantly run in the background and instead get waken up whenever Google Play Services has a message for them. Google Play Services will maintain a connection to Firebase servers to allow receiving messages.

    Unified Push is an attempt of doing something like number 2 but without locking into google stuff.

    whew-zee Does anyone know a way around this?

    I have a crazy idea, but I've never tried it. Proton Mail has an option of sending a notification email to another email address whenever you receive an email. I assume it won't send full email contents but rather just limited metadata (PGP-encrypted emails still expose the subject, sender, and recipients anyway), so it shouldn't leak much. Then, if you can find a client that supports notifications for this email, then you can just check protonmail whenever you receive an email there. Most clients that don't use google play services would rely on polling or background connections though. For proper push notificaitons, it would be great to have an email accessible with JMAP and a setup using unified push + JMAP Push to deliver notifications. Supposedly, ltt.rs added push support recently, so it should work? But then there's this issue so idk.

      Does graphene have a plan of providing an alternative to Google for push messages? Because I sadly need to use Google for push notifications and it really bothers me.

      I only have two apps that have trackers that have network enabled, Google Play for notifications and WhatsApp. Sadly I need to use WhatsApp all the time, but I really wish I could remove Google Play.

        whew-zee When I installed and set up the Proton Mail app, it said it'd need Google Play services to send push notifications.

        The whole reason I'm using Proton Mail (and, in part, GrapheneOS) is to get away from Google, so that's unacceptable. I also don't understand why Google Services would ever be necessary for something as simple as push notifications.

        Fundamentally this is up to the app author, since it's their servers that are sending the notifications to their app. So this would need to be taken up with Proton.

        whew-zee I also don't understand why Google Services would ever be necessary for something as simple as push notifications.

        As delitako writes, basically, push notifications are not simple if the speed of the notifications matters and the battery life of the client device also matters.

        RRZishe Does graphene have a plan of providing an alternative to Google for push messages?

        As delitako writes, UnifiedPush (or another contender) could be coded into apps by the authors of the apps. But it is not possible for the GrapheneOS developers to break into Proton's servers to make Proton's servers send notifications via something other than Google's FCM servers.

        The situation is less than ideal, but it's outside of the scope of the GrapheneOS team.

          de0u Ya, I definitely don't want the graphene team trying to hack into Proton for two reasons. 1. The graphene team is super smart and I have my emails in proton 2. It would really suck if the graphene team ended up in jail... Lol 🤣🤣🤣

          But in all seriousness I wish there was some kind of app that would pretend to be Google and tell Proton and other apps "hey, I'm your guy for push notifications! And BTW, send them to this link (i.e. push.grapheneos.org) and not to Google.com".

          I don't know if that even makes sense... But that's kinda what I'm thinking...

          whew-zee given Proton's update track record we can't really expect a fix for this anytime soon. This was the exact reason I keep using Tuta instead for mails, they have their notification service figured out...

          If you really need Protonmail to send notifications on GOS, maybe a workaround is to use different profiles. I've posted more details here where the same question was discussed.

          They answered on Reddit that they have it in their plan.

          They are using UserVoice to gather feedback. The idea was already suggested a long time ago.
          The more noise we make about it, the more it should be taken as a priority.

          5 days later

          I've migrated to Tutanota just for this reason. I donno if they ever will implement this. I have this suspicion because they don't even have issue tracker on github, as well as an f-droid publish. You have to literally install it from play store, or their website, or from izzyondroid repo.

          They're relying on Play Store revenue heavily btw. As long as they stick to it, they won't drop GSF requirement.

            • [deleted]

            foxjaw The only problem with Tuta is that it doesn't autostart after reboot, which to me happened every morning if I set autoreboot to 4 hours and every time I had to manually kick start it, then it worked okay. Now I just use their webapp.

            Proton mail doesn't have eta on their own push implementation, doubt it will ever have, they've been saying for years they work on it.

              Sounds like Mailbox.org with encrypted mailbox + K9-Mail + OpenKeychain is the best option then for zero knowledge email hosters.

              [deleted] I believe any app shouldn't start on it's own by default. That would clog up the memory. They have to be designed that way & the problem is specific to you. I believe you're restarting your device on the task basis. Do the same with Tuta too. Make it open on restart with something like tasker & you're good to go.

              @DeletedUser28 Mailbox.org is not available in all countries across the globe.

              @akc3n Tuta was way ahead in this department. Proton is already susceptible to Apple/Google Push notification theft, since they also reveal the mail titles as well as the sender mail, which is very insecure tbh. Tuta solves this through SSE, by hiding it & only revealing that a new message(s) has/have been arrived (with message count), so that even if the notification got stolen, no one would know who sent with what mail title.

              Also, check this customer support backlash since 2020, it's hilarious.
              https://protonmail.uservoice.com/forums/284483-proton-mail/suggestions/40261009-indenpendent-push-notification-gsf-independet

                RRZishe Does graphene have a plan of providing an alternative to Google for push messages? Because I sadly need to use Google for push notifications and it really bothers me.

                As previously mentioned, there are a few alternatives already available. You have the unified push which was already mentioned, as well as conversations/jabber & NTFY

                I sent couple of emails to Proton developers requesting to implement web socket for the apk available on their website but they don't even bother. So, I switched to Tutanota.

                whew-zee

                My workaround until Proton implements its alternative push notification framework:

                Profile 1: Owner Profile, Sandboxed Google Play installed
                Profile 2: daily driver, degoogled

                So that I am notified of incoming emails in Profile 2 (pull instead of push strategy is unfortunately not an option for professional reasons), I have also installed the Protonmail app in Profile 1.

                Via "sent notifications to current user" I am immediately informed in Profile 2 about the receipt of an email and can then open Protonmail in the de-googled profile and read / reply to the email without switching profiles.

                Not a very sexy workaround, but it works for me (especially because the owner profile is always active anyway).

                  • [deleted]

                  Murcielago with this approach you are just hiding from the fact that you use Firebase for notifications albeit in an indirect way (by thinking that two different users can not be linked by other personally identifiable activity, network connection or tracking and fingerprinting).