diff --git a/.forgejo/workflows/deploy_single_theme.yml b/.forgejo/workflows/deploy_single_theme.yml index 1bd65d75b6..8b0671397b 100644 --- a/.forgejo/workflows/deploy_single_theme.yml +++ b/.forgejo/workflows/deploy_single_theme.yml @@ -33,14 +33,19 @@ jobs: run: | BRANCH=${{ github.ref_name }} THEME=${BRANCH:6} - mv "dist_$THEME" ${{ github.ref_name }} - zip ${{ github.ref_name }}.zip -r ${{ github.ref_name }}/* + zip $THEME.zip -r dist_$THEME/* - name: uploading file - run: scp ${{ github.ref_name }}.zip hetzner:/root/staging/ + run: | + BRANCH=${{ github.ref_name }} + THEME=${BRANCH:6} + scp $THEME.zip hetzner:/root/staging/ - name: unzipping remote file - run: ssh hetzner "cd /root/staging && unzip ${{ github.ref_name }}.zip && rm -rf /root/single_theme_builds/${{ github.ref_name }} && mv /root/staging/${{ github.ref_name }}/ /root/single_theme_builds/ && rm ${{ github.ref_name }}.zip" + run: | + BRANCH=${{ github.ref_name }} + THEME=${BRANCH:6} + ssh hetzner "cd /root/staging && unzip $THEME.zip && rm -rf /root/single_theme_builds/$THEME && mv /root/staging/dist_$THEME/ /root/single_theme_builds/$THEME && rm $THEME.zip" diff --git a/CHANGELOG.md b/CHANGELOG.md index 43f988339d..bb02129cce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [0.52.0](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.51.12...v0.52.0) (2025-06-17) + + +### Bug Fixes + +* fix crashes in image related code ([7119d98](https://source.mapcomplete.org/MapComplete/MapComplete/commits/7119d98af41eb653bda86609457b78d34cecd769)) + ### [0.51.15](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.51.14...v0.51.15) (2025-06-16) ### [0.51.14](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.51.13...v0.51.14) (2025-06-16) diff --git a/assets/layers/tactile_model/tactile_model.json b/assets/layers/tactile_model/tactile_model.json index 495afcf8b1..85a75d0e85 100644 --- a/assets/layers/tactile_model/tactile_model.json +++ b/assets/layers/tactile_model/tactile_model.json @@ -7,6 +7,9 @@ "it": "Modelli tattili", "cs": "Hmatové modely" }, + "title": { + "en": "Tactile model" + }, "description": { "en": "Layer showing tactile models, three-dimensional models of the surrounding area.", "de": "Ebene mit dreidimensionalen ertastbaren Modellen der Umgebung.", @@ -63,30 +66,16 @@ "tagRenderings": [ "images", { - "id": "description", + "id": "subject", "question": { - "en": "What does this tactile model show?", - "de": "Was zeigt dieses taktile Modell?", - "ca": "Què mostra aquest model tàctil?", - "it": "Cosa mostra questo modello tattile?", - "cs": "Co tento hmatový model ukazuje?" + "en": "What is depicted by this model?" }, "freeform": { - "key": "blind:description:en", - "placeholder": { - "en": "e.g. Tactile model of the city center", - "de": "z.B. Taktiles Modell des Stadtzentrums", - "ca": "P. ex. Model tàctil del centre de la ciutat", - "it": "es. Modello tattile del centro città", - "cs": "např. hmatový model centra města" - } + "key": "subject:wikidata", + "type": "wikidata" }, "render": { - "en": "Description: {blind:description:en}.", - "de": "Beschreibung: {blind:description:en}.", - "ca": "Descripció: {blind:description:en}.", - "it": "Descrizione: {blind:description:en}.", - "cs": "Popis: {blind:description:en}." + "*": "{wikipedia(subject:wikidata)}" } }, { @@ -143,11 +132,11 @@ "cs": "Tento model má popis v Braillově písmu v {language()}" }, "render_single_language": { - "en": "This model has a braille description in {language}", - "de": "Dieses Modell hat eine Beschreibung in Brailleschrift in {language}", - "ca": "Aquest model té una descripció en braille en {language}", - "it": "Questo modello ha una descrizione in braille in {language}", - "cs": "Tento model má popis v Braillově písmu v {language}" + "en": "This model has a braille description in {language()}", + "de": "Dieses Modell hat eine Beschreibung in Brailleschrift in {language()}", + "ca": "Aquest model té una descripció en braille en {language()}", + "it": "Questo modello ha una descrizione in braille in {language()}", + "cs": "Tento model má popis v Braillově písmu v {language()}" } } } @@ -161,6 +150,9 @@ "it": "Ci sono lettere in rilievo che descrivono il modello?", "cs": "Je tu text vystouplými písmeny popisující model?" }, + "questionHint": { + "en": "Embossed letters are letters as normally read by seeing people, but which are protrude from the surface and might thus also be read by blind people" + }, "mappings": [ { "if": "embossed_letters=yes", @@ -206,11 +198,11 @@ "cs": "Tento model má text vystouplými písmeny v {language()}" }, "render_single_language": { - "en": "This model has embossed letters in {language}", - "de": "Dieses Modell hat geprägte Buchstaben in {language}", - "ca": "Aquest model té lletres en relleu en {language}", - "it": "Questo modello ha lettere in rilievo in {language}", - "cs": "Tento model má text vystouplými písmeny v {language}" + "en": "This model has embossed letters in {language()}", + "de": "Dieses Modell hat geprägte Buchstaben in {language()}", + "ca": "Aquest model té lletres en relleu en {language()}", + "it": "Questo modello ha lettere in rilievo in {language()}", + "cs": "Tento model má text vystouplými písmeny v {language()}" } } } @@ -242,6 +234,34 @@ "cs": "Tento model má měřítko {scale}." } }, + { + "id": "description", + "question": { + "en": "What does this tactile model show?", + "de": "Was zeigt dieses taktile Modell?", + "ca": "Què mostra aquest model tàctil?", + "it": "Cosa mostra questo modello tattile?", + "cs": "Co tento hmatový model ukazuje?" + }, + "freeform": { + "key": "blind:description:en", + "placeholder": { + "en": "e.g. Tactile model of the city center", + "de": "z.B. Taktiles Modell des Stadtzentrums", + "ca": "P. ex. Model tàctil del centre de la ciutat", + "it": "es. Modello tattile del centro città", + "cs": "např. hmatový model centra města" + } + }, + "render": { + "en": "Description: {blind:description:en}.", + "de": "Beschreibung: {blind:description:en}.", + "ca": "Descripció: {blind:description:en}.", + "it": "Descrizione: {blind:description:en}.", + "cs": "Popis: {blind:description:en}." + } + }, + "website" ], "deletion": true, diff --git a/package-lock.json b/package-lock.json index 25bcc5f4d5..16c649e2e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.51.15", + "version": "0.52.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.51.15", + "version": "0.52.0", "hasInstallScript": true, "license": "GPL-3.0-or-later", "dependencies": { diff --git a/package.json b/package.json index d1de6f8b4a..51db94031b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.51.15", + "version": "0.52.0", "repository": "https://source.mapcomplete.org/MapComplete/MapComplete", "description": "A small website to edit OSM easily", "bugs": "hhttps://source.mapcomplete.org/MapComplete/MapComplete/issues", @@ -88,7 +88,7 @@ "build:single": "./scripts/single_build.sh", "build:vite:app-landing": "export NODE_OPTIONS=\"--max-old-space-size=12192\" && vite build --sourcemap --config app/app.vite.config.js", "build:dbscript": "vite-node ./scripts/osm2pgsql/generateBuildDbScript.ts", - "prepare-deploy": "NODE_OPTIONS=\"--max-old-space-size=10192\" && npm run generate:service-worker && ./scripts/prepare-build.sh && npm run build", + "prepare-deploy": "npm run generate:service-worker && ./scripts/prepare-build.sh && npm run build", "watch:css": "tailwindcss -i src/index.css -o public/css/index-tailwind-output.css --watch", "generate:css": "tailwindcss -i src/index.css -o public/css/index-tailwind-output.css", "generate:doctests": "doctest-ts-improved . --ignore .*.spec.ts --ignore .*ConfigJson.ts", diff --git a/scripts/single_build.sh b/scripts/single_build.sh index ab10c56189..6282fb2ddb 100755 --- a/scripts/single_build.sh +++ b/scripts/single_build.sh @@ -8,9 +8,7 @@ if [ $# -eq 0 ] echo "No arguments given. Expected a themename" fi -npm run prep:layeroverview -npm run refresh:layeroverview -npm run generate:layeroverview +npm run reset:layeroverview npm run test npm run generate:layouts @@ -39,12 +37,12 @@ fi rm index.html cp "$THEME.html" index.html -sed -i "s/input,/input: {index:\".\/index.html\", land: \".\/land.html\"}/" vite_single.config.js -sed -i "s/\/\/ LAYOUT.ADD_CONFIG/layout.enableMoreQuests = false/" index_"$THEME".ts +sed -i "s/input,/input: {index:\".\/index.html\", land: \".\/land.html\"},/" vite_single.config.js +sed -i "s/\/\/ LAYOUT.ADD_CONFIG/theme.enableMoreQuests = false/" index_"$THEME".ts export NODE_OPTIONS=--max-old-space-size=20000 -vite build --sourcemap --config vite_single.config.js || { echo 'Vite build failed' ; exit 1; } +npx vite build --sourcemap --config vite_single.config.js || { echo 'Vite build failed' ; exit 1; } cp -r assets/layers/ dist/assets/layers/ diff --git a/src/UI/Image/NearbyImages.svelte b/src/UI/Image/NearbyImages.svelte index 9b66d109d6..98e811210f 100644 --- a/src/UI/Image/NearbyImages.svelte +++ b/src/UI/Image/NearbyImages.svelte @@ -157,7 +157,7 @@ type: "Feature", geometry: { type: "Point", coordinates: GeoOperations.centerpointCoordinates(feature) }, properties: { - name: layer.title?.GetRenderValue(feature.properties).Subs(feature.properties).txt, + name: layer.title?.GetRenderValue(feature.properties)?.Subs(feature.properties)?.txt ?? "Feature", focus: true, }, },