From 69ac33eb0a6393df91346bb730e0121517e35ae5 Mon Sep 17 00:00:00 2001 From: Christian Gick Date: Wed, 18 Mar 2026 18:30:36 +0200 Subject: [PATCH] fix: strip emoji variation selectors in approval reaction matching MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Element appends U+FE0F to emoji reactions (👍️ vs 👍). Strip before matching against approval map. Co-Authored-By: Claude Opus 4.6 (1M context) --- pipelines/approval.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pipelines/approval.py b/pipelines/approval.py index b32f33b..90b30c0 100644 --- a/pipelines/approval.py +++ b/pipelines/approval.py @@ -15,4 +15,6 @@ APPROVAL_REACTIONS = { def reaction_to_response(reaction_key: str) -> str | None: """Map a reaction emoji to an approval response.""" - return APPROVAL_REACTIONS.get(reaction_key) + # Strip variation selectors (U+FE0E, U+FE0F) — Element often appends these + cleaned = reaction_key.replace("\ufe0f", "").replace("\ufe0e", "") + return APPROVAL_REACTIONS.get(cleaned) or APPROVAL_REACTIONS.get(reaction_key)