[Android] Last emoji in a Text is cut off when the text contains the 🫨 emoji (U+1FAE8)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- android, react-native
- Domain
- mobile
Research direction
Start with the mandatory EmojiEndClipRepro repository and its App.tsx, then run yarn install && yarn android on an affected Android device. Compare the EMOJI and CONTROL sections and the suffixes containing 🫨; done means the trailing emoji remains fully visible at the previously failing widths without regressing other layouts or emoji sequences.
Written by the indexing model from the issue text.
Description
Description
A <Text> whose content contains the 🫨 emoji (U+1FAE8, Unicode 15.0) renders with the last emoji of the line partially or fully cut off at specific text widths on Android. iOS is unaffected.
What we verified:
- The 🫨 emoji is the trigger. We compared emoji suffixes of the same length (14 emoji) at the same text widths: a sequence containing 🫨 (
😂🙁☠️😠🤔🥶🫨😺👏🏻🙁😂🥶😂😠) clips; 14 keycap sequences (1️⃣…🔟) and 14 single-codepoint emoji (🔴🟠🟡…) do not. Replacing 🫨 with another emoji in the failing sequence stops the clipping. - Width-dependent. Only strings whose width lands near the line-wrap boundary clip; adding or removing one letter makes the bug appear or disappear.
- Device-dependent. Different devices clip at different string lengths (verified on Huawei P30 Pro VOG-L29 / Android 10 and a Samsung device; exact failing rows differ).
- Version- and architecture-independent. Reproduces identically on RN 0.73 (old architecture) and RN 0.83.6 (new architecture) in the same app.
- Not markdown/library related. Reproduces with a bare
<Text>.
Steps to reproduce
- Clone https://github.com/mariia-korzun/EmojiEndClipRepro — a fresh community template where only
App.tsxchanged. It renders a sweep of 1–40 letters + a 14-emoji suffix in several layouts (chat bubble, fixed width, full width) plus a no-emoji control section, with the three suffix constants for comparison. yarn install && yarn androidon an affected device.- Scroll the EMOJI section: several rows show the last emoji clipped or invisible. The CONTROL section never clips. Replace 🫨 in the suffix — no row clips.
Expected: the trailing emoji is fully visible (as on iOS, and as with sequences without 🫨). So 😠 in the end should be visible
Actual: at specific widths the last emoji of the line is cut off. Screenshot attached.
With colors and numbers emojis all fine. Issue just when 🫨 in list. So 😠 in the end not visible
React Native Version
0.83.6
Affected Platforms
Runtime - Android
Output of npx @react-native-community/cli info
System:
OS: macOS 26.5.2
CPU: (12) arm64 Apple M3 Pro
Memory: 133.59 MB / 36.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 20.19.4
path: /Users/mariiakorzun/.nvm/versions/node/v20.19.4/bin/node
Yarn:
version: 3.6.4
path: /Users/mariiakorzun/.nvm/versions/node/v20.19.4/bin/yarn
npm:
version: 10.8.2
path: /Users/mariiakorzun/.nvm/versions/node/v20.19.4/bin/npm
Watchman:
version: 2024.11.11.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.5
- iOS 26.5
- macOS 26.5
- tvOS 26.5
- visionOS 26.5
- watchOS 26.5
Android SDK:
API Levels:
- "31"
- "33"
- "34"
- "35"
- "36"
Build Tools:
- 33.0.0
- 33.0.1
- 34.0.0
- 35.0.0
- 36.0.0
System Images:
- android-29 | Google Play ARM 64 v8a
- android-33-ext5 | Google Play ARM 64 v8a
- android-33 | ARM 64 v8a
- android-33 | Google APIs ARM 64 v8a
- android-33 | Google Play ARM 64 v8a
- android-34 | Google APIs ARM 64 v8a
- android-36 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2024.3 AI-243.22562.218.2431.13114758
Xcode:
version: 26.6/17F113
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.10
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.0.0
wanted: 20.0.0
react:
installed: 19.2.0
wanted: 19.2.0
react-native:
installed: 0.83.6
wanted: 0.83.6
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: false
Stacktrace or Logs
-
MANDATORY Reproducer
https://github.com/mariia-korzun/EmojiEndClipRepro
Screenshots and Videos
No response
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from react/react-native
-
Needs: Author Feedback Needs: Repro
Difficulty 1/5 Under an hour Newbie friendliness 92/100
react/react-native#58621 · 1 comment ·
-
Needs: Author Feedback Needs: Repro
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
react/react-native#58610 · 1 comment ·
-
Needs: Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
react/react-native#58565 · 1 comment · 2 reactions ·
-
Needs: Author Feedback Needs: Repro
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
react/react-native#58555 · 5 comments · 2 reactions ·
-
Needs: Attention Needs: Repro
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
react/react-native#58526 · 2 comments ·
All issues in react/react-native
Similar issues
-
AuTest Bug Tests
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/trafficserver#13714 ·
-
bug build
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
facebookincubator/velox#19143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tenstorrent/tt-metal#57393 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
objectionary/eo-graphs#74 ·