-
-
Notifications
You must be signed in to change notification settings - Fork 154
Description
Site
dev.phanpy.social
Version
2026.02.04.2aa600d
Instance
hollo.social
Browser
- Microsoft Edge 144.0.3719.104 on macOS
- Likely affects all browsers
Bug description
Emoji reaction notifications show the text “洪 民憙(ホン・ミンヒ)@hongminhee reacted to your post with” but the emoji itself is not displayed. The notification appears incomplete with nothing after “with.”
Expected:
洪 民憙(ホン・ミンヒ)@hongminhee reacted to your post with 😿
Actual:
洪 民憙(ホン・ミンヒ)@hongminhee reacted to your post with
To reproduce
- Use a Hollo instance or any ActivityPub server that supports emoji reactions
- Have someone react to your post with an emoji (either Unicode emoji or custom emoji)
- Open Phanpy notifications
- Observe that emoji reaction notifications show “reacted to your post with” but no emoji is displayed
Expected behavior
The emoji should be displayed after “reacted to your post with”, either as:
- A Unicode emoji character (for standard emojis like 😿, 🌏)
- A custom emoji image (for custom emojis like
:blobcatthinking:)
Other
I've identified the bug in the source code. There's a parameter name mismatch in src/components/notification.jsx:
phanpy/src/components/notification.jsx
Lines 446 to 450 in 2aa600d
| text = text({ | |
| account: <NameText account={account} showAvatar />, | |
| emoji: notification.emoji, | |
| emojiURL, | |
| }); |
phanpy/src/components/notification.jsx
Lines 60 to 79 in 2aa600d
| function emojiText({ account, emoji, emoji_url }) { | |
| let url; | |
| let staticUrl; | |
| if (typeof emoji_url === 'string') { | |
| url = emoji_url; | |
| } else { | |
| url = emoji_url?.url; | |
| staticUrl = emoji_url?.staticUrl; | |
| } | |
| const emojiObject = url ? ( | |
| <CustomEmoji url={url} staticUrl={staticUrl} alt={emoji} /> | |
| ) : ( | |
| emoji | |
| ); | |
| return ( | |
| <Trans> | |
| {account} reacted to your post with {emojiObject} | |
| </Trans> | |
| ); | |
| } |
Because the parameter is passed as emojiURL but received as emoji_url, the value becomes undefined. This causes:
- For custom emojis:
urlandstaticUrlboth becomeundefined - The condition
url ? <CustomEmoji .../> : emojishould fall back to rendering the text emoji - However, even the text emoji (
":blobcatthinking:") is not rendered