Fix crash in /about when server returns cached rules without translations attribute (#34997)

This commit is contained in:
Claire 2025-06-10 15:25:24 +02:00 committed by GitHub
parent 1824b1fd29
commit c727701839
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -29,7 +29,7 @@ interface BaseRule {
interface Rule extends BaseRule {
id: string;
translations: Record<string, BaseRule>;
translations?: Record<string, BaseRule>;
}
export const RulesSection: FC<RulesSectionProps> = ({ isLoading = false }) => {
@ -113,15 +113,23 @@ const rulesSelector = createSelector(
(rules, locale): Rule[] => {
return rules.map((rule) => {
const translations = rule.translations;
if (translations[locale]) {
rule.text = translations[locale].text;
rule.hint = translations[locale].hint;
// Handle cached responses from earlier versions
if (!translations) {
return rule;
}
const partialLocale = locale.split('-')[0];
if (partialLocale && translations[partialLocale]) {
rule.text = translations[partialLocale].text;
rule.hint = translations[partialLocale].hint;
}
if (translations[locale]) {
rule.text = translations[locale].text;
rule.hint = translations[locale].hint;
}
return rule;
});
},