From 0c49994ea8f6b0aa8dc57fc854f6e449f7ea29c1 Mon Sep 17 00:00:00 2001 From: Achraf Date: Wed, 4 Jan 2023 11:36:00 +0000 Subject: [PATCH] [FIX] mail: Escape translated emoji strings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Steps: - Install knowledge on a fresh db - Install and set fr_BE language - Open knowldge - Traceback The traceback occurs because `emoji_registry.js` fails to load `emoji_data.js` because of some translated string that contains non-escaped characters for JSON opw-3110823 closes odoo/odoo#109086 X-original-commit: 455b335ae773ae4c8f5197c2a6f517947e6a7009 Signed-off-by: Alexandre Kühn (aku) --- addons/mail/static/src/models_data/emoji_data.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/mail/static/src/models_data/emoji_data.js b/addons/mail/static/src/models_data/emoji_data.js index fde5df98eb8..93bdd578eae 100644 --- a/addons/mail/static/src/models_data/emoji_data.js +++ b/addons/mail/static/src/models_data/emoji_data.js @@ -55,7 +55,8 @@ // Since JSON grammar is way simpler than JavaScript's grammar, it is actually // faster to parse the data as a JSON object than as a JavaScript object. -import { _lt } from "@web/core/l10n/translation"; +import { _lt as lazyTranslate } from "@web/core/l10n/translation"; +const _lt = str => JSON.stringify(lazyTranslate(str)).slice(1, -1); export const emojiCategoriesData = JSON.parse(`[ {