Repository navigation
Notes: Add filters to customize emoji reactions - #84043
adamsilverstein wants to merge 8 commits into
Conversation
Let sites shape note reactions through two filters: - `gutenberg_note_reaction_emoji_settings` sets the named emoji that seed "Frequently used" and are always accepted, and limits or excludes every other emoji with `allow_unlisted` and `exclude`. The picker only offers what the REST API accepts. - `gutenberg_emoji_picker_label_overrides` labels emoji for locales Emojibase does not translate, seeded with the named list. Named emoji are identified by their Emojibase hexcode, matching how every reaction is stored, so no UTF-8 decoding is needed server-side. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VZXqJi4dn3qcNsYZHa579m
The server sets noteReactionEmojiRules, but the block editor settings allowlist dropped it, so the picker always saw the default rules and offered emoji the REST API rejects, such as one a site excluded. Add it to the allowlist, with an e2e test that an excluded emoji is no longer offered. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VZXqJi4dn3qcNsYZHa579m
The new editor settings are part of the package's public surface, so note them for consumers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VZXqJi4dn3qcNsYZHa579m
🤖 PR meta 🤖🏷️ LabelsThis pull request needs exactly one label indicating its type, and has 0.
Read more about Type labels in Gutenberg. If you cannot add labels yourself, a reviewer can do it for you. 📦 Bundle sizeSize Change: +438 B (+0.01%) Total Size: 8.53 MB 📦 View Changed
⚡ PerformanceShow the resultsClient side metrics exclude the server response time. front-end-block-theme
front-end-classic-theme
media-processing
media-upload
post-editor
site-editor
🏁 Flaky testsSome tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information. should cut and paste individual blocks with collapsed selection in
|
…ete-grid' into pr-84043 # Conflicts: # packages/editor/src/components/collab-sidebar/reactions/add-reaction-button.tsx # packages/editor/src/components/collab-sidebar/reactions/emoji-picker.tsx
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Pick up the parent's trunk merge and changelog fixes. Claude-Session: https://claude.ai/code/session_01RmMwj4CN9cF8b1Sx58Pvik
The server-side labels seed the picker's label overrides, which take
precedence over the client's curated labels. Capitalized "Heart" broke
the exact-name lookups in the emoji reaction e2e tests and mismatched
the lowercase Emojibase names around it, which also read mid-sentence
("reacted with heart").
Claude-Session: https://claude.ai/code/session_01RmMwj4CN9cF8b1Sx58Pvik
…eaction-filters Bring in the emoji search result count announcement from #83538. Claude-Session: https://claude.ai/code/session_01RmMwj4CN9cF8b1Sx58Pvik
The picker test merged in from #83538 mocks `useEmojibaseConfig` with only `baseUrl`, but this branch adds `labelOverrides` to the config, so the mock no longer type checks. Claude-Session: https://claude.ai/code/session_01RmMwj4CN9cF8b1Sx58Pvik
Split out of #83538 to keep that PR reviewable - this adds the filters for customizing emoji reactions on top of it, to review once the core picker lands.
Claude moved the filters over and wrote this up:
Testing Instructions
AI Use
Claude Code wrote both the code and this description, moving the filters over from #83538. I will review and test.
🤖 Generated with Claude Code
https://claude.ai/code/session_01VZXqJi4dn3qcNsYZHa579m