diff --git a/config/vitest.config.ts b/config/vitest.config.ts index f3091ce8e62..ae0d35b28ee 100644 --- a/config/vitest.config.ts +++ b/config/vitest.config.ts @@ -23,7 +23,9 @@ const paletteMeasurementFile = const measurementFiles = [measurementFile, paletteMeasurementFile] const phoneContractModules = [ 'mobile/src/session/native-chat/mobile-native-chat-stream-frame.ts', - 'mobile/src/session/mobile-native-chat-render-data.ts' + 'mobile/src/session/mobile-native-chat-render-data.ts', + 'mobile/src/i18n/mobile-i18n.ts', + 'mobile/src/i18n/locale-catalog-imports.ts' ].map((file) => normalizePath(resolve(file))) const phoneContractPattern = new RegExp( `^(?:${phoneContractModules.map((file) => file.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|')})(?:\\?.*)?$` diff --git a/mobile/index.js b/mobile/index.js index 86c95f2717f..95199bf97c7 100644 --- a/mobile/index.js +++ b/mobile/index.js @@ -1,3 +1,5 @@ +// Before any module that builds i18next plural rules; kept out of mobile-i18n so desktop tests need no mobile deps. +import './src/i18n/plural-rules-polyfill' // Headless notification launches do not mount the router layout. import './src/notifications/push-background-dismissal' import { loadPairedE2EENativeBindings } from './src/transport/paired-e2ee-native-bindings' diff --git a/mobile/src/i18n/mobile-i18n.ts b/mobile/src/i18n/mobile-i18n.ts index 97fdd3a7bed..a7b51d1acf4 100644 --- a/mobile/src/i18n/mobile-i18n.ts +++ b/mobile/src/i18n/mobile-i18n.ts @@ -1,4 +1,3 @@ -import './plural-rules-polyfill' import i18next, { type TOptions } from 'i18next' import { resolvePluralFamilyKey } from '../../../src/shared/i18n-plural-family' import { pseudoLocalizeString } from '../../../src/shared/pseudo-localization'