Element Module API v1.0 support (#29934)

This commit is contained in:
Michael Telatynski
2025-05-14 09:21:24 +01:00
committed by GitHub
parent c9548ec1d0
commit 785a12a029
10 changed files with 153 additions and 81 deletions

View File

@@ -162,21 +162,18 @@ async function start(): Promise<void> {
// now that the config is ready, try to persist logs
const persistLogsPromise = setupLogStorage();
// Load modules & plugins before language to ensure any custom translations are respected, and any app
// startup functionality is run
const loadModulesPromise = loadModules();
await settled(loadModulesPromise);
const loadPluginsPromise = loadPlugins();
await settled(loadPluginsPromise);
// Load language after loading config.json so that settingsDefaults.language can be applied
const loadLanguagePromise = loadLanguage();
// as quickly as we possibly can, set a default theme...
const loadThemePromise = loadTheme();
// await things settling so that any errors we have to render have features like i18n running
await settled(loadThemePromise, loadLanguagePromise);
const loadModulesPromise = loadModules();
await settled(loadModulesPromise);
const loadPluginsPromise = loadPlugins();
await settled(loadPluginsPromise);
let acceptBrowser = supportedBrowser;
if (!acceptBrowser && window.localStorage) {
acceptBrowser = Boolean(window.localStorage.getItem("mx_accepts_unsupported_browser"));

View File

@@ -75,7 +75,7 @@ export async function loadLanguage(): Promise<void> {
langs = [prefLang];
}
try {
await languageHandler.setLanguage(langs);
await languageHandler.setLanguage(...langs);
document.documentElement.setAttribute("lang", languageHandler.getCurrentLanguage());
} catch (e) {
logger.error("Unable to set language", e);