airmessage / airmessage-android

AirMessage for Android phones, tablets, and laptops
Apache License 2.0
162 stars 20 forks source link

[Feature Request] Handle SMS Tapback Messages #50

Open mike-lloyd03 opened 2 years ago

mike-lloyd03 commented 2 years ago

We all know that Apple's iMessage tapbacks are incredibly annoying for non-iMessage users. Google has recently begun addressing this in their Messages app by interpreting them as RCS reactions. AirMessage users are still subjected to this when they are in an SMS/MMS group text with mixed iPhone/Android users. I was thinking AirMessage's SMS handling feature could implement something similar for those of us who do not use Google's Messages app.

I've often wondered how difficult it would be to implement this kind of feature in a messaging app and I would like see if this is something the developers of AirMessage would be interested in developing. I do not know Java/Kotlin but am experienced in other languages so I might be able to take on this feature with some guidance from the maintainers.

My thought process is that any message that is received which begins with the following strings would be processed as a tapback:

A regex like ^Loved (".*"|an image|a video)$ could be used to identify a tapback message. In the case of a tapback that reacts to message text, the text history would be searched to see which message was reacted to and the appropriate tapback would be displayed on that message.

AirMessage already has the infrastructure for most of this, it would just be a matter of intercepting certain SMS/MMS messages and not displaying them to the user, opting instead for displaying a tapback icon. I don't think it would work when an image or video is reacted to since there's no way to know which media is receiving the reaction.

This could be an opt in feature but it might help alleviate some of the frustration we experience when dealing with SMS messages from iPhone users.