fix(status): unicode-only emoji picker (custom emojis silently did nothing)
CI / Build & Quality Checks (push) Successful in 11m25s
CI / Trigger Desktop Build (push) Successful in 6s

The status-message emoji picker listed the guild's custom/image-pack emojis, but
clicking one did nothing — the field only wires onEmojiSelect (unicode), not
onCustomEmojiSelect, so custom picks were silently dropped (the room composer
works because it wires both). A custom emoji is an mxc image and a status is
plain-text presence status_msg, so it can't render there anyway.

Add an EmojiBoard hideCustomEmojis (unicode-only) mode that zeroes the image
packs (removing pack groups, sidebar icons, and search results) and filters
custom entries out of Recent, and enable it on the status field. Now every emoji
shown actually inserts. Additive prop, default off — no change to other pickers.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-18 15:16:55 -04:00
co-authored by Claude Opus 4.8
parent 0ce5e763ad
commit 539901ec64
3 changed files with 25 additions and 4 deletions
@@ -648,6 +648,11 @@ function ProfileStatus() {
imagePackRooms={[]}
returnFocusOnDeactivate={false}
onEmojiSelect={handleEmojiSelect}
// A status message is plain-text presence (`status_msg`), so it
// can't hold a custom mxc-image emoji — show unicode only, so every
// emoji in the picker actually inserts (custom ones silently no-op'd
// because there's no onCustomEmojiSelect here).
hideCustomEmojis
requestClose={() => setEmojiAnchor(undefined)}
/>
}