From 3d60f7f7967d390c32ea7909697ce7dfd86f1a07 Mon Sep 17 00:00:00 2001 From: Ivan Date: Sun, 10 May 2026 06:17:30 -0500 Subject: [PATCH] fix(docker): add python3 to build-frontend stage for docs build; add i18n for map drag-drop --- Dockerfile | 2 +- Dockerfile.hardened | 2 +- meshchatx/src/frontend/components/map/MapPage.vue | 7 ++++++- meshchatx/src/frontend/locales/de.json | 4 +++- meshchatx/src/frontend/locales/es.json | 4 +++- meshchatx/src/frontend/locales/fr.json | 4 +++- meshchatx/src/frontend/locales/it.json | 4 +++- meshchatx/src/frontend/locales/nl.json | 4 +++- meshchatx/src/frontend/locales/ru.json | 4 +++- meshchatx/src/frontend/locales/zh.json | 4 +++- 10 files changed, 29 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5f1d777..c684069 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ ARG PYTHON_HASH=sha256:dd4d2bd5b53d9b25a51da13addf2be586beebd5387e289e798e4083d9 # ---- STAGE 1: Frontend Build ---- FROM --platform=linux/amd64 ${NODE_IMAGE}@${NODE_HASH} AS build-frontend WORKDIR /src -RUN apk add --no-cache git +RUN apk add --no-cache git python3 COPY package.json pnpm-lock.yaml vite.config.js ./ COPY patches ./patches COPY scripts/fetch-micron-wasm.mjs scripts/fetch-micron-wasm.mjs diff --git a/Dockerfile.hardened b/Dockerfile.hardened index 72e56ff..9078f46 100644 --- a/Dockerfile.hardened +++ b/Dockerfile.hardened @@ -13,7 +13,7 @@ ARG PYTHON_RUNTIME_IMAGE=cgr.dev/chainguard/python:latest-dev FROM --platform=linux/amd64 ${NODE_IMAGE} AS build-frontend USER root WORKDIR /src -RUN apk add --no-cache git +RUN apk add --no-cache git python3 COPY package.json pnpm-lock.yaml vite.config.js ./ COPY patches ./patches COPY scripts/fetch-micron-wasm.mjs scripts/fetch-micron-wasm.mjs diff --git a/meshchatx/src/frontend/components/map/MapPage.vue b/meshchatx/src/frontend/components/map/MapPage.vue index 8ebe60f..5e8dd7b 100644 --- a/meshchatx/src/frontend/components/map/MapPage.vue +++ b/meshchatx/src/frontend/components/map/MapPage.vue @@ -4341,7 +4341,12 @@ export default { const geoFiles = files.filter((f) => { const name = f.name.toLowerCase(); - return name.endsWith(".geojson") || name.endsWith(".json") || name.endsWith(".kml") || name.endsWith(".kmz"); + return ( + name.endsWith(".geojson") || + name.endsWith(".json") || + name.endsWith(".kml") || + name.endsWith(".kmz") + ); }); if (!geoFiles.length) { ToastUtils.warning(this.$t("map.drop_no_geo_files")); diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json index 53c4df2..8e033eb 100644 --- a/meshchatx/src/frontend/locales/de.json +++ b/meshchatx/src/frontend/locales/de.json @@ -1131,7 +1131,9 @@ "vector_import_ok": "Imported {count} feature(s).", "vector_import_empty": "No features found in file.", "vector_import_failed": "Could not read vector file.", - "vector_export_ok": "Export started." + "vector_export_ok": "Export started.", + "drop_geo_files": "Kartendatei hier ablegen", + "drop_no_geo_files": "Keine GeoJSON-, KML- oder KMZ-Dateien erkannt." }, "interface": { "disable": "Deaktivieren", diff --git a/meshchatx/src/frontend/locales/es.json b/meshchatx/src/frontend/locales/es.json index 170c931..d36039c 100644 --- a/meshchatx/src/frontend/locales/es.json +++ b/meshchatx/src/frontend/locales/es.json @@ -1079,7 +1079,9 @@ "vector_import_ok": "Imported {count} feature(s).", "vector_import_empty": "No features found in file.", "vector_import_failed": "Could not read vector file.", - "vector_export_ok": "Export started." + "vector_export_ok": "Export started.", + "drop_geo_files": "Suelta el archivo del mapa aquí", + "drop_no_geo_files": "No se detectaron archivos GeoJSON, KML o KMZ." }, "interface": { "disable": "Inhabilitación", diff --git a/meshchatx/src/frontend/locales/fr.json b/meshchatx/src/frontend/locales/fr.json index 9cae253..701c125 100644 --- a/meshchatx/src/frontend/locales/fr.json +++ b/meshchatx/src/frontend/locales/fr.json @@ -1079,7 +1079,9 @@ "vector_import_ok": "Imported {count} feature(s).", "vector_import_empty": "No features found in file.", "vector_import_failed": "Could not read vector file.", - "vector_export_ok": "Export started." + "vector_export_ok": "Export started.", + "drop_geo_files": "Déposez le fichier carte ici", + "drop_no_geo_files": "Aucun fichier GeoJSON, KML ou KMZ détecté." }, "interface": { "disable": "Désactiver", diff --git a/meshchatx/src/frontend/locales/it.json b/meshchatx/src/frontend/locales/it.json index 50dc856..e483eaf 100644 --- a/meshchatx/src/frontend/locales/it.json +++ b/meshchatx/src/frontend/locales/it.json @@ -1131,7 +1131,9 @@ "vector_import_ok": "Imported {count} feature(s).", "vector_import_empty": "No features found in file.", "vector_import_failed": "Could not read vector file.", - "vector_export_ok": "Export started." + "vector_export_ok": "Export started.", + "drop_geo_files": "Rilascia il file della mappa qui", + "drop_no_geo_files": "Nessun file GeoJSON, KML o KMZ rilevato." }, "interface": { "disable": "Disabilita", diff --git a/meshchatx/src/frontend/locales/nl.json b/meshchatx/src/frontend/locales/nl.json index 6ad1eac..931f055 100644 --- a/meshchatx/src/frontend/locales/nl.json +++ b/meshchatx/src/frontend/locales/nl.json @@ -1079,7 +1079,9 @@ "vector_import_ok": "Imported {count} feature(s).", "vector_import_empty": "No features found in file.", "vector_import_failed": "Could not read vector file.", - "vector_export_ok": "Export started." + "vector_export_ok": "Export started.", + "drop_geo_files": "Sleep kaartbestand hierheen", + "drop_no_geo_files": "Geen GeoJSON-, KML- of KMZ-bestanden gedetecteerd." }, "interface": { "disable": "Uitschakelen", diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json index 0ccdab3..5f95c08 100644 --- a/meshchatx/src/frontend/locales/ru.json +++ b/meshchatx/src/frontend/locales/ru.json @@ -1131,7 +1131,9 @@ "vector_import_ok": "Imported {count} feature(s).", "vector_import_empty": "No features found in file.", "vector_import_failed": "Could not read vector file.", - "vector_export_ok": "Export started." + "vector_export_ok": "Export started.", + "drop_geo_files": "Перетащите файл карты сюда", + "drop_no_geo_files": "Не обнаружено файлов GeoJSON, KML или KMZ." }, "interface": { "disable": "Выключить", diff --git a/meshchatx/src/frontend/locales/zh.json b/meshchatx/src/frontend/locales/zh.json index c9fa026..76b32b2 100644 --- a/meshchatx/src/frontend/locales/zh.json +++ b/meshchatx/src/frontend/locales/zh.json @@ -1079,7 +1079,9 @@ "vector_import_ok": "Imported {count} feature(s).", "vector_import_empty": "No features found in file.", "vector_import_failed": "Could not read vector file.", - "vector_export_ok": "Export started." + "vector_export_ok": "Export started.", + "drop_geo_files": "将地图文件拖放到此处", + "drop_no_geo_files": "未检测到 GeoJSON、KML 或 KMZ 文件。" }, "interface": { "disable": "禁用",