From 2d308e03d58c19f27b5b4d65dc2a15ef20b56190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0spik?= Date: Thu, 21 May 2026 18:21:43 +0300 Subject: [PATCH] fix: sanitize emoji input to handle variation selectors (#774) Signed-off-by: ispik --- crates/core/database/src/models/emojis/model.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/core/database/src/models/emojis/model.rs b/crates/core/database/src/models/emojis/model.rs index 3f380716..55d13e8c 100644 --- a/crates/core/database/src/models/emojis/model.rs +++ b/crates/core/database/src/models/emojis/model.rs @@ -12,7 +12,7 @@ use crate::Database; static PERMISSIBLE_EMOJIS: Lazy> = Lazy::new(|| { include_str!("unicode_emoji.txt") .split('\n') - .map(|x| x.into()) + .map(|x| x.replace('\u{FE0F}', "")) .collect() }); @@ -108,7 +108,8 @@ impl Emoji { db.fetch_emoji(emoji).await?; Ok(true) } else { - Ok(PERMISSIBLE_EMOJIS.contains(emoji)) + let sanitized_emoji = emoji.replace('\u{FE0F}', ""); + Ok(PERMISSIBLE_EMOJIS.contains(&sanitized_emoji)) } } }