From 95c4323630a8f6a78c21ec7cefe7fa8f4803c3d9 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 21 Jan 2025 22:39:22 +0100 Subject: [PATCH 1/3] Chore: fix tests --- assets/themes/pets/pets.json | 1 - src/Logic/Osm/OsmPreferences.ts | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/assets/themes/pets/pets.json b/assets/themes/pets/pets.json index 33df527900..942751adf4 100644 --- a/assets/themes/pets/pets.json +++ b/assets/themes/pets/pets.json @@ -117,7 +117,6 @@ "it": "Negozi che accettano i cani", "ko": "반려견 친화적 상점" }, - "pointRendering": [ { "iconBadges+": [ diff --git a/src/Logic/Osm/OsmPreferences.ts b/src/Logic/Osm/OsmPreferences.ts index 28cc4cccc6..374b55b0df 100644 --- a/src/Logic/Osm/OsmPreferences.ts +++ b/src/Logic/Osm/OsmPreferences.ts @@ -317,6 +317,10 @@ export class OsmPreferences { return } + if (Utils.runningFromConsole) { + return + } + if (this._fakeUser) { return } From a451fac8f2d6c5dabffccc2bc8411846e02876f6 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 22 Jan 2025 01:06:58 +0100 Subject: [PATCH 2/3] Fix: fix crash --- src/UI/SpecialVisualizations.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/UI/SpecialVisualizations.ts b/src/UI/SpecialVisualizations.ts index 358561e74d..8844bedbf5 100644 --- a/src/UI/SpecialVisualizations.ts +++ b/src/UI/SpecialVisualizations.ts @@ -3,11 +3,7 @@ import { FixedUiElement } from "./Base/FixedUiElement" import BaseUIElement from "./BaseUIElement" import Title from "./Base/Title" import { default as FeatureTitle } from "./Popup/Title.svelte" -import { - RenderingSpecification, - SpecialVisualization, - SpecialVisualizationState, -} from "./SpecialVisualization" +import { RenderingSpecification, SpecialVisualization, SpecialVisualizationState } from "./SpecialVisualization" import { HistogramViz } from "./Popup/HistogramViz" import MinimapViz from "./Popup/MinimapViz.svelte" import { ShareLinkViz } from "./Popup/ShareLinkViz" @@ -453,7 +449,7 @@ export default class SpecialVisualizations { assignTo: state.userRelatedState.language, availableLanguages: languages, preferredLanguages: state.osmConnection.userDetails.map( - (ud) => ud.languages + (ud) => ud?.languages ?? [] ), }) }) From b844a0700e32d52660bef09bc15d2439cf54e9c2 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 22 Jan 2025 01:24:21 +0100 Subject: [PATCH 3/3] Fix: also show default layers when loading an official theme via theme.html --- src/Logic/DetermineTheme.ts | 30 +++++++++++-------- .../ThemeConfig/Conversion/PrepareTheme.ts | 14 ++------- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/Logic/DetermineTheme.ts b/src/Logic/DetermineTheme.ts index f155b9b51c..5684d731c7 100644 --- a/src/Logic/DetermineTheme.ts +++ b/src/Logic/DetermineTheme.ts @@ -59,6 +59,21 @@ export default class DetermineTheme { return layoutConfig } + private static createConversionContext(): DesugaringContext { + const knownLayersDict = new Map() + for (const key in known_layers["layers"]) { + const layer = known_layers["layers"][key] + knownLayersDict.set(layer.id, layer) + } + const convertState: DesugaringContext = { + tagRenderings: DetermineTheme.getSharedTagRenderings(), + tagRenderingOrder: DetermineTheme.getSharedTagRenderingOrder(), + sharedLayers: knownLayersDict, + publicLayers: new Set() + } + return convertState + } + /** * Gets the correct layout for this website */ @@ -107,7 +122,8 @@ export default class DetermineTheme { "./assets/generated/themes/" + id + ".json", 1000 * 60 * 60 * 60 ) - return new ThemeConfig(config, true) + const withDefault = new PrepareTheme(this.createConversionContext()).convertStrict(config) + return new ThemeConfig(withDefault, true) } private static getSharedTagRenderings(): Map { @@ -163,22 +179,12 @@ export default class DetermineTheme { } } - const knownLayersDict = new Map() - for (const key in known_layers["layers"]) { - const layer = known_layers["layers"][key] - knownLayersDict.set(layer.id, layer) - } - const convertState: DesugaringContext = { - tagRenderings: DetermineTheme.getSharedTagRenderings(), - tagRenderingOrder: DetermineTheme.getSharedTagRenderingOrder(), - sharedLayers: knownLayersDict, - publicLayers: new Set(), - } json = new FixLegacyTheme().convertStrict(json) const raw = json json = new FixImages(DetermineTheme._knownImages).convertStrict(json) json.enableNoteImports = json.enableNoteImports ?? false + const convertState = this.createConversionContext() json = new PrepareTheme(convertState).convertStrict(json) console.log("The layoutconfig is ", json) diff --git a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts index 7428e321b4..037fa2322b 100644 --- a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts +++ b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts @@ -1,14 +1,4 @@ -import { - Concat, - Conversion, - DesugaringContext, - DesugaringStep, - Each, - Fuse, - On, - Pass, - SetDefault, -} from "./Conversion" +import { Concat, Conversion, DesugaringContext, DesugaringStep, Each, Fuse, On, Pass, SetDefault } from "./Conversion" import { ThemeConfigJson } from "../Json/ThemeConfigJson" import { PrepareLayer } from "./PrepareLayer" import { LayerConfigJson } from "../Json/LayerConfigJson" @@ -175,7 +165,7 @@ class SubstituteLayer extends Conversion { +export class AddDefaultLayers extends DesugaringStep { private readonly _state: DesugaringContext constructor(state: DesugaringContext) {