From d62974b1e3896f887c581ffcbe44488a6de8a9bc Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 11 Sep 2024 17:36:08 +0200 Subject: [PATCH 01/37] Tone down scrolling behaviour after user test --- .../TagRendering/TagRenderingEditable.svelte | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/UI/Popup/TagRendering/TagRenderingEditable.svelte b/src/UI/Popup/TagRendering/TagRenderingEditable.svelte index 946bd37cd..40ed8c7de 100644 --- a/src/UI/Popup/TagRendering/TagRenderingEditable.svelte +++ b/src/UI/Popup/TagRendering/TagRenderingEditable.svelte @@ -48,16 +48,13 @@ } let htmlElem: HTMLDivElement - $: { - if (editMode && htmlElem !== undefined && config.IsKnown($tags)) { - // EditMode switched to true yet the answer is already known, so the person wants to make a change - // Make sure that the question is in the scrollview! - + function enableEditMode(){ + // EditMode switched to true yet the answer is already known, so the person wants to make a change + // Make sure that the question is in the scrollview! + window.setTimeout(() => { // Some delay is applied to give Svelte the time to render the _question_ - window.setTimeout(() => { - Utils.scrollIntoView(htmlElem) - }, 50) - } + Utils.scrollIntoView(htmlElem) + }, 50) } const _htmlElement = new UIEventSource(undefined) @@ -132,9 +129,7 @@ { - editMode = true - }} + on:click={() => enableEditMode()} /> {/if} From 3939d2fe7bb4e6f40abd659372e4d67b457281c3 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 11 Sep 2024 17:41:00 +0200 Subject: [PATCH 02/37] Simplify food types (part of usertest for search) --- assets/layers/food/food.json | 95 ++++++++++++++++++------------------ langs/layers/ca.json | 6 +-- langs/layers/cs.json | 4 +- langs/layers/de.json | 11 ++--- langs/layers/en.json | 30 ++++++------ langs/layers/es.json | 6 +-- langs/layers/fr.json | 8 +-- langs/layers/nl.json | 30 ++++++------ langs/layers/pl.json | 2 +- 9 files changed, 94 insertions(+), 98 deletions(-) diff --git a/assets/layers/food/food.json b/assets/layers/food/food.json index 645d4876f..a166ea789 100644 --- a/assets/layers/food/food.json +++ b/assets/layers/food/food.json @@ -343,32 +343,32 @@ { "if": "cuisine=pizza", "then": { - "en": "This is a pizzeria", - "nl": "Dit is een pizzeria", - "de": "Dies ist eine Pizzeria", - "es": "Esto es una pizzería", - "fr": "C'est une pizzéria", - "ca": "Això és una pizzeria", - "pl": "To jest pizzeria", - "cs": "Tohle je pizzerie" + "en": "Pizzeria", + "nl": "Pizzeria", + "de": "Pizzeria", + "es": "Pizzería", + "fr": "Pizzéria", + "ca": "Pizzeria", + "pl": "Pizzeria", + "cs": "Pizzerie" } }, { "if": "cuisine=friture", "then": { - "en": "This is a friture", - "nl": "Dit is een frituur", - "de": "Dies ist eine Pommesbude", - "fr": "C'est une friterie", - "ca": "Això és una fregiduria", - "cs": "Tohle je hranolkárna" + "en": "Friture", + "nl": "Frituur", + "de": "Pommesbude", + "fr": "Friterie", + "ca": "Fregiduria", + "cs": "Hranolkárna" } }, { "if": "cuisine=pasta", "then": { - "en": "Mainly serves pasta", - "nl": "Dit is een pastazaak", + "en": "Serves mainly pasta", + "nl": "Pastazaak", "de": "Bietet vorwiegend Pastagerichte an", "es": "Principalmente sirve pasta", "fr": "Restaurant Italien", @@ -380,11 +380,11 @@ { "if": "cuisine=kebab", "then": { - "en": "This is kebab shop", - "nl": "Dit is een kebabzaak", - "de": "Das ist ein Dönerladen", - "es": "Esta es una tienda de kebak", - "fr": "C'est un resto kebab", + "en": "Kebab shop", + "nl": "Kebabzaak", + "de": "Dönerladen", + "es": "Tienda de kebak", + "fr": "Resto kebab", "pl": "To jest stoisko z kebabem", "ca": "Aquesta és una botiga de kebabs", "cs": "Tohle je kebab" @@ -393,21 +393,20 @@ { "if": "cuisine=sandwich", "then": { - "en": "This is a sandwich shop", - "nl": "Dit is een broodjeszaak", - "de": "Dies ist ein Sandwichladen", - "fr": "C'est une sandwicherie", - "ca": "Això és una botiga d'entrepans", + "en": "Sandwich shop", + "nl": "Broodjeszaak", + "de": "Sandwichladen", + "fr": "Sandwicherie", + "ca": "Botiga d'entrepans", "cs": "Toto je obchod se sendviči" } }, { "if": "cuisine=burger", "then": { - "en": "Burgers are served here", - "nl": "Dit is een hamburgerrestaurant", - "de": "Hier werden Burger serviert", - "es": "Aquí se sirven hamburguesas", + "en": "Burgersrestaurant", + "nl": "Hamburgerrestaurant", + "es": "Hamburguesas", "fr": "Des hamburgers sont servis ici", "ca": "Aquí es serveixen hamburgueses", "pl": "Są tu podawane burgery", @@ -417,8 +416,8 @@ { "if": "cuisine=sushi", "then": { - "en": "Sushi is served here", - "nl": "Dit is een sushirestaurant", + "en": "Sushi restaurant", + "nl": "Sushirestaurant", "de": "Hier wird Sushi serviert", "es": "Aquí se sirve sushi", "fr": "Des sushis sont servis ici", @@ -429,8 +428,8 @@ { "if": "cuisine=coffee", "then": { - "en": "Coffee is served here", - "nl": "Dit is een koffiezaak", + "en": "Coffeebar", + "nl": "Koffiezaak", "de": "Hier wird Kaffee serviert", "es": "Aquí se sirve café", "fr": "C'est un café", @@ -441,8 +440,8 @@ { "if": "cuisine=italian", "then": { - "en": "This is an Italian restaurant (which serves more than pasta and pizza)", - "nl": "Dit is een Italiaans restaurant (dat meer dan enkel pasta of pizza verkoopt)", + "en": "Italian restaurant (which serves more than pasta and pizza)", + "nl": "Italiaans restaurant (dat meer dan enkel pasta of pizza verkoopt)", "de": "Dies ist ein italienisches Restaurant (das mehr als nur Pasta und Pizza serviert)", "es": "Este es un restaurante italiano (que sirve algo más que pasta y pizza)", "fr": "C'est un Restaurant Italien (qui sert plus que des pâtes et des pizzas)", @@ -453,8 +452,8 @@ { "if": "cuisine=french", "then": { - "en": "French dishes are served here", - "nl": "Dit is een Frans restaurant", + "en": "French restaurant", + "nl": "Frans restaurant", "de": "Hier werden französische Gerichte serviert", "es": "Aquí se sirven platos Franceses", "fr": "Des plats français sont servis ici", @@ -465,8 +464,8 @@ { "if": "cuisine=chinese", "then": { - "en": "Chinese dishes are served here", - "nl": "Dit is een Chinees restaurant", + "en": "Chinese", + "nl": "Chinees restaurant", "de": "Hier werden chinesische Gerichte serviert", "es": "Aquí se sirven platos Chinos", "fr": "Des plats chinois sont servis ici", @@ -477,8 +476,8 @@ { "if": "cuisine=greek", "then": { - "en": "Greek dishes are served here", - "nl": "Dit is een Grieks restaurant", + "en": "Greek", + "nl": "Grieks restaurant", "de": "Hier werden griechische Gerichte serviert", "es": "Aquí se sirven platos Griegos", "fr": "Des plats grecs sont servis ici", @@ -489,8 +488,8 @@ { "if": "cuisine=indian", "then": { - "en": "Indian dishes are served here", - "nl": "Dit is een Indisch restaurant", + "en": "Indian", + "nl": "Indisch restaurant", "de": "Hier werden indische Gerichte serviert", "es": "Aquí se sirven platos Indios", "fr": "Des plats indiens sont servis ici", @@ -501,8 +500,8 @@ { "if": "cuisine=turkish", "then": { - "en": "Turkish dishes are served here", - "nl": "Dit is een Turks restaurant (dat meer dan enkel kebab verkoopt)", + "en": "Turkish restaurant", + "nl": "Turks restaurant", "de": "Hier werden türkische Gerichte serviert", "es": "Aquí se sirven platos Turcos", "fr": "Des plats turcs sont servis ici", @@ -513,8 +512,8 @@ { "if": "cuisine=thai", "then": { - "en": "Thai dishes are served here", - "nl": "Dit is een Thaïs restaurant", + "en": "Thai restaurant", + "nl": "Thaïs restaurant", "de": "Hier werden thailändische Gerichte serviert", "fr": "Des plats thaïlandais sont servis ici", "ca": "Aquí es serveixen plats tailandesos", diff --git a/langs/layers/ca.json b/langs/layers/ca.json index 4fd76cb3e..b7ed612a9 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -3926,10 +3926,10 @@ "Cuisine": { "mappings": { "0": { - "then": "Això és una pizzeria" + "then": "Pizzeria" }, "1": { - "then": "Això és una fregiduria" + "then": "Fregiduria" }, "10": { "then": "Aquí es serveixen plats xinesos" @@ -3953,7 +3953,7 @@ "then": "Aquesta és una botiga de kebabs" }, "4": { - "then": "Això és una botiga d'entrepans" + "then": "Botiga d'entrepans" }, "5": { "then": "Aquí es serveixen hamburgueses" diff --git a/langs/layers/cs.json b/langs/layers/cs.json index f09da4cf9..752e70cac 100644 --- a/langs/layers/cs.json +++ b/langs/layers/cs.json @@ -4072,10 +4072,10 @@ "Cuisine": { "mappings": { "0": { - "then": "Tohle je pizzerie" + "then": "Pizzerie" }, "1": { - "then": "Tohle je hranolkárna" + "then": "Hranolkárna" }, "10": { "then": "Podávají se zde čínské pokrmy" diff --git a/langs/layers/de.json b/langs/layers/de.json index 3e238b347..99499ad07 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -5147,10 +5147,10 @@ "Cuisine": { "mappings": { "0": { - "then": "Dies ist eine Pizzeria" + "then": "Pizzeria" }, "1": { - "then": "Dies ist eine Pommesbude" + "then": "Pommesbude" }, "10": { "then": "Hier werden chinesische Gerichte serviert" @@ -5171,13 +5171,10 @@ "then": "Bietet vorwiegend Pastagerichte an" }, "3": { - "then": "Das ist ein Dönerladen" + "then": "Dönerladen" }, "4": { - "then": "Dies ist ein Sandwichladen" - }, - "5": { - "then": "Hier werden Burger serviert" + "then": "Sandwichladen" }, "6": { "then": "Hier wird Sushi serviert" diff --git a/langs/layers/en.json b/langs/layers/en.json index e0ed17fc1..1ec30d529 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -5149,49 +5149,49 @@ "Cuisine": { "mappings": { "0": { - "then": "This is a pizzeria" + "then": "Pizzeria" }, "1": { - "then": "This is a friture" + "then": "Friture" }, "10": { - "then": "Chinese dishes are served here" + "then": "Chinese" }, "11": { - "then": "Greek dishes are served here" + "then": "Greek" }, "12": { - "then": "Indian dishes are served here" + "then": "Indian" }, "13": { - "then": "Turkish dishes are served here" + "then": "Turkish restaurant" }, "14": { - "then": "Thai dishes are served here" + "then": "Thai restaurant" }, "2": { - "then": "Mainly serves pasta" + "then": "Serves mainly pasta" }, "3": { - "then": "This is kebab shop" + "then": "Kebab shop" }, "4": { - "then": "This is a sandwich shop" + "then": "Sandwich shop" }, "5": { - "then": "Burgers are served here" + "then": "Burgersrestaurant" }, "6": { - "then": "Sushi is served here" + "then": "Sushi restaurant" }, "7": { - "then": "Coffee is served here" + "then": "Coffeebar" }, "8": { - "then": "This is an Italian restaurant (which serves more than pasta and pizza)" + "then": "Italian restaurant (which serves more than pasta and pizza)" }, "9": { - "then": "French dishes are served here" + "then": "French restaurant" } }, "question": "What kind of food is served here?", diff --git a/langs/layers/es.json b/langs/layers/es.json index 00d086d87..9bccfcccc 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -2707,7 +2707,7 @@ "Cuisine": { "mappings": { "0": { - "then": "Esto es una pizzería" + "then": "Pizzería" }, "10": { "then": "Aquí se sirven platos Chinos" @@ -2725,10 +2725,10 @@ "then": "Principalmente sirve pasta" }, "3": { - "then": "Esta es una tienda de kebak" + "then": "Tienda de kebak" }, "5": { - "then": "Aquí se sirven hamburguesas" + "then": "Hamburguesas" }, "6": { "then": "Aquí se sirve sushi" diff --git a/langs/layers/fr.json b/langs/layers/fr.json index 942988b85..9381bbb44 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -3560,10 +3560,10 @@ "Cuisine": { "mappings": { "0": { - "then": "C'est une pizzéria" + "then": "Pizzéria" }, "1": { - "then": "C'est une friterie" + "then": "Friterie" }, "10": { "then": "Des plats chinois sont servis ici" @@ -3584,10 +3584,10 @@ "then": "Restaurant Italien" }, "3": { - "then": "C'est un resto kebab" + "then": "Resto kebab" }, "4": { - "then": "C'est une sandwicherie" + "then": "Sandwicherie" }, "5": { "then": "Des hamburgers sont servis ici" diff --git a/langs/layers/nl.json b/langs/layers/nl.json index a3c7e4400..7d4b96c92 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -4276,49 +4276,49 @@ "Cuisine": { "mappings": { "0": { - "then": "Dit is een pizzeria" + "then": "Pizzeria" }, "1": { - "then": "Dit is een frituur" + "then": "Frituur" }, "10": { - "then": "Dit is een Chinees restaurant" + "then": "Chinees restaurant" }, "11": { - "then": "Dit is een Grieks restaurant" + "then": "Grieks restaurant" }, "12": { - "then": "Dit is een Indisch restaurant" + "then": "Indisch restaurant" }, "13": { - "then": "Dit is een Turks restaurant (dat meer dan enkel kebab verkoopt)" + "then": "Turks restaurant" }, "14": { - "then": "Dit is een Thaïs restaurant" + "then": "Thaïs restaurant" }, "2": { - "then": "Dit is een pastazaak" + "then": "Pastazaak" }, "3": { - "then": "Dit is een kebabzaak" + "then": "Kebabzaak" }, "4": { - "then": "Dit is een broodjeszaak" + "then": "Broodjeszaak" }, "5": { - "then": "Dit is een hamburgerrestaurant" + "then": "Hamburgerrestaurant" }, "6": { - "then": "Dit is een sushirestaurant" + "then": "Sushirestaurant" }, "7": { - "then": "Dit is een koffiezaak" + "then": "Koffiezaak" }, "8": { - "then": "Dit is een Italiaans restaurant (dat meer dan enkel pasta of pizza verkoopt)" + "then": "Italiaans restaurant (dat meer dan enkel pasta of pizza verkoopt)" }, "9": { - "then": "Dit is een Frans restaurant" + "then": "Frans restaurant" } }, "question": "Welk soort gerechten worden hier geserveerd?", diff --git a/langs/layers/pl.json b/langs/layers/pl.json index 09be0285f..b809a6212 100644 --- a/langs/layers/pl.json +++ b/langs/layers/pl.json @@ -1998,7 +1998,7 @@ "Cuisine": { "mappings": { "0": { - "then": "To jest pizzeria" + "then": "Pizzeria" }, "2": { "then": "Podaje głównie makarony" From 05417ab38037366b5afd4364babedfa17db6defd Mon Sep 17 00:00:00 2001 From: mcliquid Date: Wed, 11 Sep 2024 15:33:59 +0000 Subject: [PATCH 03/37] Translated using Weblate (German) Currently translated at 99.9% (3742 of 3743 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/de/ --- langs/layers/de.json | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/langs/layers/de.json b/langs/layers/de.json index 99499ad07..604a8eb0f 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -3033,6 +3033,7 @@ "climbing_opportunity": { "description": "Rückfallebene mit Orten, auf denen Klettern eventuell möglich ist. Sie wird erst angezeigt, wenn man stark hineinzoomt, um zu verhindern, dass Elemente doppelt hinzugefügt werden", "name": "Klettermöglichkeiten?", + "snapName": "eine Wand, Klippe oder ein Felsen", "tagRenderings": { "climbing-opportunity-name": { "render": "{name}" @@ -3434,6 +3435,7 @@ "cycleways_and_roads": { "description": "Infrastruktur, die man mit dem Fahrrad befahren kann, begleitet von diesbezüglichen Fragen", "name": "Radwege und Straßen", + "snapName": "eine Straße oder einen Radweg", "tagRenderings": { "Cycleway type for a road": { "mappings": { @@ -5910,6 +5912,7 @@ "indoors": { "description": "Grundlegende Innenraumkartierung: zeigt Umrisse von Räumen", "name": "Innenräume", + "snapName": "eine Innenwand", "tagRenderings": { "name": { "freeform": { @@ -5952,6 +5955,9 @@ "14": { "then": "Dies ist ein Büro" }, + "15": { + "then": "Dies ist ein Kopierraum" + }, "16": { "then": "Dies ist eine Gefängniszelle" }, @@ -6079,6 +6085,7 @@ "title": "einen Bordstein" } }, + "snapName": "ein Bordstein", "tagRenderings": { "kerb-height": { "freeform": { @@ -7296,7 +7303,8 @@ }, "pedestrian_path": { "description": "Fußgängerwege, insbesondere für die Navigation in Gebäuden und die Aufnahme von Eingängen in diese Ebene", - "name": "Fußgängerwege" + "name": "Fußgängerwege", + "snapName": "ein Fußweg" }, "pharmacy": { "description": "Eine Ebene mit Apotheken, die (wahrscheinlich) verschreibungspflichtige Medikamente ausgeben", @@ -8183,6 +8191,9 @@ }, "4": { "then": "Dieser Ort bietet kabelgebundenen Internetzugang" + }, + "5": { + "then": "Dieser Ort bietet sowohl drahtloses Internet als auch Internetzugang über ein Terminal oder einen Computer" } }, "question": "Bietet dieser Ort Internetzugang?" @@ -9037,6 +9048,7 @@ "shelter": { "description": "Eine Ebene, die verschiedene Bauformen von Unterständen zeigt", "name": "Unterstände", + "snapName": "ein Unterstand", "tagRenderings": { "shelter-type": { "mappings": { @@ -12005,6 +12017,7 @@ }, "walls_and_buildings": { "description": "Spezielle Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist nützlich in Voreinstellungen für Objekte, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden.", + "snapName": "eine Wand oder ein Gebäude", "tagRenderings": { "entrance_info": { "mappings": { @@ -12235,4 +12248,4 @@ "render": "Windrad" } } -} \ No newline at end of file +} From 7c73cc9c897ca0803eeae87e99839f026d964a2c Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 11 Sep 2024 17:58:02 +0200 Subject: [PATCH 04/37] Chore: license files --- assets/layers/bike_parking/license_info.json | 18 +++++++++--------- .../layers/bike_parking/safe_loops.svg.license | 2 ++ assets/svg/unsnap.svg.license | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 assets/layers/bike_parking/safe_loops.svg.license diff --git a/assets/layers/bike_parking/license_info.json b/assets/layers/bike_parking/license_info.json index cc2ca156f..d85d10d04 100644 --- a/assets/layers/bike_parking/license_info.json +++ b/assets/layers/bike_parking/license_info.json @@ -43,6 +43,14 @@ "https://osoc.be/editions/2020/walk-by-brussels" ] }, + { + "path": "safe_loops.svg", + "license": "CC-BY-SA-4.0", + "authors": [ + "Robbert Gurdeep Singh" + ], + "sources": [] + }, { "path": "shed.svg", "license": "CC-BY-SA-4.0", @@ -82,13 +90,5 @@ "sources": [ "https://osoc.be/editions/2020/walk-by-brussels" ] - }, - { - "path": "safe_loops.svg", - "license": "CC-BY-SA", - "authors": [ - "Robbert Gurdeep Singh" - ], - "sources": [ ] } -] +] \ No newline at end of file diff --git a/assets/layers/bike_parking/safe_loops.svg.license b/assets/layers/bike_parking/safe_loops.svg.license new file mode 100644 index 000000000..3803d0a51 --- /dev/null +++ b/assets/layers/bike_parking/safe_loops.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Robbert Gurdeep Singh +SPDX-License-Identifier: CC-BY-SA \ No newline at end of file diff --git a/assets/svg/unsnap.svg.license b/assets/svg/unsnap.svg.license index 2452bee1e..ed0288300 100644 --- a/assets/svg/unsnap.svg.license +++ b/assets/svg/unsnap.svg.license @@ -1,2 +1,2 @@ SPDX-FileCopyrightText: Pieter Vander Vennet -SPDX-License-Identifier: CC0 \ No newline at end of file +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file From d079ba91aa29395262b8084f811eec26e51750b9 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 11 Sep 2024 23:25:33 +0200 Subject: [PATCH 05/37] Fix: enable editing questions (and settings) again (oopsie) --- src/UI/Popup/TagRendering/TagRenderingEditable.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/UI/Popup/TagRendering/TagRenderingEditable.svelte b/src/UI/Popup/TagRendering/TagRenderingEditable.svelte index 40ed8c7de..658205a6f 100644 --- a/src/UI/Popup/TagRendering/TagRenderingEditable.svelte +++ b/src/UI/Popup/TagRendering/TagRenderingEditable.svelte @@ -49,6 +49,7 @@ let htmlElem: HTMLDivElement function enableEditMode(){ + editMode = true // EditMode switched to true yet the answer is already known, so the person wants to make a change // Make sure that the question is in the scrollview! window.setTimeout(() => { From f3fdc95bd0bae0f72da1ef3557e9586aded3450b Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 12 Sep 2024 01:31:00 +0200 Subject: [PATCH 06/37] Feature: show geocoded images on the map when hovered, show interactive minimap on nearbyImages element --- .../layers/geocoded_image/geocoded_image.json | 70 +++++++++ assets/svg/circle.svg | 2 +- assets/svg/direction_gradient.svg | 146 ++++++------------ assets/themes/velopark/velopark.json | 2 +- package.json | 4 +- public/css/index-tailwind-output.css | 45 ++++-- src/Logic/ImageProviders/ImageProvider.ts | 9 +- src/Logic/ImageProviders/Mapillary.ts | 7 +- src/Logic/Web/NearbyImagesSearch.ts | 2 +- src/Models/Constants.ts | 1 + .../ThemeConfig/Conversion/Validation.ts | 2 +- src/Models/ThemeViewState.ts | 71 +++++---- src/UI/Comparison/ComparisonTable.svelte | 1 + src/UI/Image/AttributedImage.svelte | 41 ++++- src/UI/Image/ImageCarousel.ts | 2 +- src/UI/Image/LinkableImage.svelte | 30 +++- src/UI/Image/NearbyImages.svelte | 125 ++++++++++++++- src/UI/Image/NearbyImagesCollapsed.svelte | 12 +- src/UI/Map/Icon.svelte | 2 +- src/UI/Map/ShowDataLayer.ts | 5 +- src/UI/SpecialVisualization.ts | 1 + src/assets/svg/Direction_gradient.svelte | 2 +- src/assets/svg/Unsnap.svelte | 4 + 23 files changed, 404 insertions(+), 182 deletions(-) create mode 100644 assets/layers/geocoded_image/geocoded_image.json create mode 100644 src/assets/svg/Unsnap.svelte diff --git a/assets/layers/geocoded_image/geocoded_image.json b/assets/layers/geocoded_image/geocoded_image.json new file mode 100644 index 000000000..c5a9d8b13 --- /dev/null +++ b/assets/layers/geocoded_image/geocoded_image.json @@ -0,0 +1,70 @@ +{ + "id": "geocoded_image", + "source": "special", + "name": null, + "tagRenderings": [], + "pointRendering": [ + { + "location": [ + "point", + "centroid" + ], + "marker": [ + { + "icon": "direction_gradient", + "color": { + "render": "#44cc22", + "mappings": [ + { + "if": "selected=yes", + "then": "#cccc22" + } + ] + } + } + ], + "rotation": "{rotation}deg", + "rotationAlignment": "map", + "pitchAlignment": "map", + "iconSize": "60,60" + }, + { + "location": [ + "point", + "centroid" + ], + "rotationAlignment": "map", + "pitchAlignment": "map", + "marker": [ + { + "icon": "circle", + "color": { + "render": "#44cc22", + "mappings": [ + { + "if": "selected=yes", + "then": "#cccc22" + } + ] + } + } + ], + "iconSize": "14,14" + }, + { + "location": [ + "point", + "centroid" + ], + "rotationAlignment": "map", + "pitchAlignment": "map", + "marker": [ + { + "icon": "ring", + "color": "#000" + } + ], + "iconSize": "14,14" + } + ] +} diff --git a/assets/svg/circle.svg b/assets/svg/circle.svg index 0da26a179..4de11e39b 100644 --- a/assets/svg/circle.svg +++ b/assets/svg/circle.svg @@ -32,7 +32,7 @@ inkscape:window-maximized="1" inkscape:current-layer="svg1" /> diff --git a/assets/svg/direction_gradient.svg b/assets/svg/direction_gradient.svg index 35a51d34a..9d9d2e414 100644 --- a/assets/svg/direction_gradient.svg +++ b/assets/svg/direction_gradient.svg @@ -1,101 +1,55 @@ - - - - - - - - - - - - - + version="1.0" + width="860.50732pt" + height="860.50732pt" + viewBox="0 0 860.50732 860.50732" + preserveAspectRatio="xMidYMid meet" + id="svg14" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + + + + + + + + Created by potrace 1.15, written by Peter Selinger 2001-2017 - - image/svg+xml - - - - - - + + image/svg+xml + + + + + diff --git a/assets/themes/velopark/velopark.json b/assets/themes/velopark/velopark.json index d027c7075..47799add7 100644 --- a/assets/themes/velopark/velopark.json +++ b/assets/themes/velopark/velopark.json @@ -234,7 +234,7 @@ { "id": "nearby_images", "render": { - "*": "{nearby_images(open,readonly)}" + "*": "{nearby_images(,readonly)}" } } ], diff --git a/package.json b/package.json index d72175767..33e8e6584 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.46.4", + "version": "0.46.5", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", @@ -91,7 +91,7 @@ "generate:contributor-list": "vite-node scripts/generateContributors.ts", "generate:service-worker": "tsc src/service-worker.ts --outFile public/service-worker.js && git_hash=$(git rev-parse HEAD) && sed -i.bak \"s/GITHUB-COMMIT/$git_hash/\" public/service-worker.js && rm public/service-worker.js.bak", "reset:layeroverview": "npm run prep:layeroverview && npm run generate:layeroverview && npm run refresh:layeroverview", - "prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json && echo '{}' > ./src/assets/generated/layers/summary.json && echo '{}' > ./src/assets/generated/layers/last_click.json && echo '[]' > ./src/assets/generated/theme_overview.json", + "prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json && echo '{}' > ./src/assets/generated/layers/summary.json && echo '{}' > ./src/assets/generated/layers/last_click.json && echo '[]' > ./src/assets/generated/theme_overview.json echo '{}' > ./src/assets/generated/geocoded_image.json", "generate": "npm run generate:licenses && npm run generate:images && npm run generate:charging-stations && npm run generate:translations && npm run refresh:layeroverview && npm run generate:service-worker", "generate:charging-stations": "cd ./assets/layers/charging_station && vite-node csvToJson.ts && cd -", "clean:tests": "find . -type f -name \"*.doctest.ts\" | xargs -r rm", diff --git a/public/css/index-tailwind-output.css b/public/css/index-tailwind-output.css index bdf385513..515ed0225 100644 --- a/public/css/index-tailwind-output.css +++ b/public/css/index-tailwind-output.css @@ -1761,14 +1761,14 @@ input[type="range"].range-lg::-moz-range-thumb { height: 3.5rem; } -.h-16 { - height: 4rem; -} - .h-48 { height: 12rem; } +.h-16 { + height: 4rem; +} + .h-40 { height: 10rem; } @@ -3251,11 +3251,6 @@ input[type="range"].range-lg::-moz-range-thumb { background-color: rgb(0 0 0 / var(--tw-bg-opacity)); } -.bg-indigo-100 { - --tw-bg-opacity: 1; - background-color: rgb(229 237 255 / var(--tw-bg-opacity)); -} - .bg-gray-100 { --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); @@ -3286,6 +3281,11 @@ input[type="range"].range-lg::-moz-range-thumb { background-color: rgb(253 246 178 / var(--tw-bg-opacity)); } +.bg-indigo-100 { + --tw-bg-opacity: 1; + background-color: rgb(229 237 255 / var(--tw-bg-opacity)); +} + .bg-purple-100 { --tw-bg-opacity: 1; background-color: rgb(237 235 254 / var(--tw-bg-opacity)); @@ -4032,6 +4032,10 @@ input[type="range"].range-lg::-moz-range-thumb { padding-right: 1rem; } +.pt-2 { + padding-top: 0.5rem; +} + .pb-1\.5 { padding-bottom: 0.375rem; } @@ -5922,11 +5926,6 @@ svg.apply-fill path { border-color: rgb(209 213 219 / var(--tw-border-opacity)); } -.hover\:bg-indigo-200:hover { - --tw-bg-opacity: 1; - background-color: rgb(205 219 254 / var(--tw-bg-opacity)); -} - .hover\:bg-gray-100:hover { --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); @@ -5962,6 +5961,11 @@ svg.apply-fill path { background-color: rgb(252 233 106 / var(--tw-bg-opacity)); } +.hover\:bg-indigo-200:hover { + --tw-bg-opacity: 1; + background-color: rgb(205 219 254 / var(--tw-bg-opacity)); +} + .hover\:bg-purple-200:hover { --tw-bg-opacity: 1; background-color: rgb(220 215 254 / var(--tw-bg-opacity)); @@ -8110,6 +8114,10 @@ svg.apply-fill path { height: 2.75rem; } + .sm\:h-32 { + height: 8rem; + } + .sm\:h-64 { height: 16rem; } @@ -8299,6 +8307,10 @@ svg.apply-fill path { display: none; } + .md\:h-64 { + height: 16rem; + } + .md\:h-auto { height: auto; } @@ -8482,6 +8494,11 @@ svg.apply-fill path { padding-bottom: 2rem; } + .md\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + .md\:pr-2 { padding-right: 0.5rem; } diff --git a/src/Logic/ImageProviders/ImageProvider.ts b/src/Logic/ImageProviders/ImageProvider.ts index c59251de2..a89ee8600 100644 --- a/src/Logic/ImageProviders/ImageProvider.ts +++ b/src/Logic/ImageProviders/ImageProvider.ts @@ -9,7 +9,14 @@ export interface ProvidedImage { key: string provider: ImageProvider id: string - date?: Date + date?: Date, + /** + * Compass angle of the taken image + * 0 = north, 90° = East + */ + rotation?: number + lat?: number, + lon?: number } export default abstract class ImageProvider { diff --git a/src/Logic/ImageProviders/Mapillary.ts b/src/Logic/ImageProviders/Mapillary.ts index 1a5a51715..3ce222714 100644 --- a/src/Logic/ImageProviders/Mapillary.ts +++ b/src/Logic/ImageProviders/Mapillary.ts @@ -162,12 +162,14 @@ export class Mapillary extends ImageProvider { const metadataUrl = "https://graph.mapillary.com/" + mapillaryId + - "?fields=thumb_1024_url,thumb_original_url,captured_at,creator&access_token=" + + "?fields=thumb_1024_url,thumb_original_url,captured_at,compass_angle,geometry,creator&access_token=" + Constants.mapillary_client_token_v4 const response = await Utils.downloadJsonCached(metadataUrl, 60 * 60) const url = response["thumb_1024_url"] const url_hd = response["thumb_original_url"] const date = new Date() + const rotation = (720 - Number(response["compass_angle"])) % 360 + const geometry = response["geometry"] date.setTime(response["captured_at"]) return { id: "" + mapillaryId, @@ -176,6 +178,9 @@ export class Mapillary extends ImageProvider { provider: this, date, key, + rotation, + lat: geometry.coordinates[1], + lon: geometry.coordinates[0] } } } diff --git a/src/Logic/Web/NearbyImagesSearch.ts b/src/Logic/Web/NearbyImagesSearch.ts index 7cd45e089..c4dc40dcd 100644 --- a/src/Logic/Web/NearbyImagesSearch.ts +++ b/src/Logic/Web/NearbyImagesSearch.ts @@ -56,7 +56,7 @@ export interface P4CPicture { author? license? detailsUrl?: string - direction? + direction?: number, osmTags?: object /*To copy straight into OSM!*/ thumbUrl: string details: { diff --git a/src/Models/Constants.ts b/src/Models/Constants.ts index d1a22e5a1..40c070ad5 100644 --- a/src/Models/Constants.ts +++ b/src/Models/Constants.ts @@ -25,6 +25,7 @@ export default class Constants { "last_click", "favourite", "summary", + "geocoded_image" ] as const /** * Special layers which are not included in a theme by default diff --git a/src/Models/ThemeConfig/Conversion/Validation.ts b/src/Models/ThemeConfig/Conversion/Validation.ts index 521547eac..3e8b1fff9 100644 --- a/src/Models/ThemeConfig/Conversion/Validation.ts +++ b/src/Models/ThemeConfig/Conversion/Validation.ts @@ -718,7 +718,7 @@ export class ValidatePointRendering extends DesugaringStep 0)) { context .enter("location") .err( diff --git a/src/Models/ThemeViewState.ts b/src/Models/ThemeViewState.ts index df2624450..7b49572b2 100644 --- a/src/Models/ThemeViewState.ts +++ b/src/Models/ThemeViewState.ts @@ -5,7 +5,7 @@ import { Store, UIEventSource } from "../Logic/UIEventSource" import { FeatureSource, IndexedFeatureSource, - WritableFeatureSource, + WritableFeatureSource } from "../Logic/FeatureSource/FeatureSource" import { OsmConnection } from "../Logic/Osm/OsmConnection" import { ExportableMap, MapProperties } from "./MapProperties" @@ -51,7 +51,7 @@ import SaveFeatureSourceToLocalStorage from "../Logic/FeatureSource/Actors/SaveF import BBoxFeatureSource from "../Logic/FeatureSource/Sources/TouchesBboxFeatureSource" import ThemeViewStateHashActor from "../Logic/Web/ThemeViewStateHashActor" import NoElementsInViewDetector, { - FeatureViewState, + FeatureViewState } from "../Logic/Actors/NoElementsInViewDetector" import FilteredLayer from "./FilteredLayer" import { PreferredRasterLayerSelector } from "../Logic/Actors/PreferredRasterLayerSelector" @@ -64,13 +64,12 @@ import { GeolocationControlState } from "../UI/BigComponents/GeolocationControl" import Zoomcontrol from "../UI/Zoomcontrol" import { SummaryTileSource, - SummaryTileSourceRewriter, + SummaryTileSourceRewriter } from "../Logic/FeatureSource/TiledFeatureSource/SummaryTileSource" import summaryLayer from "../assets/generated/layers/summary.json" import last_click_layerconfig from "../assets/generated/layers/last_click.json" import { LayerConfigJson } from "./ThemeConfig/Json/LayerConfigJson" -import Locale from "../UI/i18n/Locale" import Hash from "../Logic/Web/Hash" import { GeoOperations } from "../Logic/GeoOperations" import { CombinedFetcher } from "../Logic/Web/NearbyImagesSearch" @@ -154,6 +153,10 @@ export default class ThemeViewState implements SpecialVisualizationState { public readonly toCacheSavers: ReadonlyMap public readonly nearbyImageSearcher: CombinedFetcher + /** + * Geocoded images that should be shown on the main map; probably only the currently hovered image + */ + public readonly geocodedImages: UIEventSource = new UIEventSource([ ]) constructor(layout: LayoutConfig, mvtAvailableLayers: Set) { Utils.initDomPurify() @@ -178,7 +181,7 @@ export default class ThemeViewState implements SpecialVisualizationState { "oauth_token", undefined, "Used to complete the login" - ), + ) }) this.userRelatedState = new UserRelatedState( this.osmConnection, @@ -257,8 +260,8 @@ export default class ThemeViewState implements SpecialVisualizationState { bbox.asGeoJson({ zoom: this.mapProperties.zoom.data, ...this.mapProperties.location.data, - id: "current_view_" + currentViewIndex, - }), + id: "current_view_" + currentViewIndex + }) ] }) ) @@ -275,7 +278,7 @@ export default class ThemeViewState implements SpecialVisualizationState { featurePropertiesStore: this.featureProperties, osmConnection: this.osmConnection, historicalUserLocations: this.geolocation.historicalUserLocations, - featureSwitches: this.featureSwitches, + featureSwitches: this.featureSwitches }, layout?.isLeftRightSensitive() ?? false, (e, extraMsg) => this.reportError(e, extraMsg) @@ -303,7 +306,7 @@ export default class ThemeViewState implements SpecialVisualizationState { "leftover features, such as", features[0].properties ) - }, + } } ) this.perLayer = perLayer.perLayer @@ -359,7 +362,7 @@ export default class ThemeViewState implements SpecialVisualizationState { { currentZoom: this.mapProperties.zoom, layerState: this.layerState, - bounds: this.visualFeedbackViewportBounds, + bounds: this.visualFeedbackViewportBounds } ) this.hasDataInView = new NoElementsInViewDetector(this).hasFeatureInView @@ -453,7 +456,7 @@ export default class ThemeViewState implements SpecialVisualizationState { doShowLayer, metaTags: this.userRelatedState.preferencesAsTags, selectedElement: this.selectedElement, - fetchStore: (id) => this.featureProperties.getStore(id), + fetchStore: (id) => this.featureProperties.getStore(id) }) }) return filteringFeatureSource @@ -480,7 +483,7 @@ export default class ThemeViewState implements SpecialVisualizationState { doShowLayer: flayerGps.isDisplayed, layer: flayerGps.layerDef, metaTags: this.userRelatedState.preferencesAsTags, - selectedElement: this.selectedElement, + selectedElement: this.selectedElement }) } @@ -569,7 +572,7 @@ export default class ThemeViewState implements SpecialVisualizationState { Hotkeys.RegisterHotkey( { nomod: " ", - onUp: true, + onUp: true }, docs.selectItem, () => { @@ -595,7 +598,7 @@ export default class ThemeViewState implements SpecialVisualizationState { Hotkeys.RegisterHotkey( { nomod: "" + i, - onUp: true, + onUp: true }, doc, () => this.selectClosestAtCenter(i - 1) @@ -608,7 +611,7 @@ export default class ThemeViewState implements SpecialVisualizationState { } Hotkeys.RegisterHotkey( { - nomod: "b", + nomod: "b" }, docs.openLayersPanel, () => { @@ -619,7 +622,7 @@ export default class ThemeViewState implements SpecialVisualizationState { ) Hotkeys.RegisterHotkey( { - nomod: "s", + nomod: "s" }, Translations.t.hotkeyDocumentation.openFilterPanel, () => { @@ -697,7 +700,7 @@ export default class ThemeViewState implements SpecialVisualizationState { Hotkeys.RegisterHotkey( { - shift: "T", + shift: "T" }, Translations.t.hotkeyDocumentation.translationMode, () => { @@ -734,7 +737,7 @@ export default class ThemeViewState implements SpecialVisualizationState { this.mapProperties.zoom.map((z) => Math.max(Math.floor(z), 0)), this.mapProperties, { - isActive: this.mapProperties.zoom.map((z) => z < maxzoom), + isActive: this.mapProperties.zoom.map((z) => z < maxzoom) } ) @@ -755,6 +758,7 @@ export default class ThemeViewState implements SpecialVisualizationState { gps_location: this.geolocation.currentUserLocation, gps_location_history: this.geolocation.historicalUserLocations, gps_track: this.geolocation.historicalUserLocationsTrack, + geocoded_image: new StaticFeatureSource(this.geocodedImages), selected_element: new StaticFeatureSource( this.selectedElement.map((f) => (f === undefined ? empty : [f])) ), @@ -766,7 +770,7 @@ export default class ThemeViewState implements SpecialVisualizationState { current_view: this.currentView, favourite: this.favourites, summary: this.featureSummary, - last_click: this.lastClickObject, + last_click: this.lastClickObject } this.closestFeatures.registerSource(specialLayers.favourite, "favourite") @@ -821,7 +825,7 @@ export default class ThemeViewState implements SpecialVisualizationState { doShowLayer: flayer.isDisplayed, layer: flayer.layerDef, metaTags: this.userRelatedState.preferencesAsTags, - selectedElement: this.selectedElement, + selectedElement: this.selectedElement }) }) const summaryLayerConfig = new LayerConfig(summaryLayer, "summaryLayer") @@ -829,7 +833,7 @@ export default class ThemeViewState implements SpecialVisualizationState { features: specialLayers.summary, layer: summaryLayerConfig, // doShowLayer: this.mapProperties.zoom.map((z) => z < maxzoom), - selectedElement: this.selectedElement, + selectedElement: this.selectedElement }) const lastClickLayerConfig = new LayerConfig( @@ -840,14 +844,14 @@ export default class ThemeViewState implements SpecialVisualizationState { lastClickLayerConfig.isShown === undefined ? specialLayers.last_click : specialLayers.last_click.features.mapD((fs) => - fs.filter((f) => { - const matches = lastClickLayerConfig.isShown.matchesProperties( - f.properties - ) - console.debug("LastClick ", f, "matches", matches) - return matches - }) - ) + fs.filter((f) => { + const matches = lastClickLayerConfig.isShown.matchesProperties( + f.properties + ) + console.debug("LastClick ", f, "matches", matches) + return matches + }) + ) new ShowDataLayer(this.map, { features: new StaticFeatureSource(lastClickFiltered), layer: lastClickLayerConfig, @@ -858,9 +862,9 @@ export default class ThemeViewState implements SpecialVisualizationState { } this.map.data.flyTo({ zoom: Constants.minZoomLevelToAddNewPoint, - center: GeoOperations.centerpointCoordinates(feature), + center: GeoOperations.centerpointCoordinates(feature) }) - }, + } }) } @@ -871,6 +875,7 @@ export default class ThemeViewState implements SpecialVisualizationState { this.selectedElement.addCallback((selected) => { if (selected === undefined) { this.focusOnMap() + this.geocodedImages.set([]) } else { this.lastClickObject.clear() } @@ -953,8 +958,8 @@ export default class ThemeViewState implements SpecialVisualizationState { userid: this.osmConnection.userDetails.data?.uid, pendingChanges: this.changes.pendingChanges.data, previousChanges: this.changes.allChanges.data, - changeRewrites: Utils.MapToObj(this.changes._changesetHandler._remappings), - }), + changeRewrites: Utils.MapToObj(this.changes._changesetHandler._remappings) + }) }) } catch (e) { console.error("Could not upload an error report") diff --git a/src/UI/Comparison/ComparisonTable.svelte b/src/UI/Comparison/ComparisonTable.svelte index 9c20fb2bf..0a8bc1626 100644 --- a/src/UI/Comparison/ComparisonTable.svelte +++ b/src/UI/Comparison/ComparisonTable.svelte @@ -132,6 +132,7 @@
{#each $unknownImages as image (image)} let fallbackImage: string = undefined @@ -20,19 +22,43 @@ let imgEl: HTMLImageElement export let imgClass: string = undefined + export let state: SpecialVisualizationState = undefined export let attributionFormat: "minimal" | "medium" | "large" = "medium" export let previewedImage: UIEventSource export let canZoom = previewedImage !== undefined let loaded = false - let showBigPreview = new UIEventSource(false) - onDestroy(showBigPreview.addCallbackAndRun(shown=>{ - if(!shown){ + let showBigPreview = new UIEventSource(false) + onDestroy(showBigPreview.addCallbackAndRun(shown => { + if (!shown) { previewedImage.set(false) } })) onDestroy(previewedImage.addCallbackAndRun(previewedImage => { showBigPreview.set(previewedImage?.id === image.id) })) + + function highlight(entered: boolean = true) { + if (!entered) { + state?.geocodedImages.set([]) + return + } + if (isNaN(image.lon) || isNaN(image.lat)) { + return + } + const f: Feature = { + type: "Feature", + properties: { + id: image.id, + rotation: image.rotation + }, + geometry: { + type: "Point", + coordinates: [image.lon, image.lat] + } + } + console.log(f) + state?.geocodedImages.set([f]) + } @@ -48,7 +74,10 @@
-
+
highlight()} + on:mouseleave={() => highlight(false)} + > (loaded = true)} @@ -68,7 +97,7 @@ {#if canZoom && loaded}
previewedImage.set(image)}> + on:click={() => previewedImage.set(image)}>
{/if} diff --git a/src/UI/Image/ImageCarousel.ts b/src/UI/Image/ImageCarousel.ts index 9b0ee5d21..8c6d1e5b9 100644 --- a/src/UI/Image/ImageCarousel.ts +++ b/src/UI/Image/ImageCarousel.ts @@ -8,7 +8,6 @@ import ImageProvider, { ProvidedImage } from "../../Logic/ImageProviders/ImagePr import { OsmConnection } from "../../Logic/Osm/OsmConnection" import { Changes } from "../../Logic/Osm/Changes" import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig" -import { Feature } from "geojson" import SvelteUIElement from "../Base/SvelteUIElement" import AttributedImage from "./AttributedImage.svelte" @@ -30,6 +29,7 @@ export class ImageCarousel extends Toggle { try { let image: BaseUIElement = new SvelteUIElement(AttributedImage, { image: url, + state, previewedImage: state?.previewedImage, }) diff --git a/src/UI/Image/LinkableImage.svelte b/src/UI/Image/LinkableImage.svelte index b290ecf95..8112abfb7 100644 --- a/src/UI/Image/LinkableImage.svelte +++ b/src/UI/Image/LinkableImage.svelte @@ -14,8 +14,8 @@ import AttributedImage from "./AttributedImage.svelte" import SpecialTranslation from "../Popup/TagRendering/SpecialTranslation.svelte" import LoginToggle from "../Base/LoginToggle.svelte" - import ImagePreview from "./ImagePreview.svelte" - import FloatOver from "../Base/FloatOver.svelte" + import { onDestroy } from "svelte" + import { Utils } from "../../Utils" export let tags: UIEventSource export let state: SpecialVisualizationState @@ -23,6 +23,8 @@ export let feature: Feature export let layer: LayerConfig + export let highlighted: UIEventSource = undefined + export let linkable = true let targetValue = Object.values(image.osmTags)[0] let isLinked = new UIEventSource(Object.values(tags.data).some((v) => targetValue === v)) @@ -33,7 +35,7 @@ key: undefined, provider: AllImageProviders.byName(image.provider), date: new Date(image.date), - id: Object.values(image.osmTags)[0], + id: Object.values(image.osmTags)[0] } async function applyLink(isLinked: boolean) { @@ -44,7 +46,7 @@ if (isLinked) { const action = new LinkImageAction(currentTags.id, key, url, tags, { theme: tags.data._orig_theme ?? state.layout.id, - changeType: "link-image", + changeType: "link-image" }) await state.changes.applyAction(action) } else { @@ -53,7 +55,7 @@ if (v === url) { const action = new ChangeTagAction(currentTags.id, new Tag(k, ""), currentTags, { theme: tags.data._orig_theme ?? state.layout.id, - changeType: "remove-image", + changeType: "remove-image" }) state.changes.applyAction(action) } @@ -62,16 +64,30 @@ } isLinked.addCallback((isLinked) => applyLink(isLinked)) + + let element: HTMLDivElement + if (highlighted) { + + onDestroy( + highlighted.addCallbackD(highlightedUrl => { + if (highlightedUrl === image.pictureUrl) { + Utils.scrollIntoView(element) + } + }) + ) + }
diff --git a/src/UI/Image/NearbyImages.svelte b/src/UI/Image/NearbyImages.svelte index 665490c2b..d70dc2ba5 100644 --- a/src/UI/Image/NearbyImages.svelte +++ b/src/UI/Image/NearbyImages.svelte @@ -7,13 +7,23 @@ import type { SpecialVisualizationState } from "../SpecialVisualization" import type { P4CPicture } from "../../Logic/Web/NearbyImagesSearch" import LinkableImage from "./LinkableImage.svelte" - import type { Feature } from "geojson" + import type { Feature, Point } from "geojson" import LayerConfig from "../../Models/ThemeConfig/LayerConfig" import Loading from "../Base/Loading.svelte" import AllImageProviders from "../../Logic/ImageProviders/AllImageProviders" import Tr from "../Base/Tr.svelte" import Translations from "../i18n/Translations" import MapillaryLink from "../BigComponents/MapillaryLink.svelte" + import MaplibreMap from "../Map/MaplibreMap.svelte" + import { Map as MlMap } from "maplibre-gl" + import { MapLibreAdaptor } from "../Map/MapLibreAdaptor" + import ShowDataLayer from "../Map/ShowDataLayer" + import StaticFeatureSource from "../../Logic/FeatureSource/Sources/StaticFeatureSource" + import * as geocoded_image from "../../assets/generated/layers/geocoded_image.json" + import type { LayerConfigJson } from "../../Models/ThemeConfig/Json/LayerConfigJson" + import { onDestroy } from "svelte" + import { BBox } from "../../Logic/BBox" + export let tags: UIEventSource export let state: SpecialVisualizationState @@ -42,12 +52,100 @@ [loadedImages] ) + let asFeatures = result.map(p4cs => p4cs.map(p4c => (>{ + type: "Feature", + geometry: { + type: "Point", + coordinates: [p4c.coordinates.lng, p4c.coordinates.lat] + }, + properties: { + id: p4c.pictureUrl, + rotation: p4c.direction + } + }))) + + let selected = new UIEventSource(undefined) + let selectedAsFeature = selected.mapD(s => { + return [>{ + type: "Feature", + geometry: { + type: "Point", + coordinates: [s.coordinates.lng, s.coordinates.lat] + }, + properties: { + id: s.pictureUrl, + selected: "yes", + rotation: s.direction + } + }] + }) + let someLoading = imageState.state.mapD((stateRecord) => Object.values(stateRecord).some((v) => v === "loading") ) let errors = imageState.state.mapD((stateRecord) => Object.keys(stateRecord).filter((k) => stateRecord[k] === "error") ) + let highlighted = new UIEventSource(undefined) + + onDestroy(highlighted.addCallbackD(hl => { + const p4c = result.data?.find(i => i.pictureUrl === hl) + selected.set(p4c) + } + )) + + let map: UIEventSource = new UIEventSource(undefined) + let mapProperties = new MapLibreAdaptor(map, { + rasterLayer: state.mapProperties.rasterLayer, + rotation: state.mapProperties.rotation, + pitch: state.mapProperties.pitch, + zoom: new UIEventSource(16), + location: new UIEventSource({ lon, lat }), + }) + + + const geocodedImageLayer = new LayerConfig(geocoded_image) + new ShowDataLayer(map, { + features: new StaticFeatureSource(asFeatures), + layer: geocodedImageLayer, + zoomToFeatures: true, + onClick: (feature) => { + highlighted.set(feature.properties.id) + } + }) + + + ShowDataLayer.showMultipleLayers( + map, + new StaticFeatureSource([feature]), + state.layout.layers + ) + + onDestroy( + asFeatures.addCallbackAndRunD(features => { + if(features.length == 0){ + return + } + let bbox = BBox.get(features[0]) + for (const f of features) { + bbox = bbox.unionWith(BBox.get(f)) + } + mapProperties.maxbounds.set(bbox.pad(1.1)) + }) + + ) + + new ShowDataLayer(map, { + features: new StaticFeatureSource(selectedAsFeature), + layer: geocodedImageLayer, + onClick: (feature) => { + highlighted.set(feature.properties.id) + } + }) + + + +
@@ -62,12 +160,24 @@ {:else}
{#each $result as image (image.pictureUrl)} - - + {highlighted.set(image.pictureUrl)}} + on:mouseleave={() =>{ highlighted.set(undefined); selected.set(undefined)}} + > + {/each}
{/if} + + + + + +
{#if $someLoading && $result.length > 0} @@ -80,9 +190,10 @@ /> {/if}
- +
+ + +
+
diff --git a/src/UI/Image/NearbyImagesCollapsed.svelte b/src/UI/Image/NearbyImagesCollapsed.svelte index 5e647655c..10a7c1c1b 100644 --- a/src/UI/Image/NearbyImagesCollapsed.svelte +++ b/src/UI/Image/NearbyImagesCollapsed.svelte @@ -11,8 +11,9 @@ import Camera_plus from "../../assets/svg/Camera_plus.svelte" import LoginToggle from "../Base/LoginToggle.svelte" import { ariaLabel } from "../../Utils/ariaLabel" - import { Accordion, AccordionItem } from "flowbite-svelte" + import { Accordion, AccordionItem, Modal } from "flowbite-svelte" import AccordionSingle from "../Flowbite/AccordionSingle.svelte" + import Popup from "../Base/Popup.svelte" export let tags: UIEventSource export let state: SpecialVisualizationState @@ -24,15 +25,16 @@ export let layer: LayerConfig const t = Translations.t.image.nearby - let expanded = false let enableLogin = state.featureSwitches.featureSwitchEnableLogin + export let shown = new UIEventSource(false) {#if enableLogin.data} - - + + + - + {/if} diff --git a/src/UI/Map/Icon.svelte b/src/UI/Map/Icon.svelte index a6bef31f6..fa78d5b09 100644 --- a/src/UI/Map/Icon.svelte +++ b/src/UI/Map/Icon.svelte @@ -121,7 +121,7 @@ {:else if icon === "confirm"} - {:else if icon === "direction"} + {:else if icon === "direction" || icon === "direction_gradient"} {:else if icon === "not_found"} diff --git a/src/UI/Map/ShowDataLayer.ts b/src/UI/Map/ShowDataLayer.ts index 063fb6ba1..e5318829b 100644 --- a/src/UI/Map/ShowDataLayer.ts +++ b/src/UI/Map/ShowDataLayer.ts @@ -159,10 +159,9 @@ class PointRenderingLayer { }) if (this._onClick) { - const self = this - el.addEventListener("click", function (ev) { + el.addEventListener("click", (ev)=> { ev.preventDefault() - self._onClick(feature) + this._onClick(feature) // Workaround to signal the MapLibreAdaptor to ignore this click ev["consumed"] = true }) diff --git a/src/UI/SpecialVisualization.ts b/src/UI/SpecialVisualization.ts index ae1512114..8d58c14fd 100644 --- a/src/UI/SpecialVisualization.ts +++ b/src/UI/SpecialVisualization.ts @@ -93,6 +93,7 @@ export interface SpecialVisualizationState { readonly previewedImage: UIEventSource readonly nearbyImageSearcher: CombinedFetcher readonly geolocation: GeoLocationHandler + readonly geocodedImages : UIEventSource showCurrentLocationOn(map: Store): ShowDataLayer reportError(message: string): Promise diff --git a/src/assets/svg/Direction_gradient.svelte b/src/assets/svg/Direction_gradient.svelte index e9d7b36f1..804d626a3 100644 --- a/src/assets/svg/Direction_gradient.svelte +++ b/src/assets/svg/Direction_gradient.svelte @@ -1,4 +1,4 @@ - Created by potrace 1.15, written by Peter Selinger 2001-2017 image/svg+xml \ No newline at end of file + Created by potrace 1.15, written by Peter Selinger 2001-2017 image/svg+xml \ No newline at end of file diff --git a/src/assets/svg/Unsnap.svelte b/src/assets/svg/Unsnap.svelte new file mode 100644 index 000000000..392897c01 --- /dev/null +++ b/src/assets/svg/Unsnap.svelte @@ -0,0 +1,4 @@ + + \ No newline at end of file From 0fdbf445beb9e7e0e266bd9e0a8817e7db761e87 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 12 Sep 2024 01:36:44 +0200 Subject: [PATCH 07/37] Fix build --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 33e8e6584..eaa292a1c 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "generate:contributor-list": "vite-node scripts/generateContributors.ts", "generate:service-worker": "tsc src/service-worker.ts --outFile public/service-worker.js && git_hash=$(git rev-parse HEAD) && sed -i.bak \"s/GITHUB-COMMIT/$git_hash/\" public/service-worker.js && rm public/service-worker.js.bak", "reset:layeroverview": "npm run prep:layeroverview && npm run generate:layeroverview && npm run refresh:layeroverview", - "prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json && echo '{}' > ./src/assets/generated/layers/summary.json && echo '{}' > ./src/assets/generated/layers/last_click.json && echo '[]' > ./src/assets/generated/theme_overview.json echo '{}' > ./src/assets/generated/geocoded_image.json", + "prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json && echo '{}' > ./src/assets/generated/layers/summary.json && echo '{}' > ./src/assets/generated/layers/last_click.json && echo '[]' > ./src/assets/generated/theme_overview.json && echo '{}' > ./src/assets/generated/geocoded_image.json", "generate": "npm run generate:licenses && npm run generate:images && npm run generate:charging-stations && npm run generate:translations && npm run refresh:layeroverview && npm run generate:service-worker", "generate:charging-stations": "cd ./assets/layers/charging_station && vite-node csvToJson.ts && cd -", "clean:tests": "find . -type f -name \"*.doctest.ts\" | xargs -r rm", From 5a9ae3f10465930622e2b4eddd5ff898ec081a63 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 12 Sep 2024 01:53:47 +0200 Subject: [PATCH 08/37] Feature: add possibility to show a scale on the map --- package.json | 2 +- src/Logic/State/UserRelatedState.ts | 3 ++ src/Models/MapProperties.ts | 1 + src/Models/ThemeViewState.ts | 3 ++ src/UI/Map/MapLibreAdaptor.ts | 48 +++++++++++++++++++++++------ src/UI/ThemeViewGUI.svelte | 5 +++ 6 files changed, 52 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index eaa292a1c..700960e5e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.46.5", + "version": "0.46.6", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", diff --git a/src/Logic/State/UserRelatedState.ts b/src/Logic/State/UserRelatedState.ts index bae3fa7d4..0087e1080 100644 --- a/src/Logic/State/UserRelatedState.ts +++ b/src/Logic/State/UserRelatedState.ts @@ -69,6 +69,8 @@ export default class UserRelatedState { "button" | "button_click_right" | "button_click" | "click" | "click_right" >("button_click_right") + public readonly showScale : UIEventSource + /** * Preferences as tags exposes many preferences and state properties as record. * This is used to bridge the internal state with the usersettings.json layerconfig file @@ -123,6 +125,7 @@ export default class UserRelatedState { documentation: "How adding a new feature is done", } ) + this.showScale = UIEventSource.asBoolean(this.osmConnection.GetPreference("preference-show-scale","false")) this.imageLicense = this.osmConnection.GetPreference("pictures-license", "CC0", { documentation: "The license under which new images are uploaded", diff --git a/src/Models/MapProperties.ts b/src/Models/MapProperties.ts index eb86c31d6..9ae66d579 100644 --- a/src/Models/MapProperties.ts +++ b/src/Models/MapProperties.ts @@ -22,6 +22,7 @@ export interface MapProperties { readonly lastClickLocation: Store<{ lon: number; lat: number }> readonly allowZooming: UIEventSource readonly useTerrain: Store + readonly showScale: UIEventSource /** * Triggered when the user navigated by using the keyboard. diff --git a/src/Models/ThemeViewState.ts b/src/Models/ThemeViewState.ts index 7b49572b2..1e2730014 100644 --- a/src/Models/ThemeViewState.ts +++ b/src/Models/ThemeViewState.ts @@ -889,6 +889,9 @@ export default class ThemeViewState implements SpecialVisualizationState { } }) }) + this.userRelatedState.showScale.addCallbackAndRun(showScale => { + this.mapProperties.showScale.set(showScale) + }) new ThemeViewStateHashActor(this) new MetaTagging(this) new TitleHandler(this.selectedElement, this.featureProperties, this) diff --git a/src/UI/Map/MapLibreAdaptor.ts b/src/UI/Map/MapLibreAdaptor.ts index f52cefaa8..f7f2fccac 100644 --- a/src/UI/Map/MapLibreAdaptor.ts +++ b/src/UI/Map/MapLibreAdaptor.ts @@ -1,5 +1,5 @@ import { ImmutableStore, Store, UIEventSource } from "../../Logic/UIEventSource" -import maplibregl, { Map as MLMap, Map as MlMap, SourceSpecification } from "maplibre-gl" +import maplibregl, { Map as MLMap, Map as MlMap, ScaleControl, SourceSpecification } from "maplibre-gl" import { RasterLayerPolygon } from "../../Models/RasterLayers" import { Utils } from "../../Utils" import { BBox } from "../../Logic/BBox" @@ -23,13 +23,13 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { "dragRotate", "dragPan", "keyboard", - "touchZoomRotate", + "touchZoomRotate" ] private static maplibre_zoom_handlers = [ "scrollZoom", "boxZoom", "doubleClickZoom", - "touchZoomRotate", + "touchZoomRotate" ] readonly location: UIEventSource<{ lon: number; lat: number }> readonly zoom: UIEventSource @@ -47,6 +47,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { readonly rotation: UIEventSource readonly pitch: UIEventSource readonly useTerrain: Store + readonly showScale: UIEventSource private static pmtilesInited = false /** @@ -92,6 +93,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { this.useTerrain = state?.useTerrain ?? new ImmutableStore(false) this.rasterLayer = state?.rasterLayer ?? new UIEventSource(undefined) + this.showScale = state?.showScale ?? new UIEventSource(false) const lastClickLocation = new UIEventSource<{ lat: number @@ -104,6 +106,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { new RasterLayerHandler(this._maplibreMap, this.rasterLayer) const clickmodes = ["left", "middle", "right"] as const + function handleClick(e: maplibregl.MapMouseEvent, mode?: "left" | "right" | "middle") { if (e.originalEvent["consumed"]) { // Workaround, 'ShowPointLayer' sets this flag @@ -129,6 +132,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { self.setMaxzoom(self.maxzoom.data) self.setBounds(self.bounds.data) self.setTerrain(self.useTerrain.data) + self.setScale(self.showScale.data) this.updateStores(true) }) self.MoveMapToCurrentLoc(self.location.data) @@ -142,6 +146,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { self.setBounds(self.bounds.data) self.SetRotation(self.rotation.data) self.setTerrain(self.useTerrain.data) + self.setScale(self.showScale.data) this.updateStores(true) map.on("moveend", () => this.updateStores()) map.on("click", (e) => { @@ -213,6 +218,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { this.allowZooming.addCallbackAndRun((allowZooming) => self.setAllowZooming(allowZooming)) this.bounds.addCallbackAndRunD((bounds) => self.setBounds(bounds)) this.useTerrain?.addCallbackAndRun((useTerrain) => self.setTerrain(useTerrain)) + this.showScale?.addCallbackAndRun(showScale => self.setScale(showScale)) } /** @@ -227,9 +233,9 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { return { map: mlmap, ui: new SvelteUIElement(MaplibreMap, { - map: mlmap, + map: mlmap }), - mapproperties: new MapLibreAdaptor(mlmap), + mapproperties: new MapLibreAdaptor(mlmap) } } @@ -297,7 +303,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { ) { const event = { date: new Date(), - key: key, + key: key } for (let i = 0; i < this._onKeyNavigation.length; i++) { @@ -486,7 +492,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { const bounds = map.getBounds() const bbox = new BBox([ [bounds.getEast(), bounds.getNorth()], - [bounds.getWest(), bounds.getSouth()], + [bounds.getWest(), bounds.getSouth()] ]) if (this.bounds.data === undefined || !isSetup) { this.bounds.setData(bbox) @@ -664,18 +670,42 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { type: "raster-dem", url: "https://api.maptiler.com/tiles/terrain-rgb/tiles.json?key=" + - Constants.maptilerApiKey, + Constants.maptilerApiKey }) try { while (!map?.isStyleLoaded()) { await Utils.waitFor(250) } map.setTerrain({ - source: id, + source: id }) } catch (e) { console.error(e) } } } + + private scaleControl: maplibregl.ScaleControl = undefined + + private setScale(showScale: boolean) { + const map = this._maplibreMap.data + if (!map) { + return + } + if (!showScale && this.scaleControl) { + map.removeControl(this.scaleControl) + return + } + console.log("Adding scale") + if (this.scaleControl === undefined) { + + this.scaleControl = new ScaleControl({ + maxWidth: 80, + unit: "metric" + }) + } + if (!map.hasControl(this.scaleControl)) { + map.addControl(this.scaleControl, "bottom-right") + } + } } diff --git a/src/UI/ThemeViewGUI.svelte b/src/UI/ThemeViewGUI.svelte index 92f7122b7..ab4b296d4 100644 --- a/src/UI/ThemeViewGUI.svelte +++ b/src/UI/ThemeViewGUI.svelte @@ -390,6 +390,11 @@ {/if}
+ +
+ +
+
From bb486a41703bdc7afbf177659b434606b9bab7dc Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 11 Sep 2024 15:41:50 +0000 Subject: [PATCH 09/37] Translated using Weblate (Catalan) Currently translated at 74.3% (2783 of 3743 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/ca/ --- langs/layers/ca.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/layers/ca.json b/langs/layers/ca.json index b7ed612a9..af7f175e0 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -9371,4 +9371,4 @@ "render": "Turbina eòlica" } } -} \ No newline at end of file +} From 3abe91bc3a28e820b9123123950cf833f88c1b51 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 11 Sep 2024 15:41:57 +0000 Subject: [PATCH 10/37] Translated using Weblate (Spanish) Currently translated at 39.6% (1484 of 3743 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/es/ --- langs/layers/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/layers/es.json b/langs/layers/es.json index 9bccfcccc..23eea7f09 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -5079,4 +5079,4 @@ } } } -} \ No newline at end of file +} From c5296a3598a65c4f9024d8e0f7bbb089212a459c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 11 Sep 2024 15:42:04 +0000 Subject: [PATCH 11/37] Translated using Weblate (French) Currently translated at 59.2% (2216 of 3743 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/fr/ --- langs/layers/fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/layers/fr.json b/langs/layers/fr.json index 9381bbb44..2a383bd64 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -7559,4 +7559,4 @@ "render": "éolienne" } } -} \ No newline at end of file +} From df50d2a6fa76e18130f09f87e60dd18b4e6bf43b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 11 Sep 2024 15:42:22 +0000 Subject: [PATCH 12/37] Translated using Weblate (Polish) Currently translated at 26.8% (1004 of 3743 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/pl/ --- langs/layers/pl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/layers/pl.json b/langs/layers/pl.json index b809a6212..99459d44c 100644 --- a/langs/layers/pl.json +++ b/langs/layers/pl.json @@ -3707,4 +3707,4 @@ "render": "turbina wiatrowa" } } -} \ No newline at end of file +} From 48722a895006f684d4ed796d240879fd69497ab5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 11 Sep 2024 15:41:51 +0000 Subject: [PATCH 13/37] Translated using Weblate (Czech) Currently translated at 75.3% (2820 of 3743 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/cs/ --- langs/layers/cs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/layers/cs.json b/langs/layers/cs.json index 752e70cac..e9fa809c8 100644 --- a/langs/layers/cs.json +++ b/langs/layers/cs.json @@ -9655,4 +9655,4 @@ "render": "větrná turbína" } } -} \ No newline at end of file +} From cf164d0a72366a533e4c59811ae7557d8e5152e6 Mon Sep 17 00:00:00 2001 From: mcliquid Date: Wed, 11 Sep 2024 15:56:31 +0000 Subject: [PATCH 14/37] Translated using Weblate (German) Currently translated at 100.0% (3743 of 3743 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/de/ --- langs/layers/de.json | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/langs/layers/de.json b/langs/layers/de.json index 604a8eb0f..4f9ca8910 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -5155,19 +5155,19 @@ "then": "Pommesbude" }, "10": { - "then": "Hier werden chinesische Gerichte serviert" + "then": "Chinesisch" }, "11": { - "then": "Hier werden griechische Gerichte serviert" + "then": "Griechisch" }, "12": { - "then": "Hier werden indische Gerichte serviert" + "then": "Indisch" }, "13": { - "then": "Hier werden türkische Gerichte serviert" + "then": "Türkisches Restaurant" }, "14": { - "then": "Hier werden thailändische Gerichte serviert" + "then": "Thailändisches Restaurant" }, "2": { "then": "Bietet vorwiegend Pastagerichte an" @@ -5178,17 +5178,20 @@ "4": { "then": "Sandwichladen" }, + "5": { + "then": "Burgersrestaurant" + }, "6": { - "then": "Hier wird Sushi serviert" + "then": "Sushi-Restaurant" }, "7": { - "then": "Hier wird Kaffee serviert" + "then": "Kaffeebar" }, "8": { - "then": "Dies ist ein italienisches Restaurant (das mehr als nur Pasta und Pizza serviert)" + "then": "Italienisches Restaurant (das mehr als nur Pasta und Pizza serviert)" }, "9": { - "then": "Hier werden französische Gerichte serviert" + "then": "Französisches Restaurant" } }, "question": "Was für Essen gibt es hier?", @@ -5701,6 +5704,9 @@ }, "1": { "then": "Dies ist ein traditioneller (softwareorientierter) Hackerspace" + }, + "2": { + "then": "Dies ist ein Hackerspace/Hack-Lab, das sich hauptsächlich auf grundlegende Computerkenntnisse konzentriert, recycelte Geräte verwendet und/oder der Gemeinschaft Internet bereitstellt. Es befindet sich typischerweise in autonomen Räumen, besetzten Häusern oder sozialen Einrichtungen." } }, "question": "Ist dies ein Hackerspace oder ein Makerspace?" From 0d1c70b4da9aab27416583e008eefba3f70c4f54 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Wed, 11 Sep 2024 15:43:44 +0000 Subject: [PATCH 15/37] Translated using Weblate (Spanish) Currently translated at 39.7% (1486 of 3743 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/es/ --- langs/layers/es.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/langs/layers/es.json b/langs/layers/es.json index 23eea7f09..6c37a67d2 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -2731,7 +2731,7 @@ "then": "Hamburguesas" }, "6": { - "then": "Aquí se sirve sushi" + "then": "Restaurante de sushi" }, "7": { "then": "Aquí se sirve café" @@ -2740,7 +2740,7 @@ "then": "Este es un restaurante italiano (que sirve algo más que pasta y pizza)" }, "9": { - "then": "Aquí se sirven platos Franceses" + "then": "Restaurante francés" } }, "question": "¿Qué tipo de comida sirven aquí?", From c1760918632f6a44adb1578582b20c30afcea80d Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 12 Sep 2024 02:37:26 +0200 Subject: [PATCH 16/37] Studio: automatically detect possible tag values, fix #2103 --- src/UI/Studio/SchemaBasedField.svelte | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/UI/Studio/SchemaBasedField.svelte b/src/UI/Studio/SchemaBasedField.svelte index f7855b273..1870db2dc 100644 --- a/src/UI/Studio/SchemaBasedField.svelte +++ b/src/UI/Studio/SchemaBasedField.svelte @@ -32,12 +32,23 @@ return type.some((t) => mightBeBoolean(t)) } + function mightBeTag(){ + const t = schema.type + if(!Array.isArray(t)){ + return false + } + const hasAnd = t.some(obj => obj["$ref"] === "#/definitions/{and:TagConfigJson[];}") + const hasOr = t.some(obj => obj["$ref"] === "#/definitions/{or:TagConfigJson[];}") + const hasString = t.some(obj => obj["type"] === "string") + return hasAnd && hasOr && hasString + } + const isTranslation = schema.hints?.typehint === "translation" || schema.hints?.typehint === "rendered" || ConfigMetaUtils.isTranslation(schema) - let type = schema.hints.typehint ?? "string" + let type = schema.hints.typehint ?? (mightBeTag() ? "tag" : "string") let rendervalue = (schema.hints.inline ?? schema.path.join(".")) + (isTranslation ? " {translated(value)}" : " {value}") From 2f21d2e97a34d57a3eebc71330fa96876271671c Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 12 Sep 2024 02:42:37 +0200 Subject: [PATCH 17/37] Fix build --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 700960e5e..a2ee9e5e2 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "generate:contributor-list": "vite-node scripts/generateContributors.ts", "generate:service-worker": "tsc src/service-worker.ts --outFile public/service-worker.js && git_hash=$(git rev-parse HEAD) && sed -i.bak \"s/GITHUB-COMMIT/$git_hash/\" public/service-worker.js && rm public/service-worker.js.bak", "reset:layeroverview": "npm run prep:layeroverview && npm run generate:layeroverview && npm run refresh:layeroverview", - "prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json && echo '{}' > ./src/assets/generated/layers/summary.json && echo '{}' > ./src/assets/generated/layers/last_click.json && echo '[]' > ./src/assets/generated/theme_overview.json && echo '{}' > ./src/assets/generated/geocoded_image.json", + "prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json && echo '{}' > ./src/assets/generated/layers/summary.json && echo '{}' > ./src/assets/generated/layers/last_click.json && echo '[]' > ./src/assets/generated/theme_overview.json && echo '{}' > ./src/assets/generated/layers/geocoded_image.json", "generate": "npm run generate:licenses && npm run generate:images && npm run generate:charging-stations && npm run generate:translations && npm run refresh:layeroverview && npm run generate:service-worker", "generate:charging-stations": "cd ./assets/layers/charging_station && vite-node csvToJson.ts && cd -", "clean:tests": "find . -type f -name \"*.doctest.ts\" | xargs -r rm", From bea818d002639c71c51374545c33c3944e48beb8 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 12 Sep 2024 12:37:55 +0200 Subject: [PATCH 18/37] Fix tests --- test/Logic/ImageProviders/ImageProviders.spec.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/Logic/ImageProviders/ImageProviders.spec.ts b/test/Logic/ImageProviders/ImageProviders.spec.ts index 4e57f6305..0968b17d1 100644 --- a/test/Logic/ImageProviders/ImageProviders.spec.ts +++ b/test/Logic/ImageProviders/ImageProviders.spec.ts @@ -158,7 +158,7 @@ describe("ImageProviders", () => { ) Utils.injectJsonDownloadForTests( - "https://graph.mapillary.com/196804715753265?fields=thumb_1024_url,thumb_original_url,captured_at,creator&access_token=MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85", + "https://graph.mapillary.com/196804715753265?fields=thumb_1024_url,thumb_original_url,captured_at,compass_angle,geometry,creator&access_token=MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85", { thumb_1024_url: "https://scontent-bru2-1.xx.fbcdn.net/m1/v/t6/An8HQ3DrfU76tWMC602spvM_e_rqOHyiUcYUTetXM7K52DDBEY5J4FWg4WKQqVUlMsWJn4nLXk0pxlBLx31146FqZ2Kg65z7lJUfR6wpW6WPSR5_y7RKdv4YEuzPjwIN0lagBnQONV3UjmXnEGpMouU?stp=s1024x768&ccb=10-5&oh=d460b401c505714ee1cb8bd6baf8ae5d&oe=61731FC3&_nc_sid=122ab1", @@ -167,6 +167,14 @@ describe("ImageProviders", () => { id: "196804715753265", captured_at: 1627748022000, + "compass_angle": 0, + "geometry": { + "type": "Point", + "coordinates": [ + 3.2153751999722, + 51.215653199972 + ] + }, creator: { username: "filipc", id: "109372117958792", From 084cd86b71bbc26e3b7542a5f16ecc1715275a50 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 12 Sep 2024 21:42:35 +0200 Subject: [PATCH 19/37] Fix: fix move dialog --- .../NewPointLocationInput.svelte | 22 +++++++++---------- .../InputElement/Helpers/LocationInput.svelte | 8 ++++++- src/UI/Popup/MoveWizard.svelte | 1 + 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/UI/BigComponents/NewPointLocationInput.svelte b/src/UI/BigComponents/NewPointLocationInput.svelte index f677841f1..ced6c8f85 100644 --- a/src/UI/BigComponents/NewPointLocationInput.svelte +++ b/src/UI/BigComponents/NewPointLocationInput.svelte @@ -34,7 +34,12 @@ export let coordinate: { lon: number; lat: number } = undefined /** - * The center of the map at all times + * Max distance that one is allowed to move, to prevent to stray too much + */ + export let maxDistanceInMeters = 50 + + /** + * The resulting location; either the map center or the snapped coordinate * If undefined at the beginning, 'coordinate' will be used */ export let value: UIEventSource<{ lon: number; lat: number }> @@ -57,11 +62,6 @@ export let snappedTo: UIEventSource - let preciseLocation: UIEventSource<{ lon: number; lat: number }> = new UIEventSource<{ - lon: number - lat: number - }>(undefined) - const map: UIEventSource = new UIEventSource(undefined) export let mapProperties: Partial & { location } = { zoom: new UIEventSource(19), @@ -69,10 +69,7 @@ /*If no snapping needed: the value is simply the map location; * If snapping is needed: the value will be set later on by the snapping feature source * */ - location: - snapToLayers?.length > 0 - ? new UIEventSource<{ lon: number; lat: number }>(coordinate) - : value, + location: new UIEventSource<{ lon: number; lat: number }>(coordinate), bounds: new UIEventSource(undefined), allowMoving: new UIEventSource(true), allowZooming: new UIEventSource(true), @@ -143,15 +140,16 @@ }) withCorrectedAttributes.features.addCallbackAndRunD((f) => console.log("Snapped point is", f)) } + 0 ? new UIEventSource(undefined) : value} initialCoordinate={coordinate} - maxDistanceInMeters={50} + {maxDistanceInMeters} > diff --git a/src/UI/InputElement/Helpers/LocationInput.svelte b/src/UI/InputElement/Helpers/LocationInput.svelte index 854f1c01c..148fd8f12 100644 --- a/src/UI/InputElement/Helpers/LocationInput.svelte +++ b/src/UI/InputElement/Helpers/LocationInput.svelte @@ -18,9 +18,15 @@ /** * A visualisation to pick a location on a map background */ + /** + * The center of the map. If it contains a value (and initialCoordinate is not given), this will be used as start coordinate + */ export let value: UIEventSource<{ lon: number; lat: number }> - export let initialCoordinate: { lon: number; lat: number } + export let initialCoordinate: { lon: number; lat: number } = undefined initialCoordinate = initialCoordinate ?? value.data + /** + * Max distance that one is allowed to stray from the initial coordinate + */ export let maxDistanceInMeters: number = undefined export let mapProperties: Partial & { readonly location: UIEventSource<{ lon: number; lat: number }> diff --git a/src/UI/Popup/MoveWizard.svelte b/src/UI/Popup/MoveWizard.svelte index 604bbf3dc..12cb921de 100644 --- a/src/UI/Popup/MoveWizard.svelte +++ b/src/UI/Popup/MoveWizard.svelte @@ -106,6 +106,7 @@ snapToLayers={$reason.snapTo} targetLayer={layer} dontShow={[id]} + maxDistanceInMeters={200} />
From a1b2c6b77197f05a9bfe70008a3de1503eeecf8a Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 12 Sep 2024 21:42:57 +0200 Subject: [PATCH 20/37] Version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d72175767..9f3d54531 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.46.4", + "version": "0.46.5", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", From bed32315fbeb9043f65966cb3e6683b91984d65b Mon Sep 17 00:00:00 2001 From: mcliquid Date: Wed, 11 Sep 2024 15:32:22 +0000 Subject: [PATCH 21/37] Translated using Weblate (German) Currently translated at 100.0% (682 of 682 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/de/ --- langs/de.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/langs/de.json b/langs/de.json index bde05f4d0..984be656c 100644 --- a/langs/de.json +++ b/langs/de.json @@ -643,7 +643,8 @@ "pointIsMoved": "Der Punkt wurde verschoben", "reasons": { "reasonInaccurate": "Der Standort ist um ein paar Meter ungenau", - "reasonRelocation": "Das Element wurde an einen völlig anderen Ort verlegt" + "reasonRelocation": "Das Element wurde an einen völlig anderen Ort verlegt", + "reasonSnapTo": "Dies sollte auf {name} fixiert werden" }, "selectReason": "Warum verschieben Sie dieses Element?", "whyMove": "Warum wollen Sie diesen Punkt verschieben?", @@ -778,6 +779,14 @@ "missing": "{count} nicht übersetzte Zeichenfolgen", "notImmediate": "Die Übersetzung wird nicht direkt aktualisiert. Dies dauert in der Regel ein paar Tage" }, + "unknown": { + "clear": "Antwort löschen", + "explanation": "Lösche dieses Informationsmerkmal, wenn die aktuelle Antwort falsch ist, aber der tatsächliche Wert nicht bekannt ist. Andere Informationen werden nicht entfernt.", + "keep": "Antwort behalten", + "markUnknown": "Als unbekannt markieren", + "removedKeys": "Die folgenden Einträge werden entfernt:", + "title": "Als unbekannt markieren?" + }, "userinfo": { "gotoInbox": "Deinen Posteingang öffnen", "gotoSettings": "Einstellungen auf OpenStreetMap.org öffnen", @@ -864,4 +873,4 @@ "startsWithQ": "Ein Wikidata-Identifikator beginnt mit Q und wird von einer Zahl gefolgt" } } -} \ No newline at end of file +} From 622a08b02122b06fabed0e99166d146d87b49aa6 Mon Sep 17 00:00:00 2001 From: mcliquid Date: Wed, 11 Sep 2024 15:53:51 +0000 Subject: [PATCH 22/37] Translated using Weblate (German) Currently translated at 100.0% (453 of 453 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/de/ --- langs/themes/de.json | 129 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 128 insertions(+), 1 deletion(-) diff --git a/langs/themes/de.json b/langs/themes/de.json index cf519c0fc..d7e258cc7 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -808,6 +808,133 @@ "description": "Leuchttürme sind hohe Gebäude mit einem Licht an der Spitze, das den Schiffsverkehr leitet.", "title": "Leuchttürme" }, + "mapcomplete-changes": { + "description": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen", + "layers": { + "0": { + "description": "Zeigt alle MapComplete-Änderungen", + "filter": { + "0": { + "options": { + "0": { + "question": "Themenname enthält {search}" + } + } + }, + "1": { + "options": { + "0": { + "question": "Themename enthält nicht {search}" + } + } + }, + "10": { + "options": { + "0": { + "question": "Etymologie-Thema ausschließen" + } + } + }, + "2": { + "options": { + "0": { + "question": "Erstellt von Mitwirkendem {search}" + } + } + }, + "3": { + "options": { + "0": { + "question": "Nicht erstellt von Mitwirkendem {search}" + } + } + }, + "4": { + "options": { + "0": { + "question": "Erstellt vor {search}" + } + } + }, + "5": { + "options": { + "0": { + "question": "Erstellt nach {search}" + } + } + }, + "6": { + "options": { + "0": { + "question": "Benutzersprache (ISO-Code) {search}" + } + } + }, + "7": { + "options": { + "0": { + "question": "Erstellt mit Host {search}" + } + } + }, + "8": { + "options": { + "0": { + "question": "Changeset hat mindestens ein Bild hinzugefügt" + } + } + }, + "9": { + "options": { + "0": { + "question": "GRB-Thema ausschließen" + } + } + } + }, + "name": "Changeset-Zentren", + "tagRenderings": { + "contributor": { + "question": "Wer hat zu dieser Änderung beigetragen?", + "render": "Änderung vorgenommen von {user}" + }, + "host": { + "question": "Bei welchem Host (Website) wurde diese Änderung vorgenommen?", + "render": "Änderung mit {host}" + }, + "locale": { + "question": "In welcher Sprache (Locale) wurde diese Änderung vorgenommen?", + "render": "Die Benutzersprache ist {locale}" + }, + "show_changeset_id": { + "render": "Änderungssatz {id}" + }, + "theme-id": { + "question": "Welches Thema wurde für diese Änderung verwendet?", + "render": "Änderung mit Thema {theme}" + }, + "version": { + "question": "Welche Version von MapComplete wurde verwendet, um diese Änderung vorzunehmen?", + "render": "Erstellt mit {editor}" + } + }, + "title": { + "render": "Änderungssatz für {theme}" + } + }, + "1": { + "override": { + "tagRenderings+": { + "0": { + "render": "Weitere Statistiken findest du hier" + } + } + } + } + }, + "shortDescription": "Zeigt die von MapComplete vorgenommenen Änderungen an", + "title": "Änderungen mit MapComplete" + }, "maproulette": { "description": "Thema mit MapRoulette-Aufgaben, die Sie suchen, filtern und beheben können.", "title": "MapRoulette-Aufgaben" @@ -1347,4 +1474,4 @@ "shortDescription": "Eine Karte mit Abfalleimern", "title": "Abfalleimer" } -} \ No newline at end of file +} From 6cacd5081734b3ec91773872c603baaf11a39dc1 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 00:58:07 +0200 Subject: [PATCH 23/37] Scalebar: add option to set scalebar, don't show scalebar if not set --- assets/layers/usersettings/usersettings.json | 25 ++++++++++++++++++++ src/UI/Map/MapLibreAdaptor.ts | 10 ++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index 51573c0af..1f7e5b37d 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -470,6 +470,31 @@ } ] }, + { + "id": "scalebar", + "question": { + "en": "Should a scale bar be shown on the map?", + "nl": "Moet er een schaalbalk weergegeven worden?" + }, + "mappings": [ + { + "if": "mapcomplete-preference-show-scale=true", + "then": { + "en": "Show the scalebar", + "nl": "Toon de schaalbalk" + } + }, + { + "if": "mapcomplete-preference-show-scale=false", + "alsoShowIf": "mapcomplete-preference-show-scale=", + + "then": { + "en": "Hide the scalebar", + "nl": "Verberg de schaalbalk" + } + } + ] + }, { "id": "picture-license", "description": "This question is not meant to be placed on an OpenStreetMap-element; however it is used in the user information panel to ask which license the user wants", diff --git a/src/UI/Map/MapLibreAdaptor.ts b/src/UI/Map/MapLibreAdaptor.ts index f7f2fccac..ecdd54efb 100644 --- a/src/UI/Map/MapLibreAdaptor.ts +++ b/src/UI/Map/MapLibreAdaptor.ts @@ -692,15 +692,17 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { if (!map) { return } - if (!showScale && this.scaleControl) { - map.removeControl(this.scaleControl) + if (!showScale) { + if(this.scaleControl){ + map.removeControl(this.scaleControl) + this.scaleControl = undefined + } return } - console.log("Adding scale") if (this.scaleControl === undefined) { this.scaleControl = new ScaleControl({ - maxWidth: 80, + maxWidth: 100, unit: "metric" }) } From 70117ac6874ec860a6f2497c2230d29248de71a7 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 00:59:08 +0200 Subject: [PATCH 24/37] Themes: update safe_loops svg --- assets/layers/bike_parking/safe_loops.svg | 2 +- assets/layers/bike_parking/safe_loops.svg.license | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/layers/bike_parking/safe_loops.svg b/assets/layers/bike_parking/safe_loops.svg index 59b01a7eb..eefc4b1d8 100644 --- a/assets/layers/bike_parking/safe_loops.svg +++ b/assets/layers/bike_parking/safe_loops.svg @@ -1,2 +1,2 @@ - + diff --git a/assets/layers/bike_parking/safe_loops.svg.license b/assets/layers/bike_parking/safe_loops.svg.license index 3803d0a51..d86702a3a 100644 --- a/assets/layers/bike_parking/safe_loops.svg.license +++ b/assets/layers/bike_parking/safe_loops.svg.license @@ -1,2 +1,2 @@ SPDX-FileCopyrightText: Robbert Gurdeep Singh -SPDX-License-Identifier: CC-BY-SA \ No newline at end of file +SPDX-License-Identifier: CC-BY-SA-4.0 \ No newline at end of file From e8099b9081ae25ff37f2b7a491f9301a29772080 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 02:25:06 +0200 Subject: [PATCH 25/37] Themes: improve note theme, fix #2088 --- assets/layers/note/note.json | 420 ++++++++++-------- src/Models/ThemeConfig/FilterConfig.ts | 11 +- .../BigComponents/FilterviewWithFields.svelte | 16 +- src/UI/InputElement/InputHelper.svelte | 6 +- src/Utils.ts | 2 +- 5 files changed, 266 insertions(+), 189 deletions(-) diff --git a/assets/layers/note/note.json b/assets/layers/note/note.json index 146bbc17f..8b4d9392d 100644 --- a/assets/layers/note/note.json +++ b/assets/layers/note/note.json @@ -18,13 +18,16 @@ "calculatedTags": [ "_total_comments:=get(feat)('comments').length", "_first_comment:=get(feat)('comments')[0].text", + "_all_comments:=get(feat)('comments').map(c => c.text ?? '').join('\\n')", + "_all_usernames:=get(feat)('comments').map(c => c.user ?? 'Anonymous').join('\\n')", "_opened_by_anonymous_user:=get(feat)('comments')[0].user === undefined", "_first_user:=get(feat)('comments')[0].user", "_last_user:=(() => {const comms = get(feat)('comments'); return comms[comms.length - 1].user})()", + "_last_change_date:=(() => {const comms = get(feat)('comments'); return comms[comms.length - 1].date})()", "_first_user_id:=get(feat)('comments')[0].uid", "_is_import_note:=(() => {const lines = feat.properties['_first_comment'].split('\\n'); const matchesMapCompleteURL = lines.map(l => l.match(\".*https://mapcomplete.\\(osm.be|org\\)/\\([a-zA-Z_-]+\\)\\(.html\\).*#import\")); const matchedIndexes = matchesMapCompleteURL.map((doesMatch, i) => [doesMatch !== null, i]).filter(v => v[0]).map(v => v[1]); return matchedIndexes[0] })()" ], - "minzoom": 10, + "minzoom": 7, "title": { "render": { "en": "Note", @@ -158,183 +161,6 @@ } ], "filter": [ - { - "id": "search", - "options": [ - { - "osmTags": "_first_comment~i~.*{search}.*", - "fields": [ - { - "name": "search" - } - ], - "question": { - "en": "Should mention {search} in the first comment", - "nl": "Moet in de eerste opmerking \"{search}\" bevatten", - "de": "Sollte {search} im ersten Kommentar erwähnen", - "es": "Debe mencionar {search} en el primer comentario", - "ca": "Has de mencionar {search} en el primer comentari", - "cs": "Měl by se zmínit {search} v prvním komentáři" - } - } - ] - }, - { - "id": "not", - "options": [ - { - "osmTags": "_first_comment!~i~.*{search}.*", - "fields": [ - { - "name": "search" - } - ], - "question": { - "en": "Should not mention {search} in the first comment", - "nl": "Mag in de eerste opmerking niet \"{search}\" bevatten", - "de": "Sollte nicht {search} im ersten Kommentar erwähnen", - "es": "No debe mencionar {search} en el primer comentario", - "ca": "No s'ha de mencionar {search} al primer comentari", - "cs": "V prvním komentáři by jste neměli zmiňovat {search}" - } - } - ] - }, - { - "id": "opened_by", - "options": [ - { - "osmTags": "_first_user~i~.*{search}.*", - "fields": [ - { - "name": "search" - } - ], - "question": { - "en": "Opened by contributor {search}", - "nl": "Geopend door bijdrager {search}", - "de": "Erstellt von {search}", - "es": "Abierto por el contributor {search}", - "fr": "Ouverte par {search}", - "ca": "Obert pel contribuïdor {search}", - "cs": "Otevřeno přispěvatelem {search}" - } - } - ] - }, - { - "id": "not_opened_by", - "options": [ - { - "osmTags": "_first_user!~i~.*{search}.*", - "fields": [ - { - "name": "search" - } - ], - "question": { - "en": "Not opened by contributor {search}", - "nl": "Niet geopend door bijdrager {search}", - "de": "Nicht erstellt von {search}", - "es": "No abierto por el contributor {search}", - "ca": "No obert pel contribuïdor {search}", - "cs": "Není otevřeno přispěvatelem {search}", - "fr": "Exclureles notes ouvertes par {search}" - } - } - ] - }, - { - "id": "edited_by", - "options": [ - { - "osmTags": "_last_user~i~.*{search}.*", - "fields": [ - { - "name": "search" - } - ], - "question": { - "en": "Last edited by contributor {search}", - "nl": "Laatst bewerkt door bijdrager {search}", - "de": "Zuletzt bearbeitet von {search}", - "es": "Editada por última vez por el contributor {search}", - "ca": "Editat per última vega pel contribuïdor {search}", - "cs": "Naposledy upravil přispěvatel {search}", - "da": "Senest redigeret af bidragsyder {search}", - "fr": "Dernière modification par {search}" - } - } - ] - }, - { - "id": "not_edited_by", - "options": [ - { - "osmTags": "_last_user!~i~.*{search}.*", - "fields": [ - { - "name": "search" - } - ], - "question": { - "en": "Opened after {search}", - "nl": "Geopend na {search}", - "de": "Zuletzt bearbeitet nach dem {search}", - "es": "Abierta después de {search}", - "ca": "Oberta després de {search}", - "cs": "Otevřeno po {search}", - "fr": "Ouverte après le {search}" - } - } - ] - }, - { - "id": "opened_before", - "options": [ - { - "osmTags": "date_created<{search}", - "fields": [ - { - "name": "search", - "type": "date" - } - ], - "question": { - "en": "Created before {search}", - "nl": "Aangemaakt voor {search}", - "de": "Erstellt vor dem {search}", - "es": "Creada antes de {search}", - "ca": "Creada abans de {search}", - "cs": "Vytvořeno před {search}", - "fr": "Créée avant le {search}" - } - } - ] - }, - { - "id": "opened_after", - "options": [ - { - "osmTags": "date_created>{search}", - "fields": [ - { - "name": "search", - "type": "date" - } - ], - "question": { - "en": "Created after {search}", - "nl": "Aangemaakt na {search}", - "de": "Erstellt nach dem {search}", - "es": "Creada después de {search}", - "ca": "Creada després de {search}", - "cs": "Vytvořeno po {search}", - "fr": "Créée après le {search}" - } - } - ] - }, { "id": "anonymous", "options": [ @@ -406,6 +232,244 @@ } } ] + }, + { + "id": "search", + "options": [ + { + "osmTags": "_first_comment~i~.*{search}.*", + "fields": [ + { + "name": "search" + } + ], + "question": { + "en": "Should mention {search} in the first comment", + "nl": "Moet in de eerste opmerking \"{search}\" bevatten", + "de": "Sollte {search} im ersten Kommentar erwähnen", + "es": "Debe mencionar {search} en el primer comentario", + "ca": "Has de mencionar {search} en el primer comentari", + "cs": "Měl by se zmínit {search} v prvním komentáři" + } + } + ] + }, + { + "id": "search_any", + "options": [ + { + "osmTags": "_all_comments~i~.*{search}.*", + "fields": [ + { + "name": "search" + } + ], + "question": { + "en": "Should mention {search} in any comment" + } + } + ] + }, + + { + "id": "not", + "options": [ + { + "osmTags": "_first_comment!~i~.*{search}.*", + "fields": [ + { + "name": "search" + } + ], + "question": { + "en": "Should not mention {search} in the first comment", + "nl": "Mag in de eerste opmerking niet \"{search}\" bevatten", + "de": "Sollte nicht {search} im ersten Kommentar erwähnen", + "es": "No debe mencionar {search} en el primer comentario", + "ca": "No s'ha de mencionar {search} al primer comentari", + "cs": "V prvním komentáři by jste neměli zmiňovat {search}" + } + } + ] + }, + { + "id": "opened_by", + "options": [ + { + "osmTags": "_first_user~i~.*{search}.*", + "fields": [ + { + "name": "search" + } + ], + "question": { + "en": "Opened by contributor {search}", + "nl": "Geopend door bijdrager {search}", + "de": "Erstellt von {search}", + "es": "Abierto por el contributor {search}", + "fr": "Ouverte par {search}", + "ca": "Obert pel contribuïdor {search}", + "cs": "Otevřeno přispěvatelem {search}" + } + } + ] + }, + { + "id": "not_opened_by", + "options": [ + { + "osmTags": "_first_user!~i~.*{search}.*", + "fields": [ + { + "name": "search" + } + ], + "question": { + "en": "Not opened by contributor {search}", + "nl": "Niet geopend door bijdrager {search}", + "de": "Nicht erstellt von {search}", + "es": "No abierto por el contributor {search}", + "ca": "No obert pel contribuïdor {search}", + "cs": "Není otevřeno přispěvatelem {search}", + "fr": "Exclureles notes ouvertes par {search}" + } + } + ] + }, + { + "id": "edited_by_any", + "options": [ + { + "osmTags": "_all_usernames~i~.*{search}.*", + "fields": [ + { + "name": "search" + } + ], + "question": { + "en": "Edited or commented on by any user with name {search}" + } + } + ] + }, + { + "id": "last_edited_by", + "options": [ + { + "osmTags": "_last_user~i~.*{search}.*", + "fields": [ + { + "name": "search" + } + ], + "question": { + "en": "Last edited by contributor {search}", + "nl": "Laatst bewerkt door bijdrager {search}", + "de": "Zuletzt bearbeitet von {search}", + "es": "Editada por última vez por el contributor {search}", + "ca": "Editat per última vega pel contribuïdor {search}", + "cs": "Naposledy upravil přispěvatel {search}", + "da": "Senest redigeret af bidragsyder {search}", + "fr": "Dernière modification par {search}" + } + } + ] + }, + { + "id": "not_last_edited_by", + "options": [ + { + "osmTags": "_last_user!~i~.*{search}.*", + "fields": [ + { + "name": "search" + } + ], + "question": { + "en": "Not edited as last by {search}" + } + } + ] + }, + { + "id": "opened_before", + "options": [ + { + "osmTags": "date_created<{search}", + "fields": [ + { + "name": "search", + "type": "date" + } + ], + "question": { + "en": "Created before {search}", + "nl": "Aangemaakt voor {search}", + "de": "Erstellt vor dem {search}", + "es": "Creada antes de {search}", + "ca": "Creada abans de {search}", + "cs": "Vytvořeno před {search}", + "fr": "Créée avant le {search}" + } + } + ] + }, + { + "id": "opened_after", + "options": [ + { + "osmTags": "date_created>{search}", + "fields": [ + { + "name": "search", + "type": "date" + } + ], + "question": { + "en": "Created after {search}", + "nl": "Aangemaakt na {search}", + "de": "Erstellt nach dem {search}", + "es": "Creada después de {search}", + "ca": "Creada després de {search}", + "cs": "Vytvořeno po {search}", + "fr": "Créée après le {search}" + } + } + ] + }, + { + "id": "last_edited_before", + "options": [ + { + "osmTags": "_last_change_date<{search}", + "fields": [ + { + "name": "search", + "type": "date" + } + ], + "question": { + "en": "Last edited before {search}" + } + } + ] + }, + { + "id": "last_edited_after", + "options": [ + { + "osmTags": "_last_change_date>{search}", + "fields": [ + { + "name": "search", + "type": "date" + } + ], + "question": { + "en": "Last edited after {search}" + } + } + ] } ], "allowMove": false diff --git a/src/Models/ThemeConfig/FilterConfig.ts b/src/Models/ThemeConfig/FilterConfig.ts index eff90cb2c..8e80b581b 100644 --- a/src/Models/ThemeConfig/FilterConfig.ts +++ b/src/Models/ThemeConfig/FilterConfig.ts @@ -12,12 +12,14 @@ import BaseUIElement from "../../UI/BaseUIElement" import Table from "../../UI/Base/Table" import Combine from "../../UI/Base/Combine" import MarkdownUtils from "../../Utils/MarkdownUtils" +import Validators, { ValidatorType } from "../../UI/InputElement/Validators" + export type FilterConfigOption = { question: Translation osmTags: TagsFilter | undefined /* Only set if fields are present. Used to create `osmTags` (which are used to _actually_ filter) when the field is written*/ readonly originalTagsSpec: TagConfigJson - fields: { name: string; type: string }[] + fields: { name: string; type: ValidatorType }[] } export default class FilterConfig { public readonly id: string @@ -57,8 +59,11 @@ export default class FilterConfig { throw `Invalid filter: no question given at ${ctx}` } - const fields: { name: string; type: string }[] = (option.fields ?? []).map((f, i) => { - const type = f.type ?? "string" + const fields: { name: string; type: ValidatorType }[] = (option.fields ?? []).map((f, i) => { + const type = f.type ?? "string" + if(Validators.availableTypes.indexOf(type) < 0){ + throw `Invalid filter: type is not a valid validator. Did you mean one of ${Utils.sortedByLevenshteinDistance(type, Validators.availableTypes, x => x).slice(0, 3)}` + } // Type is validated against 'ValidatedTextField' in Validation.ts, in ValidateFilterConfig if (f.name === undefined || f.name === "" || f.name.match(/[a-z0-9_-]+/) == null) { throw `Invalid filter: a variable name should match [a-z0-9_-]+ at ${ctx}.fields[${i}]` diff --git a/src/UI/BigComponents/FilterviewWithFields.svelte b/src/UI/BigComponents/FilterviewWithFields.svelte index e3a903106..9d9a52e43 100644 --- a/src/UI/BigComponents/FilterviewWithFields.svelte +++ b/src/UI/BigComponents/FilterviewWithFields.svelte @@ -6,7 +6,8 @@ import { UIEventSource } from "../../Logic/UIEventSource" import { onDestroy } from "svelte" import { Utils } from "../../Utils" - import Tr from "../Base/Tr.svelte" + import type { ValidatorType } from "../InputElement/Validators" + import InputHelper from "../InputElement/InputHelper.svelte" export let filteredLayer: FilteredLayer export let option: FilterConfigOption @@ -18,7 +19,7 @@ parts = Utils.splitIntoSubstitutionParts(template) } let fieldValues: Record> = {} - let fieldTypes: Record = {} + let fieldTypes: Record = {} let appliedFilter = >filteredLayer.appliedFilters.get(id) let initialState: Record = JSON.parse(appliedFilter?.data ?? "{}") @@ -35,25 +36,30 @@ appliedFilter?.setData(FilteredLayer.fieldsToString(properties)) } + let firstValue : UIEventSource for (const field of option.fields) { // A bit of cheating: the 'parts' will have '}' suffixed for fields const src = new UIEventSource(initialState[field.name] ?? "") + firstValue ??= src fieldTypes[field.name] = field.type + console.log(field.name, "-->", field.type) fieldValues[field.name] = src onDestroy( src.stabilized(200).addCallback(() => { setFields() - }) + }), ) } -
+
0}> {#each parts as part, i} {#if part["subs"]} - + + + {:else} {@html part["message"]} diff --git a/src/UI/InputElement/InputHelper.svelte b/src/UI/InputElement/InputHelper.svelte index 8a8f84466..3bbb4e904 100644 --- a/src/UI/InputElement/InputHelper.svelte +++ b/src/UI/InputElement/InputHelper.svelte @@ -23,9 +23,9 @@ export let type: ValidatorType export let value: UIEventSource - export let feature: Feature + export let feature: Feature = undefined export let args: (string | number | boolean)[] = undefined - export let state: SpecialVisualizationState + export let state: SpecialVisualizationState = undefined {#if type === "translation"} @@ -51,4 +51,6 @@ {:else if type === "wikidata"} +{:else} + {/if} diff --git a/src/Utils.ts b/src/Utils.ts index 5db0113a8..99674d926 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -1272,7 +1272,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be public static sortedByLevenshteinDistance( reference: string, - ts: T[], + ts: ReadonlyArray, getName: (t: T) => string ): T[] { const withDistance: [T, number][] = ts.map((t) => [ From 7c4cdbc53ee73bf3e1961ee255e7ef57d25d5b79 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 12:59:12 +0200 Subject: [PATCH 26/37] Chore: translation reset --- assets/layers/note/note.json | 2 +- langs/layers/ca.json | 53 +++++++++----------- langs/layers/cs.json | 53 +++++++++----------- langs/layers/da.json | 2 +- langs/layers/de.json | 92 ++++++++++++---------------------- langs/layers/en.json | 71 ++++++++++++++++++++------ langs/layers/es.json | 57 ++++++++++----------- langs/layers/fr.json | 97 +++++++++++++++++------------------- langs/layers/nl.json | 62 ++++++++++++----------- langs/layers/pl.json | 2 +- 10 files changed, 240 insertions(+), 251 deletions(-) diff --git a/assets/layers/note/note.json b/assets/layers/note/note.json index 8b4d9392d..be307958b 100644 --- a/assets/layers/note/note.json +++ b/assets/layers/note/note.json @@ -13,7 +13,7 @@ "source": { "osmTags": "date_created~*", "geoJson": "https://api.openstreetmap.org/api/0.6/notes.json?limit=10000&closed=7&bbox={x_min},{y_min},{x_max},{y_max}", - "geoJsonZoomLevel": 12 + "geoJsonZoomLevel": 10 }, "calculatedTags": [ "_total_comments:=get(feat)('comments').length", diff --git a/langs/layers/ca.json b/langs/layers/ca.json index af7f175e0..e92ff82db 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -5126,18 +5126,32 @@ "0": { "options": { "0": { - "question": "Has de mencionar {search} en el primer comentari" + "question": "Sols mostrar les notes obertes per contribuïdors anònims" } } }, "1": { "options": { "0": { - "question": "No s'ha de mencionar {search} al primer comentari" + "question": "Sols mostra les notes obertes" } } }, - "10": { + "11": { + "options": { + "0": { + "question": "Creada abans de {search}" + } + } + }, + "12": { + "options": { + "0": { + "question": "Creada després de {search}" + } + } + }, + "2": { "options": { "0": { "question": "Totes les notes" @@ -5150,59 +5164,38 @@ } } }, - "2": { - "options": { - "0": { - "question": "Obert pel contribuïdor {search}" - } - } - }, "3": { "options": { "0": { - "question": "No obert pel contribuïdor {search}" - } - } - }, - "4": { - "options": { - "0": { - "question": "Editat per última vega pel contribuïdor {search}" + "question": "Has de mencionar {search} en el primer comentari" } } }, "5": { "options": { "0": { - "question": "Oberta després de {search}" + "question": "No s'ha de mencionar {search} al primer comentari" } } }, "6": { "options": { "0": { - "question": "Creada abans de {search}" + "question": "Obert pel contribuïdor {search}" } } }, "7": { "options": { "0": { - "question": "Creada després de {search}" - } - } - }, - "8": { - "options": { - "0": { - "question": "Sols mostrar les notes obertes per contribuïdors anònims" + "question": "No obert pel contribuïdor {search}" } } }, "9": { "options": { "0": { - "question": "Sols mostra les notes obertes" + "question": "Editat per última vega pel contribuïdor {search}" } } } @@ -9371,4 +9364,4 @@ "render": "Turbina eòlica" } } -} +} \ No newline at end of file diff --git a/langs/layers/cs.json b/langs/layers/cs.json index e9fa809c8..f0cf51d7f 100644 --- a/langs/layers/cs.json +++ b/langs/layers/cs.json @@ -5352,18 +5352,32 @@ "0": { "options": { "0": { - "question": "Měl by se zmínit {search} v prvním komentáři" + "question": "Zobrazovat pouze poznámky otevřené anonymním přispěvatelem" } } }, "1": { "options": { "0": { - "question": "V prvním komentáři by jste neměli zmiňovat {search}" + "question": "Zobrazit pouze otevřené poznámky" } } }, - "10": { + "11": { + "options": { + "0": { + "question": "Vytvořeno před {search}" + } + } + }, + "12": { + "options": { + "0": { + "question": "Vytvořeno po {search}" + } + } + }, + "2": { "options": { "0": { "question": "Všechny poznámky" @@ -5376,59 +5390,38 @@ } } }, - "2": { - "options": { - "0": { - "question": "Otevřeno přispěvatelem {search}" - } - } - }, "3": { "options": { "0": { - "question": "Není otevřeno přispěvatelem {search}" - } - } - }, - "4": { - "options": { - "0": { - "question": "Naposledy upravil přispěvatel {search}" + "question": "Měl by se zmínit {search} v prvním komentáři" } } }, "5": { "options": { "0": { - "question": "Otevřeno po {search}" + "question": "V prvním komentáři by jste neměli zmiňovat {search}" } } }, "6": { "options": { "0": { - "question": "Vytvořeno před {search}" + "question": "Otevřeno přispěvatelem {search}" } } }, "7": { "options": { "0": { - "question": "Vytvořeno po {search}" - } - } - }, - "8": { - "options": { - "0": { - "question": "Zobrazovat pouze poznámky otevřené anonymním přispěvatelem" + "question": "Není otevřeno přispěvatelem {search}" } } }, "9": { "options": { "0": { - "question": "Zobrazit pouze otevřené poznámky" + "question": "Naposledy upravil přispěvatel {search}" } } } @@ -9655,4 +9648,4 @@ "render": "větrná turbína" } } -} +} \ No newline at end of file diff --git a/langs/layers/da.json b/langs/layers/da.json index 977f4d7c5..2d570bcc6 100644 --- a/langs/layers/da.json +++ b/langs/layers/da.json @@ -1633,7 +1633,7 @@ }, "note": { "filter": { - "4": { + "9": { "options": { "0": { "question": "Senest redigeret af bidragsyder {search}" diff --git a/langs/layers/de.json b/langs/layers/de.json index 4f9ca8910..3884c53d4 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -3033,7 +3033,6 @@ "climbing_opportunity": { "description": "Rückfallebene mit Orten, auf denen Klettern eventuell möglich ist. Sie wird erst angezeigt, wenn man stark hineinzoomt, um zu verhindern, dass Elemente doppelt hinzugefügt werden", "name": "Klettermöglichkeiten?", - "snapName": "eine Wand, Klippe oder ein Felsen", "tagRenderings": { "climbing-opportunity-name": { "render": "{name}" @@ -3435,7 +3434,6 @@ "cycleways_and_roads": { "description": "Infrastruktur, die man mit dem Fahrrad befahren kann, begleitet von diesbezüglichen Fragen", "name": "Radwege und Straßen", - "snapName": "eine Straße oder einen Radweg", "tagRenderings": { "Cycleway type for a road": { "mappings": { @@ -5155,19 +5153,19 @@ "then": "Pommesbude" }, "10": { - "then": "Chinesisch" + "then": "Hier werden chinesische Gerichte serviert" }, "11": { - "then": "Griechisch" + "then": "Hier werden griechische Gerichte serviert" }, "12": { - "then": "Indisch" + "then": "Hier werden indische Gerichte serviert" }, "13": { - "then": "Türkisches Restaurant" + "then": "Hier werden türkische Gerichte serviert" }, "14": { - "then": "Thailändisches Restaurant" + "then": "Hier werden thailändische Gerichte serviert" }, "2": { "then": "Bietet vorwiegend Pastagerichte an" @@ -5178,20 +5176,17 @@ "4": { "then": "Sandwichladen" }, - "5": { - "then": "Burgersrestaurant" - }, "6": { - "then": "Sushi-Restaurant" + "then": "Hier wird Sushi serviert" }, "7": { - "then": "Kaffeebar" + "then": "Hier wird Kaffee serviert" }, "8": { - "then": "Italienisches Restaurant (das mehr als nur Pasta und Pizza serviert)" + "then": "Dies ist ein italienisches Restaurant (das mehr als nur Pasta und Pizza serviert)" }, "9": { - "then": "Französisches Restaurant" + "then": "Hier werden französische Gerichte serviert" } }, "question": "Was für Essen gibt es hier?", @@ -5704,9 +5699,6 @@ }, "1": { "then": "Dies ist ein traditioneller (softwareorientierter) Hackerspace" - }, - "2": { - "then": "Dies ist ein Hackerspace/Hack-Lab, das sich hauptsächlich auf grundlegende Computerkenntnisse konzentriert, recycelte Geräte verwendet und/oder der Gemeinschaft Internet bereitstellt. Es befindet sich typischerweise in autonomen Räumen, besetzten Häusern oder sozialen Einrichtungen." } }, "question": "Ist dies ein Hackerspace oder ein Makerspace?" @@ -5918,7 +5910,6 @@ "indoors": { "description": "Grundlegende Innenraumkartierung: zeigt Umrisse von Räumen", "name": "Innenräume", - "snapName": "eine Innenwand", "tagRenderings": { "name": { "freeform": { @@ -5961,9 +5952,6 @@ "14": { "then": "Dies ist ein Büro" }, - "15": { - "then": "Dies ist ein Kopierraum" - }, "16": { "then": "Dies ist eine Gefängniszelle" }, @@ -6091,7 +6079,6 @@ "title": "einen Bordstein" } }, - "snapName": "ein Bordstein", "tagRenderings": { "kerb-height": { "freeform": { @@ -6772,18 +6759,32 @@ "0": { "options": { "0": { - "question": "Sollte {search} im ersten Kommentar erwähnen" + "question": "Nur Notizen anzeigen, die anonym erstellt wurden" } } }, "1": { "options": { "0": { - "question": "Sollte nicht {search} im ersten Kommentar erwähnen" + "question": "Nur offene Notizen anzeigen" } } }, - "10": { + "11": { + "options": { + "0": { + "question": "Erstellt vor dem {search}" + } + } + }, + "12": { + "options": { + "0": { + "question": "Erstellt nach dem {search}" + } + } + }, + "2": { "options": { "0": { "question": "Alle Notizen" @@ -6796,59 +6797,38 @@ } } }, - "2": { - "options": { - "0": { - "question": "Erstellt von {search}" - } - } - }, "3": { "options": { "0": { - "question": "Nicht erstellt von {search}" - } - } - }, - "4": { - "options": { - "0": { - "question": "Zuletzt bearbeitet von {search}" + "question": "Sollte {search} im ersten Kommentar erwähnen" } } }, "5": { "options": { "0": { - "question": "Zuletzt bearbeitet nach dem {search}" + "question": "Sollte nicht {search} im ersten Kommentar erwähnen" } } }, "6": { "options": { "0": { - "question": "Erstellt vor dem {search}" + "question": "Erstellt von {search}" } } }, "7": { "options": { "0": { - "question": "Erstellt nach dem {search}" - } - } - }, - "8": { - "options": { - "0": { - "question": "Nur Notizen anzeigen, die anonym erstellt wurden" + "question": "Nicht erstellt von {search}" } } }, "9": { "options": { "0": { - "question": "Nur offene Notizen anzeigen" + "question": "Zuletzt bearbeitet von {search}" } } } @@ -7309,8 +7289,7 @@ }, "pedestrian_path": { "description": "Fußgängerwege, insbesondere für die Navigation in Gebäuden und die Aufnahme von Eingängen in diese Ebene", - "name": "Fußgängerwege", - "snapName": "ein Fußweg" + "name": "Fußgängerwege" }, "pharmacy": { "description": "Eine Ebene mit Apotheken, die (wahrscheinlich) verschreibungspflichtige Medikamente ausgeben", @@ -8197,9 +8176,6 @@ }, "4": { "then": "Dieser Ort bietet kabelgebundenen Internetzugang" - }, - "5": { - "then": "Dieser Ort bietet sowohl drahtloses Internet als auch Internetzugang über ein Terminal oder einen Computer" } }, "question": "Bietet dieser Ort Internetzugang?" @@ -9054,7 +9030,6 @@ "shelter": { "description": "Eine Ebene, die verschiedene Bauformen von Unterständen zeigt", "name": "Unterstände", - "snapName": "ein Unterstand", "tagRenderings": { "shelter-type": { "mappings": { @@ -12023,7 +11998,6 @@ }, "walls_and_buildings": { "description": "Spezielle Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist nützlich in Voreinstellungen für Objekte, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden.", - "snapName": "eine Wand oder ein Gebäude", "tagRenderings": { "entrance_info": { "mappings": { @@ -12254,4 +12228,4 @@ "render": "Windrad" } } -} +} \ No newline at end of file diff --git a/langs/layers/en.json b/langs/layers/en.json index 1ec30d529..1115d81bf 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -6772,18 +6772,53 @@ "0": { "options": { "0": { - "question": "Should mention {search} in the first comment" + "question": "Only show notes opened by an anonymous contributor" } } }, "1": { "options": { "0": { - "question": "Should not mention {search} in the first comment" + "question": "Only show open notes" } } }, "10": { + "options": { + "0": { + "question": "Not edited as last by {search}" + } + } + }, + "11": { + "options": { + "0": { + "question": "Created before {search}" + } + } + }, + "12": { + "options": { + "0": { + "question": "Created after {search}" + } + } + }, + "13": { + "options": { + "0": { + "question": "Last edited before {search}" + } + } + }, + "14": { + "options": { + "0": { + "question": "Last edited after {search}" + } + } + }, + "2": { "options": { "0": { "question": "All Notes" @@ -6796,59 +6831,52 @@ } } }, - "2": { - "options": { - "0": { - "question": "Opened by contributor {search}" - } - } - }, "3": { "options": { "0": { - "question": "Not opened by contributor {search}" + "question": "Should mention {search} in the first comment" } } }, "4": { "options": { "0": { - "question": "Last edited by contributor {search}" + "question": "Should mention {search} in any comment" } } }, "5": { "options": { "0": { - "question": "Opened after {search}" + "question": "Should not mention {search} in the first comment" } } }, "6": { "options": { "0": { - "question": "Created before {search}" + "question": "Opened by contributor {search}" } } }, "7": { "options": { "0": { - "question": "Created after {search}" + "question": "Not opened by contributor {search}" } } }, "8": { "options": { "0": { - "question": "Only show notes opened by an anonymous contributor" + "question": "Edited or commented on by any user with name {search}" } } }, "9": { "options": { "0": { - "question": "Only show open notes" + "question": "Last edited by contributor {search}" } } } @@ -11601,6 +11629,17 @@ } } }, + "scalebar": { + "mappings": { + "0": { + "then": "Show the scalebar" + }, + "1": { + "then": "Hide the scalebar" + } + }, + "question": "Should a scale bar be shown on the map?" + }, "settings-link": { "render": { "special": { diff --git a/langs/layers/es.json b/langs/layers/es.json index 6c37a67d2..5a9881870 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -2731,7 +2731,7 @@ "then": "Hamburguesas" }, "6": { - "then": "Restaurante de sushi" + "then": "Aquí se sirve sushi" }, "7": { "then": "Aquí se sirve café" @@ -2740,7 +2740,7 @@ "then": "Este es un restaurante italiano (que sirve algo más que pasta y pizza)" }, "9": { - "then": "Restaurante francés" + "then": "Aquí se sirven platos Franceses" } }, "question": "¿Qué tipo de comida sirven aquí?", @@ -3135,18 +3135,32 @@ "0": { "options": { "0": { - "question": "Debe mencionar {search} en el primer comentario" + "question": "Solo mostrar las notas abiertas por contributores anómimos" } } }, "1": { "options": { "0": { - "question": "No debe mencionar {search} en el primer comentario" + "question": "Solo mostrar las notas abiertas" } } }, - "10": { + "11": { + "options": { + "0": { + "question": "Creada antes de {search}" + } + } + }, + "12": { + "options": { + "0": { + "question": "Creada después de {search}" + } + } + }, + "2": { "options": { "0": { "question": "Todas las notas" @@ -3159,59 +3173,38 @@ } } }, - "2": { - "options": { - "0": { - "question": "Abierto por el contributor {search}" - } - } - }, "3": { "options": { "0": { - "question": "No abierto por el contributor {search}" - } - } - }, - "4": { - "options": { - "0": { - "question": "Editada por última vez por el contributor {search}" + "question": "Debe mencionar {search} en el primer comentario" } } }, "5": { "options": { "0": { - "question": "Abierta después de {search}" + "question": "No debe mencionar {search} en el primer comentario" } } }, "6": { "options": { "0": { - "question": "Creada antes de {search}" + "question": "Abierto por el contributor {search}" } } }, "7": { "options": { "0": { - "question": "Creada después de {search}" - } - } - }, - "8": { - "options": { - "0": { - "question": "Solo mostrar las notas abiertas por contributores anómimos" + "question": "No abierto por el contributor {search}" } } }, "9": { "options": { "0": { - "question": "Solo mostrar las notas abiertas" + "question": "Editada por última vez por el contributor {search}" } } } @@ -5079,4 +5072,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/fr.json b/langs/layers/fr.json index 2a383bd64..0a320cd47 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -4425,68 +4425,61 @@ }, "note": { "filter": { - "10": { - "options": { - "0": { - "question": "Toutes les notes" - } - } - }, - "2": { - "options": { - "0": { - "question": "Ouverte par {search}" - } - } - }, - "3": { - "options": { - "0": { - "question": "Exclureles notes ouvertes par {search}" - } - } - }, - "4": { - "options": { - "0": { - "question": "Dernière modification par {search}" - } - } - }, - "5": { - "options": { - "0": { - "question": "Ouverte après le {search}" - } - } - }, - "6": { - "options": { - "0": { - "question": "Créée avant le {search}" - } - } - }, - "7": { - "options": { - "0": { - "question": "Créée après le {search}" - } - } - }, - "8": { + "0": { "options": { "0": { "question": "Montrer uniquement les notes ouvertes par un contributeur anonyme" } } }, - "9": { + "1": { "options": { "0": { "question": "Montrer uniquement les notes ouvertes" } } + }, + "11": { + "options": { + "0": { + "question": "Créée avant le {search}" + } + } + }, + "12": { + "options": { + "0": { + "question": "Créée après le {search}" + } + } + }, + "2": { + "options": { + "0": { + "question": "Toutes les notes" + } + } + }, + "6": { + "options": { + "0": { + "question": "Ouverte par {search}" + } + } + }, + "7": { + "options": { + "0": { + "question": "Exclureles notes ouvertes par {search}" + } + } + }, + "9": { + "options": { + "0": { + "question": "Dernière modification par {search}" + } + } } }, "name": "Notes OpenStreetMap", @@ -7559,4 +7552,4 @@ "render": "éolienne" } } -} +} \ No newline at end of file diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 7d4b96c92..fb412fb08 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -5523,18 +5523,32 @@ "0": { "options": { "0": { - "question": "Moet in de eerste opmerking \"{search}\" bevatten" + "question": "Toon enkel de Notes geopend door een anonieme bijdrager" } } }, "1": { "options": { "0": { - "question": "Mag in de eerste opmerking niet \"{search}\" bevatten" + "question": "Toon enkel open Notes" } } }, - "10": { + "11": { + "options": { + "0": { + "question": "Aangemaakt voor {search}" + } + } + }, + "12": { + "options": { + "0": { + "question": "Aangemaakt na {search}" + } + } + }, + "2": { "options": { "0": { "question": "Alle Notes" @@ -5547,59 +5561,38 @@ } } }, - "2": { - "options": { - "0": { - "question": "Geopend door bijdrager {search}" - } - } - }, "3": { "options": { "0": { - "question": "Niet geopend door bijdrager {search}" - } - } - }, - "4": { - "options": { - "0": { - "question": "Laatst bewerkt door bijdrager {search}" + "question": "Moet in de eerste opmerking \"{search}\" bevatten" } } }, "5": { "options": { "0": { - "question": "Geopend na {search}" + "question": "Mag in de eerste opmerking niet \"{search}\" bevatten" } } }, "6": { "options": { "0": { - "question": "Aangemaakt voor {search}" + "question": "Geopend door bijdrager {search}" } } }, "7": { "options": { "0": { - "question": "Aangemaakt na {search}" - } - } - }, - "8": { - "options": { - "0": { - "question": "Toon enkel de Notes geopend door een anonieme bijdrager" + "question": "Niet geopend door bijdrager {search}" } } }, "9": { "options": { "0": { - "question": "Toon enkel open Notes" + "question": "Laatst bewerkt door bijdrager {search}" } } } @@ -9260,6 +9253,17 @@ } } }, + "scalebar": { + "mappings": { + "0": { + "then": "Toon de schaalbalk" + }, + "1": { + "then": "Verberg de schaalbalk" + } + }, + "question": "Moet er een schaalbalk weergegeven worden?" + }, "settings-link": { "render": { "special": { diff --git a/langs/layers/pl.json b/langs/layers/pl.json index 99459d44c..b809a6212 100644 --- a/langs/layers/pl.json +++ b/langs/layers/pl.json @@ -3707,4 +3707,4 @@ "render": "turbina wiatrowa" } } -} +} \ No newline at end of file From a9312bae566d40680c49bb2248f49ee0ebc7f1ba Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 13:02:05 +0200 Subject: [PATCH 27/37] chore(release): 0.46.6 --- CHANGELOG.md | 395 +++++++ package-lock.json | 2541 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 3 +- 3 files changed, 2936 insertions(+), 3 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..eaad8ed17 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,395 @@ +# Changelog + +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.46.6 (2024-09-13) + + +### Features + +* add bike_parking=safe_loops ([e4de3d8](https://github.com/USERNAME/REPOSITORY_NAME/commitse4de3d8e5f2b8e6002e68dba20ac659f57a3c8cc)) +* add color for streets with no cycleways ([5d52462](https://github.com/USERNAME/REPOSITORY_NAME/commits5d524629b46d3e2e1d059f9db3010609e05ffb61)) +* add prettier config ([d3f453a](https://github.com/USERNAME/REPOSITORY_NAME/commitsd3f453a4fb3f7eaac9031026dc95bff0a076dec3)) +* Add printer cartridges to recycling ([28d6637](https://github.com/USERNAME/REPOSITORY_NAME/commits28d66373680dda160b4b899621c5c89aa1c52143)) +* **themes:** add osm community index as a layer ([e85cf43](https://github.com/USERNAME/REPOSITORY_NAME/commitse85cf43ffbf9de86491a2d3aaa4b7f0a52082843)) +* **themes:** add questionHint to give extra information about a question ([d7fe3a0](https://github.com/USERNAME/REPOSITORY_NAME/commitsd7fe3a056ef74d85f3d4e310a6e053b244b659f8)) + + +### Bug Fixes + +* _actually_ fix [#1706](https://github.com/pietervdvn/MapComplete/issues/1706) ([6577007](https://github.com/USERNAME/REPOSITORY_NAME/commits6577007717910bf46086490da8e9d549b63f1891)) +* _actually_ run the *.spec.ts-tests... ([82a860c](https://github.com/USERNAME/REPOSITORY_NAME/commits82a860cbf5bad2ab1b4d9b806e9f18e4d5cbc054)) +* [#1093](https://github.com/pietervdvn/MapComplete/issues/1093) ([5a6ed7b](https://github.com/USERNAME/REPOSITORY_NAME/commits5a6ed7bf21aaaf677c05e572afacd53443eb2d59)) +* [#1685](https://github.com/pietervdvn/MapComplete/issues/1685), fix oopsie ([d96fe61](https://github.com/USERNAME/REPOSITORY_NAME/commitsd96fe614624771bed99c418bbc9bb4f09ce7bd3a)) +* a freeform key will mimick a mapping if appropriate (and avoid the 'addExtraTags') ([68ea4e3](https://github.com/USERNAME/REPOSITORY_NAME/commits68ea4e3d9f255e989cf158159b434ed6bfc6f55a)) +* actually allow to login via prominent login button ([4be49a0](https://github.com/USERNAME/REPOSITORY_NAME/commits4be49a0561531c729d9d46d5e99571056d2492df)) +* actually apply preferred background layer ([b69c2de](https://github.com/USERNAME/REPOSITORY_NAME/commitsb69c2de3f41e7737ceec919214f0748634d9dfd3)) +* actually attempt to login when login button is pressed ([f1de8a3](https://github.com/USERNAME/REPOSITORY_NAME/commitsf1de8a3d9dafad4860ebb380c113ff2f253d13db)) +* actually deploy on the production repo ([ca89956](https://github.com/USERNAME/REPOSITORY_NAME/commitsca899561d55626b9c2c14f90d60d01c8c1276823)) +* actually include _all_ features ([8f7b731](https://github.com/USERNAME/REPOSITORY_NAME/commits8f7b731d29ca7daec1063a6833716e86333b0ffd)) +* actually load geojson layers; formatting ([cbc4e6e](https://github.com/USERNAME/REPOSITORY_NAME/commitscbc4e6eb15a2a6d7f9693a24f35839886b4f3544)) +* actually open usersettings when license is clicked ([c10fecb](https://github.com/USERNAME/REPOSITORY_NAME/commitsc10fecb7e8293190b07a2fc3ff90b6f830a75103)) +* actually pass the initial coordinate in the locationInput element, fix [#1486](https://github.com/pietervdvn/MapComplete/issues/1486) ([68e07d7](https://github.com/USERNAME/REPOSITORY_NAME/commits68e07d7d7beca5b4ea26b9fc6ff964014d28af4b)) +* Actually show errors in custom themes now ([6a79dde](https://github.com/USERNAME/REPOSITORY_NAME/commits6a79dde743264c272e461614ae718044d90a7080)) +* actually show HD image for nearby streetview imager, add loading indicator ([8b6ee87](https://github.com/USERNAME/REPOSITORY_NAME/commits8b6ee877f08a584df7d3bc8706292b6eeb11f030)) +* actually show polygon_centroid ([5a957d5](https://github.com/USERNAME/REPOSITORY_NAME/commits5a957d56c73771a1fa2560dbd8755a7eebe36285)) +* actually show tags on changes when the user has enough changesets ([d702134](https://github.com/USERNAME/REPOSITORY_NAME/commitsd7021344e890bede888ea3412270420e033207f7)) +* actually upload new themes ([6446586](https://github.com/USERNAME/REPOSITORY_NAME/commits6446586ac581fa3994e58dba62a365afde7d5937)) +* add 'maxspeed=20' to living street ([fd9c48b](https://github.com/USERNAME/REPOSITORY_NAME/commitsfd9c48b5b56fe7a08e3532cad777246b82b3a073)) +* add 'onbeforeunload' if images are uploading, see [#1841](https://github.com/pietervdvn/MapComplete/issues/1841) ([ce7bc8f](https://github.com/USERNAME/REPOSITORY_NAME/commitsce7bc8fb6cc373e96179e57395818d6e6befd942)) +* add 'self' to connect-src ([3bca130](https://github.com/USERNAME/REPOSITORY_NAME/commits3bca1305b504ba08203a09916fe849365eca0458)) +* add all global layers to CSP ([93630bd](https://github.com/USERNAME/REPOSITORY_NAME/commits93630bd1db9e71f5e62619b2d02aaf18b42222f6)) +* add all needed urls again ([ce1855b](https://github.com/USERNAME/REPOSITORY_NAME/commitsce1855b2bd322044f9710a4dab38287298ad5fc6)) +* add all vector layers to CSP ([2736740](https://github.com/USERNAME/REPOSITORY_NAME/commits2736740cd0d777450f8da7eea76f1defa7993944)) +* add awaitAnimationFrame to fix non-working questions ([d744fd3](https://github.com/USERNAME/REPOSITORY_NAME/commitsd744fd3a42bedb64de7de1562b6f4ee31ba9d254)) +* Add button to go back to the map when showing that a point is deleted, fix [#1417](https://github.com/pietervdvn/MapComplete/issues/1417) ([55903d4](https://github.com/USERNAME/REPOSITORY_NAME/commits55903d45f933ebbfd7971a14296fe2dac1b6fa96)) +* add carto vector layers again ([5e2a989](https://github.com/USERNAME/REPOSITORY_NAME/commits5e2a98924c2a0efdb1f75a213efe7114df5e0cae)) +* add check for missing 'noopener' attributes; add missing noopener attributes ([6e8617c](https://github.com/USERNAME/REPOSITORY_NAME/commits6e8617c93fd0fde8f0b27c035625e68d143f9b58)) +* add check that no changeset is opened without actually having changes ([2843b01](https://github.com/USERNAME/REPOSITORY_NAME/commits2843b01586fd40a2e0d4dc92861b9d001d1684d3)) +* add correct attribution for maptiler bg layer ([c90b334](https://github.com/USERNAME/REPOSITORY_NAME/commitsc90b334678ac44346d82302599647236b3c0df09)) +* add default value for setStatus ([eede2d1](https://github.com/USERNAME/REPOSITORY_NAME/commitseede2d17dd411a3b27295a9efab8cb69df3b57c2)) +* add dutch translation ([a55b84d](https://github.com/USERNAME/REPOSITORY_NAME/commitsa55b84dba18564e0959bd709b0da0e5b228d3ca0)) +* add execute permissions to build script ([5567869](https://github.com/USERNAME/REPOSITORY_NAME/commits5567869bb4ede7a56c174b960aff734de06ea67f)) +* add extra refresh:layeroverview in order to fix the favourites theme icons ([c65ccdb](https://github.com/USERNAME/REPOSITORY_NAME/commitsc65ccdbc240ad5406189e48bd92c40569d19bc3c)) +* add glow effect to bench theme for selected object ([75b1a46](https://github.com/USERNAME/REPOSITORY_NAME/commits75b1a467e0307cee94a0af9e482a3ab5e8ac4ccd)) +* add glow effect when dropping an image in the file selector; fix [#1496](https://github.com/pietervdvn/MapComplete/issues/1496) ([426620a](https://github.com/USERNAME/REPOSITORY_NAME/commits426620a76c4a6ca86181dec73da90d076f73c9aa)) +* add language picker in settings page if logged out, fix [#1505](https://github.com/pietervdvn/MapComplete/issues/1505) ([a7ff3b8](https://github.com/USERNAME/REPOSITORY_NAME/commitsa7ff3b86faa90e70d3496f973c72b0265f993708)) +* add links and overpass link to cafe_pub ([41b6eea](https://github.com/USERNAME/REPOSITORY_NAME/commits41b6eea430cbb6f504deb7a3e4fb5cf493004d6f)) +* add maxzoom to osm.carto-layer, see [#1664](https://github.com/pietervdvn/MapComplete/issues/1664)$ ([5f918b6](https://github.com/USERNAME/REPOSITORY_NAME/commits5f918b607b9034c5a8ce6bcdd003caf8efe1466b)) +* add missing assets ([f2b8c0d](https://github.com/USERNAME/REPOSITORY_NAME/commitsf2b8c0db0f80bf503f2b4332d66cbede0736f82a)) +* add missing tag ([c5300a3](https://github.com/USERNAME/REPOSITORY_NAME/commitsc5300a3fd5b46e611a4604ad9c0483f823396dda)) +* add new items works again, fix [#1593](https://github.com/pietervdvn/MapComplete/issues/1593) ([c527427](https://github.com/USERNAME/REPOSITORY_NAME/commitsc527427f70990006b9c71ef472bbe45d2c9bff70)) +* add safety check to not overuse the OSM-api ([4602df3](https://github.com/USERNAME/REPOSITORY_NAME/commits4602df30469b57a57b9b8e1b8c6cc5c70ff901d7)) +* add script integrity, add check to validate that script integrity is always in place ([08bbbca](https://github.com/USERNAME/REPOSITORY_NAME/commits08bbbcabc402abcf328274bb2990d59b47580376)) +* add selection indicator to artwork ([ec99ab2](https://github.com/USERNAME/REPOSITORY_NAME/commitsec99ab24f806e8d43ae89ab8f33f570f43ce59fb)) +* add support for legacy iconSize to fix some custom themes, see [#1494](https://github.com/pietervdvn/MapComplete/issues/1494) ([200361b](https://github.com/USERNAME/REPOSITORY_NAME/commits200361bf8dcd17f47574539137b2c42cb745143a)) +* add text on cancel button ([1208e09](https://github.com/USERNAME/REPOSITORY_NAME/commits1208e095cf3fe87a2c9948a0c6666705c14c5e52)) +* add the minimap again ([e83b8cb](https://github.com/USERNAME/REPOSITORY_NAME/commitse83b8cb19183b53c4d6b24b4f621900fd14280fa)) +* addnewpoint-dialog works again ([8ed0a32](https://github.com/USERNAME/REPOSITORY_NAME/commits8ed0a32d153d4a434602c86a85eaf02881f6d480)) +* alias 'urls' as 'website', fix [#246](https://github.com/pietervdvn/MapComplete/issues/246) ([87e79b8](https://github.com/USERNAME/REPOSITORY_NAME/commits87e79b8e8c981f5b0daa105097c514273ce6be3e)) +* allow selection of the first radiobutton ([8fafd0a](https://github.com/USERNAME/REPOSITORY_NAME/commits8fafd0a8a5701323c6e25210ac6310dc418e31eb)) +* allow to delete freeform values in more cases ([9b78838](https://github.com/USERNAME/REPOSITORY_NAME/commits9b78838745f41f3e42f158c9959c695e4160e7e8)) +* allow to link multiple mapillary-images ([286fe72](https://github.com/USERNAME/REPOSITORY_NAME/commits286fe729359db1ec36328768a6a7662a9e951ce8)) +* allow to move (non-snapped) points again after fixing [#1809](https://github.com/pietervdvn/MapComplete/issues/1809) ([77f07f5](https://github.com/USERNAME/REPOSITORY_NAME/commits77f07f55ecf9140c1c556fb4147c7d5cb74b0645)) +* alltags shows objects as JSON instead as [object Object] ([1df28ab](https://github.com/USERNAME/REPOSITORY_NAME/commits1df28ab50199310928974a07809b65e854df1525)) +* also copy png assets ([8f32916](https://github.com/USERNAME/REPOSITORY_NAME/commits8f32916454b63939d63c7496f7ba7b30f6f038cc)) +* also show location info on shake if GPS is disabled ([4c5d24a](https://github.com/USERNAME/REPOSITORY_NAME/commits4c5d24a0a7dacc393c0a4328c99b5e5e08058b0b)) +* always allow www.openstreetmap.org ([6b4be12](https://github.com/USERNAME/REPOSITORY_NAME/commits6b4be1200c60664bbbee87f9f8f8e3d821a277c3)) +* always link to the wiki when tags are shown ([8dfef62](https://github.com/USERNAME/REPOSITORY_NAME/commits8dfef624323b8b93098150115d93f4089b846fb2)) +* attempt to fix build ([0e8c3b1](https://github.com/USERNAME/REPOSITORY_NAME/commits0e8c3b10626f6f37e54b8ef96c11fb5dc113fe7a)) +* attempt to fix build ([0e760b9](https://github.com/USERNAME/REPOSITORY_NAME/commits0e760b908c4955300b9d329f6d7eb9fb475713d3)) +* attributes to answered questions didn't automatically show, questions which became available are now shown if they become avaible because of a tag change. Fix [#1587](https://github.com/pietervdvn/MapComplete/issues/1587) ([7de0af1](https://github.com/USERNAME/REPOSITORY_NAME/commits7de0af15f100815288fea4fdb13f3e845bc79088)) +* await 'country' to be loaded ([3c5bde1](https://github.com/USERNAME/REPOSITORY_NAME/commits3c5bde1ae3ff3ed1aa72bb1463a4690e16f941e6)) +* background layer csp fixe ([713e53c](https://github.com/USERNAME/REPOSITORY_NAME/commits713e53c41a840ae1e66cb9a36e06e0e9361285bd)) +* better error handling and handling of changes ([7813653](https://github.com/USERNAME/REPOSITORY_NAME/commits78136532651ebcea6a2d2d94e42b2775bb9e92e3)) +* better select available levels ([7b73578](https://github.com/USERNAME/REPOSITORY_NAME/commits7b73578f88b09ee65f923c363a884d91f20d2fae)) +* broken titleIcons (fix [#1344](https://github.com/pietervdvn/MapComplete/issues/1344)) ([bdcf8a2](https://github.com/USERNAME/REPOSITORY_NAME/commitsbdcf8a26014b01e8128ece897e4b98286722d0e4)) +* browser specific bug which caused the file selector to open twice on chromium; fix [#1771](https://github.com/pietervdvn/MapComplete/issues/1771) ([9893e43](https://github.com/USERNAME/REPOSITORY_NAME/commits9893e433f3bb43fbea80beb2a73ea4e271a01491)) +* bug submitted comments on notes twice ([5be4b9d](https://github.com/USERNAME/REPOSITORY_NAME/commits5be4b9d1fb1e5a5e2cb03e314d4d65370aa44957)) +* build ([cef7e01](https://github.com/USERNAME/REPOSITORY_NAME/commitscef7e01a2e7855d214d4a5ca75fc032a2b1d123a)) +* build ([8556196](https://github.com/USERNAME/REPOSITORY_NAME/commits8556196acec5652ab39baaaa14ac911cb6dc5a15)) +* build ([dbca260](https://github.com/USERNAME/REPOSITORY_NAME/commitsdbca2601324cd79d5d2d7d0398d002565d8825de)) +* build ([2a21040](https://github.com/USERNAME/REPOSITORY_NAME/commits2a2104055185e1f9fa8f1cad620606b690527a0c)) +* build ([29ee113](https://github.com/USERNAME/REPOSITORY_NAME/commits29ee113e30c11edc670331f1fb67f41e08f9ab50)) +* build, some metatagging errors ([0d529e7](https://github.com/USERNAME/REPOSITORY_NAME/commits0d529e7cca4f044ab4c5fd4491e3704678598862)) +* build; subtle bug ([5644c7a](https://github.com/USERNAME/REPOSITORY_NAME/commits5644c7a8b87a0fb17e846a4c370ac432cc03ca15)) +* bypass missing favourites in custom theme loader ([6f59e46](https://github.com/USERNAME/REPOSITORY_NAME/commits6f59e46befd0ba1df57066400f3d2bbf00166f5b)) +* charging station theme uses anchor too ([39024eb](https://github.com/USERNAME/REPOSITORY_NAME/commits39024eb5f3f68b5dba6b10d8dcf07fe2c5c67fbc)) +* charging_station.protojson ([f042ca4](https://github.com/USERNAME/REPOSITORY_NAME/commitsf042ca40701e269a02254289a35acd43aaed05b0)) +* chromium browsers don't handle spaces in `tel:`-links well ([4168ef0](https://github.com/USERNAME/REPOSITORY_NAME/commits4168ef01e333784f738fafa15d1eb7d7c4c527c7)) +* cleanup merge ([e160510](https://github.com/USERNAME/REPOSITORY_NAME/commitse16051025a0f7c827c90db7251596be0c5e902c9)) +* cleanup of wikipedia panel, fix [#1570](https://github.com/pietervdvn/MapComplete/issues/1570) ([203f24f](https://github.com/USERNAME/REPOSITORY_NAME/commits203f24fca01047edd2f01ed541fc93841ac1f17d)) +* clicking the magnifying icon actually works now ([5478711](https://github.com/USERNAME/REPOSITORY_NAME/commits5478711bed8806d4cd5ae0ffe69ab64f3293fa69)) +* compilation warning ([5851531](https://github.com/USERNAME/REPOSITORY_NAME/commits5851531306b2cb2cebfb459e5c5bef284b8c3e94)) +* correct 'sync repo' step ([ecd84c2](https://github.com/USERNAME/REPOSITORY_NAME/commitsecd84c2cf6174bddad5d1759caeeeea761e1b9f1)) +* correct CSP header for iOs/safari ([54868de](https://github.com/USERNAME/REPOSITORY_NAME/commits54868debec137c57b8dd45024332854150cc8f0f)) +* correct default access assumption ([ea06152](https://github.com/USERNAME/REPOSITORY_NAME/commitsea061524737b343bec120356b8822d185cdefd85)) +* correct default sed param for BSD sed flavor ([46fe1c5](https://github.com/USERNAME/REPOSITORY_NAME/commits46fe1c5795a110c541ed97548c426b205705ff2d)) +* correct faulty name ([0952200](https://github.com/USERNAME/REPOSITORY_NAME/commits09522004db01453dcdb9a26670c3d7ef6f4e1eee)) +* correct filters ([4d2d541](https://github.com/USERNAME/REPOSITORY_NAME/commits4d2d54175ca5b4af5a258bf7d1b89debab9f8f8e)) +* correct maybe missing option in etymology layer ([a8ecab4](https://github.com/USERNAME/REPOSITORY_NAME/commitsa8ecab4d794c219301d636594933520c87fd8d75)) +* correct merge conflict ([e6d8401](https://github.com/USERNAME/REPOSITORY_NAME/commitse6d84019a579daed01a34cf67825689511fd9c0a)) +* correct minzoom on all themes ([bde5878](https://github.com/USERNAME/REPOSITORY_NAME/commitsbde5878fedae0eac20db8bb4c6eca81f904e20fd)) +* correct sed command to be OSX compatible ([e21eb65](https://github.com/USERNAME/REPOSITORY_NAME/commitse21eb6596ee85471b8cbbd6776fa65647786bfda)) +* correct typings ([2f17e6e](https://github.com/USERNAME/REPOSITORY_NAME/commits2f17e6e53259193c06d1764188a1a9602fbd97bb)) +* Correctly calculate available levels, reselect last_click automatically ([4c962ea](https://github.com/USERNAME/REPOSITORY_NAME/commits4c962eab21af8146d9d57f7d12cd08cdd4a642d6)) +* correctly escape markdown ([4d01d81](https://github.com/USERNAME/REPOSITORY_NAME/commits4d01d81e1e87ca5a18b6d0fd7b9f232c77cda936)) +* correctly flatten special cases ([7ba0e73](https://github.com/USERNAME/REPOSITORY_NAME/commits7ba0e736a87492bc64e5f73811a6c790851c59d9)) +* correctly flatten special cases ([593d7bd](https://github.com/USERNAME/REPOSITORY_NAME/commits593d7bd07ac520875c5acfcab5df364fb04dd77c)) +* correctly interpret 'hideInAnswer'-conditions, recalculate them dynamically ([37dc6a7](https://github.com/USERNAME/REPOSITORY_NAME/commits37dc6a71616fc9510d1bf6e814060390dd329629)) +* correctly optimize 'key=A&key!=B' into 'key=A' ([d8a5f3c](https://github.com/USERNAME/REPOSITORY_NAME/commitsd8a5f3c2be985c4fcbedfda09564ae5d02e6e5b4)) +* correctly replace fields in filterview ([ae491f4](https://github.com/USERNAME/REPOSITORY_NAME/commitsae491f491652798344273d18fb42f1d27108ba4b)) +* crash in new note flow, spotted by [@thibaultmolleman](https://github.com/thibaultmolleman) ([3e49929](https://github.com/USERNAME/REPOSITORY_NAME/commits3e49929f253f8ae1f945d9df4eb3398b39030a43)) +* css-generate script; loading of stylesheet in style_test, add small buttons to style_test ([6bed170](https://github.com/USERNAME/REPOSITORY_NAME/commits6bed170910cdf6fd2ca68eb9d1b65779287afa5d)) +* CSV download ([c1bce7a](https://github.com/USERNAME/REPOSITORY_NAME/commitsc1bce7abc76984ddb84f112d1b7367e5822d5763)) +* decent PDF-export ([de20b00](https://github.com/USERNAME/REPOSITORY_NAME/commitsde20b00b8f8af6796cbab060262d85a5ab171c5d)) +* direction input does not scroll anymore when dragged, fix [#1468](https://github.com/pietervdvn/MapComplete/issues/1468) ([102892e](https://github.com/USERNAME/REPOSITORY_NAME/commits102892ec774501b2811179b333217fb81efe33bb)) +* disable 'delete'-button if no reason is selected, fix [#1631](https://github.com/pietervdvn/MapComplete/issues/1631) ([6b6b1e3](https://github.com/USERNAME/REPOSITORY_NAME/commits6b6b1e32862c7021cff99c2b340a50ae5822cf60)) +* disable check ([b2e7b7d](https://github.com/USERNAME/REPOSITORY_NAME/commitsb2e7b7d221a6dbc12f73505522a5d29bd6d36244)) +* disable rotation on mobile if the user enabled this ([93a30fd](https://github.com/USERNAME/REPOSITORY_NAME/commits93a30fdba5edfd91c19050013aa4f58123ce127c)) +* don't attempt to show an osm wiki page as image, fix [#1776](https://github.com/pietervdvn/MapComplete/issues/1776) ([7dc43f9](https://github.com/USERNAME/REPOSITORY_NAME/commits7dc43f933e84b73f99935ceba4638fe85e376c94)) +* don't count layers if they are not shown by default, fix [#1840](https://github.com/pietervdvn/MapComplete/issues/1840) ([d848171](https://github.com/USERNAME/REPOSITORY_NAME/commitsd848171c3d795e31a73b10d687b475de30e8f39c)) +* don't crash if 't' is undefined ([b1c4097](https://github.com/USERNAME/REPOSITORY_NAME/commitsb1c4097cb480785d2e644a3da072055d1778a17c)) +* don't crash if no features nearby ([b6a4cc1](https://github.com/USERNAME/REPOSITORY_NAME/commitsb6a4cc11bdf25c4cf09e55ad802eb0d460311c9d)) +* don't crash if no features nearby ([c2001f1](https://github.com/USERNAME/REPOSITORY_NAME/commitsc2001f17a55937bbc09e52d730828c9234bf30ef)) +* don't measure compass if alpha is null, fix [#1787](https://github.com/pietervdvn/MapComplete/issues/1787) ([3461ed6](https://github.com/USERNAME/REPOSITORY_NAME/commits3461ed60990fc91e399ef3c4cd082029db2059dd)) +* don't move the map after we jumped to the current GPS location ([f31b025](https://github.com/USERNAME/REPOSITORY_NAME/commitsf31b025b8dba7218576c58ef6bc2b3101052beb7)) +* don't set invalid coordinates ([fbc3bce](https://github.com/USERNAME/REPOSITORY_NAME/commitsfbc3bce5109ffa95491b792d4c7870167f9915ba)) +* don't show both counts and summary at the same time ([d6dbeca](https://github.com/USERNAME/REPOSITORY_NAME/commitsd6dbecace26b9dc52da61d19b767469190a0e8be)) +* don't show duplicate entry of default baselayer if already added ([7ef1628](https://github.com/USERNAME/REPOSITORY_NAME/commits7ef1628d87f32240746251b3e7b4bfdfdbebf6cb)) +* Don't show item if there is no label ([7edc730](https://github.com/USERNAME/REPOSITORY_NAME/commits7edc7302bbb6f0884e6652a429e00705f64413bb)) +* don't show preset_type special vis if no presets are given ([cf3b414](https://github.com/USERNAME/REPOSITORY_NAME/commitscf3b4145ff68871a2040b15ccb6d030b59c448ad)) +* don't show radiobuttons if only one option is available ([8e68ca0](https://github.com/USERNAME/REPOSITORY_NAME/commits8e68ca03ab33cf91df83f1e1d2750723cfb0370b)) +* don't store location 0,0 to prevent movement or cursor in addNew-dialog ([c19317b](https://github.com/USERNAME/REPOSITORY_NAME/commitsc19317bd04a10db89ecbb95eda9b3156f50c395b)) +* don't throw an error if there is no parent element which can be scrolled ([3166918](https://github.com/USERNAME/REPOSITORY_NAME/commits3166918551aab57bdf0777e7bd378003779f8c10)) +* drag & drop for file selector ([5be24db](https://github.com/USERNAME/REPOSITORY_NAME/commits5be24dbef1647cd2c6c869d86ea5b37f0e072106)) +* dynamic filtering with non-string values ([58b94c3](https://github.com/USERNAME/REPOSITORY_NAME/commits58b94c38e50c5a9c66ac248fe8117b19bac7d05a)) +* effectively show `contact:website` in title icons ([0027299](https://github.com/USERNAME/REPOSITORY_NAME/commits0027299a3e373e9cd19deec0b93dd7a7599ff78a)) +* emit warning for invalid suggestions ([56ba426](https://github.com/USERNAME/REPOSITORY_NAME/commits56ba426ab5bb2f10ac38776728a67ff4558e0cfa)) +* enable editing questions (and settings) again (oopsie) ([d079ba9](https://github.com/USERNAME/REPOSITORY_NAME/commitsd079ba91aa29395262b8084f811eec26e51750b9)) +* enable external data sources from the ELI ([5ea0804](https://github.com/USERNAME/REPOSITORY_NAME/commits5ea08040d7ec40abaabf849ef20771c1a5112637)) +* enable login on index screen ([aface6a](https://github.com/USERNAME/REPOSITORY_NAME/commitsaface6aea7f1774b62c9218e64cd65bf77b97c0b)) +* enable rainbow question again, fix [#1453](https://github.com/pietervdvn/MapComplete/issues/1453) ([af447a9](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf447a948f3d425565afe5620a97123111d6bf91)) +* enable settings again, fix [#1815](https://github.com/pietervdvn/MapComplete/issues/1815) ([a118c29](https://github.com/USERNAME/REPOSITORY_NAME/commitsa118c295d641852584bbd16f07c419a3fa896591)) +* error server properly names files, add status endpoint ([37c1d46](https://github.com/USERNAME/REPOSITORY_NAME/commits37c1d46dd43a9d75326a4f9187d4bb3846b4a211)) +* escape special characters for wikipedia search, might improve [#1500](https://github.com/pietervdvn/MapComplete/issues/1500) ([ec94253](https://github.com/USERNAME/REPOSITORY_NAME/commitsec94253d6c5ef38ee5d5d1c7bc25fff53cd6be82)) +* etymology theme now supports multi-apply again, uses lower zoom level for multiselect ([90869a1](https://github.com/USERNAME/REPOSITORY_NAME/commits90869a1c985d992063656d89fe0d95b73184304a)) +* Expose all templates ([09a3e7f](https://github.com/USERNAME/REPOSITORY_NAME/commits09a3e7fba1464835bfad061110f4352d9a47e173)) +* facade gardens: restore forgottne rendering ([f8fa184](https://github.com/USERNAME/REPOSITORY_NAME/commitsf8fa1841e4df8627a18ee57c7c2cb943176557be)) +* fill in freeform value if already set ([e0527e9](https://github.com/USERNAME/REPOSITORY_NAME/commitse0527e964702427014220e2978680e3e6a7cc774)) +* fix [#1471](https://github.com/pietervdvn/MapComplete/issues/1471): add option to bench for 'does probably not have an artwork' ([91892d5](https://github.com/USERNAME/REPOSITORY_NAME/commits91892d50c5a5c5071838c8a38a24c60f1f7ed717)) +* fix [#1477](https://github.com/pietervdvn/MapComplete/issues/1477). Setting the background caused a map.resize(), which in turn caused the coordinates to be set to 0,0, which caused the location-correction to kick in, moving the location input towards null island ([d95d96f](https://github.com/USERNAME/REPOSITORY_NAME/commitsd95d96fb1ba1a8886f05b118c0650a4af1ae5dd7)) +* fix [#1503](https://github.com/pietervdvn/MapComplete/issues/1503), fix [#1571](https://github.com/pietervdvn/MapComplete/issues/1571) ([382f965](https://github.com/USERNAME/REPOSITORY_NAME/commits382f96596ed474bef086d64cabb748257416f2de)) +* fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506), language-URL-parameter works again and is properly documented ([2942a2d](https://github.com/USERNAME/REPOSITORY_NAME/commits2942a2dae77d7c79b3af47b0c518342fa6c87454)) +* fix [#1528](https://github.com/pietervdvn/MapComplete/issues/1528): from weblate to theme files did not properly sync ([3c08c12](https://github.com/USERNAME/REPOSITORY_NAME/commits3c08c1297423d74348aa83e5932a7fbd94c260e5)) +* fix [#1529](https://github.com/pietervdvn/MapComplete/issues/1529) ([05bf79f](https://github.com/USERNAME/REPOSITORY_NAME/commits05bf79f7616af06aefea8e9f095e2b467d84a5d7)) +* fix [#1532](https://github.com/pietervdvn/MapComplete/issues/1532) ([5d00f3c](https://github.com/USERNAME/REPOSITORY_NAME/commits5d00f3cc6a75a22732ec7ffa63d9335d9d75853c)) +* fix [#1580](https://github.com/pietervdvn/MapComplete/issues/1580) ([56934b7](https://github.com/USERNAME/REPOSITORY_NAME/commits56934b79f6911da6d182c4e3f28bbd6749932c3e)) +* fix [#1596](https://github.com/pietervdvn/MapComplete/issues/1596) ([0727a22](https://github.com/USERNAME/REPOSITORY_NAME/commits0727a228fd8bf9b7dd7ecc5b42d9225eab00bae7)) +* fix [#1627](https://github.com/pietervdvn/MapComplete/issues/1627) ([e37f908](https://github.com/USERNAME/REPOSITORY_NAME/commitse37f90855fb3b1fd59d19506aca0e2ccc6a12fb2)) +* fix [#1675](https://github.com/pietervdvn/MapComplete/issues/1675) ([65250d7](https://github.com/USERNAME/REPOSITORY_NAME/commits65250d77beec81f9d336302c4b185dcd14518917)) +* fix [#1684](https://github.com/pietervdvn/MapComplete/issues/1684); add 'openid' to auth-tokens (will be needed in the future for geovisio integration) ([0a82dd0](https://github.com/USERNAME/REPOSITORY_NAME/commits0a82dd0edfd67c18b2c59c903d506cbb0d46ffc1)) +* fix [#1713](https://github.com/pietervdvn/MapComplete/issues/1713) ([2720f5d](https://github.com/USERNAME/REPOSITORY_NAME/commits2720f5dd19deb2ebdcf1eae2229e2fbdd0adc4dd)) +* fix [#1779](https://github.com/pietervdvn/MapComplete/issues/1779), add check to prevent similar errors ([417dc16](https://github.com/USERNAME/REPOSITORY_NAME/commits417dc1633e05b1b4776449eb245739232dea975e)) +* fix [#1813](https://github.com/pietervdvn/MapComplete/issues/1813). For some reason, importing a .js-file suddenly fails, so ported it to typescript ([cab414e](https://github.com/USERNAME/REPOSITORY_NAME/commitscab414e80895933b4ae874be5fd77b90b8c13f3f)) +* fix [#1817](https://github.com/pietervdvn/MapComplete/issues/1817), some more improvements to the loading screen ([6394ee8](https://github.com/USERNAME/REPOSITORY_NAME/commits6394ee8e6800d2cd23d30383ffea9629964c4dc9)) +* fix [#1844](https://github.com/pietervdvn/MapComplete/issues/1844) ([e11442e](https://github.com/USERNAME/REPOSITORY_NAME/commitse11442e1009465e8bc3e8823e8d66fe44fb5f9c2)) +* fix [#1883](https://github.com/pietervdvn/MapComplete/issues/1883); display underground railway lines in a subtler rendering ([b3299cd](https://github.com/USERNAME/REPOSITORY_NAME/commitsb3299cdd733152820e30c18463e551059654d3fb)) +* fix [#1906](https://github.com/pietervdvn/MapComplete/issues/1906) ([3ab1d15](https://github.com/USERNAME/REPOSITORY_NAME/commits3ab1d1591fde7e31efe4e6186af78b71987c1498)) +* fix [#1917](https://github.com/pietervdvn/MapComplete/issues/1917) ([8c65448](https://github.com/USERNAME/REPOSITORY_NAME/commits8c6544883469d9634fca285b600fa05706dcdbfa)) +* fix [#1917](https://github.com/pietervdvn/MapComplete/issues/1917) ([903a11d](https://github.com/USERNAME/REPOSITORY_NAME/commits903a11d4e7c832ad46d3afd4ed9786df6e6d1331)) +* fix anonymous reviews; fix [#1868](https://github.com/pietervdvn/MapComplete/issues/1868) ([073cd69](https://github.com/USERNAME/REPOSITORY_NAME/commits073cd692e456ae63999bfc2770d0c204dc8a1793)) +* fix back-button on the 404-page, remove some obsolete classes ([006f695](https://github.com/USERNAME/REPOSITORY_NAME/commits006f69561a08a1c3a3577ada83e9b3954d8332f2)) +* fix bug icon ([1fea2b5](https://github.com/USERNAME/REPOSITORY_NAME/commits1fea2b56be82e8a9a5db2683ee55a5a81ec7e7f2)) +* fix bug with incorrect translation context for themes ([368f9ad](https://github.com/USERNAME/REPOSITORY_NAME/commits368f9ad0c83eaeb40d4f7ae293d73d11714271e0)) +* fix build ([0d705b9](https://github.com/USERNAME/REPOSITORY_NAME/commits0d705b97277a7c6cba5a57d071aeaace1a24fc5a)) +* fix crash in studio ([b18d575](https://github.com/USERNAME/REPOSITORY_NAME/commitsb18d575ade434ec51a33684ff365ede7b93cfa79)) +* fix dissappearing items to apply ([a935c03](https://github.com/USERNAME/REPOSITORY_NAME/commitsa935c03631614390a1ab43248f51e6ba0eb26956)) +* fix domain name ([301f00f](https://github.com/USERNAME/REPOSITORY_NAME/commits301f00f6aef727981e2faa73e2093710ac25c337)) +* fix file drag and drop, allow entire featurePopup for file drop ([859faea](https://github.com/USERNAME/REPOSITORY_NAME/commits859faead7fd8c6fa5ae73b70e41a753f34dfd5ff)) +* fix icons in mappings which use a builtin svg ([ab28fbe](https://github.com/USERNAME/REPOSITORY_NAME/commitsab28fbe35c97de56e765bc3b35277489aebb1872)) +* fix incorrectly linked translation in privacy policy ([e2aaa7d](https://github.com/USERNAME/REPOSITORY_NAME/commitse2aaa7d435ee91d20a62e8380300ec27418e93c1)) +* fix link image action ([ce55b4c](https://github.com/USERNAME/REPOSITORY_NAME/commitsce55b4c7d8659044b93a03afaaa37d272a6b48ab)) +* fix maps ([e48571a](https://github.com/USERNAME/REPOSITORY_NAME/commitse48571a80a03418d5c0c61304dbb166a67740ddc)) +* fix move dialog ([084cd86](https://github.com/USERNAME/REPOSITORY_NAME/commits084cd86b71bbc26e3b7542a5f16ecc1715275a50)) +* fix multi-visualisation ([872e36d](https://github.com/USERNAME/REPOSITORY_NAME/commits872e36dffa6810f599e06778010f8b00056b976c)) +* fix nearby drinking water fountain detection ([13ebcff](https://github.com/USERNAME/REPOSITORY_NAME/commits13ebcffab102fdcda6263c22cdd12bc22a6f86f7)) +* fix nearby drinking water fountain detection ([a5276eb](https://github.com/USERNAME/REPOSITORY_NAME/commitsa5276eb4e67ed939e5b34ad7ffca61d6e41d679d)) +* fix query:licenses ([e0ee3ed](https://github.com/USERNAME/REPOSITORY_NAME/commitse0ee3edf71388614a1bc07dc43aaf18def1a630e)) +* fix rainbow crossings theme ([5b29177](https://github.com/USERNAME/REPOSITORY_NAME/commits5b291777be5a1aa4826ba894af76dbf4c09b9a7c)) +* fix reverse tabnabbing in most cases, add rel=noopener to most links to untrusted content ([d9b8257](https://github.com/USERNAME/REPOSITORY_NAME/commitsd9b8257e47f7c2e2ce06e4a0fcad8830764dae8e)) +* fix scrolling for 'addNewPoint' ([637cebe](https://github.com/USERNAME/REPOSITORY_NAME/commits637cebefc7685d64ae5286c2a5f63afb3193a2db)) +* fix scrolling for 'addNewPoint' ([f697d29](https://github.com/USERNAME/REPOSITORY_NAME/commitsf697d292a3ab6bf3114d5f7055c908203efbc8e0)) +* fix settings menu ([2b728fd](https://github.com/USERNAME/REPOSITORY_NAME/commits2b728fdf8bd6effce1682119f7f0d67a13d1c97d)) +* fix styling of translate button in titles ([0a8164c](https://github.com/USERNAME/REPOSITORY_NAME/commits0a8164c378ca4aaa1e34dc3bbd4e2741e5bc6318)) +* fix tests; use OAuth client id from dedicated MapComplete account ([fc9dd46](https://github.com/USERNAME/REPOSITORY_NAME/commitsfc9dd462399a3b7ed8959c38c4a97f24895f9ca8)) +* fix translate icon, fix [#1832](https://github.com/pietervdvn/MapComplete/issues/1832) ([064c601](https://github.com/USERNAME/REPOSITORY_NAME/commits064c60163c19e55d098e1b1061cf3b8df3dcf782)) +* fix UK-Addresses themes again ([370b200](https://github.com/USERNAME/REPOSITORY_NAME/commits370b200bb33f26db448e5d3feda2107f2224d232)) +* fix updating of styles ([650c1a6](https://github.com/USERNAME/REPOSITORY_NAME/commits650c1a675c783179482338f449ca1202246916a0)) +* fix validation of question input; remove some obsolete logging; stabilize output of generate:translations wrt newlines ([1f39ba9](https://github.com/USERNAME/REPOSITORY_NAME/commits1f39ba9ab50f63e04be89f676aa82c04d5bb2f94)) +* fixes to etymology: load wikidata on mobile (which uses m.wikidata.org, tripping the CSP); fix 'upload image of the streetsign' parameters ([480956d](https://github.com/USERNAME/REPOSITORY_NAME/commits480956d45dc767c77848ba32b176af373e73060a)) +* force downloading (without cache) before uploading ([b85b2ac](https://github.com/USERNAME/REPOSITORY_NAME/commitsb85b2ace0b373aeae1b9cef8e748ddea7cd3ca5c)) +* force redrawing the questions in a questionbox to avoid rendering artefacts and unselectable items ([f7e2dc7](https://github.com/USERNAME/REPOSITORY_NAME/commitsf7e2dc7457f366d9cf4722beccfe6b16467ab435)) +* generate layeroverview ([ce654cb](https://github.com/USERNAME/REPOSITORY_NAME/commitsce654cbcf9d7164121ee539836c3f7775d93365d)) +* generate layeroverview ([e71a1c7](https://github.com/USERNAME/REPOSITORY_NAME/commitse71a1c7a3d011b921c6ff08dcc54f93dd84971dc)) +* generateCSP ([a612d4e](https://github.com/USERNAME/REPOSITORY_NAME/commitsa612d4e1c2f6469c7b2d1fc66c8fc416ccdcac1a)) +* generating layeroverview; performance: do not try to download ratings if no ratings element is present ([fc62d41](https://github.com/USERNAME/REPOSITORY_NAME/commitsfc62d41e1b832278bb0c846ffcaa971273419730)) +* giving a review is possible again ([0879ff9](https://github.com/USERNAME/REPOSITORY_NAME/commits0879ff97ed4b0b5de572dbf50cc45433b60423f2)) +* giving a review is possible again ([a75fc0d](https://github.com/USERNAME/REPOSITORY_NAME/commitsa75fc0d21550495ea2e579922af9b27b2b2a6e22)) +* gps-icon should turn into an arrow again ([ef93ad1](https://github.com/USERNAME/REPOSITORY_NAME/commitsef93ad126f5c6b973fb2f66c368522ebdee07543)) +* handle NBSP in svg ([4190bf7](https://github.com/USERNAME/REPOSITORY_NAME/commits4190bf79339330601b4d6d426c45cfc6e431ef61)) +* hash would not clear because the update method unregistered itself ([8dd7f34](https://github.com/USERNAME/REPOSITORY_NAME/commits8dd7f34ad733080e9e5e648a91942528d96857ed)) +* hidden theme link not working ([d5e128b](https://github.com/USERNAME/REPOSITORY_NAME/commitsd5e128b1ed71fb7be7402bbe4ed86edcd6e5a6b0)) +* hide 'addnewpoint'-icon when closing the dialog ([499ad85](https://github.com/USERNAME/REPOSITORY_NAME/commits499ad85f1efd0aefd2cf757198eaef5af037c7ee)) +* hide some elements of the UI if they are disabled by a featureSwitch ([17503d5](https://github.com/USERNAME/REPOSITORY_NAME/commits17503d5bfb63c5c03968c96f15c2c5a674a3ede3)) +* hide tag_apply_button when applied ([622df2d](https://github.com/USERNAME/REPOSITORY_NAME/commits622df2df19ce4fa7049447995194d0f28b91d59f)) +* icons for rental in cyclofix theme ([02064a2](https://github.com/USERNAME/REPOSITORY_NAME/commits02064a2d8078b07aeb9e282700018c86638c4683)) +* ifnot-value would show up together with the 'if'-value ([15f1a93](https://github.com/USERNAME/REPOSITORY_NAME/commits15f1a9362c624d3fec9680efa3e38edf912cbaf1)) +* import ([98ca6aa](https://github.com/USERNAME/REPOSITORY_NAME/commits98ca6aa8aaac923b57d12f52b41f5ee13412b0a2)) +* improve background layer switching code, might improve [#1481](https://github.com/pietervdvn/MapComplete/issues/1481) ([33fa11f](https://github.com/USERNAME/REPOSITORY_NAME/commits33fa11fc1728f017644977be2181c25441a76e18)) +* improve deployscript for hetzner ([dcd02e9](https://github.com/USERNAME/REPOSITORY_NAME/commitsdcd02e9ad772346bc3f69ebd9563af80ea30810e)) +* improve error message ([7f6c1f0](https://github.com/USERNAME/REPOSITORY_NAME/commits7f6c1f06e23cb249d2eadda9be08b1cafc680d30)) +* improve first-sentence ([7aee442](https://github.com/USERNAME/REPOSITORY_NAME/commits7aee442ae49a7a68821917de9580ce9e62105edf)) +* improve functionality of GRB-theme (WIP) ([b86e291](https://github.com/USERNAME/REPOSITORY_NAME/commitsb86e2910baba5fe37cf5c0f53a64966c85d159ce)) +* improve optimization; add tests ([595503c](https://github.com/USERNAME/REPOSITORY_NAME/commits595503cfc35c8db3cb4ee4b28f82b7c91ee75dff)) +* improve parsing of possible mapillary values ([3d54a83](https://github.com/USERNAME/REPOSITORY_NAME/commits3d54a8392be94a369bf388dad0f83f60fb5a5474)) +* improve PDF-output functionality ([215286a](https://github.com/USERNAME/REPOSITORY_NAME/commits215286a5af46c58a197bf85b9561c26eff5bd8fe)) +* include 'source' and tile URLs from vector tile sources into CSP, see [#1652](https://github.com/pietervdvn/MapComplete/issues/1652) ([09504e1](https://github.com/USERNAME/REPOSITORY_NAME/commits09504e18ecb4b85ceb6562fcdb0e21034e496ad8)) +* include japanese dot as sentence separator ([d2c6689](https://github.com/USERNAME/REPOSITORY_NAME/commitsd2c668922b7ac5dc682461c6789fbbdb37fad8c3)) +* include lod-proxy in CSp ([087c099](https://github.com/USERNAME/REPOSITORY_NAME/commits087c099e2e633237b00748ee5d3dbba454999881)) +* incorrect path in error message ([5da8952](https://github.com/USERNAME/REPOSITORY_NAME/commits5da895276c5d5447bea7094d81d371e99458ff7e)) +* **index:** search got confused as it didn't have an id for the list items ([6f42884](https://github.com/USERNAME/REPOSITORY_NAME/commits6f4288476eebf7b0e8af6177bff066d06f3823dc)) +* init indexedFeatureStore with a default map as to fix crash upon loading if a pending change is present ([377c411](https://github.com/USERNAME/REPOSITORY_NAME/commits377c411143c577752014842bbc205093c9ebfdc4)) +* initialize user settings with a strict value to be able to override it ([57e0093](https://github.com/USERNAME/REPOSITORY_NAME/commits57e0093e478f541c46145a72dbfb9fc70d467633)) +* interpret missing level tag as 'level=0' ([5d8b422](https://github.com/USERNAME/REPOSITORY_NAME/commits5d8b42216236d49b6bcf328e8a009884f697e312)) +* keep map mouse-interactive when panning with arrow keys, some CSS-tweaks ([512bb4c](https://github.com/USERNAME/REPOSITORY_NAME/commits512bb4c00e1fed39927c8bd40aaef378db64d648)) +* layers now compile again ([1c99173](https://github.com/USERNAME/REPOSITORY_NAME/commits1c99173f32112b332ce38f926623fa2c27f89ab8)) +* lines with opacity have colour again ([f0d9365](https://github.com/USERNAME/REPOSITORY_NAME/commitsf0d9365e06eb533f0bf0a47c21ce58834fc5cabd)) +* load element if set in the hash ([9090dda](https://github.com/USERNAME/REPOSITORY_NAME/commits9090dda6889a4e4eda33b9d634fb22da3aedadd8)) +* load translations for PDF-export internally ([d103911](https://github.com/USERNAME/REPOSITORY_NAME/commitsd103911d143803c9e0373a673110009a785f94da)) +* loading oneway arrows on multiple layers; fix nullpointer ([1678427](https://github.com/USERNAME/REPOSITORY_NAME/commits16784270ce45560520d4e9b19d81bd04da7033ee)) +* long domain names cause horizontal scroll with taghints ([eb47c4d](https://github.com/USERNAME/REPOSITORY_NAME/commitseb47c4d5b9a0379cc87b773c73638965fb247ee8)) +* make levelselector clickable again, fix [#1416](https://github.com/pietervdvn/MapComplete/issues/1416) ([8b5daef](https://github.com/USERNAME/REPOSITORY_NAME/commits8b5daefc9063c818eeea6e044167787feb31d4b5)) +* make sure that a 'hidden' tagRendering cannot be accidentally selected ([5585f02](https://github.com/USERNAME/REPOSITORY_NAME/commits5585f02cad0c737f99c16433d7a61f3a5f3743d3)) +* make sure that the passed-in-location of the map is respected, prevents random jumps in the location input ([5c01f6a](https://github.com/USERNAME/REPOSITORY_NAME/commits5c01f6ada95ab1410310d4f084f593b6f561cc53)) +* make sure the background is always below the rendered layers ([2769747](https://github.com/USERNAME/REPOSITORY_NAME/commits2769747737964a509897ccce4702a9ea9ebefcd8)) +* make text a translation ([418e0cd](https://github.com/USERNAME/REPOSITORY_NAME/commits418e0cd149f1af50527e1f1f2c6fbec254779681)) +* make top and bottom panels click-through ([0db6a89](https://github.com/USERNAME/REPOSITORY_NAME/commits0db6a8977716e33bfa775bd731e994bf9facf0c9)) +* maproulette endpoints ([bbf6d62](https://github.com/USERNAME/REPOSITORY_NAME/commitsbbf6d62c866950476ee34ff735352d8cc38daa7a)) +* maproulette import flow ([5f7cc35](https://github.com/USERNAME/REPOSITORY_NAME/commits5f7cc351c9fb3743ab1cba65327611f730440ec5)) +* maproulette item ([b6b77da](https://github.com/USERNAME/REPOSITORY_NAME/commitsb6b77daef78bdc111530ec1fb17820c4fb042e57)) +* markers can rotate again ([5e453d5](https://github.com/USERNAME/REPOSITORY_NAME/commits5e453d5cf19fb63ef7516ad11e53aad4e0006bdc)) +* markers now appear correctly on PNG exports ([e5b3e15](https://github.com/USERNAME/REPOSITORY_NAME/commitse5b3e15c43672933fc3f1f6a59960514961ce377)) +* MC would crash if a pending change was present; remember preferences in order to reuse the changeset ([f2375f4](https://github.com/USERNAME/REPOSITORY_NAME/commitsf2375f4877316193132f4ae4189ef5b65e7ef710)) +* metatagging of width theme ([c4ff70c](https://github.com/USERNAME/REPOSITORY_NAME/commitsc4ff70ce656e941574a31120f3971375ecc7ba4c)) +* minimap takes to much space ([037c593](https://github.com/USERNAME/REPOSITORY_NAME/commits037c593f61b3adfd4ac314aef063e20049ce3cb7)) +* missing commas in elevator.json ([229e605](https://github.com/USERNAME/REPOSITORY_NAME/commits229e60538b4d9002875a63ad877324941dd4647d)) +* Move image preview below FloatOver, the popup otherwise hides the image preview ([df1fef2](https://github.com/USERNAME/REPOSITORY_NAME/commitsdf1fef28c02b08a1ba13e4fbd8bc6f15d6c7913c)) +* move lastClick to bottom anchor ([beea00c](https://github.com/USERNAME/REPOSITORY_NAME/commitsbeea00cbf079ad0c109c78d2828b7359479f0717)) +* multianswer with a free textfield did not activate ([649ed1f](https://github.com/USERNAME/REPOSITORY_NAME/commits649ed1f53a7948bafda45aab36ed214d1808b51e)) +* multianswer would not accept last option ([6f5c71e](https://github.com/USERNAME/REPOSITORY_NAME/commits6f5c71ed5a17147d5fc8c9da9f194a61f18fbb30)) +* no more duplicate link showing up, avoid crash ([7be01d5](https://github.com/USERNAME/REPOSITORY_NAME/commits7be01d5b8f789576b8b74bf07824ed660d9339a1)) +* normalization of URLs, formatting, stabilize inputHelper ([441c4df](https://github.com/USERNAME/REPOSITORY_NAME/commits441c4df4f6d3e26cf866418e5ddaea90bedd2c6a)) +* only check browserLanguage if navigator is defined; fixes tests ([a1fa3b4](https://github.com/USERNAME/REPOSITORY_NAME/commitsa1fa3b494259d7cc8f4873af31d5c9a987cef972)) +* only show 'newly created' if version number is 1 or unset ([1a78ecb](https://github.com/USERNAME/REPOSITORY_NAME/commits1a78ecb85806db67f6e51e39a0882c038589a058)) +* only show fixmes on high zoom level (performance), add the option to remove a fixme ([2f5091a](https://github.com/USERNAME/REPOSITORY_NAME/commits2f5091a8cb484681d69db0ea6578dd7d26eacef7)) +* only show website icon if a website is known ([46244b8](https://github.com/USERNAME/REPOSITORY_NAME/commits46244b8345c0005f3b3648a3379149d243cfe897)) +* open correct menu if set in hash ([7a95334](https://github.com/USERNAME/REPOSITORY_NAME/commits7a953348824f6d601c16a0e632aac8353e0283fb)) +* open settings again ([894d857](https://github.com/USERNAME/REPOSITORY_NAME/commits894d857cdc35864bbd778925ef84a042d6e04aaa)) +* opening the popup if defined in the hash ([196d76d](https://github.com/USERNAME/REPOSITORY_NAME/commits196d76d9dc8736667956ad803cf5aed15f3b682e)) +* ordering of baselayers ([8379a89](https://github.com/USERNAME/REPOSITORY_NAME/commits8379a894d0fc826e33d24d05b3e44852556a60b1)) +* output tailwind into 'public/css/' instead of 'css/' ([a1f5032](https://github.com/USERNAME/REPOSITORY_NAME/commitsa1f50322321d878d823ac3fc70021683dbb6ab69)) +* overpass feature source will redownload if the layers to download have changed ([bae4974](https://github.com/USERNAME/REPOSITORY_NAME/commitsbae49744d95e350f7b4c1b031b8e4a178879deea)) +* overpass feature source will redownload if the layers to download have changed ([7ed5307](https://github.com/USERNAME/REPOSITORY_NAME/commits7ed53076fe206f0e260d329844eb1d8898206b01)) +* pass along initial coordinates with the location input, prevents flashing of the ocean; fix [#1469](https://github.com/pietervdvn/MapComplete/issues/1469) ([790c276](https://github.com/USERNAME/REPOSITORY_NAME/commits790c2767e2dfbdca65f56ec95bf3cd69a98e4301)) +* pass properties of snapping feature in newPointInput to render correctly ([c80085d](https://github.com/USERNAME/REPOSITORY_NAME/commitsc80085dfda58c9eb73fda466d8d81731095f1672)) +* personal theme crashed due to unset defaultIcon ([6075b01](https://github.com/USERNAME/REPOSITORY_NAME/commits6075b016485808352ae84a12d5b872482693411a)) +* png correctly outputs all markers now ([905f796](https://github.com/USERNAME/REPOSITORY_NAME/commits905f796baa26b8eedc177ce7f58353331e432535)) +* precise location input picks correct location (and not the previous click) ([6d337e8](https://github.com/USERNAME/REPOSITORY_NAME/commits6d337e877589f49ed1b4b1dc60ae232dd6634342)) +* preciseInputPicker will show correct icon if snapped or not snapped to a wall ([9870391](https://github.com/USERNAME/REPOSITORY_NAME/commits98703914ca48afefb614e1f19eb15663ab3280b7)) +* presets will now also show if the layer doesn't have a name and is shown ([3f18ce7](https://github.com/USERNAME/REPOSITORY_NAME/commits3f18ce7fd387a4f60db5863cfa4f759eaf34edff)) +* pressing enter would ignore input ([95c41d6](https://github.com/USERNAME/REPOSITORY_NAME/commits95c41d672ee7f5556645925d09610f0bf36ee1c0)) +* probably fix black area outlines ([0bd9e1e](https://github.com/USERNAME/REPOSITORY_NAME/commits0bd9e1e667e659cf1b856e2aece94696089b9a20)) +* properly add 'self' to connect-src ([441a9a5](https://github.com/USERNAME/REPOSITORY_NAME/commits441a9a5ed9e5b6a37356e0f15967f66799419572)) +* properly add 'self' to connect-src (take 2) ([c823e74](https://github.com/USERNAME/REPOSITORY_NAME/commitsc823e745a3e0b562ddfdb489541182ed17449336)) +* properly show hidden themes, drop 'custom theme generator'-button, drop 'professional services' button ([93adfd3](https://github.com/USERNAME/REPOSITORY_NAME/commits93adfd3da592cbf2f177123802f69a7c4fc72637)) +* questions are shown if the condition is met, fix [#1630](https://github.com/pietervdvn/MapComplete/issues/1630) ([8500276](https://github.com/USERNAME/REPOSITORY_NAME/commits85002766a8d3b8d0d4ad31410437bad72ae7ca03)) +* questions now appear when reselecting an item ([0c5e88d](https://github.com/USERNAME/REPOSITORY_NAME/commits0c5e88df7b5bdad82bf2e67b45aa817e29ca4fde)) +* questions of charging stations are now shown separately again ([fe9afb4](https://github.com/USERNAME/REPOSITORY_NAME/commitsfe9afb415ff68c0b8e35fcb41fc68330a41a2b08)) +* questions of charging stations are now shown separately again ([30af019](https://github.com/USERNAME/REPOSITORY_NAME/commits30af019cdfe8dea845e92645d0ec859e439a2b90)) +* re-enable generate command ([13a35b9](https://github.com/USERNAME/REPOSITORY_NAME/commits13a35b94202ef775598fc7130b60b8839cef514a)) +* re-enable reservation question ([cebd428](https://github.com/USERNAME/REPOSITORY_NAME/commitscebd428e9ec58b708637ae34055a5c689e3004cd)) +* re-enable speed and heading in GPS-cursor ([ff47d75](https://github.com/USERNAME/REPOSITORY_NAME/commitsff47d75d41fc1fd4f576cd483150fe27cb3942d3)) +* readd missing files ([7d802d4](https://github.com/USERNAME/REPOSITORY_NAME/commits7d802d418bd52bf29b147c245e548a7704e2d45f)) +* redraw line layers on background change ([6e5fcde](https://github.com/USERNAME/REPOSITORY_NAME/commits6e5fcdef205d4616305d2bca39a1904d60954003)) +* reinstantiate uploads ([871d511](https://github.com/USERNAME/REPOSITORY_NAME/commits871d511616ae48055095e8c3485db762adc6b140)) +* remember map rotation setting ([c764839](https://github.com/USERNAME/REPOSITORY_NAME/commitsc764839fdcefff316b9458067e462f282a2fe7d5)) +* remember previous, externally loaded themes ([b61c0a1](https://github.com/USERNAME/REPOSITORY_NAME/commitsb61c0a11807585a1832ff410be362e74ae2a810b)) +* remove 'icons.defaults' from favourite layers, cleanup of various small typing errors ([e8569ec](https://github.com/USERNAME/REPOSITORY_NAME/commitse8569ec5404e632ebae0c71b040c1d9a9b891583)) +* remove all html-attributes from shortDescriptions in the theme overview ([39572f4](https://github.com/USERNAME/REPOSITORY_NAME/commits39572f4767f270a4a5a40d8973ae9824ac3a43d1)) +* remove empty license files, fix [#1135](https://github.com/pietervdvn/MapComplete/issues/1135) ([2eabfea](https://github.com/USERNAME/REPOSITORY_NAME/commits2eabfea8af22a3810487cdacd68d850f4432e624)) +* remove ghost bike translations from translation files and resync them, should fix the build ([0487497](https://github.com/USERNAME/REPOSITORY_NAME/commits0487497e17ace04d381d2c9d43b02f8032874e2f)) +* Remove isOpen from defaults ([11b8c61](https://github.com/USERNAME/REPOSITORY_NAME/commits11b8c619c165f6d66fed03061ad9afa052a7a096)) +* remove no longer needed translation ([0e893f7](https://github.com/USERNAME/REPOSITORY_NAME/commits0e893f7903d68f37936c9b87883ffdc31b9ff088)) +* remove no longer needed translations ([3c74a94](https://github.com/USERNAME/REPOSITORY_NAME/commits3c74a94eee676a8ff0fc2b0b85f1bf8d7487d216)) +* remove trailing ';' for opening hours, as spotted by Midgard ([36b086e](https://github.com/USERNAME/REPOSITORY_NAME/commits36b086e4141e70253e68aec59d099638d46d14af)) +* remove unneeded translation download, fix PDF-export ([1930f7b](https://github.com/USERNAME/REPOSITORY_NAME/commits1930f7bb53f4d477c2529471b478db77ddcc012b)) +* remove unneeded URL parameter ([365d573](https://github.com/USERNAME/REPOSITORY_NAME/commits365d573b7c0d36bfa675cc637e6223abe770f3a0)) +* remove unused property ([99b0135](https://github.com/USERNAME/REPOSITORY_NAME/commits99b0135fa9b44639189a1c9e690cf5829010c6e7)) +* rendering of 'inline' was not dynamic ([60d825d](https://github.com/USERNAME/REPOSITORY_NAME/commits60d825de3c94afad79351f492c691af3d2109f60)) +* rendering of indoor room icons ([6235e23](https://github.com/USERNAME/REPOSITORY_NAME/commits6235e231922b64adba86b012422175347a9887c1)) +* replace all mentions of 'mapcomplete.osm.be' with 'mapcomplete.org' ([7321004](https://github.com/USERNAME/REPOSITORY_NAME/commits7321004c19212b0849394b9d541583e52e4ec5e6)) +* reset translations ([ad952fc](https://github.com/USERNAME/REPOSITORY_NAME/commitsad952fcaf284b1669cee4657389cf36a52ee334c)) +* resize svgs ([89186c8](https://github.com/USERNAME/REPOSITORY_NAME/commits89186c8610185e56bf9afa78b2765c45b2a939bd)) +* restore loading of custom themes ([bcb2ecf](https://github.com/USERNAME/REPOSITORY_NAME/commitsbcb2ecf6ab6c372cd41dd79780b027c79cb4a49e)) +* reviews need an uncertainty ([bc96288](https://github.com/USERNAME/REPOSITORY_NAME/commitsbc96288d3d75f24fb12620d050f472029c5df135)) +* rotation of the GPS-marker ([bbc7698](https://github.com/USERNAME/REPOSITORY_NAME/commitsbbc7698b1281ad654c00c54bf58b9de7ba1e71e6)) +* safari-specific fixes ([059ef2c](https://github.com/USERNAME/REPOSITORY_NAME/commits059ef2c1bc2ea5fb377a0f1e253652c0c243e250)) +* schemaBasedArray ([a7599f6](https://github.com/USERNAME/REPOSITORY_NAME/commitsa7599f6d7f5a061cb1971ee8170f9f039ea2e2de)) +* set share capability to 'no' if running from console, fixes tests ([af7bc0f](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf7bc0f7ce686147608256e1c5dd0a9d24388945)) +* setting the language does not overwrite the user setting anymore ([c6283ac](https://github.com/USERNAME/REPOSITORY_NAME/commitsc6283ac7205f69c1a42e8cf16e5f4f1ab2c239f8)) +* share button ([84cbd2f](https://github.com/USERNAME/REPOSITORY_NAME/commits84cbd2fbc00d3d9e386a3b485dd4fa61c8000722)) +* show add new point fullscreen again ([aad31f6](https://github.com/USERNAME/REPOSITORY_NAME/commitsaad31f649e733d108c63297aa6d25bf87ac73c34)) +* show preferred languages (according to OSM) in usersettings ([0ea103f](https://github.com/USERNAME/REPOSITORY_NAME/commits0ea103f24780ef2c6ba191cbd4891716bb2d86f6)) +* show tags that will be applied if setting is 'full' ([0b82661](https://github.com/USERNAME/REPOSITORY_NAME/commits0b826612e93c0b120f99b6927c57c13b60c2835f)) +* show tags that will be deleted with strikethrough in TagHint ([15a481f](https://github.com/USERNAME/REPOSITORY_NAME/commits15a481f864b4afb7b650fd150f0ce7d46c9d1e78)) +* size of new element picker map ([#1701](https://github.com/pietervdvn/MapComplete/issues/1701)), add debug info about GPS ([9407ed3](https://github.com/USERNAME/REPOSITORY_NAME/commits9407ed35b109660a9b23c2b71fd15f3ecf1dc0d0)) +* small bug in script ([795d6d2](https://github.com/USERNAME/REPOSITORY_NAME/commits795d6d2e072d13c1d64259ac8ff960d618c2deba)) +* small CSS fix ([1b8970b](https://github.com/USERNAME/REPOSITORY_NAME/commits1b8970b34aae337edfe5567315cc36319add1ff7)) +* SPDX-compliance ([6c4b464](https://github.com/USERNAME/REPOSITORY_NAME/commits6c4b464f14ed2851980da34e12df355cb8137ba7)) +* special loginbutton now actually works ([6a4def6](https://github.com/USERNAME/REPOSITORY_NAME/commits6a4def67ca97b55beb26445a0ddb713149527cc5)) +* stabilize change injector ([efdff63](https://github.com/USERNAME/REPOSITORY_NAME/commitsefdff6335f5075f74156b5b1258ae69ab058705b)) +* stabilize opening hours, make delete clickable again ([cc60d2a](https://github.com/USERNAME/REPOSITORY_NAME/commitscc60d2a5fbae3a14d63aa859fa02e2b09e1e48f9)) +* stabilize rendering of linelayers ([055e5a8](https://github.com/USERNAME/REPOSITORY_NAME/commits055e5a801b60276cdfcf31870fae29e6af30521b)) +* style issue, types ([5932dc7](https://github.com/USERNAME/REPOSITORY_NAME/commits5932dc7ad4b532c45d6e6bff95f46f6cb26645b2)) +* style of tabbedGroup-elements needed an 'important' to work in production ([5a2e54b](https://github.com/USERNAME/REPOSITORY_NAME/commits5a2e54b00a86b4ac0f91b69aa55ff3c36939e8ab)) +* style tweaks to link feature ([bd71645](https://github.com/USERNAME/REPOSITORY_NAME/commitsbd71645c04e819a28c355da5c898293092b51068)) +* styling issues; refactoring: remove 'SearchAndGo' ([0e81b65](https://github.com/USERNAME/REPOSITORY_NAME/commits0e81b653631a97699ba07ce5d34b61bc4422a5d1)) +* styling of OH input, fix [#1489](https://github.com/pietervdvn/MapComplete/issues/1489) ([064f875](https://github.com/USERNAME/REPOSITORY_NAME/commits064f87537f450e40b76d936d7793ea9036b2b181)) +* styling of PH-input in OpeningHoursInput, fix [#1422](https://github.com/pietervdvn/MapComplete/issues/1422) ([a9c25d3](https://github.com/USERNAME/REPOSITORY_NAME/commitsa9c25d378a709e3ac7b4a76919ae10cf405dacec)) +* substitute name ([408e782](https://github.com/USERNAME/REPOSITORY_NAME/commits408e7826269dc30d97f89e6e1fd097dae69b7923)) +* substituteKeys works correctly if newline is in the text, fix 'send email to report broken'-button by porting it to svelte ([b4f65bf](https://github.com/USERNAME/REPOSITORY_NAME/commitsb4f65bf2f7ce2a6993906076353acc11a1d64d94)) +* subtleLink should not open in a new tab ([61c417c](https://github.com/USERNAME/REPOSITORY_NAME/commits61c417c546e828dbed2356c35eebfe4cf2ef403d)) +* Support contact:email and contact:phone in icons ([7bcefe5](https://github.com/USERNAME/REPOSITORY_NAME/commits7bcefe527ce080b3f7b7c48fdd1a828289b126c3)) +* svg image generation script ([f9b1e9b](https://github.com/USERNAME/REPOSITORY_NAME/commitsf9b1e9b2de8f4aa657272d714385c1c7fbfdb3b3)) +* temporarily only warn for incomplete translations ([adb5d89](https://github.com/USERNAME/REPOSITORY_NAME/commitsadb5d892fb39cdf63ea65d95ef5079f0efed6324)) +* tests ([238de89](https://github.com/USERNAME/REPOSITORY_NAME/commits238de89ad54fd0c8c0d4bf75f49282d7921f21a2)) +* tests ([841be16](https://github.com/USERNAME/REPOSITORY_NAME/commits841be16dffd8219713a1bc00b9a8409195a8f82d)) +* tests ([1d54356](https://github.com/USERNAME/REPOSITORY_NAME/commits1d543563d702f6af424e1df041191632126ed805)) +* tests ([2a73c43](https://github.com/USERNAME/REPOSITORY_NAME/commits2a73c43a5fc652f7d91c8d89cf47d0ce8853ee62)) +* the search bar on the theme index was not clickable on wide screens as the 'centermessage' hovered over it invisibly ([af7672a](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf7672a0e00de4e3d75a85678b4528093515fb7e)) +* theme compilation ([86d0de3](https://github.com/USERNAME/REPOSITORY_NAME/commits86d0de380644c92fe90f4dd87aa4399074fdc42e)) +* **themes:** remove 'unkown' mapping from hydrants, the unkown case is handled by MapComplete ([4850e50](https://github.com/USERNAME/REPOSITORY_NAME/commits4850e5094a49a16d3975795fd1f25a81f2e13a5a)) +* turn favourites black again, sync them globally ([14594b2](https://github.com/USERNAME/REPOSITORY_NAME/commits14594b286dd2278bc64ed27f0305b76596d7e190)) +* tweaking addNewPoint-flow ([d0e0abd](https://github.com/USERNAME/REPOSITORY_NAME/commitsd0e0abdece560799a9770b74d0992c42ebe89ed6)) +* typo ([929093d](https://github.com/USERNAME/REPOSITORY_NAME/commits929093d36f13ab1861d533f4d93152a7ddd1e6dc)) +* typo ([2671d01](https://github.com/USERNAME/REPOSITORY_NAME/commits2671d0158983c7befb9f5c8d3e91544a50408c6b)) +* typo ([752de10](https://github.com/USERNAME/REPOSITORY_NAME/commits752de107ab6a50f8e513b0c7307b44dc6094d974)) +* typo ([8531571](https://github.com/USERNAME/REPOSITORY_NAME/commits8531571c7be653339d752f953a8725d94eec692c)) +* typo ([de99f56](https://github.com/USERNAME/REPOSITORY_NAME/commitsde99f56ca8fe34e361a7c6345d147f8295293f57)) +* typo ([3a25106](https://github.com/USERNAME/REPOSITORY_NAME/commits3a25106a5ab7bd958cfe731d8e1e959b5b07b23e)) +* typo in charging_station.protojson ([21d01a4](https://github.com/USERNAME/REPOSITORY_NAME/commits21d01a46f9164a872145c03fe845233c6cd47f8b)) +* typo in elevator.json ([374a4eb](https://github.com/USERNAME/REPOSITORY_NAME/commits374a4eb22211ecfbe8a04569d89b8236f109b8ed)) +* typo in filter ([366577f](https://github.com/USERNAME/REPOSITORY_NAME/commits366577f70b40765b3e10ccae222193ca07cae4bb)) +* typo in tag ([a903112](https://github.com/USERNAME/REPOSITORY_NAME/commitsa9031129d3dddfdd0ab1d2d83d371b872a0d5180)) +* **typo:** s/bick_wal/brick_wall/ ([753efef](https://github.com/USERNAME/REPOSITORY_NAME/commits753efef38f1f1a4f731c0c66408c7adddb26a967)) +* undo accidental changes, fix saving preferences ([ff3a7f8](https://github.com/USERNAME/REPOSITORY_NAME/commitsff3a7f8f4372d46b0aba61aa12115da4207f2331)) +* units which used a 'string'-validator might not detect the actual denomination. They have now been forbidden and fixed ([7b497f9](https://github.com/USERNAME/REPOSITORY_NAME/commits7b497f991d788c991457f1167d472a77f2789cdc)) +* unselect layer, prevents that 'lastClick'-popup opens on map click ([63ffa11](https://github.com/USERNAME/REPOSITORY_NAME/commits63ffa11238766962cab6b1c8cedcd0153504d45e)) +* update and simplification of sharescreen, rename some feature switches, remove some no longer relevant feature switches ([96d0367](https://github.com/USERNAME/REPOSITORY_NAME/commits96d036781f55987732629355be118373c363830d)) +* upload flow deals better with point reuse: it actually opens the feature now ([c14cbc9](https://github.com/USERNAME/REPOSITORY_NAME/commitsc14cbc9fe95bf1d2432ea7290cae0d0f7a9b6ada)) +* uploads were broken ([efd6b30](https://github.com/USERNAME/REPOSITORY_NAME/commitsefd6b30e1b41024ee4b7c0f6cf69a49f87f5da69)) +* URL-parameter language disables the language picker, fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506) ([3ca8ba1](https://github.com/USERNAME/REPOSITORY_NAME/commits3ca8ba18fd6a1569214f5d6298eca291cb8ceefc)) +* URL-parameter language disables the language picker, fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506) ([2f5c89f](https://github.com/USERNAME/REPOSITORY_NAME/commits2f5c89f8c5a7aa7adbe83d1b9cf98e198f9f1aab)) +* use api.openstreetmap.org on many places, fix [#1573](https://github.com/pietervdvn/MapComplete/issues/1573) ([8fccf78](https://github.com/USERNAME/REPOSITORY_NAME/commits8fccf784786074e22a4d437dc8a38c58bf54c375)) +* use correct backend address (including www.) ([c320239](https://github.com/USERNAME/REPOSITORY_NAME/commitsc320239610f15083d1d050f17e337780621f7dc3)) +* use correct branch to deploy ([9c0dac2](https://github.com/USERNAME/REPOSITORY_NAME/commits9c0dac28ad0604026936cc68c5238927978b250a)) +* use correct relocation icon again ([cdb1bb2](https://github.com/USERNAME/REPOSITORY_NAME/commitscdb1bb23b8e5df8bd1f2e0732ff14f3bd55935f5)) +* use correct snapping ([ec2e0e1](https://github.com/USERNAME/REPOSITORY_NAME/commitsec2e0e1de168f9f4551f86ff73b070a6e4ccdd77)) +* use https for extractGraph endpoint ([f89123d](https://github.com/USERNAME/REPOSITORY_NAME/commitsf89123d318ebb24553b842884e0aad3b9adf6570)) +* use proper circle for bench and artwork ([e2a56f5](https://github.com/USERNAME/REPOSITORY_NAME/commitse2a56f5e5cc469c95974625f561a4a5229b5cb9a)) +* use proper selected element ([dbff953](https://github.com/USERNAME/REPOSITORY_NAME/commitsdbff95309642178dcccb4a0a365a263c722c5a96)) +* use theme.html?layout= instead of layout.html if a local deploy is detected ([db67600](https://github.com/USERNAME/REPOSITORY_NAME/commitsdb6760015f69239dc51cc47c866635927cd9dadf)) +* use translated value for community index tab ([a3a7c53](https://github.com/USERNAME/REPOSITORY_NAME/commitsa3a7c536fbce04698a05847da429d1bacc851aad)) +* use translated value for community index tab ([22ee806](https://github.com/USERNAME/REPOSITORY_NAME/commits22ee806090a8679ea2951d84af47e4de8314925c)) +* use www.openstreetmap.org again, it doesnt work ([580b58e](https://github.com/USERNAME/REPOSITORY_NAME/commits580b58e86a974432b068b073a047c22864621126)) diff --git a/package-lock.json b/package-lock.json index afe2d8bf6..091df2396 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.46.0", + "version": "0.46.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.46.0", + "version": "0.46.6", "license": "GPL-3.0-or-later", "dependencies": { "@comunica/core": "^3.0.1", @@ -116,6 +116,7 @@ "read-file": "^0.2.0", "sass": "^1.58.0", "sharp": "^0.32.6", + "standard-version": "^9.5.0", "svelte": "^3.55.1", "svelte-check": "^3.0.2", "svelte-preprocess": "^5.0.1", @@ -4614,6 +4615,15 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@jest/schemas": { "version": "29.4.0", "license": "MIT", @@ -6707,6 +6717,12 @@ "version": "18.11.18", "license": "MIT" }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, "node_modules/@types/papaparse": { "version": "5.3.7", "dev": true, @@ -7347,6 +7363,12 @@ "node": ">=0.4.0" } }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, "node_modules/affine-hull": { "version": "1.0.0", "license": "MIT", @@ -7466,6 +7488,12 @@ "version": "1.0.0", "license": "MIT" }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, "node_modules/array-union": { "version": "2.1.0", "dev": true, @@ -7478,6 +7506,15 @@ "version": "2.0.1", "license": "MIT" }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/asn1": { "version": "0.2.6", "license": "MIT", @@ -7893,6 +7930,41 @@ "node": ">= 6" } }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys/node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001660", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", @@ -8155,6 +8227,16 @@ "node": ">= 12" } }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, "node_modules/componentsjs": { "version": "6.0.1", "license": "MIT", @@ -8254,6 +8336,292 @@ "node": ">= 0.6" } }, + "node_modules/conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "dependencies": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser/node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/conventional-commits-parser/node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/conventional-commits-parser/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "dependencies": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/convert-source-map": { "version": "1.9.0", "dev": true, @@ -8449,6 +8817,15 @@ "version": "1.1.2", "license": "BSD-3-Clause" }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/dashdash": { "version": "1.14.1", "license": "MIT", @@ -8480,6 +8857,15 @@ "node": ">=14" } }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/debug": { "version": "4.3.4", "license": "MIT", @@ -8505,6 +8891,40 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decimal.js": { "version": "10.4.3", "license": "MIT", @@ -8809,6 +9229,15 @@ "node": ">=8" } }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/detective": { "version": "5.2.1", "license": "MIT", @@ -8956,6 +9385,92 @@ "domelementtype": "1" } }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotgitignore/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/earcut": { "version": "2.2.4", "license": "ISC" @@ -9036,6 +9551,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/es6-object-assign": { "version": "1.1.0", "dev": true, @@ -10153,6 +10677,64 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "dependencies": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, "node_modules/get-stdin": { "version": "9.0.0", "license": "MIT", @@ -10187,6 +10769,72 @@ "assert-plus": "^1.0.0" } }, + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-raw-commits/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "dependencies": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.2" + } + }, "node_modules/github-from-package": { "version": "0.0.0", "dev": true, @@ -10354,6 +11002,27 @@ "node": ">=4.x" } }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, "node_modules/har-schema": { "version": "2.0.0", "license": "ISC", @@ -10390,6 +11059,15 @@ "version": "0.4.1", "license": "MIT" }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/has": { "version": "1.0.3", "license": "MIT", @@ -10465,6 +11143,36 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", "license": "MIT", @@ -10737,6 +11445,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, "node_modules/is-binary-path": { "version": "2.1.0", "license": "MIT", @@ -10877,6 +11591,15 @@ "node": ">=0.12.0" } }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", "dev": true, @@ -10932,6 +11655,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-typed-array": { "version": "1.1.10", "dev": true, @@ -10964,6 +11699,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "license": "ISC" @@ -11147,6 +11888,18 @@ "node": ">=4" } }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "node_modules/json-schema": { "version": "0.4.0", "license": "(AFL-2.1 OR BSD-3-Clause)" @@ -11516,6 +12269,36 @@ "resolved": "https://registry.npmjs.org/lineclip/-/lineclip-1.1.5.tgz", "integrity": "sha512-KlA/wRSjpKl7tS9iRUdlG72oQ7qZ1IlVbVgHwoO10TBR/4gQ86uhKow6nlzMAJJhjCWKto8OeoAzzIzKSmN25A==" }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/local-pkg": { "version": "0.4.3", "license": "MIT", @@ -11550,6 +12333,12 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "dev": true, @@ -11690,6 +12479,18 @@ "typescript": "^4.9.4" } }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/maplibre-gl": { "version": "4.1.2", "license": "BSD-3-Clause", @@ -11763,6 +12564,178 @@ "url": "https://github.com/sindresorhus/memoize?sponsor=1" } }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/meow/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/merge2": { "version": "1.4.1", "license": "MIT", @@ -11946,6 +12919,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "dev": true, @@ -12076,6 +13072,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/monaco-editor": { "version": "0.46.0", "license": "MIT" @@ -12173,6 +13178,12 @@ "node_modules/negotiate": { "version": "1.0.1" }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "node_modules/ngraph.events": { "version": "1.2.2", "license": "BSD-3-Clause" @@ -12288,6 +13299,33 @@ "dev": true, "license": "MIT" }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "license": "MIT", @@ -14909,6 +15947,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/packet-reader": { "version": "1.0.0", "license": "MIT" @@ -14937,6 +15984,19 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/parse5": { "version": "7.1.2", "license": "MIT", @@ -15477,6 +16537,12 @@ "node": ">= 0.6.0" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, "node_modules/process-yargs-parser": { "version": "2.1.0", "license": "ISC" @@ -15559,6 +16625,17 @@ "node": ">=6" } }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, "node_modules/qrcode-generator": { "version": "1.4.4", "license": "MIT" @@ -16263,6 +17340,148 @@ "node": ">=0.8" } }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/readable-stream": { "version": "3.6.0", "license": "MIT", @@ -16301,6 +17520,28 @@ "node": ">= 10.13.0" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redent/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/regenerate": { "version": "1.4.2", "dev": true, @@ -17218,6 +18459,38 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "dev": true + }, "node_modules/splaytree": { "version": "3.1.1", "license": "MIT" @@ -17227,6 +18500,18 @@ "resolved": "https://registry.npmjs.org/splaytree-ts/-/splaytree-ts-1.0.1.tgz", "integrity": "sha512-B+VzCm33/KEchi/fzT6/3NRHm8k5+Kf37SBQO3meHHS/tK2xBnIm4ZvusQ1wUpHgKMCCqEWgXnwFXAa1nD289g==" }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, "node_modules/split-string": { "version": "3.1.0", "license": "MIT", @@ -17307,6 +18592,61 @@ "node": ">=0.1.14" } }, + "node_modules/standard-version": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", + "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.25", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.3", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "bin": { + "standard-version": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/standard-version/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/state-local": { "version": "1.0.7", "dev": true, @@ -17359,6 +18699,13 @@ "node": ">=8" } }, + "node_modules/stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "deprecated": "This module is not used anymore, and has been replaced by @npmcli/package-json", + "dev": true + }, "node_modules/strip-ansi": { "version": "6.0.1", "license": "MIT", @@ -17849,6 +19196,15 @@ "optional": true, "peer": true }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, "node_modules/text-hex": { "version": "1.0.0", "license": "MIT" @@ -17866,6 +19222,21 @@ "dev": true, "license": "MIT" }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, "node_modules/tiny-inflate": { "version": "1.0.3", "license": "MIT" @@ -17976,6 +19347,15 @@ "node": ">=14" } }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/triple-beam": { "version": "1.4.1", "license": "MIT", @@ -18685,6 +20065,18 @@ "node": ">=4" } }, + "node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/typedarray": { "version": "0.0.6", "license": "MIT" @@ -18786,6 +20178,19 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/underscore": { "version": "1.7.0" }, @@ -18957,6 +20362,16 @@ "version": "1.0.1", "license": "MIT" }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/verror": { "version": "1.10.0", "engines": [ @@ -19340,6 +20755,12 @@ "node": ">=0.10.0" } }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, "node_modules/workerpool": { "version": "6.2.0", "license": "Apache-2.0" @@ -23063,6 +24484,12 @@ "version": "1.2.1", "dev": true }, + "@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true + }, "@jest/schemas": { "version": "29.4.0", "requires": { @@ -24514,6 +25941,12 @@ "@types/node": { "version": "18.11.18" }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, "@types/papaparse": { "version": "5.3.7", "dev": true, @@ -24927,6 +26360,12 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, "affine-hull": { "version": "1.0.0", "requires": { @@ -25009,6 +26448,12 @@ "array-equal": { "version": "1.0.0" }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, "array-union": { "version": "2.1.0", "dev": true @@ -25016,6 +26461,12 @@ "arrayify-stream": { "version": "2.0.1" }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, "asn1": { "version": "0.2.6", "requires": { @@ -25254,6 +26705,31 @@ "camelcase-css": { "version": "2.0.1" }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + } + } + }, "caniuse-lite": { "version": "1.0.30001660", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", @@ -25415,6 +26891,16 @@ "version": "8.3.0", "dev": true }, + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, "componentsjs": { "version": "6.0.1", "requires": { @@ -25489,6 +26975,228 @@ "content-type": { "version": "1.0.5" }, + "conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + } + }, + "conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, + "conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + } + }, + "conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "requires": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + } + }, + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "requires": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + } + } + }, + "conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + } + }, "convert-source-map": { "version": "1.9.0", "dev": true, @@ -25620,6 +27328,12 @@ "d3-voronoi": { "version": "1.1.2" }, + "dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true + }, "dashdash": { "version": "1.14.1", "requires": { @@ -25639,6 +27353,12 @@ "whatwg-url": "^12.0.0" } }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, "debug": { "version": "4.3.4", "requires": { @@ -25648,6 +27368,30 @@ "decamelize": { "version": "4.0.0" }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, "decimal.js": { "version": "10.4.3", "optional": true, @@ -25840,6 +27584,12 @@ "version": "2.0.2", "dev": true }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, "detective": { "version": "5.2.1", "requires": { @@ -25940,6 +27690,70 @@ "domelementtype": "1" } }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, "earcut": { "version": "2.2.4" }, @@ -26000,6 +27814,15 @@ "entities": { "version": "4.5.0" }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, "es6-object-assign": { "version": "1.1.0", "dev": true @@ -26718,6 +28541,60 @@ "has-symbols": "^1.0.3" } }, + "get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "requires": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, "get-stdin": { "version": "9.0.0" }, @@ -26733,6 +28610,59 @@ "assert-plus": "^1.0.0" } }, + "git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "requires": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + } + }, + "git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "requires": { + "meow": "^8.0.0", + "semver": "^6.0.0" + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, "github-from-package": { "version": "0.0.0", "dev": true @@ -26844,6 +28774,19 @@ "growl": { "version": "1.10.5" }, + "handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, "har-schema": { "version": "2.0.0" }, @@ -26868,6 +28811,12 @@ } } }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, "has": { "version": "1.0.3", "requires": { @@ -26911,6 +28860,32 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "html-encoding-sniffer": { "version": "3.0.0", "optional": true, @@ -27079,6 +29054,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, "is-binary-path": { "version": "2.1.0", "requires": { @@ -27154,6 +29135,12 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, "is-path-inside": { "version": "3.0.3", "dev": true @@ -27182,6 +29169,15 @@ "is-stream": { "version": "2.0.1" }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, "is-typed-array": { "version": "1.1.10", "dev": true, @@ -27199,6 +29195,12 @@ "is-unicode-supported": { "version": "0.1.0" }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "isexe": { "version": "2.0.0" }, @@ -27315,6 +29317,18 @@ "version": "2.5.2", "dev": true }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "json-schema": { "version": "0.4.0" }, @@ -27571,6 +29585,32 @@ "resolved": "https://registry.npmjs.org/lineclip/-/lineclip-1.1.5.tgz", "integrity": "sha512-KlA/wRSjpKl7tS9iRUdlG72oQ7qZ1IlVbVgHwoO10TBR/4gQ86uhKow6nlzMAJJhjCWKto8OeoAzzIzKSmN25A==" }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, "local-pkg": { "version": "0.4.3" }, @@ -27590,6 +29630,12 @@ "version": "4.0.8", "dev": true }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, "lodash.merge": { "version": "4.6.2", "dev": true @@ -27681,6 +29727,12 @@ "typescript": "^4.9.4" } }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, "maplibre-gl": { "version": "4.1.2", "requires": { @@ -27734,6 +29786,139 @@ "mimic-function": "^5.0.0" } }, + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, "merge2": { "version": "1.4.1" }, @@ -27843,6 +30028,25 @@ "minimist": { "version": "1.2.8" }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + } + } + }, "mkdirp": { "version": "0.5.6", "dev": true, @@ -27926,6 +30130,12 @@ } } }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, "monaco-editor": { "version": "0.46.0" }, @@ -27995,6 +30205,12 @@ "negotiate": { "version": "1.0.1" }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "ngraph.events": { "version": "1.2.2" }, @@ -28065,6 +30281,26 @@ "version": "2.0.8", "dev": true }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + } + } + }, "normalize-path": { "version": "3.0.0" }, @@ -29737,6 +31973,12 @@ "p-limit": "^3.0.2" } }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, "packet-reader": { "version": "1.0.0" }, @@ -29758,6 +32000,16 @@ "callsites": "^3.0.0" } }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, "parse5": { "version": "7.1.2", "optional": true, @@ -30017,6 +32269,12 @@ "process": { "version": "0.11.10" }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, "process-yargs-parser": { "version": "2.1.0" }, @@ -30078,6 +32336,12 @@ "punycode": { "version": "2.3.0" }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true + }, "qrcode-generator": { "version": "1.4.4" }, @@ -30628,6 +32892,119 @@ "version": "0.2.0", "dev": true }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, "readable-stream": { "version": "3.6.0", "requires": { @@ -30654,6 +33031,24 @@ "resolve": "^1.20.0" } }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + } + } + }, "regenerate": { "version": "1.4.2", "dev": true @@ -31260,6 +33655,38 @@ } } }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "dev": true + }, "splaytree": { "version": "3.1.1" }, @@ -31268,6 +33695,15 @@ "resolved": "https://registry.npmjs.org/splaytree-ts/-/splaytree-ts-1.0.1.tgz", "integrity": "sha512-B+VzCm33/KEchi/fzT6/3NRHm8k5+Kf37SBQO3meHHS/tK2xBnIm4ZvusQ1wUpHgKMCCqEWgXnwFXAa1nD289g==" }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, "split-string": { "version": "3.1.0", "requires": { @@ -31316,6 +33752,45 @@ "version": "2.5.0", "optional": true }, + "standard-version": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", + "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.25", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.3", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "dependencies": { + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + } + } + }, "state-local": { "version": "1.0.7", "dev": true @@ -31357,6 +33832,12 @@ "strip-ansi": "^6.0.1" } }, + "stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "dev": true + }, "strip-ansi": { "version": "6.0.1", "requires": { @@ -31644,6 +34125,12 @@ } } }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, "text-hex": { "version": "1.0.0" }, @@ -31658,6 +34145,21 @@ "version": "0.2.0", "dev": true }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + }, "tiny-inflate": { "version": "1.0.3" }, @@ -31733,6 +34235,12 @@ "punycode": "^2.3.0" } }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, "triple-beam": { "version": "1.4.1" }, @@ -32291,6 +34799,12 @@ "type-detect": { "version": "4.0.8" }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + }, "typedarray": { "version": "0.0.6" }, @@ -32352,6 +34866,13 @@ "ufo": { "version": "1.0.1" }, + "uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "optional": true + }, "underscore": { "version": "1.7.0" }, @@ -32461,6 +34982,16 @@ "validate-iri": { "version": "1.0.1" }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "verror": { "version": "1.10.0", "requires": { @@ -32668,6 +35199,12 @@ "word-wrap": { "version": "1.2.4" }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, "workerpool": { "version": "6.2.0" }, diff --git a/package.json b/package.json index 9f3d54531..061528078 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.46.5", + "version": "0.46.6", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", @@ -250,6 +250,7 @@ "read-file": "^0.2.0", "sass": "^1.58.0", "sharp": "^0.32.6", + "standard-version": "^9.5.0", "svelte": "^3.55.1", "svelte-check": "^3.0.2", "svelte-preprocess": "^5.0.1", From 90cad26407ca44770ab77b3fa1d5066da324e6fe Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 13:06:49 +0200 Subject: [PATCH 28/37] chore(release): 0.46.7 --- CHANGELOG.md | 392 +--------------------------------------------- package-lock.json | 4 +- package.json | 2 +- 3 files changed, 4 insertions(+), 394 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eaad8ed17..31167b903 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,394 +2,4 @@ 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.46.6 (2024-09-13) - - -### Features - -* add bike_parking=safe_loops ([e4de3d8](https://github.com/USERNAME/REPOSITORY_NAME/commitse4de3d8e5f2b8e6002e68dba20ac659f57a3c8cc)) -* add color for streets with no cycleways ([5d52462](https://github.com/USERNAME/REPOSITORY_NAME/commits5d524629b46d3e2e1d059f9db3010609e05ffb61)) -* add prettier config ([d3f453a](https://github.com/USERNAME/REPOSITORY_NAME/commitsd3f453a4fb3f7eaac9031026dc95bff0a076dec3)) -* Add printer cartridges to recycling ([28d6637](https://github.com/USERNAME/REPOSITORY_NAME/commits28d66373680dda160b4b899621c5c89aa1c52143)) -* **themes:** add osm community index as a layer ([e85cf43](https://github.com/USERNAME/REPOSITORY_NAME/commitse85cf43ffbf9de86491a2d3aaa4b7f0a52082843)) -* **themes:** add questionHint to give extra information about a question ([d7fe3a0](https://github.com/USERNAME/REPOSITORY_NAME/commitsd7fe3a056ef74d85f3d4e310a6e053b244b659f8)) - - -### Bug Fixes - -* _actually_ fix [#1706](https://github.com/pietervdvn/MapComplete/issues/1706) ([6577007](https://github.com/USERNAME/REPOSITORY_NAME/commits6577007717910bf46086490da8e9d549b63f1891)) -* _actually_ run the *.spec.ts-tests... ([82a860c](https://github.com/USERNAME/REPOSITORY_NAME/commits82a860cbf5bad2ab1b4d9b806e9f18e4d5cbc054)) -* [#1093](https://github.com/pietervdvn/MapComplete/issues/1093) ([5a6ed7b](https://github.com/USERNAME/REPOSITORY_NAME/commits5a6ed7bf21aaaf677c05e572afacd53443eb2d59)) -* [#1685](https://github.com/pietervdvn/MapComplete/issues/1685), fix oopsie ([d96fe61](https://github.com/USERNAME/REPOSITORY_NAME/commitsd96fe614624771bed99c418bbc9bb4f09ce7bd3a)) -* a freeform key will mimick a mapping if appropriate (and avoid the 'addExtraTags') ([68ea4e3](https://github.com/USERNAME/REPOSITORY_NAME/commits68ea4e3d9f255e989cf158159b434ed6bfc6f55a)) -* actually allow to login via prominent login button ([4be49a0](https://github.com/USERNAME/REPOSITORY_NAME/commits4be49a0561531c729d9d46d5e99571056d2492df)) -* actually apply preferred background layer ([b69c2de](https://github.com/USERNAME/REPOSITORY_NAME/commitsb69c2de3f41e7737ceec919214f0748634d9dfd3)) -* actually attempt to login when login button is pressed ([f1de8a3](https://github.com/USERNAME/REPOSITORY_NAME/commitsf1de8a3d9dafad4860ebb380c113ff2f253d13db)) -* actually deploy on the production repo ([ca89956](https://github.com/USERNAME/REPOSITORY_NAME/commitsca899561d55626b9c2c14f90d60d01c8c1276823)) -* actually include _all_ features ([8f7b731](https://github.com/USERNAME/REPOSITORY_NAME/commits8f7b731d29ca7daec1063a6833716e86333b0ffd)) -* actually load geojson layers; formatting ([cbc4e6e](https://github.com/USERNAME/REPOSITORY_NAME/commitscbc4e6eb15a2a6d7f9693a24f35839886b4f3544)) -* actually open usersettings when license is clicked ([c10fecb](https://github.com/USERNAME/REPOSITORY_NAME/commitsc10fecb7e8293190b07a2fc3ff90b6f830a75103)) -* actually pass the initial coordinate in the locationInput element, fix [#1486](https://github.com/pietervdvn/MapComplete/issues/1486) ([68e07d7](https://github.com/USERNAME/REPOSITORY_NAME/commits68e07d7d7beca5b4ea26b9fc6ff964014d28af4b)) -* Actually show errors in custom themes now ([6a79dde](https://github.com/USERNAME/REPOSITORY_NAME/commits6a79dde743264c272e461614ae718044d90a7080)) -* actually show HD image for nearby streetview imager, add loading indicator ([8b6ee87](https://github.com/USERNAME/REPOSITORY_NAME/commits8b6ee877f08a584df7d3bc8706292b6eeb11f030)) -* actually show polygon_centroid ([5a957d5](https://github.com/USERNAME/REPOSITORY_NAME/commits5a957d56c73771a1fa2560dbd8755a7eebe36285)) -* actually show tags on changes when the user has enough changesets ([d702134](https://github.com/USERNAME/REPOSITORY_NAME/commitsd7021344e890bede888ea3412270420e033207f7)) -* actually upload new themes ([6446586](https://github.com/USERNAME/REPOSITORY_NAME/commits6446586ac581fa3994e58dba62a365afde7d5937)) -* add 'maxspeed=20' to living street ([fd9c48b](https://github.com/USERNAME/REPOSITORY_NAME/commitsfd9c48b5b56fe7a08e3532cad777246b82b3a073)) -* add 'onbeforeunload' if images are uploading, see [#1841](https://github.com/pietervdvn/MapComplete/issues/1841) ([ce7bc8f](https://github.com/USERNAME/REPOSITORY_NAME/commitsce7bc8fb6cc373e96179e57395818d6e6befd942)) -* add 'self' to connect-src ([3bca130](https://github.com/USERNAME/REPOSITORY_NAME/commits3bca1305b504ba08203a09916fe849365eca0458)) -* add all global layers to CSP ([93630bd](https://github.com/USERNAME/REPOSITORY_NAME/commits93630bd1db9e71f5e62619b2d02aaf18b42222f6)) -* add all needed urls again ([ce1855b](https://github.com/USERNAME/REPOSITORY_NAME/commitsce1855b2bd322044f9710a4dab38287298ad5fc6)) -* add all vector layers to CSP ([2736740](https://github.com/USERNAME/REPOSITORY_NAME/commits2736740cd0d777450f8da7eea76f1defa7993944)) -* add awaitAnimationFrame to fix non-working questions ([d744fd3](https://github.com/USERNAME/REPOSITORY_NAME/commitsd744fd3a42bedb64de7de1562b6f4ee31ba9d254)) -* Add button to go back to the map when showing that a point is deleted, fix [#1417](https://github.com/pietervdvn/MapComplete/issues/1417) ([55903d4](https://github.com/USERNAME/REPOSITORY_NAME/commits55903d45f933ebbfd7971a14296fe2dac1b6fa96)) -* add carto vector layers again ([5e2a989](https://github.com/USERNAME/REPOSITORY_NAME/commits5e2a98924c2a0efdb1f75a213efe7114df5e0cae)) -* add check for missing 'noopener' attributes; add missing noopener attributes ([6e8617c](https://github.com/USERNAME/REPOSITORY_NAME/commits6e8617c93fd0fde8f0b27c035625e68d143f9b58)) -* add check that no changeset is opened without actually having changes ([2843b01](https://github.com/USERNAME/REPOSITORY_NAME/commits2843b01586fd40a2e0d4dc92861b9d001d1684d3)) -* add correct attribution for maptiler bg layer ([c90b334](https://github.com/USERNAME/REPOSITORY_NAME/commitsc90b334678ac44346d82302599647236b3c0df09)) -* add default value for setStatus ([eede2d1](https://github.com/USERNAME/REPOSITORY_NAME/commitseede2d17dd411a3b27295a9efab8cb69df3b57c2)) -* add dutch translation ([a55b84d](https://github.com/USERNAME/REPOSITORY_NAME/commitsa55b84dba18564e0959bd709b0da0e5b228d3ca0)) -* add execute permissions to build script ([5567869](https://github.com/USERNAME/REPOSITORY_NAME/commits5567869bb4ede7a56c174b960aff734de06ea67f)) -* add extra refresh:layeroverview in order to fix the favourites theme icons ([c65ccdb](https://github.com/USERNAME/REPOSITORY_NAME/commitsc65ccdbc240ad5406189e48bd92c40569d19bc3c)) -* add glow effect to bench theme for selected object ([75b1a46](https://github.com/USERNAME/REPOSITORY_NAME/commits75b1a467e0307cee94a0af9e482a3ab5e8ac4ccd)) -* add glow effect when dropping an image in the file selector; fix [#1496](https://github.com/pietervdvn/MapComplete/issues/1496) ([426620a](https://github.com/USERNAME/REPOSITORY_NAME/commits426620a76c4a6ca86181dec73da90d076f73c9aa)) -* add language picker in settings page if logged out, fix [#1505](https://github.com/pietervdvn/MapComplete/issues/1505) ([a7ff3b8](https://github.com/USERNAME/REPOSITORY_NAME/commitsa7ff3b86faa90e70d3496f973c72b0265f993708)) -* add links and overpass link to cafe_pub ([41b6eea](https://github.com/USERNAME/REPOSITORY_NAME/commits41b6eea430cbb6f504deb7a3e4fb5cf493004d6f)) -* add maxzoom to osm.carto-layer, see [#1664](https://github.com/pietervdvn/MapComplete/issues/1664)$ ([5f918b6](https://github.com/USERNAME/REPOSITORY_NAME/commits5f918b607b9034c5a8ce6bcdd003caf8efe1466b)) -* add missing assets ([f2b8c0d](https://github.com/USERNAME/REPOSITORY_NAME/commitsf2b8c0db0f80bf503f2b4332d66cbede0736f82a)) -* add missing tag ([c5300a3](https://github.com/USERNAME/REPOSITORY_NAME/commitsc5300a3fd5b46e611a4604ad9c0483f823396dda)) -* add new items works again, fix [#1593](https://github.com/pietervdvn/MapComplete/issues/1593) ([c527427](https://github.com/USERNAME/REPOSITORY_NAME/commitsc527427f70990006b9c71ef472bbe45d2c9bff70)) -* add safety check to not overuse the OSM-api ([4602df3](https://github.com/USERNAME/REPOSITORY_NAME/commits4602df30469b57a57b9b8e1b8c6cc5c70ff901d7)) -* add script integrity, add check to validate that script integrity is always in place ([08bbbca](https://github.com/USERNAME/REPOSITORY_NAME/commits08bbbcabc402abcf328274bb2990d59b47580376)) -* add selection indicator to artwork ([ec99ab2](https://github.com/USERNAME/REPOSITORY_NAME/commitsec99ab24f806e8d43ae89ab8f33f570f43ce59fb)) -* add support for legacy iconSize to fix some custom themes, see [#1494](https://github.com/pietervdvn/MapComplete/issues/1494) ([200361b](https://github.com/USERNAME/REPOSITORY_NAME/commits200361bf8dcd17f47574539137b2c42cb745143a)) -* add text on cancel button ([1208e09](https://github.com/USERNAME/REPOSITORY_NAME/commits1208e095cf3fe87a2c9948a0c6666705c14c5e52)) -* add the minimap again ([e83b8cb](https://github.com/USERNAME/REPOSITORY_NAME/commitse83b8cb19183b53c4d6b24b4f621900fd14280fa)) -* addnewpoint-dialog works again ([8ed0a32](https://github.com/USERNAME/REPOSITORY_NAME/commits8ed0a32d153d4a434602c86a85eaf02881f6d480)) -* alias 'urls' as 'website', fix [#246](https://github.com/pietervdvn/MapComplete/issues/246) ([87e79b8](https://github.com/USERNAME/REPOSITORY_NAME/commits87e79b8e8c981f5b0daa105097c514273ce6be3e)) -* allow selection of the first radiobutton ([8fafd0a](https://github.com/USERNAME/REPOSITORY_NAME/commits8fafd0a8a5701323c6e25210ac6310dc418e31eb)) -* allow to delete freeform values in more cases ([9b78838](https://github.com/USERNAME/REPOSITORY_NAME/commits9b78838745f41f3e42f158c9959c695e4160e7e8)) -* allow to link multiple mapillary-images ([286fe72](https://github.com/USERNAME/REPOSITORY_NAME/commits286fe729359db1ec36328768a6a7662a9e951ce8)) -* allow to move (non-snapped) points again after fixing [#1809](https://github.com/pietervdvn/MapComplete/issues/1809) ([77f07f5](https://github.com/USERNAME/REPOSITORY_NAME/commits77f07f55ecf9140c1c556fb4147c7d5cb74b0645)) -* alltags shows objects as JSON instead as [object Object] ([1df28ab](https://github.com/USERNAME/REPOSITORY_NAME/commits1df28ab50199310928974a07809b65e854df1525)) -* also copy png assets ([8f32916](https://github.com/USERNAME/REPOSITORY_NAME/commits8f32916454b63939d63c7496f7ba7b30f6f038cc)) -* also show location info on shake if GPS is disabled ([4c5d24a](https://github.com/USERNAME/REPOSITORY_NAME/commits4c5d24a0a7dacc393c0a4328c99b5e5e08058b0b)) -* always allow www.openstreetmap.org ([6b4be12](https://github.com/USERNAME/REPOSITORY_NAME/commits6b4be1200c60664bbbee87f9f8f8e3d821a277c3)) -* always link to the wiki when tags are shown ([8dfef62](https://github.com/USERNAME/REPOSITORY_NAME/commits8dfef624323b8b93098150115d93f4089b846fb2)) -* attempt to fix build ([0e8c3b1](https://github.com/USERNAME/REPOSITORY_NAME/commits0e8c3b10626f6f37e54b8ef96c11fb5dc113fe7a)) -* attempt to fix build ([0e760b9](https://github.com/USERNAME/REPOSITORY_NAME/commits0e760b908c4955300b9d329f6d7eb9fb475713d3)) -* attributes to answered questions didn't automatically show, questions which became available are now shown if they become avaible because of a tag change. Fix [#1587](https://github.com/pietervdvn/MapComplete/issues/1587) ([7de0af1](https://github.com/USERNAME/REPOSITORY_NAME/commits7de0af15f100815288fea4fdb13f3e845bc79088)) -* await 'country' to be loaded ([3c5bde1](https://github.com/USERNAME/REPOSITORY_NAME/commits3c5bde1ae3ff3ed1aa72bb1463a4690e16f941e6)) -* background layer csp fixe ([713e53c](https://github.com/USERNAME/REPOSITORY_NAME/commits713e53c41a840ae1e66cb9a36e06e0e9361285bd)) -* better error handling and handling of changes ([7813653](https://github.com/USERNAME/REPOSITORY_NAME/commits78136532651ebcea6a2d2d94e42b2775bb9e92e3)) -* better select available levels ([7b73578](https://github.com/USERNAME/REPOSITORY_NAME/commits7b73578f88b09ee65f923c363a884d91f20d2fae)) -* broken titleIcons (fix [#1344](https://github.com/pietervdvn/MapComplete/issues/1344)) ([bdcf8a2](https://github.com/USERNAME/REPOSITORY_NAME/commitsbdcf8a26014b01e8128ece897e4b98286722d0e4)) -* browser specific bug which caused the file selector to open twice on chromium; fix [#1771](https://github.com/pietervdvn/MapComplete/issues/1771) ([9893e43](https://github.com/USERNAME/REPOSITORY_NAME/commits9893e433f3bb43fbea80beb2a73ea4e271a01491)) -* bug submitted comments on notes twice ([5be4b9d](https://github.com/USERNAME/REPOSITORY_NAME/commits5be4b9d1fb1e5a5e2cb03e314d4d65370aa44957)) -* build ([cef7e01](https://github.com/USERNAME/REPOSITORY_NAME/commitscef7e01a2e7855d214d4a5ca75fc032a2b1d123a)) -* build ([8556196](https://github.com/USERNAME/REPOSITORY_NAME/commits8556196acec5652ab39baaaa14ac911cb6dc5a15)) -* build ([dbca260](https://github.com/USERNAME/REPOSITORY_NAME/commitsdbca2601324cd79d5d2d7d0398d002565d8825de)) -* build ([2a21040](https://github.com/USERNAME/REPOSITORY_NAME/commits2a2104055185e1f9fa8f1cad620606b690527a0c)) -* build ([29ee113](https://github.com/USERNAME/REPOSITORY_NAME/commits29ee113e30c11edc670331f1fb67f41e08f9ab50)) -* build, some metatagging errors ([0d529e7](https://github.com/USERNAME/REPOSITORY_NAME/commits0d529e7cca4f044ab4c5fd4491e3704678598862)) -* build; subtle bug ([5644c7a](https://github.com/USERNAME/REPOSITORY_NAME/commits5644c7a8b87a0fb17e846a4c370ac432cc03ca15)) -* bypass missing favourites in custom theme loader ([6f59e46](https://github.com/USERNAME/REPOSITORY_NAME/commits6f59e46befd0ba1df57066400f3d2bbf00166f5b)) -* charging station theme uses anchor too ([39024eb](https://github.com/USERNAME/REPOSITORY_NAME/commits39024eb5f3f68b5dba6b10d8dcf07fe2c5c67fbc)) -* charging_station.protojson ([f042ca4](https://github.com/USERNAME/REPOSITORY_NAME/commitsf042ca40701e269a02254289a35acd43aaed05b0)) -* chromium browsers don't handle spaces in `tel:`-links well ([4168ef0](https://github.com/USERNAME/REPOSITORY_NAME/commits4168ef01e333784f738fafa15d1eb7d7c4c527c7)) -* cleanup merge ([e160510](https://github.com/USERNAME/REPOSITORY_NAME/commitse16051025a0f7c827c90db7251596be0c5e902c9)) -* cleanup of wikipedia panel, fix [#1570](https://github.com/pietervdvn/MapComplete/issues/1570) ([203f24f](https://github.com/USERNAME/REPOSITORY_NAME/commits203f24fca01047edd2f01ed541fc93841ac1f17d)) -* clicking the magnifying icon actually works now ([5478711](https://github.com/USERNAME/REPOSITORY_NAME/commits5478711bed8806d4cd5ae0ffe69ab64f3293fa69)) -* compilation warning ([5851531](https://github.com/USERNAME/REPOSITORY_NAME/commits5851531306b2cb2cebfb459e5c5bef284b8c3e94)) -* correct 'sync repo' step ([ecd84c2](https://github.com/USERNAME/REPOSITORY_NAME/commitsecd84c2cf6174bddad5d1759caeeeea761e1b9f1)) -* correct CSP header for iOs/safari ([54868de](https://github.com/USERNAME/REPOSITORY_NAME/commits54868debec137c57b8dd45024332854150cc8f0f)) -* correct default access assumption ([ea06152](https://github.com/USERNAME/REPOSITORY_NAME/commitsea061524737b343bec120356b8822d185cdefd85)) -* correct default sed param for BSD sed flavor ([46fe1c5](https://github.com/USERNAME/REPOSITORY_NAME/commits46fe1c5795a110c541ed97548c426b205705ff2d)) -* correct faulty name ([0952200](https://github.com/USERNAME/REPOSITORY_NAME/commits09522004db01453dcdb9a26670c3d7ef6f4e1eee)) -* correct filters ([4d2d541](https://github.com/USERNAME/REPOSITORY_NAME/commits4d2d54175ca5b4af5a258bf7d1b89debab9f8f8e)) -* correct maybe missing option in etymology layer ([a8ecab4](https://github.com/USERNAME/REPOSITORY_NAME/commitsa8ecab4d794c219301d636594933520c87fd8d75)) -* correct merge conflict ([e6d8401](https://github.com/USERNAME/REPOSITORY_NAME/commitse6d84019a579daed01a34cf67825689511fd9c0a)) -* correct minzoom on all themes ([bde5878](https://github.com/USERNAME/REPOSITORY_NAME/commitsbde5878fedae0eac20db8bb4c6eca81f904e20fd)) -* correct sed command to be OSX compatible ([e21eb65](https://github.com/USERNAME/REPOSITORY_NAME/commitse21eb6596ee85471b8cbbd6776fa65647786bfda)) -* correct typings ([2f17e6e](https://github.com/USERNAME/REPOSITORY_NAME/commits2f17e6e53259193c06d1764188a1a9602fbd97bb)) -* Correctly calculate available levels, reselect last_click automatically ([4c962ea](https://github.com/USERNAME/REPOSITORY_NAME/commits4c962eab21af8146d9d57f7d12cd08cdd4a642d6)) -* correctly escape markdown ([4d01d81](https://github.com/USERNAME/REPOSITORY_NAME/commits4d01d81e1e87ca5a18b6d0fd7b9f232c77cda936)) -* correctly flatten special cases ([7ba0e73](https://github.com/USERNAME/REPOSITORY_NAME/commits7ba0e736a87492bc64e5f73811a6c790851c59d9)) -* correctly flatten special cases ([593d7bd](https://github.com/USERNAME/REPOSITORY_NAME/commits593d7bd07ac520875c5acfcab5df364fb04dd77c)) -* correctly interpret 'hideInAnswer'-conditions, recalculate them dynamically ([37dc6a7](https://github.com/USERNAME/REPOSITORY_NAME/commits37dc6a71616fc9510d1bf6e814060390dd329629)) -* correctly optimize 'key=A&key!=B' into 'key=A' ([d8a5f3c](https://github.com/USERNAME/REPOSITORY_NAME/commitsd8a5f3c2be985c4fcbedfda09564ae5d02e6e5b4)) -* correctly replace fields in filterview ([ae491f4](https://github.com/USERNAME/REPOSITORY_NAME/commitsae491f491652798344273d18fb42f1d27108ba4b)) -* crash in new note flow, spotted by [@thibaultmolleman](https://github.com/thibaultmolleman) ([3e49929](https://github.com/USERNAME/REPOSITORY_NAME/commits3e49929f253f8ae1f945d9df4eb3398b39030a43)) -* css-generate script; loading of stylesheet in style_test, add small buttons to style_test ([6bed170](https://github.com/USERNAME/REPOSITORY_NAME/commits6bed170910cdf6fd2ca68eb9d1b65779287afa5d)) -* CSV download ([c1bce7a](https://github.com/USERNAME/REPOSITORY_NAME/commitsc1bce7abc76984ddb84f112d1b7367e5822d5763)) -* decent PDF-export ([de20b00](https://github.com/USERNAME/REPOSITORY_NAME/commitsde20b00b8f8af6796cbab060262d85a5ab171c5d)) -* direction input does not scroll anymore when dragged, fix [#1468](https://github.com/pietervdvn/MapComplete/issues/1468) ([102892e](https://github.com/USERNAME/REPOSITORY_NAME/commits102892ec774501b2811179b333217fb81efe33bb)) -* disable 'delete'-button if no reason is selected, fix [#1631](https://github.com/pietervdvn/MapComplete/issues/1631) ([6b6b1e3](https://github.com/USERNAME/REPOSITORY_NAME/commits6b6b1e32862c7021cff99c2b340a50ae5822cf60)) -* disable check ([b2e7b7d](https://github.com/USERNAME/REPOSITORY_NAME/commitsb2e7b7d221a6dbc12f73505522a5d29bd6d36244)) -* disable rotation on mobile if the user enabled this ([93a30fd](https://github.com/USERNAME/REPOSITORY_NAME/commits93a30fdba5edfd91c19050013aa4f58123ce127c)) -* don't attempt to show an osm wiki page as image, fix [#1776](https://github.com/pietervdvn/MapComplete/issues/1776) ([7dc43f9](https://github.com/USERNAME/REPOSITORY_NAME/commits7dc43f933e84b73f99935ceba4638fe85e376c94)) -* don't count layers if they are not shown by default, fix [#1840](https://github.com/pietervdvn/MapComplete/issues/1840) ([d848171](https://github.com/USERNAME/REPOSITORY_NAME/commitsd848171c3d795e31a73b10d687b475de30e8f39c)) -* don't crash if 't' is undefined ([b1c4097](https://github.com/USERNAME/REPOSITORY_NAME/commitsb1c4097cb480785d2e644a3da072055d1778a17c)) -* don't crash if no features nearby ([b6a4cc1](https://github.com/USERNAME/REPOSITORY_NAME/commitsb6a4cc11bdf25c4cf09e55ad802eb0d460311c9d)) -* don't crash if no features nearby ([c2001f1](https://github.com/USERNAME/REPOSITORY_NAME/commitsc2001f17a55937bbc09e52d730828c9234bf30ef)) -* don't measure compass if alpha is null, fix [#1787](https://github.com/pietervdvn/MapComplete/issues/1787) ([3461ed6](https://github.com/USERNAME/REPOSITORY_NAME/commits3461ed60990fc91e399ef3c4cd082029db2059dd)) -* don't move the map after we jumped to the current GPS location ([f31b025](https://github.com/USERNAME/REPOSITORY_NAME/commitsf31b025b8dba7218576c58ef6bc2b3101052beb7)) -* don't set invalid coordinates ([fbc3bce](https://github.com/USERNAME/REPOSITORY_NAME/commitsfbc3bce5109ffa95491b792d4c7870167f9915ba)) -* don't show both counts and summary at the same time ([d6dbeca](https://github.com/USERNAME/REPOSITORY_NAME/commitsd6dbecace26b9dc52da61d19b767469190a0e8be)) -* don't show duplicate entry of default baselayer if already added ([7ef1628](https://github.com/USERNAME/REPOSITORY_NAME/commits7ef1628d87f32240746251b3e7b4bfdfdbebf6cb)) -* Don't show item if there is no label ([7edc730](https://github.com/USERNAME/REPOSITORY_NAME/commits7edc7302bbb6f0884e6652a429e00705f64413bb)) -* don't show preset_type special vis if no presets are given ([cf3b414](https://github.com/USERNAME/REPOSITORY_NAME/commitscf3b4145ff68871a2040b15ccb6d030b59c448ad)) -* don't show radiobuttons if only one option is available ([8e68ca0](https://github.com/USERNAME/REPOSITORY_NAME/commits8e68ca03ab33cf91df83f1e1d2750723cfb0370b)) -* don't store location 0,0 to prevent movement or cursor in addNew-dialog ([c19317b](https://github.com/USERNAME/REPOSITORY_NAME/commitsc19317bd04a10db89ecbb95eda9b3156f50c395b)) -* don't throw an error if there is no parent element which can be scrolled ([3166918](https://github.com/USERNAME/REPOSITORY_NAME/commits3166918551aab57bdf0777e7bd378003779f8c10)) -* drag & drop for file selector ([5be24db](https://github.com/USERNAME/REPOSITORY_NAME/commits5be24dbef1647cd2c6c869d86ea5b37f0e072106)) -* dynamic filtering with non-string values ([58b94c3](https://github.com/USERNAME/REPOSITORY_NAME/commits58b94c38e50c5a9c66ac248fe8117b19bac7d05a)) -* effectively show `contact:website` in title icons ([0027299](https://github.com/USERNAME/REPOSITORY_NAME/commits0027299a3e373e9cd19deec0b93dd7a7599ff78a)) -* emit warning for invalid suggestions ([56ba426](https://github.com/USERNAME/REPOSITORY_NAME/commits56ba426ab5bb2f10ac38776728a67ff4558e0cfa)) -* enable editing questions (and settings) again (oopsie) ([d079ba9](https://github.com/USERNAME/REPOSITORY_NAME/commitsd079ba91aa29395262b8084f811eec26e51750b9)) -* enable external data sources from the ELI ([5ea0804](https://github.com/USERNAME/REPOSITORY_NAME/commits5ea08040d7ec40abaabf849ef20771c1a5112637)) -* enable login on index screen ([aface6a](https://github.com/USERNAME/REPOSITORY_NAME/commitsaface6aea7f1774b62c9218e64cd65bf77b97c0b)) -* enable rainbow question again, fix [#1453](https://github.com/pietervdvn/MapComplete/issues/1453) ([af447a9](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf447a948f3d425565afe5620a97123111d6bf91)) -* enable settings again, fix [#1815](https://github.com/pietervdvn/MapComplete/issues/1815) ([a118c29](https://github.com/USERNAME/REPOSITORY_NAME/commitsa118c295d641852584bbd16f07c419a3fa896591)) -* error server properly names files, add status endpoint ([37c1d46](https://github.com/USERNAME/REPOSITORY_NAME/commits37c1d46dd43a9d75326a4f9187d4bb3846b4a211)) -* escape special characters for wikipedia search, might improve [#1500](https://github.com/pietervdvn/MapComplete/issues/1500) ([ec94253](https://github.com/USERNAME/REPOSITORY_NAME/commitsec94253d6c5ef38ee5d5d1c7bc25fff53cd6be82)) -* etymology theme now supports multi-apply again, uses lower zoom level for multiselect ([90869a1](https://github.com/USERNAME/REPOSITORY_NAME/commits90869a1c985d992063656d89fe0d95b73184304a)) -* Expose all templates ([09a3e7f](https://github.com/USERNAME/REPOSITORY_NAME/commits09a3e7fba1464835bfad061110f4352d9a47e173)) -* facade gardens: restore forgottne rendering ([f8fa184](https://github.com/USERNAME/REPOSITORY_NAME/commitsf8fa1841e4df8627a18ee57c7c2cb943176557be)) -* fill in freeform value if already set ([e0527e9](https://github.com/USERNAME/REPOSITORY_NAME/commitse0527e964702427014220e2978680e3e6a7cc774)) -* fix [#1471](https://github.com/pietervdvn/MapComplete/issues/1471): add option to bench for 'does probably not have an artwork' ([91892d5](https://github.com/USERNAME/REPOSITORY_NAME/commits91892d50c5a5c5071838c8a38a24c60f1f7ed717)) -* fix [#1477](https://github.com/pietervdvn/MapComplete/issues/1477). Setting the background caused a map.resize(), which in turn caused the coordinates to be set to 0,0, which caused the location-correction to kick in, moving the location input towards null island ([d95d96f](https://github.com/USERNAME/REPOSITORY_NAME/commitsd95d96fb1ba1a8886f05b118c0650a4af1ae5dd7)) -* fix [#1503](https://github.com/pietervdvn/MapComplete/issues/1503), fix [#1571](https://github.com/pietervdvn/MapComplete/issues/1571) ([382f965](https://github.com/USERNAME/REPOSITORY_NAME/commits382f96596ed474bef086d64cabb748257416f2de)) -* fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506), language-URL-parameter works again and is properly documented ([2942a2d](https://github.com/USERNAME/REPOSITORY_NAME/commits2942a2dae77d7c79b3af47b0c518342fa6c87454)) -* fix [#1528](https://github.com/pietervdvn/MapComplete/issues/1528): from weblate to theme files did not properly sync ([3c08c12](https://github.com/USERNAME/REPOSITORY_NAME/commits3c08c1297423d74348aa83e5932a7fbd94c260e5)) -* fix [#1529](https://github.com/pietervdvn/MapComplete/issues/1529) ([05bf79f](https://github.com/USERNAME/REPOSITORY_NAME/commits05bf79f7616af06aefea8e9f095e2b467d84a5d7)) -* fix [#1532](https://github.com/pietervdvn/MapComplete/issues/1532) ([5d00f3c](https://github.com/USERNAME/REPOSITORY_NAME/commits5d00f3cc6a75a22732ec7ffa63d9335d9d75853c)) -* fix [#1580](https://github.com/pietervdvn/MapComplete/issues/1580) ([56934b7](https://github.com/USERNAME/REPOSITORY_NAME/commits56934b79f6911da6d182c4e3f28bbd6749932c3e)) -* fix [#1596](https://github.com/pietervdvn/MapComplete/issues/1596) ([0727a22](https://github.com/USERNAME/REPOSITORY_NAME/commits0727a228fd8bf9b7dd7ecc5b42d9225eab00bae7)) -* fix [#1627](https://github.com/pietervdvn/MapComplete/issues/1627) ([e37f908](https://github.com/USERNAME/REPOSITORY_NAME/commitse37f90855fb3b1fd59d19506aca0e2ccc6a12fb2)) -* fix [#1675](https://github.com/pietervdvn/MapComplete/issues/1675) ([65250d7](https://github.com/USERNAME/REPOSITORY_NAME/commits65250d77beec81f9d336302c4b185dcd14518917)) -* fix [#1684](https://github.com/pietervdvn/MapComplete/issues/1684); add 'openid' to auth-tokens (will be needed in the future for geovisio integration) ([0a82dd0](https://github.com/USERNAME/REPOSITORY_NAME/commits0a82dd0edfd67c18b2c59c903d506cbb0d46ffc1)) -* fix [#1713](https://github.com/pietervdvn/MapComplete/issues/1713) ([2720f5d](https://github.com/USERNAME/REPOSITORY_NAME/commits2720f5dd19deb2ebdcf1eae2229e2fbdd0adc4dd)) -* fix [#1779](https://github.com/pietervdvn/MapComplete/issues/1779), add check to prevent similar errors ([417dc16](https://github.com/USERNAME/REPOSITORY_NAME/commits417dc1633e05b1b4776449eb245739232dea975e)) -* fix [#1813](https://github.com/pietervdvn/MapComplete/issues/1813). For some reason, importing a .js-file suddenly fails, so ported it to typescript ([cab414e](https://github.com/USERNAME/REPOSITORY_NAME/commitscab414e80895933b4ae874be5fd77b90b8c13f3f)) -* fix [#1817](https://github.com/pietervdvn/MapComplete/issues/1817), some more improvements to the loading screen ([6394ee8](https://github.com/USERNAME/REPOSITORY_NAME/commits6394ee8e6800d2cd23d30383ffea9629964c4dc9)) -* fix [#1844](https://github.com/pietervdvn/MapComplete/issues/1844) ([e11442e](https://github.com/USERNAME/REPOSITORY_NAME/commitse11442e1009465e8bc3e8823e8d66fe44fb5f9c2)) -* fix [#1883](https://github.com/pietervdvn/MapComplete/issues/1883); display underground railway lines in a subtler rendering ([b3299cd](https://github.com/USERNAME/REPOSITORY_NAME/commitsb3299cdd733152820e30c18463e551059654d3fb)) -* fix [#1906](https://github.com/pietervdvn/MapComplete/issues/1906) ([3ab1d15](https://github.com/USERNAME/REPOSITORY_NAME/commits3ab1d1591fde7e31efe4e6186af78b71987c1498)) -* fix [#1917](https://github.com/pietervdvn/MapComplete/issues/1917) ([8c65448](https://github.com/USERNAME/REPOSITORY_NAME/commits8c6544883469d9634fca285b600fa05706dcdbfa)) -* fix [#1917](https://github.com/pietervdvn/MapComplete/issues/1917) ([903a11d](https://github.com/USERNAME/REPOSITORY_NAME/commits903a11d4e7c832ad46d3afd4ed9786df6e6d1331)) -* fix anonymous reviews; fix [#1868](https://github.com/pietervdvn/MapComplete/issues/1868) ([073cd69](https://github.com/USERNAME/REPOSITORY_NAME/commits073cd692e456ae63999bfc2770d0c204dc8a1793)) -* fix back-button on the 404-page, remove some obsolete classes ([006f695](https://github.com/USERNAME/REPOSITORY_NAME/commits006f69561a08a1c3a3577ada83e9b3954d8332f2)) -* fix bug icon ([1fea2b5](https://github.com/USERNAME/REPOSITORY_NAME/commits1fea2b56be82e8a9a5db2683ee55a5a81ec7e7f2)) -* fix bug with incorrect translation context for themes ([368f9ad](https://github.com/USERNAME/REPOSITORY_NAME/commits368f9ad0c83eaeb40d4f7ae293d73d11714271e0)) -* fix build ([0d705b9](https://github.com/USERNAME/REPOSITORY_NAME/commits0d705b97277a7c6cba5a57d071aeaace1a24fc5a)) -* fix crash in studio ([b18d575](https://github.com/USERNAME/REPOSITORY_NAME/commitsb18d575ade434ec51a33684ff365ede7b93cfa79)) -* fix dissappearing items to apply ([a935c03](https://github.com/USERNAME/REPOSITORY_NAME/commitsa935c03631614390a1ab43248f51e6ba0eb26956)) -* fix domain name ([301f00f](https://github.com/USERNAME/REPOSITORY_NAME/commits301f00f6aef727981e2faa73e2093710ac25c337)) -* fix file drag and drop, allow entire featurePopup for file drop ([859faea](https://github.com/USERNAME/REPOSITORY_NAME/commits859faead7fd8c6fa5ae73b70e41a753f34dfd5ff)) -* fix icons in mappings which use a builtin svg ([ab28fbe](https://github.com/USERNAME/REPOSITORY_NAME/commitsab28fbe35c97de56e765bc3b35277489aebb1872)) -* fix incorrectly linked translation in privacy policy ([e2aaa7d](https://github.com/USERNAME/REPOSITORY_NAME/commitse2aaa7d435ee91d20a62e8380300ec27418e93c1)) -* fix link image action ([ce55b4c](https://github.com/USERNAME/REPOSITORY_NAME/commitsce55b4c7d8659044b93a03afaaa37d272a6b48ab)) -* fix maps ([e48571a](https://github.com/USERNAME/REPOSITORY_NAME/commitse48571a80a03418d5c0c61304dbb166a67740ddc)) -* fix move dialog ([084cd86](https://github.com/USERNAME/REPOSITORY_NAME/commits084cd86b71bbc26e3b7542a5f16ecc1715275a50)) -* fix multi-visualisation ([872e36d](https://github.com/USERNAME/REPOSITORY_NAME/commits872e36dffa6810f599e06778010f8b00056b976c)) -* fix nearby drinking water fountain detection ([13ebcff](https://github.com/USERNAME/REPOSITORY_NAME/commits13ebcffab102fdcda6263c22cdd12bc22a6f86f7)) -* fix nearby drinking water fountain detection ([a5276eb](https://github.com/USERNAME/REPOSITORY_NAME/commitsa5276eb4e67ed939e5b34ad7ffca61d6e41d679d)) -* fix query:licenses ([e0ee3ed](https://github.com/USERNAME/REPOSITORY_NAME/commitse0ee3edf71388614a1bc07dc43aaf18def1a630e)) -* fix rainbow crossings theme ([5b29177](https://github.com/USERNAME/REPOSITORY_NAME/commits5b291777be5a1aa4826ba894af76dbf4c09b9a7c)) -* fix reverse tabnabbing in most cases, add rel=noopener to most links to untrusted content ([d9b8257](https://github.com/USERNAME/REPOSITORY_NAME/commitsd9b8257e47f7c2e2ce06e4a0fcad8830764dae8e)) -* fix scrolling for 'addNewPoint' ([637cebe](https://github.com/USERNAME/REPOSITORY_NAME/commits637cebefc7685d64ae5286c2a5f63afb3193a2db)) -* fix scrolling for 'addNewPoint' ([f697d29](https://github.com/USERNAME/REPOSITORY_NAME/commitsf697d292a3ab6bf3114d5f7055c908203efbc8e0)) -* fix settings menu ([2b728fd](https://github.com/USERNAME/REPOSITORY_NAME/commits2b728fdf8bd6effce1682119f7f0d67a13d1c97d)) -* fix styling of translate button in titles ([0a8164c](https://github.com/USERNAME/REPOSITORY_NAME/commits0a8164c378ca4aaa1e34dc3bbd4e2741e5bc6318)) -* fix tests; use OAuth client id from dedicated MapComplete account ([fc9dd46](https://github.com/USERNAME/REPOSITORY_NAME/commitsfc9dd462399a3b7ed8959c38c4a97f24895f9ca8)) -* fix translate icon, fix [#1832](https://github.com/pietervdvn/MapComplete/issues/1832) ([064c601](https://github.com/USERNAME/REPOSITORY_NAME/commits064c60163c19e55d098e1b1061cf3b8df3dcf782)) -* fix UK-Addresses themes again ([370b200](https://github.com/USERNAME/REPOSITORY_NAME/commits370b200bb33f26db448e5d3feda2107f2224d232)) -* fix updating of styles ([650c1a6](https://github.com/USERNAME/REPOSITORY_NAME/commits650c1a675c783179482338f449ca1202246916a0)) -* fix validation of question input; remove some obsolete logging; stabilize output of generate:translations wrt newlines ([1f39ba9](https://github.com/USERNAME/REPOSITORY_NAME/commits1f39ba9ab50f63e04be89f676aa82c04d5bb2f94)) -* fixes to etymology: load wikidata on mobile (which uses m.wikidata.org, tripping the CSP); fix 'upload image of the streetsign' parameters ([480956d](https://github.com/USERNAME/REPOSITORY_NAME/commits480956d45dc767c77848ba32b176af373e73060a)) -* force downloading (without cache) before uploading ([b85b2ac](https://github.com/USERNAME/REPOSITORY_NAME/commitsb85b2ace0b373aeae1b9cef8e748ddea7cd3ca5c)) -* force redrawing the questions in a questionbox to avoid rendering artefacts and unselectable items ([f7e2dc7](https://github.com/USERNAME/REPOSITORY_NAME/commitsf7e2dc7457f366d9cf4722beccfe6b16467ab435)) -* generate layeroverview ([ce654cb](https://github.com/USERNAME/REPOSITORY_NAME/commitsce654cbcf9d7164121ee539836c3f7775d93365d)) -* generate layeroverview ([e71a1c7](https://github.com/USERNAME/REPOSITORY_NAME/commitse71a1c7a3d011b921c6ff08dcc54f93dd84971dc)) -* generateCSP ([a612d4e](https://github.com/USERNAME/REPOSITORY_NAME/commitsa612d4e1c2f6469c7b2d1fc66c8fc416ccdcac1a)) -* generating layeroverview; performance: do not try to download ratings if no ratings element is present ([fc62d41](https://github.com/USERNAME/REPOSITORY_NAME/commitsfc62d41e1b832278bb0c846ffcaa971273419730)) -* giving a review is possible again ([0879ff9](https://github.com/USERNAME/REPOSITORY_NAME/commits0879ff97ed4b0b5de572dbf50cc45433b60423f2)) -* giving a review is possible again ([a75fc0d](https://github.com/USERNAME/REPOSITORY_NAME/commitsa75fc0d21550495ea2e579922af9b27b2b2a6e22)) -* gps-icon should turn into an arrow again ([ef93ad1](https://github.com/USERNAME/REPOSITORY_NAME/commitsef93ad126f5c6b973fb2f66c368522ebdee07543)) -* handle NBSP in svg ([4190bf7](https://github.com/USERNAME/REPOSITORY_NAME/commits4190bf79339330601b4d6d426c45cfc6e431ef61)) -* hash would not clear because the update method unregistered itself ([8dd7f34](https://github.com/USERNAME/REPOSITORY_NAME/commits8dd7f34ad733080e9e5e648a91942528d96857ed)) -* hidden theme link not working ([d5e128b](https://github.com/USERNAME/REPOSITORY_NAME/commitsd5e128b1ed71fb7be7402bbe4ed86edcd6e5a6b0)) -* hide 'addnewpoint'-icon when closing the dialog ([499ad85](https://github.com/USERNAME/REPOSITORY_NAME/commits499ad85f1efd0aefd2cf757198eaef5af037c7ee)) -* hide some elements of the UI if they are disabled by a featureSwitch ([17503d5](https://github.com/USERNAME/REPOSITORY_NAME/commits17503d5bfb63c5c03968c96f15c2c5a674a3ede3)) -* hide tag_apply_button when applied ([622df2d](https://github.com/USERNAME/REPOSITORY_NAME/commits622df2df19ce4fa7049447995194d0f28b91d59f)) -* icons for rental in cyclofix theme ([02064a2](https://github.com/USERNAME/REPOSITORY_NAME/commits02064a2d8078b07aeb9e282700018c86638c4683)) -* ifnot-value would show up together with the 'if'-value ([15f1a93](https://github.com/USERNAME/REPOSITORY_NAME/commits15f1a9362c624d3fec9680efa3e38edf912cbaf1)) -* import ([98ca6aa](https://github.com/USERNAME/REPOSITORY_NAME/commits98ca6aa8aaac923b57d12f52b41f5ee13412b0a2)) -* improve background layer switching code, might improve [#1481](https://github.com/pietervdvn/MapComplete/issues/1481) ([33fa11f](https://github.com/USERNAME/REPOSITORY_NAME/commits33fa11fc1728f017644977be2181c25441a76e18)) -* improve deployscript for hetzner ([dcd02e9](https://github.com/USERNAME/REPOSITORY_NAME/commitsdcd02e9ad772346bc3f69ebd9563af80ea30810e)) -* improve error message ([7f6c1f0](https://github.com/USERNAME/REPOSITORY_NAME/commits7f6c1f06e23cb249d2eadda9be08b1cafc680d30)) -* improve first-sentence ([7aee442](https://github.com/USERNAME/REPOSITORY_NAME/commits7aee442ae49a7a68821917de9580ce9e62105edf)) -* improve functionality of GRB-theme (WIP) ([b86e291](https://github.com/USERNAME/REPOSITORY_NAME/commitsb86e2910baba5fe37cf5c0f53a64966c85d159ce)) -* improve optimization; add tests ([595503c](https://github.com/USERNAME/REPOSITORY_NAME/commits595503cfc35c8db3cb4ee4b28f82b7c91ee75dff)) -* improve parsing of possible mapillary values ([3d54a83](https://github.com/USERNAME/REPOSITORY_NAME/commits3d54a8392be94a369bf388dad0f83f60fb5a5474)) -* improve PDF-output functionality ([215286a](https://github.com/USERNAME/REPOSITORY_NAME/commits215286a5af46c58a197bf85b9561c26eff5bd8fe)) -* include 'source' and tile URLs from vector tile sources into CSP, see [#1652](https://github.com/pietervdvn/MapComplete/issues/1652) ([09504e1](https://github.com/USERNAME/REPOSITORY_NAME/commits09504e18ecb4b85ceb6562fcdb0e21034e496ad8)) -* include japanese dot as sentence separator ([d2c6689](https://github.com/USERNAME/REPOSITORY_NAME/commitsd2c668922b7ac5dc682461c6789fbbdb37fad8c3)) -* include lod-proxy in CSp ([087c099](https://github.com/USERNAME/REPOSITORY_NAME/commits087c099e2e633237b00748ee5d3dbba454999881)) -* incorrect path in error message ([5da8952](https://github.com/USERNAME/REPOSITORY_NAME/commits5da895276c5d5447bea7094d81d371e99458ff7e)) -* **index:** search got confused as it didn't have an id for the list items ([6f42884](https://github.com/USERNAME/REPOSITORY_NAME/commits6f4288476eebf7b0e8af6177bff066d06f3823dc)) -* init indexedFeatureStore with a default map as to fix crash upon loading if a pending change is present ([377c411](https://github.com/USERNAME/REPOSITORY_NAME/commits377c411143c577752014842bbc205093c9ebfdc4)) -* initialize user settings with a strict value to be able to override it ([57e0093](https://github.com/USERNAME/REPOSITORY_NAME/commits57e0093e478f541c46145a72dbfb9fc70d467633)) -* interpret missing level tag as 'level=0' ([5d8b422](https://github.com/USERNAME/REPOSITORY_NAME/commits5d8b42216236d49b6bcf328e8a009884f697e312)) -* keep map mouse-interactive when panning with arrow keys, some CSS-tweaks ([512bb4c](https://github.com/USERNAME/REPOSITORY_NAME/commits512bb4c00e1fed39927c8bd40aaef378db64d648)) -* layers now compile again ([1c99173](https://github.com/USERNAME/REPOSITORY_NAME/commits1c99173f32112b332ce38f926623fa2c27f89ab8)) -* lines with opacity have colour again ([f0d9365](https://github.com/USERNAME/REPOSITORY_NAME/commitsf0d9365e06eb533f0bf0a47c21ce58834fc5cabd)) -* load element if set in the hash ([9090dda](https://github.com/USERNAME/REPOSITORY_NAME/commits9090dda6889a4e4eda33b9d634fb22da3aedadd8)) -* load translations for PDF-export internally ([d103911](https://github.com/USERNAME/REPOSITORY_NAME/commitsd103911d143803c9e0373a673110009a785f94da)) -* loading oneway arrows on multiple layers; fix nullpointer ([1678427](https://github.com/USERNAME/REPOSITORY_NAME/commits16784270ce45560520d4e9b19d81bd04da7033ee)) -* long domain names cause horizontal scroll with taghints ([eb47c4d](https://github.com/USERNAME/REPOSITORY_NAME/commitseb47c4d5b9a0379cc87b773c73638965fb247ee8)) -* make levelselector clickable again, fix [#1416](https://github.com/pietervdvn/MapComplete/issues/1416) ([8b5daef](https://github.com/USERNAME/REPOSITORY_NAME/commits8b5daefc9063c818eeea6e044167787feb31d4b5)) -* make sure that a 'hidden' tagRendering cannot be accidentally selected ([5585f02](https://github.com/USERNAME/REPOSITORY_NAME/commits5585f02cad0c737f99c16433d7a61f3a5f3743d3)) -* make sure that the passed-in-location of the map is respected, prevents random jumps in the location input ([5c01f6a](https://github.com/USERNAME/REPOSITORY_NAME/commits5c01f6ada95ab1410310d4f084f593b6f561cc53)) -* make sure the background is always below the rendered layers ([2769747](https://github.com/USERNAME/REPOSITORY_NAME/commits2769747737964a509897ccce4702a9ea9ebefcd8)) -* make text a translation ([418e0cd](https://github.com/USERNAME/REPOSITORY_NAME/commits418e0cd149f1af50527e1f1f2c6fbec254779681)) -* make top and bottom panels click-through ([0db6a89](https://github.com/USERNAME/REPOSITORY_NAME/commits0db6a8977716e33bfa775bd731e994bf9facf0c9)) -* maproulette endpoints ([bbf6d62](https://github.com/USERNAME/REPOSITORY_NAME/commitsbbf6d62c866950476ee34ff735352d8cc38daa7a)) -* maproulette import flow ([5f7cc35](https://github.com/USERNAME/REPOSITORY_NAME/commits5f7cc351c9fb3743ab1cba65327611f730440ec5)) -* maproulette item ([b6b77da](https://github.com/USERNAME/REPOSITORY_NAME/commitsb6b77daef78bdc111530ec1fb17820c4fb042e57)) -* markers can rotate again ([5e453d5](https://github.com/USERNAME/REPOSITORY_NAME/commits5e453d5cf19fb63ef7516ad11e53aad4e0006bdc)) -* markers now appear correctly on PNG exports ([e5b3e15](https://github.com/USERNAME/REPOSITORY_NAME/commitse5b3e15c43672933fc3f1f6a59960514961ce377)) -* MC would crash if a pending change was present; remember preferences in order to reuse the changeset ([f2375f4](https://github.com/USERNAME/REPOSITORY_NAME/commitsf2375f4877316193132f4ae4189ef5b65e7ef710)) -* metatagging of width theme ([c4ff70c](https://github.com/USERNAME/REPOSITORY_NAME/commitsc4ff70ce656e941574a31120f3971375ecc7ba4c)) -* minimap takes to much space ([037c593](https://github.com/USERNAME/REPOSITORY_NAME/commits037c593f61b3adfd4ac314aef063e20049ce3cb7)) -* missing commas in elevator.json ([229e605](https://github.com/USERNAME/REPOSITORY_NAME/commits229e60538b4d9002875a63ad877324941dd4647d)) -* Move image preview below FloatOver, the popup otherwise hides the image preview ([df1fef2](https://github.com/USERNAME/REPOSITORY_NAME/commitsdf1fef28c02b08a1ba13e4fbd8bc6f15d6c7913c)) -* move lastClick to bottom anchor ([beea00c](https://github.com/USERNAME/REPOSITORY_NAME/commitsbeea00cbf079ad0c109c78d2828b7359479f0717)) -* multianswer with a free textfield did not activate ([649ed1f](https://github.com/USERNAME/REPOSITORY_NAME/commits649ed1f53a7948bafda45aab36ed214d1808b51e)) -* multianswer would not accept last option ([6f5c71e](https://github.com/USERNAME/REPOSITORY_NAME/commits6f5c71ed5a17147d5fc8c9da9f194a61f18fbb30)) -* no more duplicate link showing up, avoid crash ([7be01d5](https://github.com/USERNAME/REPOSITORY_NAME/commits7be01d5b8f789576b8b74bf07824ed660d9339a1)) -* normalization of URLs, formatting, stabilize inputHelper ([441c4df](https://github.com/USERNAME/REPOSITORY_NAME/commits441c4df4f6d3e26cf866418e5ddaea90bedd2c6a)) -* only check browserLanguage if navigator is defined; fixes tests ([a1fa3b4](https://github.com/USERNAME/REPOSITORY_NAME/commitsa1fa3b494259d7cc8f4873af31d5c9a987cef972)) -* only show 'newly created' if version number is 1 or unset ([1a78ecb](https://github.com/USERNAME/REPOSITORY_NAME/commits1a78ecb85806db67f6e51e39a0882c038589a058)) -* only show fixmes on high zoom level (performance), add the option to remove a fixme ([2f5091a](https://github.com/USERNAME/REPOSITORY_NAME/commits2f5091a8cb484681d69db0ea6578dd7d26eacef7)) -* only show website icon if a website is known ([46244b8](https://github.com/USERNAME/REPOSITORY_NAME/commits46244b8345c0005f3b3648a3379149d243cfe897)) -* open correct menu if set in hash ([7a95334](https://github.com/USERNAME/REPOSITORY_NAME/commits7a953348824f6d601c16a0e632aac8353e0283fb)) -* open settings again ([894d857](https://github.com/USERNAME/REPOSITORY_NAME/commits894d857cdc35864bbd778925ef84a042d6e04aaa)) -* opening the popup if defined in the hash ([196d76d](https://github.com/USERNAME/REPOSITORY_NAME/commits196d76d9dc8736667956ad803cf5aed15f3b682e)) -* ordering of baselayers ([8379a89](https://github.com/USERNAME/REPOSITORY_NAME/commits8379a894d0fc826e33d24d05b3e44852556a60b1)) -* output tailwind into 'public/css/' instead of 'css/' ([a1f5032](https://github.com/USERNAME/REPOSITORY_NAME/commitsa1f50322321d878d823ac3fc70021683dbb6ab69)) -* overpass feature source will redownload if the layers to download have changed ([bae4974](https://github.com/USERNAME/REPOSITORY_NAME/commitsbae49744d95e350f7b4c1b031b8e4a178879deea)) -* overpass feature source will redownload if the layers to download have changed ([7ed5307](https://github.com/USERNAME/REPOSITORY_NAME/commits7ed53076fe206f0e260d329844eb1d8898206b01)) -* pass along initial coordinates with the location input, prevents flashing of the ocean; fix [#1469](https://github.com/pietervdvn/MapComplete/issues/1469) ([790c276](https://github.com/USERNAME/REPOSITORY_NAME/commits790c2767e2dfbdca65f56ec95bf3cd69a98e4301)) -* pass properties of snapping feature in newPointInput to render correctly ([c80085d](https://github.com/USERNAME/REPOSITORY_NAME/commitsc80085dfda58c9eb73fda466d8d81731095f1672)) -* personal theme crashed due to unset defaultIcon ([6075b01](https://github.com/USERNAME/REPOSITORY_NAME/commits6075b016485808352ae84a12d5b872482693411a)) -* png correctly outputs all markers now ([905f796](https://github.com/USERNAME/REPOSITORY_NAME/commits905f796baa26b8eedc177ce7f58353331e432535)) -* precise location input picks correct location (and not the previous click) ([6d337e8](https://github.com/USERNAME/REPOSITORY_NAME/commits6d337e877589f49ed1b4b1dc60ae232dd6634342)) -* preciseInputPicker will show correct icon if snapped or not snapped to a wall ([9870391](https://github.com/USERNAME/REPOSITORY_NAME/commits98703914ca48afefb614e1f19eb15663ab3280b7)) -* presets will now also show if the layer doesn't have a name and is shown ([3f18ce7](https://github.com/USERNAME/REPOSITORY_NAME/commits3f18ce7fd387a4f60db5863cfa4f759eaf34edff)) -* pressing enter would ignore input ([95c41d6](https://github.com/USERNAME/REPOSITORY_NAME/commits95c41d672ee7f5556645925d09610f0bf36ee1c0)) -* probably fix black area outlines ([0bd9e1e](https://github.com/USERNAME/REPOSITORY_NAME/commits0bd9e1e667e659cf1b856e2aece94696089b9a20)) -* properly add 'self' to connect-src ([441a9a5](https://github.com/USERNAME/REPOSITORY_NAME/commits441a9a5ed9e5b6a37356e0f15967f66799419572)) -* properly add 'self' to connect-src (take 2) ([c823e74](https://github.com/USERNAME/REPOSITORY_NAME/commitsc823e745a3e0b562ddfdb489541182ed17449336)) -* properly show hidden themes, drop 'custom theme generator'-button, drop 'professional services' button ([93adfd3](https://github.com/USERNAME/REPOSITORY_NAME/commits93adfd3da592cbf2f177123802f69a7c4fc72637)) -* questions are shown if the condition is met, fix [#1630](https://github.com/pietervdvn/MapComplete/issues/1630) ([8500276](https://github.com/USERNAME/REPOSITORY_NAME/commits85002766a8d3b8d0d4ad31410437bad72ae7ca03)) -* questions now appear when reselecting an item ([0c5e88d](https://github.com/USERNAME/REPOSITORY_NAME/commits0c5e88df7b5bdad82bf2e67b45aa817e29ca4fde)) -* questions of charging stations are now shown separately again ([fe9afb4](https://github.com/USERNAME/REPOSITORY_NAME/commitsfe9afb415ff68c0b8e35fcb41fc68330a41a2b08)) -* questions of charging stations are now shown separately again ([30af019](https://github.com/USERNAME/REPOSITORY_NAME/commits30af019cdfe8dea845e92645d0ec859e439a2b90)) -* re-enable generate command ([13a35b9](https://github.com/USERNAME/REPOSITORY_NAME/commits13a35b94202ef775598fc7130b60b8839cef514a)) -* re-enable reservation question ([cebd428](https://github.com/USERNAME/REPOSITORY_NAME/commitscebd428e9ec58b708637ae34055a5c689e3004cd)) -* re-enable speed and heading in GPS-cursor ([ff47d75](https://github.com/USERNAME/REPOSITORY_NAME/commitsff47d75d41fc1fd4f576cd483150fe27cb3942d3)) -* readd missing files ([7d802d4](https://github.com/USERNAME/REPOSITORY_NAME/commits7d802d418bd52bf29b147c245e548a7704e2d45f)) -* redraw line layers on background change ([6e5fcde](https://github.com/USERNAME/REPOSITORY_NAME/commits6e5fcdef205d4616305d2bca39a1904d60954003)) -* reinstantiate uploads ([871d511](https://github.com/USERNAME/REPOSITORY_NAME/commits871d511616ae48055095e8c3485db762adc6b140)) -* remember map rotation setting ([c764839](https://github.com/USERNAME/REPOSITORY_NAME/commitsc764839fdcefff316b9458067e462f282a2fe7d5)) -* remember previous, externally loaded themes ([b61c0a1](https://github.com/USERNAME/REPOSITORY_NAME/commitsb61c0a11807585a1832ff410be362e74ae2a810b)) -* remove 'icons.defaults' from favourite layers, cleanup of various small typing errors ([e8569ec](https://github.com/USERNAME/REPOSITORY_NAME/commitse8569ec5404e632ebae0c71b040c1d9a9b891583)) -* remove all html-attributes from shortDescriptions in the theme overview ([39572f4](https://github.com/USERNAME/REPOSITORY_NAME/commits39572f4767f270a4a5a40d8973ae9824ac3a43d1)) -* remove empty license files, fix [#1135](https://github.com/pietervdvn/MapComplete/issues/1135) ([2eabfea](https://github.com/USERNAME/REPOSITORY_NAME/commits2eabfea8af22a3810487cdacd68d850f4432e624)) -* remove ghost bike translations from translation files and resync them, should fix the build ([0487497](https://github.com/USERNAME/REPOSITORY_NAME/commits0487497e17ace04d381d2c9d43b02f8032874e2f)) -* Remove isOpen from defaults ([11b8c61](https://github.com/USERNAME/REPOSITORY_NAME/commits11b8c619c165f6d66fed03061ad9afa052a7a096)) -* remove no longer needed translation ([0e893f7](https://github.com/USERNAME/REPOSITORY_NAME/commits0e893f7903d68f37936c9b87883ffdc31b9ff088)) -* remove no longer needed translations ([3c74a94](https://github.com/USERNAME/REPOSITORY_NAME/commits3c74a94eee676a8ff0fc2b0b85f1bf8d7487d216)) -* remove trailing ';' for opening hours, as spotted by Midgard ([36b086e](https://github.com/USERNAME/REPOSITORY_NAME/commits36b086e4141e70253e68aec59d099638d46d14af)) -* remove unneeded translation download, fix PDF-export ([1930f7b](https://github.com/USERNAME/REPOSITORY_NAME/commits1930f7bb53f4d477c2529471b478db77ddcc012b)) -* remove unneeded URL parameter ([365d573](https://github.com/USERNAME/REPOSITORY_NAME/commits365d573b7c0d36bfa675cc637e6223abe770f3a0)) -* remove unused property ([99b0135](https://github.com/USERNAME/REPOSITORY_NAME/commits99b0135fa9b44639189a1c9e690cf5829010c6e7)) -* rendering of 'inline' was not dynamic ([60d825d](https://github.com/USERNAME/REPOSITORY_NAME/commits60d825de3c94afad79351f492c691af3d2109f60)) -* rendering of indoor room icons ([6235e23](https://github.com/USERNAME/REPOSITORY_NAME/commits6235e231922b64adba86b012422175347a9887c1)) -* replace all mentions of 'mapcomplete.osm.be' with 'mapcomplete.org' ([7321004](https://github.com/USERNAME/REPOSITORY_NAME/commits7321004c19212b0849394b9d541583e52e4ec5e6)) -* reset translations ([ad952fc](https://github.com/USERNAME/REPOSITORY_NAME/commitsad952fcaf284b1669cee4657389cf36a52ee334c)) -* resize svgs ([89186c8](https://github.com/USERNAME/REPOSITORY_NAME/commits89186c8610185e56bf9afa78b2765c45b2a939bd)) -* restore loading of custom themes ([bcb2ecf](https://github.com/USERNAME/REPOSITORY_NAME/commitsbcb2ecf6ab6c372cd41dd79780b027c79cb4a49e)) -* reviews need an uncertainty ([bc96288](https://github.com/USERNAME/REPOSITORY_NAME/commitsbc96288d3d75f24fb12620d050f472029c5df135)) -* rotation of the GPS-marker ([bbc7698](https://github.com/USERNAME/REPOSITORY_NAME/commitsbbc7698b1281ad654c00c54bf58b9de7ba1e71e6)) -* safari-specific fixes ([059ef2c](https://github.com/USERNAME/REPOSITORY_NAME/commits059ef2c1bc2ea5fb377a0f1e253652c0c243e250)) -* schemaBasedArray ([a7599f6](https://github.com/USERNAME/REPOSITORY_NAME/commitsa7599f6d7f5a061cb1971ee8170f9f039ea2e2de)) -* set share capability to 'no' if running from console, fixes tests ([af7bc0f](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf7bc0f7ce686147608256e1c5dd0a9d24388945)) -* setting the language does not overwrite the user setting anymore ([c6283ac](https://github.com/USERNAME/REPOSITORY_NAME/commitsc6283ac7205f69c1a42e8cf16e5f4f1ab2c239f8)) -* share button ([84cbd2f](https://github.com/USERNAME/REPOSITORY_NAME/commits84cbd2fbc00d3d9e386a3b485dd4fa61c8000722)) -* show add new point fullscreen again ([aad31f6](https://github.com/USERNAME/REPOSITORY_NAME/commitsaad31f649e733d108c63297aa6d25bf87ac73c34)) -* show preferred languages (according to OSM) in usersettings ([0ea103f](https://github.com/USERNAME/REPOSITORY_NAME/commits0ea103f24780ef2c6ba191cbd4891716bb2d86f6)) -* show tags that will be applied if setting is 'full' ([0b82661](https://github.com/USERNAME/REPOSITORY_NAME/commits0b826612e93c0b120f99b6927c57c13b60c2835f)) -* show tags that will be deleted with strikethrough in TagHint ([15a481f](https://github.com/USERNAME/REPOSITORY_NAME/commits15a481f864b4afb7b650fd150f0ce7d46c9d1e78)) -* size of new element picker map ([#1701](https://github.com/pietervdvn/MapComplete/issues/1701)), add debug info about GPS ([9407ed3](https://github.com/USERNAME/REPOSITORY_NAME/commits9407ed35b109660a9b23c2b71fd15f3ecf1dc0d0)) -* small bug in script ([795d6d2](https://github.com/USERNAME/REPOSITORY_NAME/commits795d6d2e072d13c1d64259ac8ff960d618c2deba)) -* small CSS fix ([1b8970b](https://github.com/USERNAME/REPOSITORY_NAME/commits1b8970b34aae337edfe5567315cc36319add1ff7)) -* SPDX-compliance ([6c4b464](https://github.com/USERNAME/REPOSITORY_NAME/commits6c4b464f14ed2851980da34e12df355cb8137ba7)) -* special loginbutton now actually works ([6a4def6](https://github.com/USERNAME/REPOSITORY_NAME/commits6a4def67ca97b55beb26445a0ddb713149527cc5)) -* stabilize change injector ([efdff63](https://github.com/USERNAME/REPOSITORY_NAME/commitsefdff6335f5075f74156b5b1258ae69ab058705b)) -* stabilize opening hours, make delete clickable again ([cc60d2a](https://github.com/USERNAME/REPOSITORY_NAME/commitscc60d2a5fbae3a14d63aa859fa02e2b09e1e48f9)) -* stabilize rendering of linelayers ([055e5a8](https://github.com/USERNAME/REPOSITORY_NAME/commits055e5a801b60276cdfcf31870fae29e6af30521b)) -* style issue, types ([5932dc7](https://github.com/USERNAME/REPOSITORY_NAME/commits5932dc7ad4b532c45d6e6bff95f46f6cb26645b2)) -* style of tabbedGroup-elements needed an 'important' to work in production ([5a2e54b](https://github.com/USERNAME/REPOSITORY_NAME/commits5a2e54b00a86b4ac0f91b69aa55ff3c36939e8ab)) -* style tweaks to link feature ([bd71645](https://github.com/USERNAME/REPOSITORY_NAME/commitsbd71645c04e819a28c355da5c898293092b51068)) -* styling issues; refactoring: remove 'SearchAndGo' ([0e81b65](https://github.com/USERNAME/REPOSITORY_NAME/commits0e81b653631a97699ba07ce5d34b61bc4422a5d1)) -* styling of OH input, fix [#1489](https://github.com/pietervdvn/MapComplete/issues/1489) ([064f875](https://github.com/USERNAME/REPOSITORY_NAME/commits064f87537f450e40b76d936d7793ea9036b2b181)) -* styling of PH-input in OpeningHoursInput, fix [#1422](https://github.com/pietervdvn/MapComplete/issues/1422) ([a9c25d3](https://github.com/USERNAME/REPOSITORY_NAME/commitsa9c25d378a709e3ac7b4a76919ae10cf405dacec)) -* substitute name ([408e782](https://github.com/USERNAME/REPOSITORY_NAME/commits408e7826269dc30d97f89e6e1fd097dae69b7923)) -* substituteKeys works correctly if newline is in the text, fix 'send email to report broken'-button by porting it to svelte ([b4f65bf](https://github.com/USERNAME/REPOSITORY_NAME/commitsb4f65bf2f7ce2a6993906076353acc11a1d64d94)) -* subtleLink should not open in a new tab ([61c417c](https://github.com/USERNAME/REPOSITORY_NAME/commits61c417c546e828dbed2356c35eebfe4cf2ef403d)) -* Support contact:email and contact:phone in icons ([7bcefe5](https://github.com/USERNAME/REPOSITORY_NAME/commits7bcefe527ce080b3f7b7c48fdd1a828289b126c3)) -* svg image generation script ([f9b1e9b](https://github.com/USERNAME/REPOSITORY_NAME/commitsf9b1e9b2de8f4aa657272d714385c1c7fbfdb3b3)) -* temporarily only warn for incomplete translations ([adb5d89](https://github.com/USERNAME/REPOSITORY_NAME/commitsadb5d892fb39cdf63ea65d95ef5079f0efed6324)) -* tests ([238de89](https://github.com/USERNAME/REPOSITORY_NAME/commits238de89ad54fd0c8c0d4bf75f49282d7921f21a2)) -* tests ([841be16](https://github.com/USERNAME/REPOSITORY_NAME/commits841be16dffd8219713a1bc00b9a8409195a8f82d)) -* tests ([1d54356](https://github.com/USERNAME/REPOSITORY_NAME/commits1d543563d702f6af424e1df041191632126ed805)) -* tests ([2a73c43](https://github.com/USERNAME/REPOSITORY_NAME/commits2a73c43a5fc652f7d91c8d89cf47d0ce8853ee62)) -* the search bar on the theme index was not clickable on wide screens as the 'centermessage' hovered over it invisibly ([af7672a](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf7672a0e00de4e3d75a85678b4528093515fb7e)) -* theme compilation ([86d0de3](https://github.com/USERNAME/REPOSITORY_NAME/commits86d0de380644c92fe90f4dd87aa4399074fdc42e)) -* **themes:** remove 'unkown' mapping from hydrants, the unkown case is handled by MapComplete ([4850e50](https://github.com/USERNAME/REPOSITORY_NAME/commits4850e5094a49a16d3975795fd1f25a81f2e13a5a)) -* turn favourites black again, sync them globally ([14594b2](https://github.com/USERNAME/REPOSITORY_NAME/commits14594b286dd2278bc64ed27f0305b76596d7e190)) -* tweaking addNewPoint-flow ([d0e0abd](https://github.com/USERNAME/REPOSITORY_NAME/commitsd0e0abdece560799a9770b74d0992c42ebe89ed6)) -* typo ([929093d](https://github.com/USERNAME/REPOSITORY_NAME/commits929093d36f13ab1861d533f4d93152a7ddd1e6dc)) -* typo ([2671d01](https://github.com/USERNAME/REPOSITORY_NAME/commits2671d0158983c7befb9f5c8d3e91544a50408c6b)) -* typo ([752de10](https://github.com/USERNAME/REPOSITORY_NAME/commits752de107ab6a50f8e513b0c7307b44dc6094d974)) -* typo ([8531571](https://github.com/USERNAME/REPOSITORY_NAME/commits8531571c7be653339d752f953a8725d94eec692c)) -* typo ([de99f56](https://github.com/USERNAME/REPOSITORY_NAME/commitsde99f56ca8fe34e361a7c6345d147f8295293f57)) -* typo ([3a25106](https://github.com/USERNAME/REPOSITORY_NAME/commits3a25106a5ab7bd958cfe731d8e1e959b5b07b23e)) -* typo in charging_station.protojson ([21d01a4](https://github.com/USERNAME/REPOSITORY_NAME/commits21d01a46f9164a872145c03fe845233c6cd47f8b)) -* typo in elevator.json ([374a4eb](https://github.com/USERNAME/REPOSITORY_NAME/commits374a4eb22211ecfbe8a04569d89b8236f109b8ed)) -* typo in filter ([366577f](https://github.com/USERNAME/REPOSITORY_NAME/commits366577f70b40765b3e10ccae222193ca07cae4bb)) -* typo in tag ([a903112](https://github.com/USERNAME/REPOSITORY_NAME/commitsa9031129d3dddfdd0ab1d2d83d371b872a0d5180)) -* **typo:** s/bick_wal/brick_wall/ ([753efef](https://github.com/USERNAME/REPOSITORY_NAME/commits753efef38f1f1a4f731c0c66408c7adddb26a967)) -* undo accidental changes, fix saving preferences ([ff3a7f8](https://github.com/USERNAME/REPOSITORY_NAME/commitsff3a7f8f4372d46b0aba61aa12115da4207f2331)) -* units which used a 'string'-validator might not detect the actual denomination. They have now been forbidden and fixed ([7b497f9](https://github.com/USERNAME/REPOSITORY_NAME/commits7b497f991d788c991457f1167d472a77f2789cdc)) -* unselect layer, prevents that 'lastClick'-popup opens on map click ([63ffa11](https://github.com/USERNAME/REPOSITORY_NAME/commits63ffa11238766962cab6b1c8cedcd0153504d45e)) -* update and simplification of sharescreen, rename some feature switches, remove some no longer relevant feature switches ([96d0367](https://github.com/USERNAME/REPOSITORY_NAME/commits96d036781f55987732629355be118373c363830d)) -* upload flow deals better with point reuse: it actually opens the feature now ([c14cbc9](https://github.com/USERNAME/REPOSITORY_NAME/commitsc14cbc9fe95bf1d2432ea7290cae0d0f7a9b6ada)) -* uploads were broken ([efd6b30](https://github.com/USERNAME/REPOSITORY_NAME/commitsefd6b30e1b41024ee4b7c0f6cf69a49f87f5da69)) -* URL-parameter language disables the language picker, fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506) ([3ca8ba1](https://github.com/USERNAME/REPOSITORY_NAME/commits3ca8ba18fd6a1569214f5d6298eca291cb8ceefc)) -* URL-parameter language disables the language picker, fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506) ([2f5c89f](https://github.com/USERNAME/REPOSITORY_NAME/commits2f5c89f8c5a7aa7adbe83d1b9cf98e198f9f1aab)) -* use api.openstreetmap.org on many places, fix [#1573](https://github.com/pietervdvn/MapComplete/issues/1573) ([8fccf78](https://github.com/USERNAME/REPOSITORY_NAME/commits8fccf784786074e22a4d437dc8a38c58bf54c375)) -* use correct backend address (including www.) ([c320239](https://github.com/USERNAME/REPOSITORY_NAME/commitsc320239610f15083d1d050f17e337780621f7dc3)) -* use correct branch to deploy ([9c0dac2](https://github.com/USERNAME/REPOSITORY_NAME/commits9c0dac28ad0604026936cc68c5238927978b250a)) -* use correct relocation icon again ([cdb1bb2](https://github.com/USERNAME/REPOSITORY_NAME/commitscdb1bb23b8e5df8bd1f2e0732ff14f3bd55935f5)) -* use correct snapping ([ec2e0e1](https://github.com/USERNAME/REPOSITORY_NAME/commitsec2e0e1de168f9f4551f86ff73b070a6e4ccdd77)) -* use https for extractGraph endpoint ([f89123d](https://github.com/USERNAME/REPOSITORY_NAME/commitsf89123d318ebb24553b842884e0aad3b9adf6570)) -* use proper circle for bench and artwork ([e2a56f5](https://github.com/USERNAME/REPOSITORY_NAME/commitse2a56f5e5cc469c95974625f561a4a5229b5cb9a)) -* use proper selected element ([dbff953](https://github.com/USERNAME/REPOSITORY_NAME/commitsdbff95309642178dcccb4a0a365a263c722c5a96)) -* use theme.html?layout= instead of layout.html if a local deploy is detected ([db67600](https://github.com/USERNAME/REPOSITORY_NAME/commitsdb6760015f69239dc51cc47c866635927cd9dadf)) -* use translated value for community index tab ([a3a7c53](https://github.com/USERNAME/REPOSITORY_NAME/commitsa3a7c536fbce04698a05847da429d1bacc851aad)) -* use translated value for community index tab ([22ee806](https://github.com/USERNAME/REPOSITORY_NAME/commits22ee806090a8679ea2951d84af47e4de8314925c)) -* use www.openstreetmap.org again, it doesnt work ([580b58e](https://github.com/USERNAME/REPOSITORY_NAME/commits580b58e86a974432b068b073a047c22864621126)) +### [0.46.7](https://github.com/USERNAME/REPOSITORY_NAME/compare/v0.46.6...v0.46.7) (2024-09-13) diff --git a/package-lock.json b/package-lock.json index 091df2396..6c31a7aed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.46.6", + "version": "0.46.7", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.46.6", + "version": "0.46.7", "license": "GPL-3.0-or-later", "dependencies": { "@comunica/core": "^3.0.1", diff --git a/package.json b/package.json index 061528078..439f71e9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.46.6", + "version": "0.46.7", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", From a36e5c88d37e1f6bf55a12d45f254df33fe6ce38 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 13:07:40 +0200 Subject: [PATCH 29/37] chore(release): 0.46.6 --- CHANGELOG.md | 2 ++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31167b903..5111add6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,4 +2,6 @@ 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.46.6](https://github.com/USERNAME/REPOSITORY_NAME/compare/v0.46.7...v0.46.6) (2024-09-13) + ### [0.46.7](https://github.com/USERNAME/REPOSITORY_NAME/compare/v0.46.6...v0.46.7) (2024-09-13) diff --git a/package-lock.json b/package-lock.json index 6c31a7aed..091df2396 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.46.7", + "version": "0.46.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.46.7", + "version": "0.46.6", "license": "GPL-3.0-or-later", "dependencies": { "@comunica/core": "^3.0.1", diff --git a/package.json b/package.json index 439f71e9b..061528078 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.46.7", + "version": "0.46.6", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", From e3b859159d49da22a9e87267411faff19e5aec03 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 13:25:19 +0200 Subject: [PATCH 30/37] chore(release): 0.46.7 --- CHANGELOG.md | 616 ++++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 4 +- package.json | 2 +- 3 files changed, 619 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5111add6a..b8484bf81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,622 @@ 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.46.7 (2024-09-13) + + +### Features + +* add bike_parking=safe_loops ([e4de3d8](https://github.com/USERNAME/REPOSITORY_NAME/commitse4de3d8e5f2b8e6002e68dba20ac659f57a3c8cc)) +* add color for streets with no cycleways ([5d52462](https://github.com/USERNAME/REPOSITORY_NAME/commits5d524629b46d3e2e1d059f9db3010609e05ffb61)) +* add prettier config ([d3f453a](https://github.com/USERNAME/REPOSITORY_NAME/commitsd3f453a4fb3f7eaac9031026dc95bff0a076dec3)) +* Add printer cartridges to recycling ([28d6637](https://github.com/USERNAME/REPOSITORY_NAME/commits28d66373680dda160b4b899621c5c89aa1c52143)) +* **themes:** add osm community index as a layer ([e85cf43](https://github.com/USERNAME/REPOSITORY_NAME/commitse85cf43ffbf9de86491a2d3aaa4b7f0a52082843)) +* **themes:** add questionHint to give extra information about a question ([d7fe3a0](https://github.com/USERNAME/REPOSITORY_NAME/commitsd7fe3a056ef74d85f3d4e310a6e053b244b659f8)) + + +### Bug Fixes + +* _actually_ fix [#1706](https://github.com/pietervdvn/MapComplete/issues/1706) ([6577007](https://github.com/USERNAME/REPOSITORY_NAME/commits6577007717910bf46086490da8e9d549b63f1891)) +* _actually_ run the *.spec.ts-tests... ([82a860c](https://github.com/USERNAME/REPOSITORY_NAME/commits82a860cbf5bad2ab1b4d9b806e9f18e4d5cbc054)) +* [#1093](https://github.com/pietervdvn/MapComplete/issues/1093) ([5a6ed7b](https://github.com/USERNAME/REPOSITORY_NAME/commits5a6ed7bf21aaaf677c05e572afacd53443eb2d59)) +* [#1685](https://github.com/pietervdvn/MapComplete/issues/1685), fix oopsie ([d96fe61](https://github.com/USERNAME/REPOSITORY_NAME/commitsd96fe614624771bed99c418bbc9bb4f09ce7bd3a)) +* a freeform key will mimick a mapping if appropriate (and avoid the 'addExtraTags') ([68ea4e3](https://github.com/USERNAME/REPOSITORY_NAME/commits68ea4e3d9f255e989cf158159b434ed6bfc6f55a)) +* actually allow to login via prominent login button ([4be49a0](https://github.com/USERNAME/REPOSITORY_NAME/commits4be49a0561531c729d9d46d5e99571056d2492df)) +* actually apply preferred background layer ([b69c2de](https://github.com/USERNAME/REPOSITORY_NAME/commitsb69c2de3f41e7737ceec919214f0748634d9dfd3)) +* actually attempt to login when login button is pressed ([f1de8a3](https://github.com/USERNAME/REPOSITORY_NAME/commitsf1de8a3d9dafad4860ebb380c113ff2f253d13db)) +* actually deploy on the production repo ([ca89956](https://github.com/USERNAME/REPOSITORY_NAME/commitsca899561d55626b9c2c14f90d60d01c8c1276823)) +* actually include _all_ features ([8f7b731](https://github.com/USERNAME/REPOSITORY_NAME/commits8f7b731d29ca7daec1063a6833716e86333b0ffd)) +* actually load geojson layers; formatting ([cbc4e6e](https://github.com/USERNAME/REPOSITORY_NAME/commitscbc4e6eb15a2a6d7f9693a24f35839886b4f3544)) +* actually open usersettings when license is clicked ([c10fecb](https://github.com/USERNAME/REPOSITORY_NAME/commitsc10fecb7e8293190b07a2fc3ff90b6f830a75103)) +* actually pass the initial coordinate in the locationInput element, fix [#1486](https://github.com/pietervdvn/MapComplete/issues/1486) ([68e07d7](https://github.com/USERNAME/REPOSITORY_NAME/commits68e07d7d7beca5b4ea26b9fc6ff964014d28af4b)) +* Actually show errors in custom themes now ([6a79dde](https://github.com/USERNAME/REPOSITORY_NAME/commits6a79dde743264c272e461614ae718044d90a7080)) +* actually show HD image for nearby streetview imager, add loading indicator ([8b6ee87](https://github.com/USERNAME/REPOSITORY_NAME/commits8b6ee877f08a584df7d3bc8706292b6eeb11f030)) +* actually show polygon_centroid ([5a957d5](https://github.com/USERNAME/REPOSITORY_NAME/commits5a957d56c73771a1fa2560dbd8755a7eebe36285)) +* actually show tags on changes when the user has enough changesets ([d702134](https://github.com/USERNAME/REPOSITORY_NAME/commitsd7021344e890bede888ea3412270420e033207f7)) +* actually upload new themes ([6446586](https://github.com/USERNAME/REPOSITORY_NAME/commits6446586ac581fa3994e58dba62a365afde7d5937)) +* add 'maxspeed=20' to living street ([fd9c48b](https://github.com/USERNAME/REPOSITORY_NAME/commitsfd9c48b5b56fe7a08e3532cad777246b82b3a073)) +* add 'onbeforeunload' if images are uploading, see [#1841](https://github.com/pietervdvn/MapComplete/issues/1841) ([ce7bc8f](https://github.com/USERNAME/REPOSITORY_NAME/commitsce7bc8fb6cc373e96179e57395818d6e6befd942)) +* add 'self' to connect-src ([3bca130](https://github.com/USERNAME/REPOSITORY_NAME/commits3bca1305b504ba08203a09916fe849365eca0458)) +* add all global layers to CSP ([93630bd](https://github.com/USERNAME/REPOSITORY_NAME/commits93630bd1db9e71f5e62619b2d02aaf18b42222f6)) +* add all needed urls again ([ce1855b](https://github.com/USERNAME/REPOSITORY_NAME/commitsce1855b2bd322044f9710a4dab38287298ad5fc6)) +* add all vector layers to CSP ([2736740](https://github.com/USERNAME/REPOSITORY_NAME/commits2736740cd0d777450f8da7eea76f1defa7993944)) +* add awaitAnimationFrame to fix non-working questions ([d744fd3](https://github.com/USERNAME/REPOSITORY_NAME/commitsd744fd3a42bedb64de7de1562b6f4ee31ba9d254)) +* Add button to go back to the map when showing that a point is deleted, fix [#1417](https://github.com/pietervdvn/MapComplete/issues/1417) ([55903d4](https://github.com/USERNAME/REPOSITORY_NAME/commits55903d45f933ebbfd7971a14296fe2dac1b6fa96)) +* add carto vector layers again ([5e2a989](https://github.com/USERNAME/REPOSITORY_NAME/commits5e2a98924c2a0efdb1f75a213efe7114df5e0cae)) +* add check for missing 'noopener' attributes; add missing noopener attributes ([6e8617c](https://github.com/USERNAME/REPOSITORY_NAME/commits6e8617c93fd0fde8f0b27c035625e68d143f9b58)) +* add check that no changeset is opened without actually having changes ([2843b01](https://github.com/USERNAME/REPOSITORY_NAME/commits2843b01586fd40a2e0d4dc92861b9d001d1684d3)) +* add correct attribution for maptiler bg layer ([c90b334](https://github.com/USERNAME/REPOSITORY_NAME/commitsc90b334678ac44346d82302599647236b3c0df09)) +* add default value for setStatus ([eede2d1](https://github.com/USERNAME/REPOSITORY_NAME/commitseede2d17dd411a3b27295a9efab8cb69df3b57c2)) +* add dutch translation ([a55b84d](https://github.com/USERNAME/REPOSITORY_NAME/commitsa55b84dba18564e0959bd709b0da0e5b228d3ca0)) +* add execute permissions to build script ([5567869](https://github.com/USERNAME/REPOSITORY_NAME/commits5567869bb4ede7a56c174b960aff734de06ea67f)) +* add extra refresh:layeroverview in order to fix the favourites theme icons ([c65ccdb](https://github.com/USERNAME/REPOSITORY_NAME/commitsc65ccdbc240ad5406189e48bd92c40569d19bc3c)) +* add glow effect to bench theme for selected object ([75b1a46](https://github.com/USERNAME/REPOSITORY_NAME/commits75b1a467e0307cee94a0af9e482a3ab5e8ac4ccd)) +* add glow effect when dropping an image in the file selector; fix [#1496](https://github.com/pietervdvn/MapComplete/issues/1496) ([426620a](https://github.com/USERNAME/REPOSITORY_NAME/commits426620a76c4a6ca86181dec73da90d076f73c9aa)) +* add language picker in settings page if logged out, fix [#1505](https://github.com/pietervdvn/MapComplete/issues/1505) ([a7ff3b8](https://github.com/USERNAME/REPOSITORY_NAME/commitsa7ff3b86faa90e70d3496f973c72b0265f993708)) +* add links and overpass link to cafe_pub ([41b6eea](https://github.com/USERNAME/REPOSITORY_NAME/commits41b6eea430cbb6f504deb7a3e4fb5cf493004d6f)) +* add maxzoom to osm.carto-layer, see [#1664](https://github.com/pietervdvn/MapComplete/issues/1664)$ ([5f918b6](https://github.com/USERNAME/REPOSITORY_NAME/commits5f918b607b9034c5a8ce6bcdd003caf8efe1466b)) +* add missing assets ([f2b8c0d](https://github.com/USERNAME/REPOSITORY_NAME/commitsf2b8c0db0f80bf503f2b4332d66cbede0736f82a)) +* add missing tag ([c5300a3](https://github.com/USERNAME/REPOSITORY_NAME/commitsc5300a3fd5b46e611a4604ad9c0483f823396dda)) +* add new items works again, fix [#1593](https://github.com/pietervdvn/MapComplete/issues/1593) ([c527427](https://github.com/USERNAME/REPOSITORY_NAME/commitsc527427f70990006b9c71ef472bbe45d2c9bff70)) +* add safety check to not overuse the OSM-api ([4602df3](https://github.com/USERNAME/REPOSITORY_NAME/commits4602df30469b57a57b9b8e1b8c6cc5c70ff901d7)) +* add script integrity, add check to validate that script integrity is always in place ([08bbbca](https://github.com/USERNAME/REPOSITORY_NAME/commits08bbbcabc402abcf328274bb2990d59b47580376)) +* add selection indicator to artwork ([ec99ab2](https://github.com/USERNAME/REPOSITORY_NAME/commitsec99ab24f806e8d43ae89ab8f33f570f43ce59fb)) +* add support for legacy iconSize to fix some custom themes, see [#1494](https://github.com/pietervdvn/MapComplete/issues/1494) ([200361b](https://github.com/USERNAME/REPOSITORY_NAME/commits200361bf8dcd17f47574539137b2c42cb745143a)) +* add text on cancel button ([1208e09](https://github.com/USERNAME/REPOSITORY_NAME/commits1208e095cf3fe87a2c9948a0c6666705c14c5e52)) +* add the minimap again ([e83b8cb](https://github.com/USERNAME/REPOSITORY_NAME/commitse83b8cb19183b53c4d6b24b4f621900fd14280fa)) +* addnewpoint-dialog works again ([8ed0a32](https://github.com/USERNAME/REPOSITORY_NAME/commits8ed0a32d153d4a434602c86a85eaf02881f6d480)) +* alias 'urls' as 'website', fix [#246](https://github.com/pietervdvn/MapComplete/issues/246) ([87e79b8](https://github.com/USERNAME/REPOSITORY_NAME/commits87e79b8e8c981f5b0daa105097c514273ce6be3e)) +* allow selection of the first radiobutton ([8fafd0a](https://github.com/USERNAME/REPOSITORY_NAME/commits8fafd0a8a5701323c6e25210ac6310dc418e31eb)) +* allow to delete freeform values in more cases ([9b78838](https://github.com/USERNAME/REPOSITORY_NAME/commits9b78838745f41f3e42f158c9959c695e4160e7e8)) +* allow to link multiple mapillary-images ([286fe72](https://github.com/USERNAME/REPOSITORY_NAME/commits286fe729359db1ec36328768a6a7662a9e951ce8)) +* allow to move (non-snapped) points again after fixing [#1809](https://github.com/pietervdvn/MapComplete/issues/1809) ([77f07f5](https://github.com/USERNAME/REPOSITORY_NAME/commits77f07f55ecf9140c1c556fb4147c7d5cb74b0645)) +* alltags shows objects as JSON instead as [object Object] ([1df28ab](https://github.com/USERNAME/REPOSITORY_NAME/commits1df28ab50199310928974a07809b65e854df1525)) +* also copy png assets ([8f32916](https://github.com/USERNAME/REPOSITORY_NAME/commits8f32916454b63939d63c7496f7ba7b30f6f038cc)) +* also show location info on shake if GPS is disabled ([4c5d24a](https://github.com/USERNAME/REPOSITORY_NAME/commits4c5d24a0a7dacc393c0a4328c99b5e5e08058b0b)) +* always allow www.openstreetmap.org ([6b4be12](https://github.com/USERNAME/REPOSITORY_NAME/commits6b4be1200c60664bbbee87f9f8f8e3d821a277c3)) +* always link to the wiki when tags are shown ([8dfef62](https://github.com/USERNAME/REPOSITORY_NAME/commits8dfef624323b8b93098150115d93f4089b846fb2)) +* attempt to fix build ([0e8c3b1](https://github.com/USERNAME/REPOSITORY_NAME/commits0e8c3b10626f6f37e54b8ef96c11fb5dc113fe7a)) +* attempt to fix build ([0e760b9](https://github.com/USERNAME/REPOSITORY_NAME/commits0e760b908c4955300b9d329f6d7eb9fb475713d3)) +* attributes to answered questions didn't automatically show, questions which became available are now shown if they become avaible because of a tag change. Fix [#1587](https://github.com/pietervdvn/MapComplete/issues/1587) ([7de0af1](https://github.com/USERNAME/REPOSITORY_NAME/commits7de0af15f100815288fea4fdb13f3e845bc79088)) +* await 'country' to be loaded ([3c5bde1](https://github.com/USERNAME/REPOSITORY_NAME/commits3c5bde1ae3ff3ed1aa72bb1463a4690e16f941e6)) +* background layer csp fixe ([713e53c](https://github.com/USERNAME/REPOSITORY_NAME/commits713e53c41a840ae1e66cb9a36e06e0e9361285bd)) +* better error handling and handling of changes ([7813653](https://github.com/USERNAME/REPOSITORY_NAME/commits78136532651ebcea6a2d2d94e42b2775bb9e92e3)) +* better select available levels ([7b73578](https://github.com/USERNAME/REPOSITORY_NAME/commits7b73578f88b09ee65f923c363a884d91f20d2fae)) +* broken titleIcons (fix [#1344](https://github.com/pietervdvn/MapComplete/issues/1344)) ([bdcf8a2](https://github.com/USERNAME/REPOSITORY_NAME/commitsbdcf8a26014b01e8128ece897e4b98286722d0e4)) +* browser specific bug which caused the file selector to open twice on chromium; fix [#1771](https://github.com/pietervdvn/MapComplete/issues/1771) ([9893e43](https://github.com/USERNAME/REPOSITORY_NAME/commits9893e433f3bb43fbea80beb2a73ea4e271a01491)) +* bug submitted comments on notes twice ([5be4b9d](https://github.com/USERNAME/REPOSITORY_NAME/commits5be4b9d1fb1e5a5e2cb03e314d4d65370aa44957)) +* build ([cef7e01](https://github.com/USERNAME/REPOSITORY_NAME/commitscef7e01a2e7855d214d4a5ca75fc032a2b1d123a)) +* build ([8556196](https://github.com/USERNAME/REPOSITORY_NAME/commits8556196acec5652ab39baaaa14ac911cb6dc5a15)) +* build ([dbca260](https://github.com/USERNAME/REPOSITORY_NAME/commitsdbca2601324cd79d5d2d7d0398d002565d8825de)) +* build ([2a21040](https://github.com/USERNAME/REPOSITORY_NAME/commits2a2104055185e1f9fa8f1cad620606b690527a0c)) +* build ([29ee113](https://github.com/USERNAME/REPOSITORY_NAME/commits29ee113e30c11edc670331f1fb67f41e08f9ab50)) +* build, some metatagging errors ([0d529e7](https://github.com/USERNAME/REPOSITORY_NAME/commits0d529e7cca4f044ab4c5fd4491e3704678598862)) +* build; subtle bug ([5644c7a](https://github.com/USERNAME/REPOSITORY_NAME/commits5644c7a8b87a0fb17e846a4c370ac432cc03ca15)) +* bypass missing favourites in custom theme loader ([6f59e46](https://github.com/USERNAME/REPOSITORY_NAME/commits6f59e46befd0ba1df57066400f3d2bbf00166f5b)) +* charging station theme uses anchor too ([39024eb](https://github.com/USERNAME/REPOSITORY_NAME/commits39024eb5f3f68b5dba6b10d8dcf07fe2c5c67fbc)) +* charging_station.protojson ([f042ca4](https://github.com/USERNAME/REPOSITORY_NAME/commitsf042ca40701e269a02254289a35acd43aaed05b0)) +* chromium browsers don't handle spaces in `tel:`-links well ([4168ef0](https://github.com/USERNAME/REPOSITORY_NAME/commits4168ef01e333784f738fafa15d1eb7d7c4c527c7)) +* cleanup merge ([e160510](https://github.com/USERNAME/REPOSITORY_NAME/commitse16051025a0f7c827c90db7251596be0c5e902c9)) +* cleanup of wikipedia panel, fix [#1570](https://github.com/pietervdvn/MapComplete/issues/1570) ([203f24f](https://github.com/USERNAME/REPOSITORY_NAME/commits203f24fca01047edd2f01ed541fc93841ac1f17d)) +* clicking the magnifying icon actually works now ([5478711](https://github.com/USERNAME/REPOSITORY_NAME/commits5478711bed8806d4cd5ae0ffe69ab64f3293fa69)) +* compilation warning ([5851531](https://github.com/USERNAME/REPOSITORY_NAME/commits5851531306b2cb2cebfb459e5c5bef284b8c3e94)) +* correct 'sync repo' step ([ecd84c2](https://github.com/USERNAME/REPOSITORY_NAME/commitsecd84c2cf6174bddad5d1759caeeeea761e1b9f1)) +* correct CSP header for iOs/safari ([54868de](https://github.com/USERNAME/REPOSITORY_NAME/commits54868debec137c57b8dd45024332854150cc8f0f)) +* correct default access assumption ([ea06152](https://github.com/USERNAME/REPOSITORY_NAME/commitsea061524737b343bec120356b8822d185cdefd85)) +* correct default sed param for BSD sed flavor ([46fe1c5](https://github.com/USERNAME/REPOSITORY_NAME/commits46fe1c5795a110c541ed97548c426b205705ff2d)) +* correct faulty name ([0952200](https://github.com/USERNAME/REPOSITORY_NAME/commits09522004db01453dcdb9a26670c3d7ef6f4e1eee)) +* correct filters ([4d2d541](https://github.com/USERNAME/REPOSITORY_NAME/commits4d2d54175ca5b4af5a258bf7d1b89debab9f8f8e)) +* correct maybe missing option in etymology layer ([a8ecab4](https://github.com/USERNAME/REPOSITORY_NAME/commitsa8ecab4d794c219301d636594933520c87fd8d75)) +* correct merge conflict ([e6d8401](https://github.com/USERNAME/REPOSITORY_NAME/commitse6d84019a579daed01a34cf67825689511fd9c0a)) +* correct minzoom on all themes ([bde5878](https://github.com/USERNAME/REPOSITORY_NAME/commitsbde5878fedae0eac20db8bb4c6eca81f904e20fd)) +* correct sed command to be OSX compatible ([e21eb65](https://github.com/USERNAME/REPOSITORY_NAME/commitse21eb6596ee85471b8cbbd6776fa65647786bfda)) +* correct typings ([2f17e6e](https://github.com/USERNAME/REPOSITORY_NAME/commits2f17e6e53259193c06d1764188a1a9602fbd97bb)) +* Correctly calculate available levels, reselect last_click automatically ([4c962ea](https://github.com/USERNAME/REPOSITORY_NAME/commits4c962eab21af8146d9d57f7d12cd08cdd4a642d6)) +* correctly escape markdown ([4d01d81](https://github.com/USERNAME/REPOSITORY_NAME/commits4d01d81e1e87ca5a18b6d0fd7b9f232c77cda936)) +* correctly flatten special cases ([7ba0e73](https://github.com/USERNAME/REPOSITORY_NAME/commits7ba0e736a87492bc64e5f73811a6c790851c59d9)) +* correctly flatten special cases ([593d7bd](https://github.com/USERNAME/REPOSITORY_NAME/commits593d7bd07ac520875c5acfcab5df364fb04dd77c)) +* correctly interpret 'hideInAnswer'-conditions, recalculate them dynamically ([37dc6a7](https://github.com/USERNAME/REPOSITORY_NAME/commits37dc6a71616fc9510d1bf6e814060390dd329629)) +* correctly optimize 'key=A&key!=B' into 'key=A' ([d8a5f3c](https://github.com/USERNAME/REPOSITORY_NAME/commitsd8a5f3c2be985c4fcbedfda09564ae5d02e6e5b4)) +* correctly replace fields in filterview ([ae491f4](https://github.com/USERNAME/REPOSITORY_NAME/commitsae491f491652798344273d18fb42f1d27108ba4b)) +* crash in new note flow, spotted by [@thibaultmolleman](https://github.com/thibaultmolleman) ([3e49929](https://github.com/USERNAME/REPOSITORY_NAME/commits3e49929f253f8ae1f945d9df4eb3398b39030a43)) +* css-generate script; loading of stylesheet in style_test, add small buttons to style_test ([6bed170](https://github.com/USERNAME/REPOSITORY_NAME/commits6bed170910cdf6fd2ca68eb9d1b65779287afa5d)) +* CSV download ([c1bce7a](https://github.com/USERNAME/REPOSITORY_NAME/commitsc1bce7abc76984ddb84f112d1b7367e5822d5763)) +* decent PDF-export ([de20b00](https://github.com/USERNAME/REPOSITORY_NAME/commitsde20b00b8f8af6796cbab060262d85a5ab171c5d)) +* direction input does not scroll anymore when dragged, fix [#1468](https://github.com/pietervdvn/MapComplete/issues/1468) ([102892e](https://github.com/USERNAME/REPOSITORY_NAME/commits102892ec774501b2811179b333217fb81efe33bb)) +* disable 'delete'-button if no reason is selected, fix [#1631](https://github.com/pietervdvn/MapComplete/issues/1631) ([6b6b1e3](https://github.com/USERNAME/REPOSITORY_NAME/commits6b6b1e32862c7021cff99c2b340a50ae5822cf60)) +* disable check ([b2e7b7d](https://github.com/USERNAME/REPOSITORY_NAME/commitsb2e7b7d221a6dbc12f73505522a5d29bd6d36244)) +* disable rotation on mobile if the user enabled this ([93a30fd](https://github.com/USERNAME/REPOSITORY_NAME/commits93a30fdba5edfd91c19050013aa4f58123ce127c)) +* don't attempt to show an osm wiki page as image, fix [#1776](https://github.com/pietervdvn/MapComplete/issues/1776) ([7dc43f9](https://github.com/USERNAME/REPOSITORY_NAME/commits7dc43f933e84b73f99935ceba4638fe85e376c94)) +* don't count layers if they are not shown by default, fix [#1840](https://github.com/pietervdvn/MapComplete/issues/1840) ([d848171](https://github.com/USERNAME/REPOSITORY_NAME/commitsd848171c3d795e31a73b10d687b475de30e8f39c)) +* don't crash if 't' is undefined ([b1c4097](https://github.com/USERNAME/REPOSITORY_NAME/commitsb1c4097cb480785d2e644a3da072055d1778a17c)) +* don't crash if no features nearby ([b6a4cc1](https://github.com/USERNAME/REPOSITORY_NAME/commitsb6a4cc11bdf25c4cf09e55ad802eb0d460311c9d)) +* don't crash if no features nearby ([c2001f1](https://github.com/USERNAME/REPOSITORY_NAME/commitsc2001f17a55937bbc09e52d730828c9234bf30ef)) +* don't measure compass if alpha is null, fix [#1787](https://github.com/pietervdvn/MapComplete/issues/1787) ([3461ed6](https://github.com/USERNAME/REPOSITORY_NAME/commits3461ed60990fc91e399ef3c4cd082029db2059dd)) +* don't move the map after we jumped to the current GPS location ([f31b025](https://github.com/USERNAME/REPOSITORY_NAME/commitsf31b025b8dba7218576c58ef6bc2b3101052beb7)) +* don't set invalid coordinates ([fbc3bce](https://github.com/USERNAME/REPOSITORY_NAME/commitsfbc3bce5109ffa95491b792d4c7870167f9915ba)) +* don't show both counts and summary at the same time ([d6dbeca](https://github.com/USERNAME/REPOSITORY_NAME/commitsd6dbecace26b9dc52da61d19b767469190a0e8be)) +* don't show duplicate entry of default baselayer if already added ([7ef1628](https://github.com/USERNAME/REPOSITORY_NAME/commits7ef1628d87f32240746251b3e7b4bfdfdbebf6cb)) +* Don't show item if there is no label ([7edc730](https://github.com/USERNAME/REPOSITORY_NAME/commits7edc7302bbb6f0884e6652a429e00705f64413bb)) +* don't show preset_type special vis if no presets are given ([cf3b414](https://github.com/USERNAME/REPOSITORY_NAME/commitscf3b4145ff68871a2040b15ccb6d030b59c448ad)) +* don't show radiobuttons if only one option is available ([8e68ca0](https://github.com/USERNAME/REPOSITORY_NAME/commits8e68ca03ab33cf91df83f1e1d2750723cfb0370b)) +* don't store location 0,0 to prevent movement or cursor in addNew-dialog ([c19317b](https://github.com/USERNAME/REPOSITORY_NAME/commitsc19317bd04a10db89ecbb95eda9b3156f50c395b)) +* don't throw an error if there is no parent element which can be scrolled ([3166918](https://github.com/USERNAME/REPOSITORY_NAME/commits3166918551aab57bdf0777e7bd378003779f8c10)) +* drag & drop for file selector ([5be24db](https://github.com/USERNAME/REPOSITORY_NAME/commits5be24dbef1647cd2c6c869d86ea5b37f0e072106)) +* dynamic filtering with non-string values ([58b94c3](https://github.com/USERNAME/REPOSITORY_NAME/commits58b94c38e50c5a9c66ac248fe8117b19bac7d05a)) +* effectively show `contact:website` in title icons ([0027299](https://github.com/USERNAME/REPOSITORY_NAME/commits0027299a3e373e9cd19deec0b93dd7a7599ff78a)) +* emit warning for invalid suggestions ([56ba426](https://github.com/USERNAME/REPOSITORY_NAME/commits56ba426ab5bb2f10ac38776728a67ff4558e0cfa)) +* enable editing questions (and settings) again (oopsie) ([d079ba9](https://github.com/USERNAME/REPOSITORY_NAME/commitsd079ba91aa29395262b8084f811eec26e51750b9)) +* enable external data sources from the ELI ([5ea0804](https://github.com/USERNAME/REPOSITORY_NAME/commits5ea08040d7ec40abaabf849ef20771c1a5112637)) +* enable login on index screen ([aface6a](https://github.com/USERNAME/REPOSITORY_NAME/commitsaface6aea7f1774b62c9218e64cd65bf77b97c0b)) +* enable rainbow question again, fix [#1453](https://github.com/pietervdvn/MapComplete/issues/1453) ([af447a9](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf447a948f3d425565afe5620a97123111d6bf91)) +* enable settings again, fix [#1815](https://github.com/pietervdvn/MapComplete/issues/1815) ([a118c29](https://github.com/USERNAME/REPOSITORY_NAME/commitsa118c295d641852584bbd16f07c419a3fa896591)) +* error server properly names files, add status endpoint ([37c1d46](https://github.com/USERNAME/REPOSITORY_NAME/commits37c1d46dd43a9d75326a4f9187d4bb3846b4a211)) +* escape special characters for wikipedia search, might improve [#1500](https://github.com/pietervdvn/MapComplete/issues/1500) ([ec94253](https://github.com/USERNAME/REPOSITORY_NAME/commitsec94253d6c5ef38ee5d5d1c7bc25fff53cd6be82)) +* etymology theme now supports multi-apply again, uses lower zoom level for multiselect ([90869a1](https://github.com/USERNAME/REPOSITORY_NAME/commits90869a1c985d992063656d89fe0d95b73184304a)) +* Expose all templates ([09a3e7f](https://github.com/USERNAME/REPOSITORY_NAME/commits09a3e7fba1464835bfad061110f4352d9a47e173)) +* facade gardens: restore forgottne rendering ([f8fa184](https://github.com/USERNAME/REPOSITORY_NAME/commitsf8fa1841e4df8627a18ee57c7c2cb943176557be)) +* fill in freeform value if already set ([e0527e9](https://github.com/USERNAME/REPOSITORY_NAME/commitse0527e964702427014220e2978680e3e6a7cc774)) +* fix [#1471](https://github.com/pietervdvn/MapComplete/issues/1471): add option to bench for 'does probably not have an artwork' ([91892d5](https://github.com/USERNAME/REPOSITORY_NAME/commits91892d50c5a5c5071838c8a38a24c60f1f7ed717)) +* fix [#1477](https://github.com/pietervdvn/MapComplete/issues/1477). Setting the background caused a map.resize(), which in turn caused the coordinates to be set to 0,0, which caused the location-correction to kick in, moving the location input towards null island ([d95d96f](https://github.com/USERNAME/REPOSITORY_NAME/commitsd95d96fb1ba1a8886f05b118c0650a4af1ae5dd7)) +* fix [#1503](https://github.com/pietervdvn/MapComplete/issues/1503), fix [#1571](https://github.com/pietervdvn/MapComplete/issues/1571) ([382f965](https://github.com/USERNAME/REPOSITORY_NAME/commits382f96596ed474bef086d64cabb748257416f2de)) +* fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506), language-URL-parameter works again and is properly documented ([2942a2d](https://github.com/USERNAME/REPOSITORY_NAME/commits2942a2dae77d7c79b3af47b0c518342fa6c87454)) +* fix [#1528](https://github.com/pietervdvn/MapComplete/issues/1528): from weblate to theme files did not properly sync ([3c08c12](https://github.com/USERNAME/REPOSITORY_NAME/commits3c08c1297423d74348aa83e5932a7fbd94c260e5)) +* fix [#1529](https://github.com/pietervdvn/MapComplete/issues/1529) ([05bf79f](https://github.com/USERNAME/REPOSITORY_NAME/commits05bf79f7616af06aefea8e9f095e2b467d84a5d7)) +* fix [#1532](https://github.com/pietervdvn/MapComplete/issues/1532) ([5d00f3c](https://github.com/USERNAME/REPOSITORY_NAME/commits5d00f3cc6a75a22732ec7ffa63d9335d9d75853c)) +* fix [#1580](https://github.com/pietervdvn/MapComplete/issues/1580) ([56934b7](https://github.com/USERNAME/REPOSITORY_NAME/commits56934b79f6911da6d182c4e3f28bbd6749932c3e)) +* fix [#1596](https://github.com/pietervdvn/MapComplete/issues/1596) ([0727a22](https://github.com/USERNAME/REPOSITORY_NAME/commits0727a228fd8bf9b7dd7ecc5b42d9225eab00bae7)) +* fix [#1627](https://github.com/pietervdvn/MapComplete/issues/1627) ([e37f908](https://github.com/USERNAME/REPOSITORY_NAME/commitse37f90855fb3b1fd59d19506aca0e2ccc6a12fb2)) +* fix [#1675](https://github.com/pietervdvn/MapComplete/issues/1675) ([65250d7](https://github.com/USERNAME/REPOSITORY_NAME/commits65250d77beec81f9d336302c4b185dcd14518917)) +* fix [#1684](https://github.com/pietervdvn/MapComplete/issues/1684); add 'openid' to auth-tokens (will be needed in the future for geovisio integration) ([0a82dd0](https://github.com/USERNAME/REPOSITORY_NAME/commits0a82dd0edfd67c18b2c59c903d506cbb0d46ffc1)) +* fix [#1713](https://github.com/pietervdvn/MapComplete/issues/1713) ([2720f5d](https://github.com/USERNAME/REPOSITORY_NAME/commits2720f5dd19deb2ebdcf1eae2229e2fbdd0adc4dd)) +* fix [#1779](https://github.com/pietervdvn/MapComplete/issues/1779), add check to prevent similar errors ([417dc16](https://github.com/USERNAME/REPOSITORY_NAME/commits417dc1633e05b1b4776449eb245739232dea975e)) +* fix [#1813](https://github.com/pietervdvn/MapComplete/issues/1813). For some reason, importing a .js-file suddenly fails, so ported it to typescript ([cab414e](https://github.com/USERNAME/REPOSITORY_NAME/commitscab414e80895933b4ae874be5fd77b90b8c13f3f)) +* fix [#1817](https://github.com/pietervdvn/MapComplete/issues/1817), some more improvements to the loading screen ([6394ee8](https://github.com/USERNAME/REPOSITORY_NAME/commits6394ee8e6800d2cd23d30383ffea9629964c4dc9)) +* fix [#1844](https://github.com/pietervdvn/MapComplete/issues/1844) ([e11442e](https://github.com/USERNAME/REPOSITORY_NAME/commitse11442e1009465e8bc3e8823e8d66fe44fb5f9c2)) +* fix [#1883](https://github.com/pietervdvn/MapComplete/issues/1883); display underground railway lines in a subtler rendering ([b3299cd](https://github.com/USERNAME/REPOSITORY_NAME/commitsb3299cdd733152820e30c18463e551059654d3fb)) +* fix [#1906](https://github.com/pietervdvn/MapComplete/issues/1906) ([3ab1d15](https://github.com/USERNAME/REPOSITORY_NAME/commits3ab1d1591fde7e31efe4e6186af78b71987c1498)) +* fix [#1917](https://github.com/pietervdvn/MapComplete/issues/1917) ([8c65448](https://github.com/USERNAME/REPOSITORY_NAME/commits8c6544883469d9634fca285b600fa05706dcdbfa)) +* fix [#1917](https://github.com/pietervdvn/MapComplete/issues/1917) ([903a11d](https://github.com/USERNAME/REPOSITORY_NAME/commits903a11d4e7c832ad46d3afd4ed9786df6e6d1331)) +* fix anonymous reviews; fix [#1868](https://github.com/pietervdvn/MapComplete/issues/1868) ([073cd69](https://github.com/USERNAME/REPOSITORY_NAME/commits073cd692e456ae63999bfc2770d0c204dc8a1793)) +* fix back-button on the 404-page, remove some obsolete classes ([006f695](https://github.com/USERNAME/REPOSITORY_NAME/commits006f69561a08a1c3a3577ada83e9b3954d8332f2)) +* fix bug icon ([1fea2b5](https://github.com/USERNAME/REPOSITORY_NAME/commits1fea2b56be82e8a9a5db2683ee55a5a81ec7e7f2)) +* fix bug with incorrect translation context for themes ([368f9ad](https://github.com/USERNAME/REPOSITORY_NAME/commits368f9ad0c83eaeb40d4f7ae293d73d11714271e0)) +* fix build ([0d705b9](https://github.com/USERNAME/REPOSITORY_NAME/commits0d705b97277a7c6cba5a57d071aeaace1a24fc5a)) +* fix crash in studio ([b18d575](https://github.com/USERNAME/REPOSITORY_NAME/commitsb18d575ade434ec51a33684ff365ede7b93cfa79)) +* fix dissappearing items to apply ([a935c03](https://github.com/USERNAME/REPOSITORY_NAME/commitsa935c03631614390a1ab43248f51e6ba0eb26956)) +* fix domain name ([301f00f](https://github.com/USERNAME/REPOSITORY_NAME/commits301f00f6aef727981e2faa73e2093710ac25c337)) +* fix file drag and drop, allow entire featurePopup for file drop ([859faea](https://github.com/USERNAME/REPOSITORY_NAME/commits859faead7fd8c6fa5ae73b70e41a753f34dfd5ff)) +* fix icons in mappings which use a builtin svg ([ab28fbe](https://github.com/USERNAME/REPOSITORY_NAME/commitsab28fbe35c97de56e765bc3b35277489aebb1872)) +* fix incorrectly linked translation in privacy policy ([e2aaa7d](https://github.com/USERNAME/REPOSITORY_NAME/commitse2aaa7d435ee91d20a62e8380300ec27418e93c1)) +* fix link image action ([ce55b4c](https://github.com/USERNAME/REPOSITORY_NAME/commitsce55b4c7d8659044b93a03afaaa37d272a6b48ab)) +* fix maps ([e48571a](https://github.com/USERNAME/REPOSITORY_NAME/commitse48571a80a03418d5c0c61304dbb166a67740ddc)) +* fix move dialog ([084cd86](https://github.com/USERNAME/REPOSITORY_NAME/commits084cd86b71bbc26e3b7542a5f16ecc1715275a50)) +* fix multi-visualisation ([872e36d](https://github.com/USERNAME/REPOSITORY_NAME/commits872e36dffa6810f599e06778010f8b00056b976c)) +* fix nearby drinking water fountain detection ([13ebcff](https://github.com/USERNAME/REPOSITORY_NAME/commits13ebcffab102fdcda6263c22cdd12bc22a6f86f7)) +* fix nearby drinking water fountain detection ([a5276eb](https://github.com/USERNAME/REPOSITORY_NAME/commitsa5276eb4e67ed939e5b34ad7ffca61d6e41d679d)) +* fix query:licenses ([e0ee3ed](https://github.com/USERNAME/REPOSITORY_NAME/commitse0ee3edf71388614a1bc07dc43aaf18def1a630e)) +* fix rainbow crossings theme ([5b29177](https://github.com/USERNAME/REPOSITORY_NAME/commits5b291777be5a1aa4826ba894af76dbf4c09b9a7c)) +* fix reverse tabnabbing in most cases, add rel=noopener to most links to untrusted content ([d9b8257](https://github.com/USERNAME/REPOSITORY_NAME/commitsd9b8257e47f7c2e2ce06e4a0fcad8830764dae8e)) +* fix scrolling for 'addNewPoint' ([637cebe](https://github.com/USERNAME/REPOSITORY_NAME/commits637cebefc7685d64ae5286c2a5f63afb3193a2db)) +* fix scrolling for 'addNewPoint' ([f697d29](https://github.com/USERNAME/REPOSITORY_NAME/commitsf697d292a3ab6bf3114d5f7055c908203efbc8e0)) +* fix settings menu ([2b728fd](https://github.com/USERNAME/REPOSITORY_NAME/commits2b728fdf8bd6effce1682119f7f0d67a13d1c97d)) +* fix styling of translate button in titles ([0a8164c](https://github.com/USERNAME/REPOSITORY_NAME/commits0a8164c378ca4aaa1e34dc3bbd4e2741e5bc6318)) +* fix tests; use OAuth client id from dedicated MapComplete account ([fc9dd46](https://github.com/USERNAME/REPOSITORY_NAME/commitsfc9dd462399a3b7ed8959c38c4a97f24895f9ca8)) +* fix translate icon, fix [#1832](https://github.com/pietervdvn/MapComplete/issues/1832) ([064c601](https://github.com/USERNAME/REPOSITORY_NAME/commits064c60163c19e55d098e1b1061cf3b8df3dcf782)) +* fix UK-Addresses themes again ([370b200](https://github.com/USERNAME/REPOSITORY_NAME/commits370b200bb33f26db448e5d3feda2107f2224d232)) +* fix updating of styles ([650c1a6](https://github.com/USERNAME/REPOSITORY_NAME/commits650c1a675c783179482338f449ca1202246916a0)) +* fix validation of question input; remove some obsolete logging; stabilize output of generate:translations wrt newlines ([1f39ba9](https://github.com/USERNAME/REPOSITORY_NAME/commits1f39ba9ab50f63e04be89f676aa82c04d5bb2f94)) +* fixes to etymology: load wikidata on mobile (which uses m.wikidata.org, tripping the CSP); fix 'upload image of the streetsign' parameters ([480956d](https://github.com/USERNAME/REPOSITORY_NAME/commits480956d45dc767c77848ba32b176af373e73060a)) +* force downloading (without cache) before uploading ([b85b2ac](https://github.com/USERNAME/REPOSITORY_NAME/commitsb85b2ace0b373aeae1b9cef8e748ddea7cd3ca5c)) +* force redrawing the questions in a questionbox to avoid rendering artefacts and unselectable items ([f7e2dc7](https://github.com/USERNAME/REPOSITORY_NAME/commitsf7e2dc7457f366d9cf4722beccfe6b16467ab435)) +* generate layeroverview ([ce654cb](https://github.com/USERNAME/REPOSITORY_NAME/commitsce654cbcf9d7164121ee539836c3f7775d93365d)) +* generate layeroverview ([e71a1c7](https://github.com/USERNAME/REPOSITORY_NAME/commitse71a1c7a3d011b921c6ff08dcc54f93dd84971dc)) +* generateCSP ([a612d4e](https://github.com/USERNAME/REPOSITORY_NAME/commitsa612d4e1c2f6469c7b2d1fc66c8fc416ccdcac1a)) +* generating layeroverview; performance: do not try to download ratings if no ratings element is present ([fc62d41](https://github.com/USERNAME/REPOSITORY_NAME/commitsfc62d41e1b832278bb0c846ffcaa971273419730)) +* giving a review is possible again ([0879ff9](https://github.com/USERNAME/REPOSITORY_NAME/commits0879ff97ed4b0b5de572dbf50cc45433b60423f2)) +* giving a review is possible again ([a75fc0d](https://github.com/USERNAME/REPOSITORY_NAME/commitsa75fc0d21550495ea2e579922af9b27b2b2a6e22)) +* gps-icon should turn into an arrow again ([ef93ad1](https://github.com/USERNAME/REPOSITORY_NAME/commitsef93ad126f5c6b973fb2f66c368522ebdee07543)) +* handle NBSP in svg ([4190bf7](https://github.com/USERNAME/REPOSITORY_NAME/commits4190bf79339330601b4d6d426c45cfc6e431ef61)) +* hash would not clear because the update method unregistered itself ([8dd7f34](https://github.com/USERNAME/REPOSITORY_NAME/commits8dd7f34ad733080e9e5e648a91942528d96857ed)) +* hidden theme link not working ([d5e128b](https://github.com/USERNAME/REPOSITORY_NAME/commitsd5e128b1ed71fb7be7402bbe4ed86edcd6e5a6b0)) +* hide 'addnewpoint'-icon when closing the dialog ([499ad85](https://github.com/USERNAME/REPOSITORY_NAME/commits499ad85f1efd0aefd2cf757198eaef5af037c7ee)) +* hide some elements of the UI if they are disabled by a featureSwitch ([17503d5](https://github.com/USERNAME/REPOSITORY_NAME/commits17503d5bfb63c5c03968c96f15c2c5a674a3ede3)) +* hide tag_apply_button when applied ([622df2d](https://github.com/USERNAME/REPOSITORY_NAME/commits622df2df19ce4fa7049447995194d0f28b91d59f)) +* icons for rental in cyclofix theme ([02064a2](https://github.com/USERNAME/REPOSITORY_NAME/commits02064a2d8078b07aeb9e282700018c86638c4683)) +* ifnot-value would show up together with the 'if'-value ([15f1a93](https://github.com/USERNAME/REPOSITORY_NAME/commits15f1a9362c624d3fec9680efa3e38edf912cbaf1)) +* import ([98ca6aa](https://github.com/USERNAME/REPOSITORY_NAME/commits98ca6aa8aaac923b57d12f52b41f5ee13412b0a2)) +* improve background layer switching code, might improve [#1481](https://github.com/pietervdvn/MapComplete/issues/1481) ([33fa11f](https://github.com/USERNAME/REPOSITORY_NAME/commits33fa11fc1728f017644977be2181c25441a76e18)) +* improve deployscript for hetzner ([dcd02e9](https://github.com/USERNAME/REPOSITORY_NAME/commitsdcd02e9ad772346bc3f69ebd9563af80ea30810e)) +* improve error message ([7f6c1f0](https://github.com/USERNAME/REPOSITORY_NAME/commits7f6c1f06e23cb249d2eadda9be08b1cafc680d30)) +* improve first-sentence ([7aee442](https://github.com/USERNAME/REPOSITORY_NAME/commits7aee442ae49a7a68821917de9580ce9e62105edf)) +* improve functionality of GRB-theme (WIP) ([b86e291](https://github.com/USERNAME/REPOSITORY_NAME/commitsb86e2910baba5fe37cf5c0f53a64966c85d159ce)) +* improve optimization; add tests ([595503c](https://github.com/USERNAME/REPOSITORY_NAME/commits595503cfc35c8db3cb4ee4b28f82b7c91ee75dff)) +* improve parsing of possible mapillary values ([3d54a83](https://github.com/USERNAME/REPOSITORY_NAME/commits3d54a8392be94a369bf388dad0f83f60fb5a5474)) +* improve PDF-output functionality ([215286a](https://github.com/USERNAME/REPOSITORY_NAME/commits215286a5af46c58a197bf85b9561c26eff5bd8fe)) +* include 'source' and tile URLs from vector tile sources into CSP, see [#1652](https://github.com/pietervdvn/MapComplete/issues/1652) ([09504e1](https://github.com/USERNAME/REPOSITORY_NAME/commits09504e18ecb4b85ceb6562fcdb0e21034e496ad8)) +* include japanese dot as sentence separator ([d2c6689](https://github.com/USERNAME/REPOSITORY_NAME/commitsd2c668922b7ac5dc682461c6789fbbdb37fad8c3)) +* include lod-proxy in CSp ([087c099](https://github.com/USERNAME/REPOSITORY_NAME/commits087c099e2e633237b00748ee5d3dbba454999881)) +* incorrect path in error message ([5da8952](https://github.com/USERNAME/REPOSITORY_NAME/commits5da895276c5d5447bea7094d81d371e99458ff7e)) +* **index:** search got confused as it didn't have an id for the list items ([6f42884](https://github.com/USERNAME/REPOSITORY_NAME/commits6f4288476eebf7b0e8af6177bff066d06f3823dc)) +* init indexedFeatureStore with a default map as to fix crash upon loading if a pending change is present ([377c411](https://github.com/USERNAME/REPOSITORY_NAME/commits377c411143c577752014842bbc205093c9ebfdc4)) +* initialize user settings with a strict value to be able to override it ([57e0093](https://github.com/USERNAME/REPOSITORY_NAME/commits57e0093e478f541c46145a72dbfb9fc70d467633)) +* interpret missing level tag as 'level=0' ([5d8b422](https://github.com/USERNAME/REPOSITORY_NAME/commits5d8b42216236d49b6bcf328e8a009884f697e312)) +* keep map mouse-interactive when panning with arrow keys, some CSS-tweaks ([512bb4c](https://github.com/USERNAME/REPOSITORY_NAME/commits512bb4c00e1fed39927c8bd40aaef378db64d648)) +* layers now compile again ([1c99173](https://github.com/USERNAME/REPOSITORY_NAME/commits1c99173f32112b332ce38f926623fa2c27f89ab8)) +* lines with opacity have colour again ([f0d9365](https://github.com/USERNAME/REPOSITORY_NAME/commitsf0d9365e06eb533f0bf0a47c21ce58834fc5cabd)) +* load element if set in the hash ([9090dda](https://github.com/USERNAME/REPOSITORY_NAME/commits9090dda6889a4e4eda33b9d634fb22da3aedadd8)) +* load translations for PDF-export internally ([d103911](https://github.com/USERNAME/REPOSITORY_NAME/commitsd103911d143803c9e0373a673110009a785f94da)) +* loading oneway arrows on multiple layers; fix nullpointer ([1678427](https://github.com/USERNAME/REPOSITORY_NAME/commits16784270ce45560520d4e9b19d81bd04da7033ee)) +* long domain names cause horizontal scroll with taghints ([eb47c4d](https://github.com/USERNAME/REPOSITORY_NAME/commitseb47c4d5b9a0379cc87b773c73638965fb247ee8)) +* make levelselector clickable again, fix [#1416](https://github.com/pietervdvn/MapComplete/issues/1416) ([8b5daef](https://github.com/USERNAME/REPOSITORY_NAME/commits8b5daefc9063c818eeea6e044167787feb31d4b5)) +* make sure that a 'hidden' tagRendering cannot be accidentally selected ([5585f02](https://github.com/USERNAME/REPOSITORY_NAME/commits5585f02cad0c737f99c16433d7a61f3a5f3743d3)) +* make sure that the passed-in-location of the map is respected, prevents random jumps in the location input ([5c01f6a](https://github.com/USERNAME/REPOSITORY_NAME/commits5c01f6ada95ab1410310d4f084f593b6f561cc53)) +* make sure the background is always below the rendered layers ([2769747](https://github.com/USERNAME/REPOSITORY_NAME/commits2769747737964a509897ccce4702a9ea9ebefcd8)) +* make text a translation ([418e0cd](https://github.com/USERNAME/REPOSITORY_NAME/commits418e0cd149f1af50527e1f1f2c6fbec254779681)) +* make top and bottom panels click-through ([0db6a89](https://github.com/USERNAME/REPOSITORY_NAME/commits0db6a8977716e33bfa775bd731e994bf9facf0c9)) +* maproulette endpoints ([bbf6d62](https://github.com/USERNAME/REPOSITORY_NAME/commitsbbf6d62c866950476ee34ff735352d8cc38daa7a)) +* maproulette import flow ([5f7cc35](https://github.com/USERNAME/REPOSITORY_NAME/commits5f7cc351c9fb3743ab1cba65327611f730440ec5)) +* maproulette item ([b6b77da](https://github.com/USERNAME/REPOSITORY_NAME/commitsb6b77daef78bdc111530ec1fb17820c4fb042e57)) +* markers can rotate again ([5e453d5](https://github.com/USERNAME/REPOSITORY_NAME/commits5e453d5cf19fb63ef7516ad11e53aad4e0006bdc)) +* markers now appear correctly on PNG exports ([e5b3e15](https://github.com/USERNAME/REPOSITORY_NAME/commitse5b3e15c43672933fc3f1f6a59960514961ce377)) +* MC would crash if a pending change was present; remember preferences in order to reuse the changeset ([f2375f4](https://github.com/USERNAME/REPOSITORY_NAME/commitsf2375f4877316193132f4ae4189ef5b65e7ef710)) +* metatagging of width theme ([c4ff70c](https://github.com/USERNAME/REPOSITORY_NAME/commitsc4ff70ce656e941574a31120f3971375ecc7ba4c)) +* minimap takes to much space ([037c593](https://github.com/USERNAME/REPOSITORY_NAME/commits037c593f61b3adfd4ac314aef063e20049ce3cb7)) +* missing commas in elevator.json ([229e605](https://github.com/USERNAME/REPOSITORY_NAME/commits229e60538b4d9002875a63ad877324941dd4647d)) +* Move image preview below FloatOver, the popup otherwise hides the image preview ([df1fef2](https://github.com/USERNAME/REPOSITORY_NAME/commitsdf1fef28c02b08a1ba13e4fbd8bc6f15d6c7913c)) +* move lastClick to bottom anchor ([beea00c](https://github.com/USERNAME/REPOSITORY_NAME/commitsbeea00cbf079ad0c109c78d2828b7359479f0717)) +* multianswer with a free textfield did not activate ([649ed1f](https://github.com/USERNAME/REPOSITORY_NAME/commits649ed1f53a7948bafda45aab36ed214d1808b51e)) +* multianswer would not accept last option ([6f5c71e](https://github.com/USERNAME/REPOSITORY_NAME/commits6f5c71ed5a17147d5fc8c9da9f194a61f18fbb30)) +* no more duplicate link showing up, avoid crash ([7be01d5](https://github.com/USERNAME/REPOSITORY_NAME/commits7be01d5b8f789576b8b74bf07824ed660d9339a1)) +* normalization of URLs, formatting, stabilize inputHelper ([441c4df](https://github.com/USERNAME/REPOSITORY_NAME/commits441c4df4f6d3e26cf866418e5ddaea90bedd2c6a)) +* only check browserLanguage if navigator is defined; fixes tests ([a1fa3b4](https://github.com/USERNAME/REPOSITORY_NAME/commitsa1fa3b494259d7cc8f4873af31d5c9a987cef972)) +* only show 'newly created' if version number is 1 or unset ([1a78ecb](https://github.com/USERNAME/REPOSITORY_NAME/commits1a78ecb85806db67f6e51e39a0882c038589a058)) +* only show fixmes on high zoom level (performance), add the option to remove a fixme ([2f5091a](https://github.com/USERNAME/REPOSITORY_NAME/commits2f5091a8cb484681d69db0ea6578dd7d26eacef7)) +* only show website icon if a website is known ([46244b8](https://github.com/USERNAME/REPOSITORY_NAME/commits46244b8345c0005f3b3648a3379149d243cfe897)) +* open correct menu if set in hash ([7a95334](https://github.com/USERNAME/REPOSITORY_NAME/commits7a953348824f6d601c16a0e632aac8353e0283fb)) +* open settings again ([894d857](https://github.com/USERNAME/REPOSITORY_NAME/commits894d857cdc35864bbd778925ef84a042d6e04aaa)) +* opening the popup if defined in the hash ([196d76d](https://github.com/USERNAME/REPOSITORY_NAME/commits196d76d9dc8736667956ad803cf5aed15f3b682e)) +* ordering of baselayers ([8379a89](https://github.com/USERNAME/REPOSITORY_NAME/commits8379a894d0fc826e33d24d05b3e44852556a60b1)) +* output tailwind into 'public/css/' instead of 'css/' ([a1f5032](https://github.com/USERNAME/REPOSITORY_NAME/commitsa1f50322321d878d823ac3fc70021683dbb6ab69)) +* overpass feature source will redownload if the layers to download have changed ([bae4974](https://github.com/USERNAME/REPOSITORY_NAME/commitsbae49744d95e350f7b4c1b031b8e4a178879deea)) +* overpass feature source will redownload if the layers to download have changed ([7ed5307](https://github.com/USERNAME/REPOSITORY_NAME/commits7ed53076fe206f0e260d329844eb1d8898206b01)) +* pass along initial coordinates with the location input, prevents flashing of the ocean; fix [#1469](https://github.com/pietervdvn/MapComplete/issues/1469) ([790c276](https://github.com/USERNAME/REPOSITORY_NAME/commits790c2767e2dfbdca65f56ec95bf3cd69a98e4301)) +* pass properties of snapping feature in newPointInput to render correctly ([c80085d](https://github.com/USERNAME/REPOSITORY_NAME/commitsc80085dfda58c9eb73fda466d8d81731095f1672)) +* personal theme crashed due to unset defaultIcon ([6075b01](https://github.com/USERNAME/REPOSITORY_NAME/commits6075b016485808352ae84a12d5b872482693411a)) +* png correctly outputs all markers now ([905f796](https://github.com/USERNAME/REPOSITORY_NAME/commits905f796baa26b8eedc177ce7f58353331e432535)) +* precise location input picks correct location (and not the previous click) ([6d337e8](https://github.com/USERNAME/REPOSITORY_NAME/commits6d337e877589f49ed1b4b1dc60ae232dd6634342)) +* preciseInputPicker will show correct icon if snapped or not snapped to a wall ([9870391](https://github.com/USERNAME/REPOSITORY_NAME/commits98703914ca48afefb614e1f19eb15663ab3280b7)) +* presets will now also show if the layer doesn't have a name and is shown ([3f18ce7](https://github.com/USERNAME/REPOSITORY_NAME/commits3f18ce7fd387a4f60db5863cfa4f759eaf34edff)) +* pressing enter would ignore input ([95c41d6](https://github.com/USERNAME/REPOSITORY_NAME/commits95c41d672ee7f5556645925d09610f0bf36ee1c0)) +* probably fix black area outlines ([0bd9e1e](https://github.com/USERNAME/REPOSITORY_NAME/commits0bd9e1e667e659cf1b856e2aece94696089b9a20)) +* properly add 'self' to connect-src ([441a9a5](https://github.com/USERNAME/REPOSITORY_NAME/commits441a9a5ed9e5b6a37356e0f15967f66799419572)) +* properly add 'self' to connect-src (take 2) ([c823e74](https://github.com/USERNAME/REPOSITORY_NAME/commitsc823e745a3e0b562ddfdb489541182ed17449336)) +* properly show hidden themes, drop 'custom theme generator'-button, drop 'professional services' button ([93adfd3](https://github.com/USERNAME/REPOSITORY_NAME/commits93adfd3da592cbf2f177123802f69a7c4fc72637)) +* questions are shown if the condition is met, fix [#1630](https://github.com/pietervdvn/MapComplete/issues/1630) ([8500276](https://github.com/USERNAME/REPOSITORY_NAME/commits85002766a8d3b8d0d4ad31410437bad72ae7ca03)) +* questions now appear when reselecting an item ([0c5e88d](https://github.com/USERNAME/REPOSITORY_NAME/commits0c5e88df7b5bdad82bf2e67b45aa817e29ca4fde)) +* questions of charging stations are now shown separately again ([fe9afb4](https://github.com/USERNAME/REPOSITORY_NAME/commitsfe9afb415ff68c0b8e35fcb41fc68330a41a2b08)) +* questions of charging stations are now shown separately again ([30af019](https://github.com/USERNAME/REPOSITORY_NAME/commits30af019cdfe8dea845e92645d0ec859e439a2b90)) +* re-enable generate command ([13a35b9](https://github.com/USERNAME/REPOSITORY_NAME/commits13a35b94202ef775598fc7130b60b8839cef514a)) +* re-enable reservation question ([cebd428](https://github.com/USERNAME/REPOSITORY_NAME/commitscebd428e9ec58b708637ae34055a5c689e3004cd)) +* re-enable speed and heading in GPS-cursor ([ff47d75](https://github.com/USERNAME/REPOSITORY_NAME/commitsff47d75d41fc1fd4f576cd483150fe27cb3942d3)) +* readd missing files ([7d802d4](https://github.com/USERNAME/REPOSITORY_NAME/commits7d802d418bd52bf29b147c245e548a7704e2d45f)) +* redraw line layers on background change ([6e5fcde](https://github.com/USERNAME/REPOSITORY_NAME/commits6e5fcdef205d4616305d2bca39a1904d60954003)) +* reinstantiate uploads ([871d511](https://github.com/USERNAME/REPOSITORY_NAME/commits871d511616ae48055095e8c3485db762adc6b140)) +* remember map rotation setting ([c764839](https://github.com/USERNAME/REPOSITORY_NAME/commitsc764839fdcefff316b9458067e462f282a2fe7d5)) +* remember previous, externally loaded themes ([b61c0a1](https://github.com/USERNAME/REPOSITORY_NAME/commitsb61c0a11807585a1832ff410be362e74ae2a810b)) +* remove 'icons.defaults' from favourite layers, cleanup of various small typing errors ([e8569ec](https://github.com/USERNAME/REPOSITORY_NAME/commitse8569ec5404e632ebae0c71b040c1d9a9b891583)) +* remove all html-attributes from shortDescriptions in the theme overview ([39572f4](https://github.com/USERNAME/REPOSITORY_NAME/commits39572f4767f270a4a5a40d8973ae9824ac3a43d1)) +* remove empty license files, fix [#1135](https://github.com/pietervdvn/MapComplete/issues/1135) ([2eabfea](https://github.com/USERNAME/REPOSITORY_NAME/commits2eabfea8af22a3810487cdacd68d850f4432e624)) +* remove ghost bike translations from translation files and resync them, should fix the build ([0487497](https://github.com/USERNAME/REPOSITORY_NAME/commits0487497e17ace04d381d2c9d43b02f8032874e2f)) +* Remove isOpen from defaults ([11b8c61](https://github.com/USERNAME/REPOSITORY_NAME/commits11b8c619c165f6d66fed03061ad9afa052a7a096)) +* remove no longer needed translation ([0e893f7](https://github.com/USERNAME/REPOSITORY_NAME/commits0e893f7903d68f37936c9b87883ffdc31b9ff088)) +* remove no longer needed translations ([3c74a94](https://github.com/USERNAME/REPOSITORY_NAME/commits3c74a94eee676a8ff0fc2b0b85f1bf8d7487d216)) +* remove trailing ';' for opening hours, as spotted by Midgard ([36b086e](https://github.com/USERNAME/REPOSITORY_NAME/commits36b086e4141e70253e68aec59d099638d46d14af)) +* remove unneeded translation download, fix PDF-export ([1930f7b](https://github.com/USERNAME/REPOSITORY_NAME/commits1930f7bb53f4d477c2529471b478db77ddcc012b)) +* remove unneeded URL parameter ([365d573](https://github.com/USERNAME/REPOSITORY_NAME/commits365d573b7c0d36bfa675cc637e6223abe770f3a0)) +* remove unused property ([99b0135](https://github.com/USERNAME/REPOSITORY_NAME/commits99b0135fa9b44639189a1c9e690cf5829010c6e7)) +* rendering of 'inline' was not dynamic ([60d825d](https://github.com/USERNAME/REPOSITORY_NAME/commits60d825de3c94afad79351f492c691af3d2109f60)) +* rendering of indoor room icons ([6235e23](https://github.com/USERNAME/REPOSITORY_NAME/commits6235e231922b64adba86b012422175347a9887c1)) +* replace all mentions of 'mapcomplete.osm.be' with 'mapcomplete.org' ([7321004](https://github.com/USERNAME/REPOSITORY_NAME/commits7321004c19212b0849394b9d541583e52e4ec5e6)) +* reset translations ([ad952fc](https://github.com/USERNAME/REPOSITORY_NAME/commitsad952fcaf284b1669cee4657389cf36a52ee334c)) +* resize svgs ([89186c8](https://github.com/USERNAME/REPOSITORY_NAME/commits89186c8610185e56bf9afa78b2765c45b2a939bd)) +* restore loading of custom themes ([bcb2ecf](https://github.com/USERNAME/REPOSITORY_NAME/commitsbcb2ecf6ab6c372cd41dd79780b027c79cb4a49e)) +* reviews need an uncertainty ([bc96288](https://github.com/USERNAME/REPOSITORY_NAME/commitsbc96288d3d75f24fb12620d050f472029c5df135)) +* rotation of the GPS-marker ([bbc7698](https://github.com/USERNAME/REPOSITORY_NAME/commitsbbc7698b1281ad654c00c54bf58b9de7ba1e71e6)) +* safari-specific fixes ([059ef2c](https://github.com/USERNAME/REPOSITORY_NAME/commits059ef2c1bc2ea5fb377a0f1e253652c0c243e250)) +* schemaBasedArray ([a7599f6](https://github.com/USERNAME/REPOSITORY_NAME/commitsa7599f6d7f5a061cb1971ee8170f9f039ea2e2de)) +* set share capability to 'no' if running from console, fixes tests ([af7bc0f](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf7bc0f7ce686147608256e1c5dd0a9d24388945)) +* setting the language does not overwrite the user setting anymore ([c6283ac](https://github.com/USERNAME/REPOSITORY_NAME/commitsc6283ac7205f69c1a42e8cf16e5f4f1ab2c239f8)) +* share button ([84cbd2f](https://github.com/USERNAME/REPOSITORY_NAME/commits84cbd2fbc00d3d9e386a3b485dd4fa61c8000722)) +* show add new point fullscreen again ([aad31f6](https://github.com/USERNAME/REPOSITORY_NAME/commitsaad31f649e733d108c63297aa6d25bf87ac73c34)) +* show preferred languages (according to OSM) in usersettings ([0ea103f](https://github.com/USERNAME/REPOSITORY_NAME/commits0ea103f24780ef2c6ba191cbd4891716bb2d86f6)) +* show tags that will be applied if setting is 'full' ([0b82661](https://github.com/USERNAME/REPOSITORY_NAME/commits0b826612e93c0b120f99b6927c57c13b60c2835f)) +* show tags that will be deleted with strikethrough in TagHint ([15a481f](https://github.com/USERNAME/REPOSITORY_NAME/commits15a481f864b4afb7b650fd150f0ce7d46c9d1e78)) +* size of new element picker map ([#1701](https://github.com/pietervdvn/MapComplete/issues/1701)), add debug info about GPS ([9407ed3](https://github.com/USERNAME/REPOSITORY_NAME/commits9407ed35b109660a9b23c2b71fd15f3ecf1dc0d0)) +* small bug in script ([795d6d2](https://github.com/USERNAME/REPOSITORY_NAME/commits795d6d2e072d13c1d64259ac8ff960d618c2deba)) +* small CSS fix ([1b8970b](https://github.com/USERNAME/REPOSITORY_NAME/commits1b8970b34aae337edfe5567315cc36319add1ff7)) +* SPDX-compliance ([6c4b464](https://github.com/USERNAME/REPOSITORY_NAME/commits6c4b464f14ed2851980da34e12df355cb8137ba7)) +* special loginbutton now actually works ([6a4def6](https://github.com/USERNAME/REPOSITORY_NAME/commits6a4def67ca97b55beb26445a0ddb713149527cc5)) +* stabilize change injector ([efdff63](https://github.com/USERNAME/REPOSITORY_NAME/commitsefdff6335f5075f74156b5b1258ae69ab058705b)) +* stabilize opening hours, make delete clickable again ([cc60d2a](https://github.com/USERNAME/REPOSITORY_NAME/commitscc60d2a5fbae3a14d63aa859fa02e2b09e1e48f9)) +* stabilize rendering of linelayers ([055e5a8](https://github.com/USERNAME/REPOSITORY_NAME/commits055e5a801b60276cdfcf31870fae29e6af30521b)) +* style issue, types ([5932dc7](https://github.com/USERNAME/REPOSITORY_NAME/commits5932dc7ad4b532c45d6e6bff95f46f6cb26645b2)) +* style of tabbedGroup-elements needed an 'important' to work in production ([5a2e54b](https://github.com/USERNAME/REPOSITORY_NAME/commits5a2e54b00a86b4ac0f91b69aa55ff3c36939e8ab)) +* style tweaks to link feature ([bd71645](https://github.com/USERNAME/REPOSITORY_NAME/commitsbd71645c04e819a28c355da5c898293092b51068)) +* styling issues; refactoring: remove 'SearchAndGo' ([0e81b65](https://github.com/USERNAME/REPOSITORY_NAME/commits0e81b653631a97699ba07ce5d34b61bc4422a5d1)) +* styling of OH input, fix [#1489](https://github.com/pietervdvn/MapComplete/issues/1489) ([064f875](https://github.com/USERNAME/REPOSITORY_NAME/commits064f87537f450e40b76d936d7793ea9036b2b181)) +* styling of PH-input in OpeningHoursInput, fix [#1422](https://github.com/pietervdvn/MapComplete/issues/1422) ([a9c25d3](https://github.com/USERNAME/REPOSITORY_NAME/commitsa9c25d378a709e3ac7b4a76919ae10cf405dacec)) +* substitute name ([408e782](https://github.com/USERNAME/REPOSITORY_NAME/commits408e7826269dc30d97f89e6e1fd097dae69b7923)) +* substituteKeys works correctly if newline is in the text, fix 'send email to report broken'-button by porting it to svelte ([b4f65bf](https://github.com/USERNAME/REPOSITORY_NAME/commitsb4f65bf2f7ce2a6993906076353acc11a1d64d94)) +* subtleLink should not open in a new tab ([61c417c](https://github.com/USERNAME/REPOSITORY_NAME/commits61c417c546e828dbed2356c35eebfe4cf2ef403d)) +* Support contact:email and contact:phone in icons ([7bcefe5](https://github.com/USERNAME/REPOSITORY_NAME/commits7bcefe527ce080b3f7b7c48fdd1a828289b126c3)) +* svg image generation script ([f9b1e9b](https://github.com/USERNAME/REPOSITORY_NAME/commitsf9b1e9b2de8f4aa657272d714385c1c7fbfdb3b3)) +* temporarily only warn for incomplete translations ([adb5d89](https://github.com/USERNAME/REPOSITORY_NAME/commitsadb5d892fb39cdf63ea65d95ef5079f0efed6324)) +* tests ([238de89](https://github.com/USERNAME/REPOSITORY_NAME/commits238de89ad54fd0c8c0d4bf75f49282d7921f21a2)) +* tests ([841be16](https://github.com/USERNAME/REPOSITORY_NAME/commits841be16dffd8219713a1bc00b9a8409195a8f82d)) +* tests ([1d54356](https://github.com/USERNAME/REPOSITORY_NAME/commits1d543563d702f6af424e1df041191632126ed805)) +* tests ([2a73c43](https://github.com/USERNAME/REPOSITORY_NAME/commits2a73c43a5fc652f7d91c8d89cf47d0ce8853ee62)) +* the search bar on the theme index was not clickable on wide screens as the 'centermessage' hovered over it invisibly ([af7672a](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf7672a0e00de4e3d75a85678b4528093515fb7e)) +* theme compilation ([86d0de3](https://github.com/USERNAME/REPOSITORY_NAME/commits86d0de380644c92fe90f4dd87aa4399074fdc42e)) +* **themes:** remove 'unkown' mapping from hydrants, the unkown case is handled by MapComplete ([4850e50](https://github.com/USERNAME/REPOSITORY_NAME/commits4850e5094a49a16d3975795fd1f25a81f2e13a5a)) +* turn favourites black again, sync them globally ([14594b2](https://github.com/USERNAME/REPOSITORY_NAME/commits14594b286dd2278bc64ed27f0305b76596d7e190)) +* tweaking addNewPoint-flow ([d0e0abd](https://github.com/USERNAME/REPOSITORY_NAME/commitsd0e0abdece560799a9770b74d0992c42ebe89ed6)) +* typo ([929093d](https://github.com/USERNAME/REPOSITORY_NAME/commits929093d36f13ab1861d533f4d93152a7ddd1e6dc)) +* typo ([2671d01](https://github.com/USERNAME/REPOSITORY_NAME/commits2671d0158983c7befb9f5c8d3e91544a50408c6b)) +* typo ([752de10](https://github.com/USERNAME/REPOSITORY_NAME/commits752de107ab6a50f8e513b0c7307b44dc6094d974)) +* typo ([8531571](https://github.com/USERNAME/REPOSITORY_NAME/commits8531571c7be653339d752f953a8725d94eec692c)) +* typo ([de99f56](https://github.com/USERNAME/REPOSITORY_NAME/commitsde99f56ca8fe34e361a7c6345d147f8295293f57)) +* typo ([3a25106](https://github.com/USERNAME/REPOSITORY_NAME/commits3a25106a5ab7bd958cfe731d8e1e959b5b07b23e)) +* typo in charging_station.protojson ([21d01a4](https://github.com/USERNAME/REPOSITORY_NAME/commits21d01a46f9164a872145c03fe845233c6cd47f8b)) +* typo in elevator.json ([374a4eb](https://github.com/USERNAME/REPOSITORY_NAME/commits374a4eb22211ecfbe8a04569d89b8236f109b8ed)) +* typo in filter ([366577f](https://github.com/USERNAME/REPOSITORY_NAME/commits366577f70b40765b3e10ccae222193ca07cae4bb)) +* typo in tag ([a903112](https://github.com/USERNAME/REPOSITORY_NAME/commitsa9031129d3dddfdd0ab1d2d83d371b872a0d5180)) +* **typo:** s/bick_wal/brick_wall/ ([753efef](https://github.com/USERNAME/REPOSITORY_NAME/commits753efef38f1f1a4f731c0c66408c7adddb26a967)) +* undo accidental changes, fix saving preferences ([ff3a7f8](https://github.com/USERNAME/REPOSITORY_NAME/commitsff3a7f8f4372d46b0aba61aa12115da4207f2331)) +* units which used a 'string'-validator might not detect the actual denomination. They have now been forbidden and fixed ([7b497f9](https://github.com/USERNAME/REPOSITORY_NAME/commits7b497f991d788c991457f1167d472a77f2789cdc)) +* unselect layer, prevents that 'lastClick'-popup opens on map click ([63ffa11](https://github.com/USERNAME/REPOSITORY_NAME/commits63ffa11238766962cab6b1c8cedcd0153504d45e)) +* update and simplification of sharescreen, rename some feature switches, remove some no longer relevant feature switches ([96d0367](https://github.com/USERNAME/REPOSITORY_NAME/commits96d036781f55987732629355be118373c363830d)) +* upload flow deals better with point reuse: it actually opens the feature now ([c14cbc9](https://github.com/USERNAME/REPOSITORY_NAME/commitsc14cbc9fe95bf1d2432ea7290cae0d0f7a9b6ada)) +* uploads were broken ([efd6b30](https://github.com/USERNAME/REPOSITORY_NAME/commitsefd6b30e1b41024ee4b7c0f6cf69a49f87f5da69)) +* URL-parameter language disables the language picker, fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506) ([3ca8ba1](https://github.com/USERNAME/REPOSITORY_NAME/commits3ca8ba18fd6a1569214f5d6298eca291cb8ceefc)) +* URL-parameter language disables the language picker, fix [#1506](https://github.com/pietervdvn/MapComplete/issues/1506) ([2f5c89f](https://github.com/USERNAME/REPOSITORY_NAME/commits2f5c89f8c5a7aa7adbe83d1b9cf98e198f9f1aab)) +* use api.openstreetmap.org on many places, fix [#1573](https://github.com/pietervdvn/MapComplete/issues/1573) ([8fccf78](https://github.com/USERNAME/REPOSITORY_NAME/commits8fccf784786074e22a4d437dc8a38c58bf54c375)) +* use correct backend address (including www.) ([c320239](https://github.com/USERNAME/REPOSITORY_NAME/commitsc320239610f15083d1d050f17e337780621f7dc3)) +* use correct branch to deploy ([9c0dac2](https://github.com/USERNAME/REPOSITORY_NAME/commits9c0dac28ad0604026936cc68c5238927978b250a)) +* use correct relocation icon again ([cdb1bb2](https://github.com/USERNAME/REPOSITORY_NAME/commitscdb1bb23b8e5df8bd1f2e0732ff14f3bd55935f5)) +* use correct snapping ([ec2e0e1](https://github.com/USERNAME/REPOSITORY_NAME/commitsec2e0e1de168f9f4551f86ff73b070a6e4ccdd77)) +* use https for extractGraph endpoint ([f89123d](https://github.com/USERNAME/REPOSITORY_NAME/commitsf89123d318ebb24553b842884e0aad3b9adf6570)) +* use proper circle for bench and artwork ([e2a56f5](https://github.com/USERNAME/REPOSITORY_NAME/commitse2a56f5e5cc469c95974625f561a4a5229b5cb9a)) +* use proper selected element ([dbff953](https://github.com/USERNAME/REPOSITORY_NAME/commitsdbff95309642178dcccb4a0a365a263c722c5a96)) +* use theme.html?layout= instead of layout.html if a local deploy is detected ([db67600](https://github.com/USERNAME/REPOSITORY_NAME/commitsdb6760015f69239dc51cc47c866635927cd9dadf)) +* use translated value for community index tab ([a3a7c53](https://github.com/USERNAME/REPOSITORY_NAME/commitsa3a7c536fbce04698a05847da429d1bacc851aad)) +* use translated value for community index tab ([22ee806](https://github.com/USERNAME/REPOSITORY_NAME/commits22ee806090a8679ea2951d84af47e4de8314925c)) +* use www.openstreetmap.org again, it doesnt work ([580b58e](https://github.com/USERNAME/REPOSITORY_NAME/commits580b58e86a974432b068b073a047c22864621126)) + + +### Theme improvements + +* a few improvements to velopark ([e7a5712](https://github.com/USERNAME/REPOSITORY_NAME/commitse7a57125d797fdf3c31c66c1e0c54dfc5dc5a304)) +* active 'browse and link streetview' on all themes ([eb2a582](https://github.com/USERNAME/REPOSITORY_NAME/commitseb2a582d4910edda5e8dd76d229c0637bc5ac4a5)) +* Add 'access=permissive' to charging stations, fixes [#1255](https://github.com/pietervdvn/MapComplete/issues/1255) ([cc70e09](https://github.com/USERNAME/REPOSITORY_NAME/commitscc70e09e11f55c62276fe9fcc5cf4e9033ccc6f5)) +* add 'allowMove' everywhere, make 'allowMove' obligated, see [#2121](https://github.com/pietervdvn/MapComplete/issues/2121) ([29d52e0](https://github.com/USERNAME/REPOSITORY_NAME/commits29d52e0fc69f16477fbfd6f5c08900890626f0be)) +* add 'artwork' questions to drinking water fountains ([def640f](https://github.com/USERNAME/REPOSITORY_NAME/commitsdef640fb1c97c581e4688c8c0a50f4e295d9458b)) +* add 'binding'-service question to copyshops ([7b1ca43](https://github.com/USERNAME/REPOSITORY_NAME/commits7b1ca43266f596c9b9b40a3a86c0f5cf6d213a3e)) +* add 'fine-gravel' as option to sport-pitches ([679e371](https://github.com/USERNAME/REPOSITORY_NAME/commits679e371bd470976a41327494004054548e120401)) +* add 'hacklab' as option to hackerspaces ([665cd3b](https://github.com/USERNAME/REPOSITORY_NAME/commits665cd3b0dd3bd2ad91c601554417cfec0eec54a2)) +* add 'hoops' question to basketball pitches ([4df9632](https://github.com/USERNAME/REPOSITORY_NAME/commits4df9632d7c7093511b6e3b2349ee5d2fd99cb681)) +* add 'link' as builtin, available Icon ([7872f22](https://github.com/USERNAME/REPOSITORY_NAME/commits7872f221512797ee82ea1e92455326baaa9874ab)) +* add 'lock' and 'key' icon to toilets, fix [#2094](https://github.com/pietervdvn/MapComplete/issues/2094) ([577b596](https://github.com/USERNAME/REPOSITORY_NAME/commits577b596e7a8cdc2ea4cbd97c401422ee0ad06652)) +* Add 'open_now' filter to bike-shop ([aa6902a](https://github.com/USERNAME/REPOSITORY_NAME/commitsaa6902a25c4b27ef9424d0cdfb68a83f44ec7405)) +* add 'pedagogy', fix [#1839](https://github.com/pietervdvn/MapComplete/issues/1839) ([4644b6a](https://github.com/USERNAME/REPOSITORY_NAME/commits4644b6ae550fa53c042978317484f9a99eafe8c7)) +* add 'skateboard' as sport pitch option ([f20219c](https://github.com/USERNAME/REPOSITORY_NAME/commitsf20219cf37711b42e8bf1d4a4a1c0379d7d8df0e)) +* add 'website'-button which shows up by default if a website is known ([7c0d339](https://github.com/USERNAME/REPOSITORY_NAME/commits7c0d339976fb26a9fc9ab74a540c7d5b7d640f80)) +* add ALPR-cameras to surveillance theme ([d1e91ee](https://github.com/USERNAME/REPOSITORY_NAME/commitsd1e91ee2f98936871941e4b7cd035ee4f1e35bbd)) +* add ALPR-cameras to surveillance theme ([97236c8](https://github.com/USERNAME/REPOSITORY_NAME/commits97236c80a99686a1dc0c296bb4a730bc595884a5)) +* add animal types to animal_shelter, include animal_shelter in pets, generate licenses, fix cycle_highways.json ([3968a1e](https://github.com/USERNAME/REPOSITORY_NAME/commits3968a1e841cef10e5fac08b7a2c8e6b685a4f07c)) +* add animal_shelter, created by the studio ([c4d4a57](https://github.com/USERNAME/REPOSITORY_NAME/commitsc4d4a57a0804776c2eabb7cd7c11e269bac101d8)) +* add atm-option to postoffice, add postoffices to ATM theme, fix [#1551](https://github.com/pietervdvn/MapComplete/issues/1551) ([c4a9fa8](https://github.com/USERNAME/REPOSITORY_NAME/commitsc4a9fa81f23ec8a5dcc685b6c42b9e1208337818)) +* add baby icon to changing table question ([1b5a0a2](https://github.com/USERNAME/REPOSITORY_NAME/commits1b5a0a2a853237e9d51298f5e1b17c69afaafa71)) +* Add badminton fields to filters ([b60a3aa](https://github.com/USERNAME/REPOSITORY_NAME/commitsb60a3aa5684d58e9fec146b06fe2d2993eafd72e)) +* add before text on correct location ([6a2e372](https://github.com/USERNAME/REPOSITORY_NAME/commits6a2e3720622e404089c243dc1aa7e7ab282ba2f2)) +* add benches on playground theme ([54a9edc](https://github.com/USERNAME/REPOSITORY_NAME/commits54a9edc687667372d0097fb51efb7b904005c9de)) +* add bicycle self-repair workshops to the map (WIP) ([c11d7af](https://github.com/USERNAME/REPOSITORY_NAME/commitsc11d7af17531cf381ce03e37765c2e0f7efd1745)) +* add camp site ([cfa1c28](https://github.com/USERNAME/REPOSITORY_NAME/commitscfa1c28789d2056e6b8ad7483360a007c639d73c)) +* add cargo bike option to bicycle rental, fix [#2016](https://github.com/pietervdvn/MapComplete/issues/2016) ([b98aaff](https://github.com/USERNAME/REPOSITORY_NAME/commitsb98aaff8101255138c10704d2a02f9226b0fa7ec)) +* add charge to bike_parking ([ed96859](https://github.com/USERNAME/REPOSITORY_NAME/commitsed96859233a921cbfc61046106b9202d40bbde6c)) +* add compile time check for 'sameAs'-filters that the referenced layer actually exists ([e188b96](https://github.com/USERNAME/REPOSITORY_NAME/commitse188b9656122dd3f0a4cda55352bf81dad6dbc65)) +* add condition that hoops are only asked on basketball courts, fix [#1577](https://github.com/pietervdvn/MapComplete/issues/1577) ([fb6f7ee](https://github.com/USERNAME/REPOSITORY_NAME/commitsfb6f7ee191554816581c955cfdfbb1a932981c77)) +* add conveying as condition for stairs ([f95f631](https://github.com/USERNAME/REPOSITORY_NAME/commitsf95f631045e2a83424a6ac7ef3d607fcba18cc6f)) +* add correct title for cafe, nightclub and bar if no name is present, fix [#1704](https://github.com/pietervdvn/MapComplete/issues/1704) ([0129845](https://github.com/USERNAME/REPOSITORY_NAME/commits0129845d22f028b213af59e57014ce8962b76327)) +* add currency type which does some reformatting ([d40474d](https://github.com/USERNAME/REPOSITORY_NAME/commitsd40474d47e0b5ded963df2c4e76c6911de63dbca)) +* add currently open badge ([d9d330e](https://github.com/USERNAME/REPOSITORY_NAME/commitsd9d330e91221fac741120c7e2cb0b394d0871406)) +* add delete to banks ([68cada0](https://github.com/USERNAME/REPOSITORY_NAME/commits68cada0a0d8f7f57b2ed43eb459680764b2b3070)) +* add dog icon into title-icons, add dog filter, see [#212](https://github.com/pietervdvn/MapComplete/issues/212) ([7e0120d](https://github.com/USERNAME/REPOSITORY_NAME/commits7e0120d0e8948510db1eb0c17090900127dc8ed8)) +* add extra check so that in a mapping cannot override the , fix two such instances ([56ea116](https://github.com/USERNAME/REPOSITORY_NAME/commits56ea1163bb7c272cec717076da452ba069e82b3c)) +* add extra questions to 'map' layer based on custom theme ([10e0e27](https://github.com/USERNAME/REPOSITORY_NAME/commits10e0e277787f95e4da8b075edd308300dd6b0256)) +* add filter for vegetable oil to fritures theme ([721a930](https://github.com/USERNAME/REPOSITORY_NAME/commits721a930d76fcd4fedada4044f1c6b2c6802cd022)) +* add filters for 'wifi' and 'electricity' ([af2c6f4](https://github.com/USERNAME/REPOSITORY_NAME/commitsaf2c6f47829dd91e5fa0ac4dad2f23e18ebf1d3f)) +* add fine_gravel as option for playground surface ([d8be0ac](https://github.com/USERNAME/REPOSITORY_NAME/commitsd8be0acdfef8a0a7f349d152abadf3e394c0145f)) +* add first version of ski theme ([8f25006](https://github.com/USERNAME/REPOSITORY_NAME/commits8f250069988ea8e1b7f25e29db4e287200d354b8)) +* add guidepost layer ([da39dde](https://github.com/USERNAME/REPOSITORY_NAME/commitsda39dde7b699e576e79eb5781933146fa9747ace)) +* add guidepost layer ([a06e513](https://github.com/USERNAME/REPOSITORY_NAME/commitsa06e513c4f5a662e6d09908440f6b3394addf483)) +* add guidepost theme ([ad239b2](https://github.com/USERNAME/REPOSITORY_NAME/commitsad239b230fd57233f377266dd68b15011136bbaa)) +* add guideposts to climbing theme ([a96a214](https://github.com/USERNAME/REPOSITORY_NAME/commitsa96a214c03b3438f9ccf96f7c37a2e842ec224e1)) +* add hostel, cleanup of hotel ([d167fe7](https://github.com/USERNAME/REPOSITORY_NAME/commitsd167fe77232b502ccef4ee051c8d73f948100dd0)) +* add hostel, cleanup of hotel ([8e9ae05](https://github.com/USERNAME/REPOSITORY_NAME/commits8e9ae0529b95b8736ad6a2cabf9927a3a27e4c0c)) +* add ice cream parlors ([69a7c9e](https://github.com/USERNAME/REPOSITORY_NAME/commits69a7c9efa3eb29c32f0256b1a956e9846cdf5260)) +* add icons to access question in toilets ([2ba461d](https://github.com/USERNAME/REPOSITORY_NAME/commits2ba461d9578b515b23ff25a8a99d9a2b03779653)) +* add icons to question ([246b163](https://github.com/USERNAME/REPOSITORY_NAME/commits246b16317d93b8e2effe9b41f7ed8c362a61cff6)) +* add icons, add 'auto'-title-icons ([2c662c9](https://github.com/USERNAME/REPOSITORY_NAME/commits2c662c957860144a927260504ca30795f9249238)) +* Add internet questions to hackerspace, fix [#1856](https://github.com/pietervdvn/MapComplete/issues/1856) ([c870544](https://github.com/USERNAME/REPOSITORY_NAME/commitsc870544d857a1c0f3f13e04da78db1a00f5e5342)) +* add keycutting service tags ([d8ce6f0](https://github.com/USERNAME/REPOSITORY_NAME/commitsd8ce6f0da5887724778c03ea554add5fd5be16cd)) +* add label support to questions.json; add opening hours for hospitals ([41fdeb9](https://github.com/USERNAME/REPOSITORY_NAME/commits41fdeb9cb5c664ca604da1f89f2724c0de3b1304)) +* add maxstay for bicycle parkings ([a71ed5d](https://github.com/USERNAME/REPOSITORY_NAME/commitsa71ed5d53e0b238713cdd8741c7b05e9a9568c55)) +* add memorial layer, use 'subject' instead of 'name' for ghost bikes ([a57dbe0](https://github.com/USERNAME/REPOSITORY_NAME/commitsa57dbe09d60734785420c4502699fcb6d89c6033)) +* add memorials to artwork on high zoom ([29c5b88](https://github.com/USERNAME/REPOSITORY_NAME/commits29c5b884c404c14258dd116921990923c9a89181)) +* add metal as material option ([6420b90](https://github.com/USERNAME/REPOSITORY_NAME/commits6420b906e055f5572d093e18febdbe5dba325bce)) +* add minzoom to cafe_pub ([e2d3a71](https://github.com/USERNAME/REPOSITORY_NAME/commitse2d3a71c5b3a15b5a21db112baaf5a13dec55a3c)) +* add minzoom to ski_piste and aerialway, fix [#1876](https://github.com/pietervdvn/MapComplete/issues/1876) ([d7982bf](https://github.com/USERNAME/REPOSITORY_NAME/commitsd7982bfd3e92a863e33e9154b2c9c4044cdb4951)) +* add missing assets ([bc826be](https://github.com/USERNAME/REPOSITORY_NAME/commitsbc826bebed2c0f073da3163994be818d1c41c6f5)) +* Add more memorial types, add freeform option, fix [#1824](https://github.com/pietervdvn/MapComplete/issues/1824) ([b0d0436](https://github.com/USERNAME/REPOSITORY_NAME/commitsb0d0436ebe79a44c1bfc6880ecbef66f85e159be)) +* add more options for support in advertisement, add presets ([c26225c](https://github.com/USERNAME/REPOSITORY_NAME/commitsc26225ccf11987f8a2cbdf45820a2310428cf1c0)) +* add more questions about drinking water ([9fabab3](https://github.com/USERNAME/REPOSITORY_NAME/commits9fabab3588a7cdc3d04bcbae19b6868694bbc95f)) +* add mountain rescue stations to the ski map ([04509bc](https://github.com/USERNAME/REPOSITORY_NAME/commits04509bc3e7783f55e593679ddfba2263ecf7f3de)) +* add name and title to assembly_point and disaster_response layers ([f087012](https://github.com/USERNAME/REPOSITORY_NAME/commitsf08701211632b8f8f35597d908160f8460934e04)) +* add open love map, see https://github.com/thomersch/OpenLoveMap/issues/21 ([d6a55a5](https://github.com/USERNAME/REPOSITORY_NAME/commitsd6a55a5ee9ef03c0a813b0d95dffa42cb0b4955d)) +* add operator question to bicycle parking ([ea00c71](https://github.com/USERNAME/REPOSITORY_NAME/commitsea00c717de78c06ded81fae56be1a05b8e50ae37)) +* add OSM-carto again, fix [#1664](https://github.com/pietervdvn/MapComplete/issues/1664) ([376a683](https://github.com/USERNAME/REPOSITORY_NAME/commits376a683cce13921e644364c8342362f3a21b3ab3)) +* add paid as option, fix [#2119](https://github.com/pietervdvn/MapComplete/issues/2119) ([a4018d8](https://github.com/USERNAME/REPOSITORY_NAME/commitsa4018d88b0f187b907c68a49dcfb496c0259bb91)) +* add payment options and internet to climbing theme ([2337033](https://github.com/USERNAME/REPOSITORY_NAME/commits23370336e81fa865a62507bb6f4de5030ad48bb5)) +* add payment options and internet to climbing theme ([1abcc76](https://github.com/USERNAME/REPOSITORY_NAME/commits1abcc766f98f27298eb82e70ad7c09520adb8377)) +* add possibility to add an icon to 'render' (just like with mappings), add contact:mastodon support as general question, add mastodon question to hackerspaces ([03aafbe](https://github.com/USERNAME/REPOSITORY_NAME/commits03aafbe99c0d9f4fa5768d18e7bde093529ce93f)) +* add possibility to enable terrain, some fixes to overlaymap and pitch control ([e3dec8a](https://github.com/USERNAME/REPOSITORY_NAME/commitse3dec8aafada699be3cddfc86aeb63938036e5c5)) +* add proper 'image along way' possibility ([584fb3c](https://github.com/USERNAME/REPOSITORY_NAME/commits584fb3cb57e77ea4382fda152d8604ef8293f9b1)) +* add question wether climbing ropes can be hired ([6425ad6](https://github.com/USERNAME/REPOSITORY_NAME/commits6425ad67e6a053e1b6cbbb038e0c544c0f07f10b)) +* Add rubber;tartan surface to playgrounds, add checkdate to playgrounds, add tartan to sport pitches ([7859e7d](https://github.com/USERNAME/REPOSITORY_NAME/commits7859e7d06990666c1c40756795f993949abef434)) +* add shoe repair services to the climbing map, add question if a shoemaker also repairs climbing shoes, add craft=shoemaker to shops theme ([3df5727](https://github.com/USERNAME/REPOSITORY_NAME/commits3df5727f40a29d190394c71cf99896261f78474d)) +* add short description to velopark ([50e3c54](https://github.com/USERNAME/REPOSITORY_NAME/commits50e3c5483461cd085d3207fbd96f5b7fdfaebe57)) +* add smoking to food-layer, fix [#1874](https://github.com/pietervdvn/MapComplete/issues/1874) ([f5a94c7](https://github.com/USERNAME/REPOSITORY_NAME/commitsf5a94c7b5f24c1846681f75f8f79bc1d870574c0)) +* add some icons ([48df237](https://github.com/USERNAME/REPOSITORY_NAME/commits48df2379bf013006aad7e7bd68977e7a55a670d3)) +* add speed_camera to surveillance theme, see [#1913](https://github.com/pietervdvn/MapComplete/issues/1913) ([9716bc5](https://github.com/USERNAME/REPOSITORY_NAME/commits9716bc5425967aa81b4885bff4063d8c0eebfd18)) +* add Stamen Watercolor again, see [#1652](https://github.com/pietervdvn/MapComplete/issues/1652) ([d997c90](https://github.com/USERNAME/REPOSITORY_NAME/commitsd997c90352a0d70f2cd33108af4de16f58444868)) +* add statistics on used version ([1a7acc8](https://github.com/USERNAME/REPOSITORY_NAME/commits1a7acc80c1933894aa71bdd9cdfc6bd6985f5a40)) +* add sugar_free, gluten_free and lactose-free to shops- and food-layers ([b06784e](https://github.com/USERNAME/REPOSITORY_NAME/commitsb06784e7a06aaeb40a375210bc95538a73db9aed)) +* add support for operator:email, mostly for velopark ([1c45f09](https://github.com/USERNAME/REPOSITORY_NAME/commits1c45f0963219f3aa743b2ddf9840e2d152b0fae5)) +* add toilet questions into indoor theme ([8f93b0d](https://github.com/USERNAME/REPOSITORY_NAME/commits8f93b0d398aa16caa6e9167d96b02c7fc45182a4)) +* add validation check if a mapping does not erase another mapping completely ([556f6d0](https://github.com/USERNAME/REPOSITORY_NAME/commits556f6d0b93aa7774b703e80590d2df1601d293c4)) +* add validation for duplicate presets, fix [#1582](https://github.com/pietervdvn/MapComplete/issues/1582) ([2e8a331](https://github.com/USERNAME/REPOSITORY_NAME/commits2e8a3311e76c9065338ffce1388658269a05e261)) +* add various services to hackerspaces and makerspaces, add icons, some fixes to make this work with expandRewrite ([8ceda1c](https://github.com/USERNAME/REPOSITORY_NAME/commits8ceda1cc5f7e549ccecc65b6469a7195de1022cc)) +* add velopark import functionality ([4c5ebf0](https://github.com/USERNAME/REPOSITORY_NAME/commits4c5ebf05f5d818abd622bf9d8c8a96926e36ddd6)) +* add velopark theme ([1c1cea7](https://github.com/USERNAME/REPOSITORY_NAME/commits1c1cea7f033ea19c74a6efb958a69a3a729bad3c)) +* add warning if a tagRendering can be replaced by a direct value ([79e40d0](https://github.com/USERNAME/REPOSITORY_NAME/commits79e40d0fee2e40b32babc218a374095f6ca520a5)) +* add wikipedia page for "subject:wikidata" on ghost bikes, specifically for the ghost bike of #Natenom ([d74cb00](https://github.com/USERNAME/REPOSITORY_NAME/commitsd74cb00df4fc55ca00082326da138b580fa39cc7)) +* add year to units ([c8eef2c](https://github.com/USERNAME/REPOSITORY_NAME/commitsc8eef2c8f6866ded26276250d422bd4a97e5b08c)) +* **advertising:** add (animated!) flag and screen icons ([090130d](https://github.com/USERNAME/REPOSITORY_NAME/commits090130d596bb5ab7d337c7c96a55b38ef6181231)) +* **advertising:** boards are never animated ([b92e9b8](https://github.com/USERNAME/REPOSITORY_NAME/commitsb92e9b815da3e1b15c9859f6d4726bac09307b7b)) +* **advertising:** Fix typos ([9e02c89](https://github.com/USERNAME/REPOSITORY_NAME/commits9e02c89fd5da5c7ad4623ed205ef610e4462b2a7)) +* **advertising:** further refinements ([8127027](https://github.com/USERNAME/REPOSITORY_NAME/commits81270272518012cf2023be2888d2faa444ee012f)) +* **advertising:** further refinements ([59eabc5](https://github.com/USERNAME/REPOSITORY_NAME/commits59eabc5daaa675880e1b684c3d8b4d3f0c1139ac)) +* **advertising:** last icon ([3e72ba2](https://github.com/USERNAME/REPOSITORY_NAME/commits3e72ba2b464c819a09956fa22bb321ed68fe34a3)) +* **advertising:** more icons, reordering of the questions ([7fc0770](https://github.com/USERNAME/REPOSITORY_NAME/commits7fc0770488ba99ea2d7aab658933d6e22c62cb3e)) +* align iconbadge, fix [#1893](https://github.com/pietervdvn/MapComplete/issues/1893) ([ba098fc](https://github.com/USERNAME/REPOSITORY_NAME/commitsba098fc29ac4ea46b0ff19a918282b4f81fe8f10)) +* allow multiple internet access types ([786b850](https://github.com/USERNAME/REPOSITORY_NAME/commits786b850dbeff9a92f761e65cd01a0e948140f37d)) +* allow to add multiple changing table locations, see [#1756](https://github.com/pietervdvn/MapComplete/issues/1756) ([c62f7cc](https://github.com/USERNAME/REPOSITORY_NAME/commitsc62f7cce01da15ef3f123b95e08056ca5019b7c9)) +* allow to add pictures to a 'shelter' ([39c079d](https://github.com/USERNAME/REPOSITORY_NAME/commits39c079db45aaadf98bf651d66d6bd88dbbe04bb2)) +* Allow to delete tourism accomodation ([60eeab9](https://github.com/USERNAME/REPOSITORY_NAME/commits60eeab9aa79ab1a5fc65b7f5e6efb2ebb0b6e55e)) +* allow to have a non-number type together with a unit ([4ccfe3e](https://github.com/USERNAME/REPOSITORY_NAME/commits4ccfe3efe446b407be1ca53d4ad2c3ee6fdde0b4)) +* allow to move a shelter ([565dee8](https://github.com/USERNAME/REPOSITORY_NAME/commits565dee8854f605ea40570c0c82d225935e11dba0)) +* allow to move and delete pharmacies ([5e95bd9](https://github.com/USERNAME/REPOSITORY_NAME/commits5e95bd99a2dcf424acbcad85aa96a3a36bd612a8)) +* allow to move hydrants ([432f244](https://github.com/USERNAME/REPOSITORY_NAME/commits432f24456d75e131425f0f1fe0df15c448f593ef)) +* also ask about menstrual products for toilet_at_amenity ([ae7cc95](https://github.com/USERNAME/REPOSITORY_NAME/commitsae7cc95727bc33c6d67a2ef24d2a2e0c2e3c3214)) +* also show 'operator:website' and 'contact:website' as title icon if they are available ([8526f4e](https://github.com/USERNAME/REPOSITORY_NAME/commits8526f4e94140132c8abe880b93cbc45780f9686b)) +* automatically derive source from presets if no source is given ([0689758](https://github.com/USERNAME/REPOSITORY_NAME/commits06897588be3e56570b973c8db08fce1e13b29c7b)) +* automatically derive source from presets if no source is given ([8e18864](https://github.com/USERNAME/REPOSITORY_NAME/commits8e18864daa9d19c2d9ccc2eb6a8ee408e7038d5e)) +* bench.json: decrease minzoom ([5b33d88](https://github.com/USERNAME/REPOSITORY_NAME/commits5b33d88ffbff285849d7bf5896df8e8e2e547cef)) +* better support billboard on walls ([8816ad0](https://github.com/USERNAME/REPOSITORY_NAME/commits8816ad03ecaedfe248fff1b7b101a266a9a6f444)) +* better support billboard on walls ([0a1c90b](https://github.com/USERNAME/REPOSITORY_NAME/commits0a1c90be9e1515b2f708e0f672b0732c7356101b)) +* bicycle library: allow move, fix [#1768](https://github.com/pietervdvn/MapComplete/issues/1768) ([7ac84dd](https://github.com/USERNAME/REPOSITORY_NAME/commits7ac84dd675a68f47b6af0465e337561aa0dc9586)) +* bicycle parking: add lockers as options, add operator:website (velopark features) ([22721cd](https://github.com/USERNAME/REPOSITORY_NAME/commits22721cd3ef604255bc88d5be995d0f2d65e68a83)) +* change minzoom of second hand shops in circular economy ([0b2e878](https://github.com/USERNAME/REPOSITORY_NAME/commits0b2e878481e3cc32b7b37c8cdb28251daa1b02d7)) +* Change text type ([c9751a3](https://github.com/USERNAME/REPOSITORY_NAME/commitsc9751a3eb570f1865966fa3861fac5ff5c761f1a)) +* description is now a textarea ([0c1b5d1](https://github.com/USERNAME/REPOSITORY_NAME/commits0c1b5d1b6c0d12914845a19692670bd1931f532c)) +* disable 'direction'-indicator for surveillance theme as it breaks selection, fix [#1458](https://github.com/pietervdvn/MapComplete/issues/1458) ([9e15353](https://github.com/USERNAME/REPOSITORY_NAME/commits9e15353588009e39cf4a8bc2569748f40759609a)) +* disable 'disused' from delete config, delete less fast for shops but use softdeletion instead ([28e737e](https://github.com/USERNAME/REPOSITORY_NAME/commits28e737ed2eb6a3934fb650df9b1939a25f954d8c)) +* disable maxspeed and cycleway question for pedestrian roads ([e580f55](https://github.com/USERNAME/REPOSITORY_NAME/commitse580f553197165d611258b8c68ed9f9a66ca42c4)) +* don't count food for fritures ([98d441a](https://github.com/USERNAME/REPOSITORY_NAME/commits98d441a2602c360136db9f9cc883d2ef734137e5)) +* don't enforce 'allowMove' on unofficial themes ([5b45e42](https://github.com/USERNAME/REPOSITORY_NAME/commits5b45e427a0185e224446aeecfe99e87d6077379a)) +* don't inline text fields if they don't have text around them ([821ddcf](https://github.com/USERNAME/REPOSITORY_NAME/commits821ddcfaca11ca194b319bfa09f8b0a9fea01a41)) +* don't show 'mark as unknown' if this would break the source-filter ([76a9a2e](https://github.com/USERNAME/REPOSITORY_NAME/commits76a9a2ee23dcf61097d33fcbe556df7a46d9a395)) +* don't show favourite icon if not logged in ([b1d94b2](https://github.com/USERNAME/REPOSITORY_NAME/commitsb1d94b2121195a52ced59454b51844412b9018f3)) +* don't show opening_hours_state title icon if seasonal is set and the item is closed due to seasonal restrictions ([1748e98](https://github.com/USERNAME/REPOSITORY_NAME/commits1748e98bfc714e147c12b8fc233432412ed186c2)) +* don't use 'Yes' or 'No' as start ([f87e735](https://github.com/USERNAME/REPOSITORY_NAME/commitsf87e73596e65a12b7fb88456dfb21dcc1eb8a850)) +* elevators: first ask if there is speech output/tactile writing before asking the relative languages ([8acaafe](https://github.com/USERNAME/REPOSITORY_NAME/commits8acaafe307826ac682f25eaa0b188278ca4056fe)) +* enable 'guideposts' in nature theme ([94291de](https://github.com/USERNAME/REPOSITORY_NAME/commits94291de5a3451120b6abdb153ba57675949d3d5b)) +* enable 'speciality'-filter in doctors, decrease minzoom ([4090a74](https://github.com/USERNAME/REPOSITORY_NAME/commits4090a7493253e2b5513307d013d0a0061394aed6)) +* enable deletion of bike_cafes ([90c44cc](https://github.com/USERNAME/REPOSITORY_NAME/commits90c44cc8bdfb7b2447f1974ed94430e5b2fa3c6f)) +* enable download functionality by default ([5504d49](https://github.com/USERNAME/REPOSITORY_NAME/commits5504d49d595fee66f0c43f3efbf6f130634497be)) +* enable move on schools, tweak GRB for performance ([db98288](https://github.com/USERNAME/REPOSITORY_NAME/commitsdb982884a1eea2a6e37d67129256f9c6b192a841)) +* enable reviews for climbing areas and gyms ([2a3a78b](https://github.com/USERNAME/REPOSITORY_NAME/commits2a3a78bc69eea38a83378f02717bc9fdc1cd5414)) +* enable reviews on pharmacies-theme ([701f033](https://github.com/USERNAME/REPOSITORY_NAME/commits701f03397e0339cba98fc776f06b38ccb13511b2)) +* enable snapping for facade gardens ([da68d36](https://github.com/USERNAME/REPOSITORY_NAME/commitsda68d365feab19a94ea85b2a756e3336bfb8b127)) +* exclude 'advertising=no' from loading, fix [#1865](https://github.com/pietervdvn/MapComplete/issues/1865) ([eef9918](https://github.com/USERNAME/REPOSITORY_NAME/commitseef99186cfbc46b57a97d2df78c8ef9c69a4609b)) +* exclude route relations from "toilets=yes". There are a few route relations with 'toilets' and those choke up MapComplete ([139b014](https://github.com/USERNAME/REPOSITORY_NAME/commits139b014c6c1f34fff08210c1c4915ea79534086c)) +* explicitly set 'allowMove' for all layers, fix [#2121](https://github.com/pietervdvn/MapComplete/issues/2121) ([468b895](https://github.com/USERNAME/REPOSITORY_NAME/commits468b895302fff50bc68cbdf72998bc08590307d0)) +* extract layers from camperssite ([82e6b2a](https://github.com/USERNAME/REPOSITORY_NAME/commits82e6b2af9b564117ebb5714b8a795b759ebf528d)) +* extract layers from camperssite ([44f42ee](https://github.com/USERNAME/REPOSITORY_NAME/commits44f42ee2c946d3f37224ca41f603e9c907ed5214)) +* first version of circular economy theme ([592be68](https://github.com/USERNAME/REPOSITORY_NAME/commits592be68f09b06f22d45d5d5c274c91315d1613f7)) +* fix [#1362](https://github.com/pietervdvn/MapComplete/issues/1362) ([ff9ca5e](https://github.com/USERNAME/REPOSITORY_NAME/commitsff9ca5e5cd6abde6c578ae442fe0d06217015288)) +* fix [#1866](https://github.com/pietervdvn/MapComplete/issues/1866) ([1cf7119](https://github.com/USERNAME/REPOSITORY_NAME/commits1cf71197f51646cfceb4b58267cf1bdd2223e12f)) +* fix [#1910](https://github.com/pietervdvn/MapComplete/issues/1910) ([b484ea0](https://github.com/USERNAME/REPOSITORY_NAME/commitsb484ea005b6b91bad729b7b1923f71b8fc893870)) +* fix badge, fix [#1894](https://github.com/pietervdvn/MapComplete/issues/1894) ([a2279ac](https://github.com/USERNAME/REPOSITORY_NAME/commitsa2279ac28bfb1d5dbc0ac47c2762a9104e4e54c5)) +* fix calculated tags of climbing theme ([f800545](https://github.com/USERNAME/REPOSITORY_NAME/commitsf80054558fe8422c7c1dfa9e277bd772f157f436)) +* fix compilation ([c300d90](https://github.com/USERNAME/REPOSITORY_NAME/commitsc300d901284dfbf05c5044da46e12ec8ca4469d1)) +* fix conversion for legacy themes ([21c35fc](https://github.com/USERNAME/REPOSITORY_NAME/commits21c35fc2c56eea64d18ee0fc18d65b2cdb913c82)) +* fix cycle rental which dissappears ([efce134](https://github.com/USERNAME/REPOSITORY_NAME/commitsefce134a6cc90d4c3794cac91fc0a9da10fdd3b1)) +* fix cycle_highways ([61575a9](https://github.com/USERNAME/REPOSITORY_NAME/commits61575a9909d8c0206e45a8106ef369ef616f45d7)) +* fix icon for shops layer ([d9d8c0a](https://github.com/USERNAME/REPOSITORY_NAME/commitsd9d8c0ad1f0af64f6d08364a6c64f59b748f001a)) +* fix incorrect argument, might fix [#1881](https://github.com/pietervdvn/MapComplete/issues/1881) ([209cfe6](https://github.com/USERNAME/REPOSITORY_NAME/commits209cfe6b733b849e85854d7ab3eaf4987116226f)) +* fix internet question ([b132590](https://github.com/USERNAME/REPOSITORY_NAME/commitsb13259083a8d7c3b42e4df618b88de06b00f1041)) +* fix overrides, fix [#1705](https://github.com/pietervdvn/MapComplete/issues/1705) ([3334bfb](https://github.com/USERNAME/REPOSITORY_NAME/commits3334bfb8cae9a2c326764e7375829769ac96c400)) +* fix rendering of charging station ([0c52051](https://github.com/USERNAME/REPOSITORY_NAME/commits0c5205136b1a18ee91df65de52e9e60f2036d3b7)) +* fix some isCounted-typos ([20a462f](https://github.com/USERNAME/REPOSITORY_NAME/commits20a462fdf5683587e50b42171c109e87eb193422)) +* fix titles and names for assembly points and disaster_response ([170c459](https://github.com/USERNAME/REPOSITORY_NAME/commits170c4592d13929810f6e822592cd1e2d1e83a1ac)) +* fix typo in soft-deletion tag ([5f62712](https://github.com/USERNAME/REPOSITORY_NAME/commits5f627124e98e98f25e9e5a834f56e906237e0241)) +* fix validation errors due to [#1779](https://github.com/pietervdvn/MapComplete/issues/1779) ([707d996](https://github.com/USERNAME/REPOSITORY_NAME/commits707d99619d7b5fa90891e93d5641f52715f04beb)) +* fix: don't show irrelevant 'multilevel'-question anymore ([b5fca68](https://github.com/USERNAME/REPOSITORY_NAME/commitsb5fca68a82d529bd10f56ba0dd63d27ae11ea2a5)) +* ghost signs: add wall-based artworks to be able to mark them as ghost sign and to avoid duplicates ([e68edeb](https://github.com/USERNAME/REPOSITORY_NAME/commitse68edeb29fa604daee0c7638999bcebab2fd7b11)) +* ghost signs: add wall-based artworks to be able to mark them as ghost sign and to avoid duplicates ([8f95e85](https://github.com/USERNAME/REPOSITORY_NAME/commits8f95e8520a751ef9fef8cc7a8810322117c7b6c1)) +* hackerspaces: more workshop types ([70fa180](https://github.com/USERNAME/REPOSITORY_NAME/commits70fa180b6a1e1a0db4e54f623797c05847b7face)) +* Hide bike cleaning cost if we don't know if there is a bike cleaning service ([87aee9e](https://github.com/USERNAME/REPOSITORY_NAME/commits87aee9e2b72013e387fd3c196a9940bf477743c8)) +* improve 'auto-type' special visualisation ([658db35](https://github.com/USERNAME/REPOSITORY_NAME/commits658db3561722ec5d220043969ed1154c9e7411af)) +* improve 'tourism-accomodation', add many more categories as some people are using 'hotels' to also add other categories (see https://wiki.openstreetmap.org/wiki/Organised_Editing/Activities/Trziste_prace) ([53ffa06](https://github.com/USERNAME/REPOSITORY_NAME/commits53ffa06a49a670ff23e605595aea7919c84f20b5)) +* improve 'tourism-accomodation', add many more categories as some people are using 'hotels' to also add other categories (see https://wiki.openstreetmap.org/wiki/Organised_Editing/Activities/Trziste_prace) ([bc54f79](https://github.com/USERNAME/REPOSITORY_NAME/commitsbc54f797d792ebeac4b043612df9682a1a4c79c6)) +* improve ability of 'rewrite' config ([f015604](https://github.com/USERNAME/REPOSITORY_NAME/commitsf015604000e09b81625d8dc5617e7c999b27fc74)) +* improve advertising theme, see [#1866](https://github.com/pietervdvn/MapComplete/issues/1866), translation reset for new presets ([05bba07](https://github.com/USERNAME/REPOSITORY_NAME/commits05bba071dc44897fe795974a39d472159cbaadd4)) +* improve atm opening hours, add reviews to playgrounds ([9ce60b6](https://github.com/USERNAME/REPOSITORY_NAME/commits9ce60b6ffb175803fde11b9116a0e1390ade766c)) +* improve benches ([9e10bf4](https://github.com/USERNAME/REPOSITORY_NAME/commits9e10bf421f9bcd1cadec10638eb520132c647c64)) +* improve error messages ([6897b88](https://github.com/USERNAME/REPOSITORY_NAME/commits6897b888170399db9a5d4e649d89dee2f9d0b30f)) +* improve favourite panel ([59090fd](https://github.com/USERNAME/REPOSITORY_NAME/commits59090fdb39a864b7d8b64a26fe35e98eacfa2121)) +* improve information about indoor rooms ([47bf119](https://github.com/USERNAME/REPOSITORY_NAME/commits47bf1195bcc198446c35b31ebd7d446efde7dd9d)) +* improve velopark usability ([c1003f8](https://github.com/USERNAME/REPOSITORY_NAME/commitsc1003f8fe79c4a2ce820d9764b51a4a25b6e7bbd)) +* improvements to BBQ, different icons, add some questions, remove 'unknown'-options ([2db0b1a](https://github.com/USERNAME/REPOSITORY_NAME/commits2db0b1afcbbf7c8d8e6174080a1e62295c223e87)) +* improvements to memorial theme ([59f56bd](https://github.com/USERNAME/REPOSITORY_NAME/commits59f56bd251c2523cb81ca07c74f9107c70560869)) +* include love hotels in regular hotels theme (with a high minzoom) ([d48b8af](https://github.com/USERNAME/REPOSITORY_NAME/commitsd48b8aff922e3478a62ecc3e92f92b750e8eef8f)) +* lint layers to use an array instead of a string for 'snapToLayers' ([d534842](https://github.com/USERNAME/REPOSITORY_NAME/commitsd534842d050f046ac5187ff8386c9edf052cdd23)) +* make filters of public bookcase translatable ([7b3d07e](https://github.com/USERNAME/REPOSITORY_NAME/commits7b3d07e5c489c0d139543cb7e5481e522b435b12)) +* make the selected note pulsate and have a different border when selected ([83fc189](https://github.com/USERNAME/REPOSITORY_NAME/commits83fc189fd332c0df2dc719a7ba676f3fad7cca32)) +* more questions about climbing services ([3769bd1](https://github.com/USERNAME/REPOSITORY_NAME/commits3769bd1c4fc7976d8d980f049ca6a3ecbc8710f1)) +* move all bike_shop questions into shops, reuse shops layer instead ([3c16e3d](https://github.com/USERNAME/REPOSITORY_NAME/commits3c16e3de686a903c1807d7a3a1397c6f350c8476)) +* move some bicycle shop questions into the shops-layer so that those questions are asked there as well (and that both layers can be unified) ([6cd7828](https://github.com/USERNAME/REPOSITORY_NAME/commits6cd7828ed3576dd8abf36c24032f9ec1d4966684)) +* move tagRenderings+ above leftover-questions ([f2f041f](https://github.com/USERNAME/REPOSITORY_NAME/commitsf2f041f9d0bfb557588ccd90b1d710498aa8edc0)) +* only add rating-title-icon if 'review_list()' is used in the layer ([6c75553](https://github.com/USERNAME/REPOSITORY_NAME/commits6c75553f3fec7642c7bbb75d999781126a344065)) +* phone validation now knows about some short-codes ([38b9523](https://github.com/USERNAME/REPOSITORY_NAME/commits38b9523b835b72bfe9f068b55015d8f7868951c9)) +* pin more markers to new icon ([04ee3dc](https://github.com/USERNAME/REPOSITORY_NAME/commits04ee3dc32c7b1e8c6690a91624530309df65e813)) +* properly show the name of the hospital ([9739973](https://github.com/USERNAME/REPOSITORY_NAME/commits9739973f2e9e1c98e0ae6ea58f55bf8588a9de14)) +* re-enable terrain ([94bc6ee](https://github.com/USERNAME/REPOSITORY_NAME/commits94bc6ee31d36c56c31090ea07c7f2baecff99eb1)) +* remove obsolete fields from drinking water theme ([66cc615](https://github.com/USERNAME/REPOSITORY_NAME/commits66cc615805246100634aaccd8426c59eec5c03ce)) +* remove obsolete SOTM-events, fix [#1909](https://github.com/pietervdvn/MapComplete/issues/1909) ([5659dd8](https://github.com/USERNAME/REPOSITORY_NAME/commits5659dd8e8c2a1fbf596cf9fa2e3cb56ed2d95349)) +* remove unneeded invalidValues ([4fe0c41](https://github.com/USERNAME/REPOSITORY_NAME/commits4fe0c41628ae0a9dc6985a10bb396ea96534dde9)) +* show capacity:cargo_bike, allow to erase it ([58dfb93](https://github.com/USERNAME/REPOSITORY_NAME/commits58dfb93818e6f737b93c406b25bf4eb3c0572d7c)) +* show keycutting service question ([5bcc617](https://github.com/USERNAME/REPOSITORY_NAME/commits5bcc617d22ce6596f48f8e68a21910cd744c4682)) +* show maproulette marker in linking menu ([e327d38](https://github.com/USERNAME/REPOSITORY_NAME/commitse327d385d126864bb5e3ba17e3f3b2ff2fd7b5ae)) +* show maproulette marker in linking menu ([ac6fdde](https://github.com/USERNAME/REPOSITORY_NAME/commitsac6fdde785ddf11b833501ac3de6c4a9bf84201d)) +* show maproulette marker in linking menu ([8a4e2d8](https://github.com/USERNAME/REPOSITORY_NAME/commits8a4e2d8cb56c28b38ac03262dbfd76f874d3f2ef)) +* show toilets only from zoomlevel >= 15 ([6760897](https://github.com/USERNAME/REPOSITORY_NAME/commits6760897a6f6427755b63c8cc7da37b9d39279083)) +* small tweaks to fitness stations ([3f4410f](https://github.com/USERNAME/REPOSITORY_NAME/commits3f4410ff19e71c02e59df5fbe1ef77bcb2a53224)) +* tweak zoomlevels ([303d3a0](https://github.com/USERNAME/REPOSITORY_NAME/commits303d3a0337afc388ed2158ab008a8a17684c6530)) +* Update climbing_route.json: add snap to layer ([193b8b4](https://github.com/USERNAME/REPOSITORY_NAME/commits193b8b4672405abe0e54d3143c9faec88733e450)) +* Update climbing.json: add layers ([bb9b1df](https://github.com/USERNAME/REPOSITORY_NAME/commitsbb9b1df4e0b26fff0a0e2e513b544c910f046f86)) +* update some default background layers ([a855840](https://github.com/USERNAME/REPOSITORY_NAME/commitsa85584040d436012e3c68fe85e54e490529388db)) +* update tagging of climbing shoe repair ([d1aa751](https://github.com/USERNAME/REPOSITORY_NAME/commitsd1aa751e1831cd1090ea5a738462b052fad2a4d9)) +* Update velopark description ([9083e89](https://github.com/USERNAME/REPOSITORY_NAME/commits9083e8954971ad4bed1914bc7cd5c30397b23895)) +* validate that a background layer actually exists, fix current-view button (GRB) ([fc483ed](https://github.com/USERNAME/REPOSITORY_NAME/commitsfc483ed54776ed78efb9d9f4b2b868ac85a0e6b3)) +* validate that a background layer actually exists, fix current-view button (GRB) ([eb6194b](https://github.com/USERNAME/REPOSITORY_NAME/commitseb6194bf8f1752a7ef80583d8b878f75c146c7f8)) +* various fixes to velopark, see [#1783](https://github.com/pietervdvn/MapComplete/issues/1783) ([2583fee](https://github.com/USERNAME/REPOSITORY_NAME/commits2583feef65e18f786253c93123e22d111e992ccf)) +* various improvements ([d4895a0](https://github.com/USERNAME/REPOSITORY_NAME/commitsd4895a098916183cef47f5dc79d1870b99472be3)) +* velopark: reorder attributes for a clearer view ([0929b55](https://github.com/USERNAME/REPOSITORY_NAME/commits0929b55b0807eb8cd9dea188d03339facf1113ce)) +* vending machines: add meat as option, add operator phone number, add 'condom' icon, fix [#1584](https://github.com/pietervdvn/MapComplete/issues/1584) ([86d0e5d](https://github.com/USERNAME/REPOSITORY_NAME/commits86d0e5dc745805772f248d67eddfec88095657a6)) + ### [0.46.6](https://github.com/USERNAME/REPOSITORY_NAME/compare/v0.46.7...v0.46.6) (2024-09-13) ### [0.46.7](https://github.com/USERNAME/REPOSITORY_NAME/compare/v0.46.6...v0.46.7) (2024-09-13) diff --git a/package-lock.json b/package-lock.json index 091df2396..6c31a7aed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.46.6", + "version": "0.46.7", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.46.6", + "version": "0.46.7", "license": "GPL-3.0-or-later", "dependencies": { "@comunica/core": "^3.0.1", diff --git a/package.json b/package.json index 061528078..439f71e9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.46.6", + "version": "0.46.7", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", From 849809ec35d78f7e6452067d20270dcbede7788b Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 13:42:50 +0200 Subject: [PATCH 31/37] Chore: add changelog management scripts --- package.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/package.json b/package.json index 439f71e9b..6c6f9dbfb 100644 --- a/package.json +++ b/package.json @@ -120,6 +120,11 @@ "generate:schemas": "ts2json-schema -p src/Models/ThemeConfig/Json/ -o Docs/Schemas/ -t tsconfig.json -R . -m \".*ConfigJson\" && echo 'tsjson is done' && vite-node scripts/fixSchemas.ts ", "reuse-compliance": "reuse lint", "housekeeping": "git pull && npx update-browserslist-db@latest && npm run weblate:merge-heavy && npm run generate && npm run generate:docs && npm run generate:schemas && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && vite-node scripts/generateSunnyUnlabeled.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'", + "###": "Version management", + "release": "standard-version", + "release:minor": "standard-version --release-as minor", + "release:patch": "standard-version --release-as patch", + "release:major": "standard-version --release-as major", "###": "MICROSERVICES AND SERVER MAINTAINENCE", "server:summary": "vite-node scripts/osm2pgsql/tilecountServer.ts", "server:ldjson": "vite-node scripts/serverLdScrape.ts", From da001525dd993c2dcd6051d72c9675f72d9bae38 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 20:06:49 +0200 Subject: [PATCH 32/37] Chore: add versionrc file --- .versionrc.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .versionrc.json diff --git a/.versionrc.json b/.versionrc.json new file mode 100644 index 000000000..2b2d18d0f --- /dev/null +++ b/.versionrc.json @@ -0,0 +1,15 @@ +{ + "types": [ + {"type": "feat", "section": "Features"}, + {"type": "fix", "section": "Bug Fixes"}, + {"type": "themes", "section": "Theme improvements"}, + {"type": "chore", "hidden": true}, + {"type": "docs", "hidden": true}, + {"type": "style", "hidden": true}, + {"type": "refactor", "hidden": true}, + {"type": "perf", "hidden": true}, + {"type": "test", "hidden": true} + ], + "commitUrlFormat": "https://github.com/USERNAME/REPOSITORY_NAME/commits{{hash}}", + "compareUrlFormat": "https://github.com/USERNAME/REPOSITORY_NAME/compare/{{previousTag}}...{{currentTag}}" + } From 694753f3dc1abc8f0b4c3863ba448a260124e397 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 20:08:42 +0200 Subject: [PATCH 33/37] chore(release): 0.46.8 --- CHANGELOG.md | 8 ++++++++ package-lock.json | 4 ++-- package.json | 5 ++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8484bf81..2c01a70c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ 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.46.8](https://github.com/USERNAME/REPOSITORY_NAME/compare/v0.46.7...v0.46.8) (2024-09-13) + + +### Theme improvements + +* improve note theme, fix [#2088](https://github.com/pietervdvn/MapComplete/issues/2088) ([e8099b9](https://github.com/USERNAME/REPOSITORY_NAME/commitse8099b9081ae25ff37f2b7a491f9301a29772080)) +* update safe_loops svg ([70117ac](https://github.com/USERNAME/REPOSITORY_NAME/commits70117ac6874ec860a6f2497c2230d29248de71a7)) + ### 0.46.7 (2024-09-13) diff --git a/package-lock.json b/package-lock.json index 6c31a7aed..a42d04cf4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.46.7", + "version": "0.46.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.46.7", + "version": "0.46.8", "license": "GPL-3.0-or-later", "dependencies": { "@comunica/core": "^3.0.1", diff --git a/package.json b/package.json index a66b5734b..c8ca8d9c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.46.7", + "version": "0.46.8", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", @@ -120,12 +120,11 @@ "generate:schemas": "ts2json-schema -p src/Models/ThemeConfig/Json/ -o Docs/Schemas/ -t tsconfig.json -R . -m \".*ConfigJson\" && echo 'tsjson is done' && vite-node scripts/fixSchemas.ts ", "reuse-compliance": "reuse lint", "housekeeping": "git pull && npx update-browserslist-db@latest && npm run weblate:merge-heavy && npm run generate && npm run generate:docs && npm run generate:schemas && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && vite-node scripts/generateSunnyUnlabeled.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'", - "###": "Version management", + "###": "MICROSERVICES AND SERVER MAINTAINENCE", "release": "standard-version", "release:minor": "standard-version --release-as minor", "release:patch": "standard-version --release-as patch", "release:major": "standard-version --release-as major", - "###": "MICROSERVICES AND SERVER MAINTAINENCE", "server:summary": "vite-node scripts/osm2pgsql/tilecountServer.ts", "server:ldjson": "vite-node scripts/serverLdScrape.ts", "server:studio": "vite-node scripts/studioServer -- /root/git/MapComplete/assets", From 89a20ca1af2ebd5101be1de731e0786e4094c23c Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 20:22:03 +0200 Subject: [PATCH 34/37] UX: improve padding to prevent fat-fingers --- .versionrc.json | 7 +++++++ src/UI/Popup/TagRendering/TagRenderingQuestion.svelte | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.versionrc.json b/.versionrc.json index 2b2d18d0f..d5091248b 100644 --- a/.versionrc.json +++ b/.versionrc.json @@ -3,6 +3,13 @@ {"type": "feat", "section": "Features"}, {"type": "fix", "section": "Bug Fixes"}, {"type": "themes", "section": "Theme improvements"}, + {"type": "UX", + "section": "User experience improvements" + }, + { + "type": "UI", + "section": "User interface improvements" + }, {"type": "chore", "hidden": true}, {"type": "docs", "hidden": true}, {"type": "style", "hidden": true}, diff --git a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte index c7ba6155a..4d87e56cb 100644 --- a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte +++ b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte @@ -343,7 +343,7 @@ {#if question !== undefined}
{ /*onSave(); This submit is not needed and triggers too early, causing bugs: see #1808*/ @@ -351,7 +351,7 @@ >
-
+
@@ -557,7 +557,7 @@ {/if} -
+
@@ -590,7 +590,7 @@ {#if $featureSwitchIsTesting} -
Testmode  
+
Testmode  
{/if} {#if $featureSwitchIsTesting || $featureSwitchIsDebugging} console.log("Configuration is ", config)}> From c3bb0cb83787c299ee4a92e8df6046aa448d77c8 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 20:37:14 +0200 Subject: [PATCH 35/37] Fix: nobrand= is actually applied when using the Name suggestion index --- src/Models/ThemeConfig/TagRenderingConfig.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Models/ThemeConfig/TagRenderingConfig.ts b/src/Models/ThemeConfig/TagRenderingConfig.ts index e2a4c1538..153abe36c 100644 --- a/src/Models/ThemeConfig/TagRenderingConfig.ts +++ b/src/Models/ThemeConfig/TagRenderingConfig.ts @@ -926,7 +926,7 @@ export default class TagRenderingConfig { * Might give undefined if setting to unknown is not possible */ public removeToSetUnknown(partOfLayer: LayerConfig, currentTags: Record): string[] | undefined { - if(!partOfLayer?.source || !currentTags){ + if (!partOfLayer?.source || !currentTags) { return } const toDelete = new Set() @@ -1001,12 +1001,17 @@ export class TagRenderingConfigUtils { // The original mappings get "priorityIf" set const oldMappingsCloned = clone.mappings?.map( - (m) => - { + (m) => { + const mapping = { ...m, - addExtraTags: [new Tag("nobrand", "")], priorityIf: m.priorityIf ?? TagUtils.Tag("id~*"), - }, + } + if (m.if.usedKeys().indexOf("nobrand") < 0) { + // Erase 'nobrand=yes', unless this option explicitly sets it + mapping["addExtraTags"] = [new Tag("nobrand", "")] + } + return mapping + }, ) ?? [] clone.mappings = [...oldMappingsCloned, ...extraMappings] return clone From 55f626bb03cece9b420d141f8734f59e493f6fa5 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 21:00:24 +0200 Subject: [PATCH 36/37] Perf: WikidataImageProvider.ts doesn't try to download information about mapillary images anymore --- src/Logic/ImageProviders/WikidataImageProvider.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Logic/ImageProviders/WikidataImageProvider.ts b/src/Logic/ImageProviders/WikidataImageProvider.ts index ab5017c73..ded3396da 100644 --- a/src/Logic/ImageProviders/WikidataImageProvider.ts +++ b/src/Logic/ImageProviders/WikidataImageProvider.ts @@ -4,11 +4,14 @@ import { WikimediaImageProvider } from "./WikimediaImageProvider" import Wikidata from "../Web/Wikidata" import SvelteUIElement from "../../UI/Base/SvelteUIElement" import * as Wikidata_icon from "../../assets/svg/Wikidata.svelte" +import { Utils } from "../../Utils" export class WikidataImageProvider extends ImageProvider { public static readonly singleton = new WikidataImageProvider() public readonly defaultKeyPrefixes = ["wikidata"] public readonly name = "Wikidata" + private static readonly keyBlacklist: ReadonlySet = new Set( + ["mapillary", ...Utils.Times(i => "mapillary:" + i, 10)]) private constructor() { super() @@ -23,6 +26,9 @@ export class WikidataImageProvider extends ImageProvider { } public async ExtractUrls(key: string, value: string): Promise[]> { + if (WikidataImageProvider.keyBlacklist.has(key)) { + return [] + } const entity = await Wikidata.LoadWikidataEntryAsync(value) if (entity === undefined) { return [] From 03978631ebd1e61abd13dd7a53bdb400c3d0f059 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 21:00:41 +0200 Subject: [PATCH 37/37] Fix: scroll horizontal images into view --- src/Utils.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Utils.ts b/src/Utils.ts index 99674d926..8203014a7 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -1452,6 +1452,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be if (!element) { return } + console.log("Scrolling into view:", element) // Is the element completely in the view? const parentRect = Utils.findParentWithScrolling(element)?.getBoundingClientRect() if (!parentRect) { @@ -1462,7 +1463,9 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be // Check if the element is within the vertical bounds of the parent element const topIsVisible = elementRect.top >= parentRect.top const bottomIsVisible = elementRect.bottom <= parentRect.bottom - const inView = topIsVisible && bottomIsVisible + const leftIsVisible = elementRect.left >= parentRect.left + const rightIsVisible = elementRect.right <= parentRect.right + const inView = topIsVisible && bottomIsVisible && leftIsVisible && rightIsVisible if (inView) { return }