Skip to content

Parse and render emoji reactions#533

Merged
octoshrimpy merged 34 commits intoquik-sms:masterfrom
benwaffle:emoji-reacts
Oct 4, 2025
Merged

Parse and render emoji reactions#533
octoshrimpy merged 34 commits intoquik-sms:masterfrom
benwaffle:emoji-reacts

Conversation

@benwaffle
Copy link
Copy Markdown
Contributor

@benwaffle benwaffle commented Aug 26, 2025

Fixes part of #152

TODO:

  • handle the default tapback reactions like "Loved" and "Emphasized"
  • we should scan all messages for emoji reactions during the DB migration to migrate existing users on app update
  • multiple emojis from a specific sender should overwrite each other, i.e. only count the latest
  • "👎 2" wraps
  • show reaction messages if target message not found
  • the thread summary on the main screen still shows the emoji reaction message (not really a problem)

To keep this PR simple, I've left out:

  • when long-pressing on the emoji, a popup should come up listing which contact sent each emoji
  • notifications (untested) i think notifs are fine, it just shows the reaction message text which is user friendly already (e.g. Bob Smith reacted 🔥 to "this is lit")
  • sending emoji reactions

Fixes part of quik-sms#152

To keep this PR simple, I've left out:

- when long-pressing on the emoji in a group MMS, a popup should come up listing which contact sent each emoji
- notifications (untested)
- sending emoji reactions
Copy link
Copy Markdown
Collaborator

@Inhishonor Inhishonor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I haven't tested too extensively yet, so there might be more once I do that.

@benwaffle
Copy link
Copy Markdown
Contributor Author

benwaffle commented Aug 28, 2025

The emojis are getting clipped off at the bottom (it's easier to see in light mode). If anyone here's good at android layout, I'd love some help.

@benwaffle
Copy link
Copy Markdown
Contributor Author

benwaffle commented Sep 4, 2025

@Inhishonor the regexes should be localizable now. it's in i18next json format, supported by weblate. it's gonna be annoying/not recommended to edit via weblate because of the invisible unicode characters. but at least it'll show us which translations are missing

use unicode chars, and allow partial jsons
@benwaffle
Copy link
Copy Markdown
Contributor Author

benwaffle commented Sep 4, 2025

maybe we should just use the same regexes as google messages? although i don't think it handles iOS non-english reactions. Will have to check tomorrow.

"(?s)^(Loved|Liked|Disliked|Laughed\\sat|Emphasi[zs]ed|Questioned)\\s\\“(.*)\\”\\Z";
"(?s)^Removed\\s(?:a|an)\\s(heart|like|dislike|laugh|exclamation|exclamation\\smark|question\\smark)\\sfrom\\s\\“(.*)\\”\\Z"
"(?s)^\\\u200a[^\\\u200b\\\u200a]*\\\u200b([^\\\u200b]*)\\\u200b[^\\\u200b\\\u200a]*\\\u200a(.*)\\\u200a[^\\\u200b\\\u200a]*\\\u200a\\Z"
"(?s)^\\\u200a[^\\\u200c\\\u200a]*\\\u200c([^\\\u200c]*)\\\u200c[^\\\u200c\\\u200a]*\\\u200a(.*)\\\u200a[^\\\u200c\\\u200a]*\\\u200a\\Z"

Copy link
Copy Markdown
Collaborator

@Inhishonor Inhishonor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a few formatting errors.

@benwaffle benwaffle requested a review from Inhishonor September 7, 2025 05:28
Copy link
Copy Markdown
Collaborator

@Inhishonor Inhishonor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For handling newlines in message content.

Copy link
Copy Markdown
Collaborator

@Inhishonor Inhishonor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The suggested change prevents placeholder messages from being scanned,

Co-authored-by: Inhishonor <inhishonor@protonmail.com>
…sitoryImpl.kt

Co-authored-by: Inhishonor <inhishonor@protonmail.com>
@Inhishonor Inhishonor self-requested a review September 22, 2025 16:56
Copy link
Copy Markdown
Collaborator

@Inhishonor Inhishonor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There will probably be things as soon as we merge, but I think it is good. Thanks very much!

@octoshrimpy octoshrimpy merged commit 9427b30 into quik-sms:master Oct 4, 2025
2 checks passed
@octoshrimpy octoshrimpy mentioned this pull request Nov 6, 2025
@benwaffle benwaffle deleted the emoji-reacts branch January 11, 2026 20:46
@github-actions github-actions bot mentioned this pull request Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants