Skip to content
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

[Feature Request] Add AirMessage to F-Droid or the Aurora Store (for custom ROM users) #14

Closed
sabogalc opened this issue Jun 18, 2021 · 20 comments · Fixed by #44
Closed
Labels
enhancement New feature or request

Comments

@sabogalc
Copy link

No description provided.

@nep2ner
Copy link

nep2ner commented Jun 18, 2021

It's already accessible from the Aurora Store (although with 2 google trackers). Seeing this on F-Droid would be great!

@tagavari
Copy link
Member

AirMessage relies on closed-source Google libraries and services for some of its features, here's what I can remember:

  • AirMessage Cloud (push notifications + Google sign-in)
    • I assume that any user of F-Droid probably isn't interested in AirMessage Cloud, so that one's not really an issue.
  • Firebase Analytics + Crashlytics
    • I'd be fine with disabling Analytics and Crashlytics for F-Droid builds.
  • Security provider updates
    • While this is nice to have, in practice I haven't seen it used much, and it's only really relevant for devices that don't receive system updates anymore.
  • ML Kit (smart reply)
    • For devices running Android 10 or older, AirMessage uses Google's ML Kit for reply suggestions at the bottom of the conversations list and in notifications. On Android 11+, AirMessage uses TextClassifier, which is built into the operating system.
    • The ML Kit implementation would have to be disabled for F-Droid builds, and users running a custom ROM may not have access to TextClassifier. From what I've seen, some users like this feature while others keep it turned off, so this would be a tradeoff for some.
  • Google Maps (iMessage location attachments)
    • This one really comes down to how each user uses iMessage. This would probably have to be one of the tradeoffs of running the F-Droid version. It might be possible to replace Google Maps with OpenStreetMap, though I can't see this being worth it unless there's a large enough number of users on the F-Droid version.

If there's enough interest in getting AirMessage on F-Droid, I'd be happy to work towards that!

@tagavari tagavari added the enhancement New feature or request label Jun 18, 2021
@sabogalc
Copy link
Author

I made a reddit post to see how interested or not interested people were in this feature. For those of you not on r/AirMessage, here is the poll so that you can vote too!

@nep2ner
Copy link

nep2ner commented Jul 13, 2021

As you mentioned with AirMessage Cloud, I think most custom ROM users are not interested in smart reply. OSM integration would be phenomenal, though an F-Driod build sans maps support is still worth it. Listing on F-Droid has the potential to reach some new users too.

@sabogalc
Copy link
Author

Similarly to my comment on issue 11, I have now posted the results of the vote since it has been a month since it was posted.
image
10 of the 14 votes were in favor of adding the feature, and the yes votes were evenly split between "I would use this feature all the time." and "I wouldn't use this feature all that much, but it sounds like a good improvement."
There were 3 no votes who felt like the request should not be worked on because the app should focus on other features or fixes, and 1 no vote who would neither notice or use AirMessage on F-Droid.

@sabogalc
Copy link
Author

sabogalc commented Aug 4, 2021

In this reddit post, u/friskfrugt requested a self hosted version of AirMessage Cloud, or one that utilized Supabase instead of Firebase. Is this applicable to the information in this ticket? Also, would microG be helpful in any way?

@tagavari
Copy link
Member

tagavari commented Aug 5, 2021

Since Supabase doesn't have an equivalent for Firebase Cloud Messaging, it unfortunately cannot replace Firebase.

However, if the main reason for wanting to self-host AirMessage Cloud is the web app, I am still working on porting the client to Windows to allow direct connections.

@jonaharagon
Copy link

jonaharagon commented Aug 19, 2021

I will say, I am an F-Droid user that would be interested in using AirMessage Cloud.

microG would provide push notifications via GCM, but for some reason whatever method AirMessage is using to sign-in with Google doesn't seem to work with microG's native Google accounts. I'm just getting a "Sign-in error" popup.

Edit: that could be related to microg/GmsCore#1198 - apparently microG does not support Firebase's GoogleSignIn authentication method yet, bummer.

@mariobrostech
Copy link

I'd also like to chime in and say that if AirMessage was added to F-Droid (even without the Google-centric features), I'd be more than happy to use it! For push notifications, you could look into using WebSockets like I believe Signal's Android app uses as a fallback when Google Play Services aren't available. That should work on all devices, regardless of whether or not they have microG installed or not, and that will also keep you 100% F-Droid compliant, provided that you remove any other Google components. Many other open-source projects maintain a separate fork of their app that doesn't rely on any non-free network services or components, and I think an approach similar to this might work well for AirMessage.

Regardless, I'm excited to see where this goes, and add me to the list of those who would love to see AirMessage on F-Droid! I'm not too into Android app development, but the F-Droid maintainers seem pretty helpful, so if you need help on getting your app to be compliant with their requirements, have a look at the F-Droid Wiki, and don't hesitate to open an issue or merge request on their GitLab if you're getting stuck somewhere. I'm sure they can give you some pointers 🙂

@tagavari
Copy link
Member

tagavari commented Oct 17, 2021

Alright, I've worked a bit on this and the foss branch introduces a build flavor that produces a fully open-source version of the app. Everything I mentioned in my original comment is removed, so this flavor will only support direct connections.

I'll have to look more into getting the app onto F-Droid, I may do that later this week.

@mariobrostech
Copy link

Awesome, thank you so much for your work on this! Hoping for a smooth review process 🤞

@nep2ner
Copy link

nep2ner commented Oct 18, 2021

I'm excited for this! Thank you for your work @tagavari

@wyatta4
Copy link

wyatta4 commented Jan 30, 2022

Has there been any progress on this front? Super interested!
I'm running calyxos and it doesn't seem to work with Microg

@nep2ner
Copy link

nep2ner commented Apr 2, 2022

@tagavari Is this still something that is on the table?

@tagavari
Copy link
Member

tagavari commented Jul 1, 2022

I apologize, I had originally worked on this but it didn't end up making to a release. foss has been merged into develop, so I'm looking to have this out by the end of the month. Here's what it looks like now:

  • Create build flavors for Google Services / FOSS releases
  • Release Google Services flavor into beta channel
  • Prepare F-Droid build instructions and store listing
  • Release on F-Droid! 🎉

@mariobrostech
Copy link

This is great news, glad to hear you're still committed to an F-Droid release. I'm definitely looking forward to it!

@tagavari
Copy link
Member

tagavari commented Aug 1, 2022

F-Droid merge request has been created here: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/11493

@tagavari
Copy link
Member

tagavari commented Aug 2, 2022

MR was accepted!

@tagavari
Copy link
Member

tagavari commented Aug 5, 2022

AirMessage is available to download from F-Droid here: https://f-droid.org/packages/me.tagavari.airmessage/

@tagavari tagavari closed this as completed Aug 5, 2022
@nep2ner
Copy link

nep2ner commented Aug 5, 2022

@tagavari You are amazing! Thanks for your work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging a pull request may close this issue.

6 participants