DRINGEND: Panel war seit 2026.8.30.14 syntaktisch kaputt (2026.8.30.19)
Beim "Zuendung an"-Patch habe ich den Begruendungskommentar in den
${...}-Ausdruck gesetzt statt in den Markup-Text. Dort ist <!-- kein
HTML-Kommentar, sondern JavaScript. Folge: audi-dashboard-app.js liess sich
nicht mehr als Modul parsen, connectedCallback() brach ab, das Panel hatte
keinen Shadow Root - der Bildschirm blieb leer.
Betroffen sind .14 bis .18, also alles, was seit dem auf Gitea lag. Wer in
dieser Zeit aktualisiert und neu gestartet hat, bekam ein totes Panel.
Warum es durchrutschte - und das ist der eigentliche Befund: "node --check"
prueft eine .js-Datei als SCRIPT, und dort sind HTML-artige Kommentare per
Annex B ausdruecklich erlaubt. Der Browser laedt dieselbe Datei als MODUL,
wo sie verboten sind. Die Pruefung, auf die sich dieses Projekt bei jeder
Panel-Aenderung verlaesst, kann diesen Fehler grundsaetzlich nicht finden.
Ab sofort gilt: die Datei vor dem Ausliefern als Modul pruefen, also unter
.mjs kopieren und node --check darauf laufen lassen. Rueckwirkend ueber alle
heutigen Commits geprueft - .14 ist der erste kaputte.
Erschwerend kam dazu, dass ich den Panel-Tab nach .14 nie neu geladen habe.
Alle spaeteren "live geprueft"-Aussagen zur Panel-Seite liefen gegen das noch
im Speicher stehende alte Skript und waren damit wertlos.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1 +1 @@
|
||||
{"version":"2026.8.30.17","sha256":"a84ccaf1e51725fbf9c08ab8a9f8e5d1d13abba6c3dbc762ca1878b757a6ffea","bytes":257009,"gebaut":"2026-08-30T21:51:10Z"}
|
||||
{"version":"2026.8.30.19","sha256":"b2f7235423d33bf179b1a7ab4212f9e5e9dc30f065a632f5d255f082f273f00a","bytes":257013,"gebaut":"2026-08-30T22:00:51Z"}
|
||||
Binary file not shown.
@@ -1192,13 +1192,18 @@ function vStandort() {
|
||||
<button type="button" class="standortmenu-griff" data-standort-umschalten
|
||||
aria-expanded="${STANDORTMENU_OFFEN}" aria-controls="standortmenu"
|
||||
aria-label="Fahrzeugdetails ${STANDORTMENU_OFFEN ? "einklappen" : "aufklappen"}"></button>
|
||||
${STANDORTMENU_OFFEN ? `
|
||||
<!-- Nur im aufgezogenen Zustand. Im halb verdeckten Ruhezustand hat
|
||||
Schließen nichts zu schließen - der Knopf sah bedienbar aus und
|
||||
tat nichts. -->
|
||||
<!-- Nur im aufgezogenen Zustand sichtbar - im halb verdeckten
|
||||
Ruhezustand hat Schließen nichts zu schließen. Die Sichtbarkeit
|
||||
haengt bewusst an der CSS-Klasse .offen und NICHT an
|
||||
STANDORTMENU_OFFEN im Markup: standortMenuOeffnen()/-Schliessen()
|
||||
schalten nur die Klasse um und rufen kein render() (das wuerde die
|
||||
Leaflet-Karte neu aufbauen und den Ausschnitt verlieren). Ein
|
||||
Markup-Zweig blieb deshalb auf dem Stand des letzten Zeichnens
|
||||
stehen - der Knopf war im eingeklappten Zustand noch da und im
|
||||
aufgezogenen mitunter gar nicht. -->
|
||||
<button type="button" class="standortmenu-schliessen" data-standort-schliessen aria-label="Schließen">
|
||||
<svg viewBox="0 0 20 20" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"><path d="M5 5l10 10M15 5 5 15"/></svg>
|
||||
</button>` : ""}
|
||||
</button>
|
||||
<div class="standortmenu-kopf">
|
||||
<div class="standortmenu-name">${esc(CONFIG.fahrzeugtitel)}</div>
|
||||
<div class="standortmenu-distanz" id="standortDistanz">${distanz}</div>
|
||||
@@ -1207,14 +1212,14 @@ function vStandort() {
|
||||
<div class="standortmenu-adresse" id="standortAdresse">${esc(adresseText)}</div>
|
||||
<div class="standortmenu-status">
|
||||
${zustand.faehrt
|
||||
<!-- Der Text sagt "Zuendung an", nicht "Fahrzeug faehrt". Es gibt keinen
|
||||
Bewegungssensor am Fahrzeug - der einzige Anhaltspunkt ist ZUENDUNG_SENSOR,
|
||||
und der meldet on auch bei blosser Zuendung oder Zubehoerstellung. Auch die
|
||||
erkannte Fahrt hilft nicht weiter: fahrt_start_ts in fahrterkennung.py wird
|
||||
aus genau demselben Signal abgeleitet, waere also nur eine zweite Huelle um
|
||||
dieselbe Aussage. Der umgekehrte Fall ist unbedenklich: Zuendung aus heisst
|
||||
verlaesslich, dass gerade nicht gefahren wird - "steht"/"Geparkt seit"
|
||||
bleiben deshalb stehen. -->
|
||||
/* Der Text sagt "Zuendung an", nicht "Fahrzeug faehrt". Es gibt keinen
|
||||
Bewegungssensor am Fahrzeug - der einzige Anhaltspunkt ist ZUENDUNG_SENSOR,
|
||||
und der meldet on auch bei blosser Zuendung oder Zubehoerstellung. Auch die
|
||||
erkannte Fahrt hilft nicht weiter: fahrt_start_ts in fahrterkennung.py wird
|
||||
aus genau demselben Signal abgeleitet, waere also nur eine zweite Huelle um
|
||||
dieselbe Aussage. Der umgekehrte Fall ist unbedenklich: Zuendung aus heisst
|
||||
verlaesslich, dass gerade nicht gefahren wird - "steht"/"Geparkt seit"
|
||||
bleiben deshalb stehen. */
|
||||
? `<span class="dot"></span><span>Zündung an</span>`
|
||||
: zustand.unbekannt
|
||||
? `${ciSVG(CI.parking)}<span>Fahrzustand unbekannt</span>`
|
||||
|
||||
@@ -1041,6 +1041,9 @@ button.leaf:active { background: var(--tile-2); }
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
background: var(--ios-fill); border: none; color: var(--fg2); cursor: pointer; padding: 0;
|
||||
}
|
||||
/* Sichtbar nur im aufgezogenen Blatt (Begruendung am Knopf im Markup). */
|
||||
.standortmenu-schliessen { display: none; }
|
||||
.standortmenu.offen .standortmenu-schliessen { display: flex; }
|
||||
.standortmenu-kopf { margin-top: 8px; padding-right: 44px; }
|
||||
.standortmenu-name { font-size: 17px; color: var(--fg); }
|
||||
.standortmenu-distanz { font-size: 12.5px; color: var(--fg3); margin-top: 4px; }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"domain": "audi_dashboard",
|
||||
"name": "Audi Dashboard",
|
||||
"version": "2026.8.30.17",
|
||||
"version": "2026.8.30.19",
|
||||
"documentation": "https://gitea.nothaft.cloud/paul/audi-app/src/branch/main/README.md",
|
||||
"issue_tracker": "https://gitea.nothaft.cloud/paul/audi-app/issues",
|
||||
"codeowners": ["@paul"],
|
||||
|
||||
Reference in New Issue
Block a user