regression: skin-toned emoji not enlarged when sent alone - #41515
Conversation
|
Looks like this PR is ready to merge! 🎉 |
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📜 Recent review details⏰ Context from checks skipped due to timeout. (4)
WalkthroughThe message parser now applies Fitzpatrick modifiers to additional Unicode emoji categories. Tests cover standalone, concatenated, and inline skin-toned emoji parsing. ChangesUnicode emoji parsing
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
e106db1 to
bacca02
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## release-8.7.0 #41515 +/- ##
=================================================
+ Coverage 68.58% 68.60% +0.01%
=================================================
Files 4134 4135 +1
Lines 160802 160814 +12
Branches 29244 29236 -8
=================================================
+ Hits 110294 110332 +38
+ Misses 45403 45364 -39
- Partials 5105 5118 +13
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Proposed changes (including videos or screenshots)
Skin-toned emoji variants (e.g.
high_five✋🏽) stayed small when sent as an emoji-only message, while the default version (✋) was correctly enlarged.Root cause: A message made only of emoji is enlarged only when it is recognized as a single emoji. A skin-toned emoji is actually two parts — a base emoji plus a separate skin-tone modifier — that must be joined into one.
Emoji are spread across several Unicode ranges, and the message parser only joined the skin-tone modifier for some of them. For two of those ranges (which include hands like ✋ ✌ ✍ ☝ ⛹), the modifier was not joined, so a skin-toned emoji was read as two things: the base emoji plus a leftover skin-tone swatch. The result was a big default-colored hand next to a tiny swatch, instead of one enlarged skin-toned emoji. The plain version (✋) worked because it has no modifier to lose.
Fix: Allow those two ranges to join the skin-tone modifier too, like the others already did. Now a skin-toned emoji is read as a single emoji and enlarges correctly. Emoji without a skin tone are unaffected.
Issue(s)
Steps to test or reproduce
high_five(✋) alone → enlarged.high_fivewith different tone (✋🏽) alone.Further comments
Summary by CodeRabbit
Bug Fixes
Tests