Files
Wegwichtel/docs/agents/editor-merge-notes.md
T
Florian Zumpe 74090723c4
Sonarqube Scanner / Prepare environment (push) Successful in 13s
Sonarqube Scanner / Build and test (push) Successful in 33s
Sonarqube Scanner / SonarQube analysis (push) Successful in 1m38s
Sonarqube Scanner / Deploy to Server (push) Successful in 7s
sorted markdown and added favicon
2026-10-04 09:06:48 +02:00

2.2 KiB

Wegwichtel Editor v5

Dieses Paket bereinigt den einfachen Streckeneditor nach dem grünen SonarQube-Lauf weiter.

Status

Der zuletzt geprüfte SonarQube-Export meldet ein bestandenes Quality Gate, keine Bugs, keine Vulnerabilities, keine Code Smells und keine Security Hotspots. Die New-Coverage lag bei 85,1 %.

Fachliche Optimierungen gegenüber v4

  • Der Editor sendet activated_at nicht mehr beim Speichern von Strecken.
    • Neue Strecken bleiben durch den DB-Default unveröffentlicht.
    • Bereits manuell aktivierte Strecken werden durch spätere Editor-Änderungen nicht versehentlich deaktiviert.
  • Der Plus-Button besitzt aria-haspopup="dialog", aria-expanded und aria-controls; beim Öffnen und Schließen wird aria-expanded synchronisiert.
  • POI-Sortierpfeile sind am Listenanfang beziehungsweise Listenende deaktiviert.
  • Das Initialschema enthält zusätzlich idx_routes_activation für spätere veröffentlichte Listenabfragen nach status und activated_at.
  • POIs erhalten analog zu Strecken einen pois_updated_at-Trigger, damit updated_at bei Bearbeitungen automatisch aktualisiert wird.
  • Die Dokumentation verwendet durchgehend TEXT DEFAULT NULL statt des für SQLite-STRICT falschen DATETIME.

Datenbankschema

Für neu erzeugte Datenbanken steht die Spalte direkt in database/schema.sql:

activated_at TEXT DEFAULT NULL

Für bestehende SQLite-Datenbanken liegt weiterhin eine Migration vor:

sqlite3 <pfad-zur-wegwichtel-db> < database/migrations/20260901_add_route_activated_at.sql

Die Migration darf nur auf Bestandsdatenbanken ohne activated_at ausgeführt werden. Auf einer frischen Datenbank, die schon mit dem aktuellen database/schema.sql erstellt wurde, ist sie nicht nötig.

Tests

node --check public/js/editor-ui.js
npm test -- test/editor-ui.test.js
npm test -- test/editor-database-schema.test.js
npm run test:coverage

Optionaler Cleanup

scripts/apply-editor-schema.mjs war nur als Übergangshilfe gedacht. Nach diesem Paket ist das Initialschema direkt enthalten. Die Datei wird nicht mehr benötigt und kann entfernt werden, falls sie aus v3/v4 noch im Repository vorhanden ist.