From 60602e02d986b1e33542537b2a47e3a2a3ab7c00 Mon Sep 17 00:00:00 2001 From: "SPRINX0\\prochazka" Date: Thu, 20 Nov 2025 17:31:18 +0100 Subject: [PATCH] logging app language --- packages/api/src/controllers/cloud.js | 4 ++-- packages/api/src/utility/cloudIntf.js | 15 ++++++++++----- packages/web/src/utility/api.ts | 1 + 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/packages/api/src/controllers/cloud.js b/packages/api/src/controllers/cloud.js index ad348b1f7..38228272e 100644 --- a/packages/api/src/controllers/cloud.js +++ b/packages/api/src/controllers/cloud.js @@ -35,8 +35,8 @@ module.exports = { }, refreshPublicFiles_meta: true, - async refreshPublicFiles({ isRefresh }) { - await refreshPublicFiles(isRefresh); + async refreshPublicFiles({ isRefresh }, req) { + await refreshPublicFiles(isRefresh, req?.headers?.['x-ui-language']); return { status: 'ok', }; diff --git a/packages/api/src/utility/cloudIntf.js b/packages/api/src/utility/cloudIntf.js index 2f66efa30..51e302c15 100644 --- a/packages/api/src/utility/cloudIntf.js +++ b/packages/api/src/utility/cloudIntf.js @@ -193,7 +193,7 @@ async function getCloudSigninHeaders(holder = null) { return null; } -async function updateCloudFiles(isRefresh) { +async function updateCloudFiles(isRefresh, language) { let lastCloudFilesTags; try { lastCloudFilesTags = await fs.readFile(path.join(datadir(), 'cloud-files-tags.txt'), 'utf-8'); @@ -218,6 +218,7 @@ async function updateCloudFiles(isRefresh) { ...getLicenseHttpHeaders(), ...(await getCloudInstanceHeaders()), 'x-app-version': currentVersion.version, + 'x-app-language': language || 'en', }, } ); @@ -274,7 +275,7 @@ async function ensurePromoWidgetDataLoaded() { promoWidgetDataLoaded = true; } -async function updatePremiumPromoWidget() { +async function updatePremiumPromoWidget(language) { await ensurePromoWidgetDataLoaded(); const tags = (await collectCloudFilesSearchTags()).join(','); @@ -286,6 +287,7 @@ async function updatePremiumPromoWidget() { ...getLicenseHttpHeaders(), ...(await getCloudInstanceHeaders()), 'x-app-version': currentVersion.version, + 'x-app-language': language || 'en', }, } ); @@ -300,18 +302,21 @@ async function updatePremiumPromoWidget() { socket.emitChanged(`promo-widget-changed`); } -async function refreshPublicFiles(isRefresh) { +async function refreshPublicFiles(isRefresh, uiLanguage) { + const language = platformInfo.isElectron + ? (await config.getCachedSettings())?.['localization.language'] || 'en' + : uiLanguage; if (!cloudFiles) { await loadCloudFiles(); } try { - await updateCloudFiles(isRefresh); + await updateCloudFiles(isRefresh, language); } catch (err) { logger.error(extractErrorLogData(err), 'DBGM-00166 Error updating cloud files'); } const configSettings = await config.get(); if (!isProApp() || configSettings?.trialDaysLeft != null) { - await updatePremiumPromoWidget(); + await updatePremiumPromoWidget(language); } } diff --git a/packages/web/src/utility/api.ts b/packages/web/src/utility/api.ts index 3734fe5a6..f9d93d6a0 100644 --- a/packages/web/src/utility/api.ts +++ b/packages/web/src/utility/api.ts @@ -186,6 +186,7 @@ export async function apiCall( headers: { 'Content-Type': 'application/json', 'x-api-session-id': getApiSessionId(), + 'x-ui-language': localStorage.getItem('selectedLanguage') || 'en', ...resolveApiHeaders(), }, body: JSON.stringify(args, serializeJsTypesReplacer),