fix(email): parse JSON-encoded language setting before using as locale

general_default_language is stored as a JSON string (e.g. "\"pt\"").
getRecipientLanguage() returned the raw value including quotes, causing
the translation lookup to miss every match and fall back to English.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
filpgame
2026-05-16 03:31:15 -03:00
parent 3a490844e1
commit f12062f1e7
+3 -1
View File
@@ -116,7 +116,9 @@ async function getRecipientLanguage(email, eventId = null) {
.where('setting_key', 'general_default_language')
.first();
if (langSetting && langSetting.setting_value) {
return langSetting.setting_value;
let lang = langSetting.setting_value;
try { lang = JSON.parse(lang); } catch (_) {}
if (typeof lang === 'string' && lang.trim()) return lang.trim();
}
} catch (error) {
logger.error('Error fetching app settings language:', error);