Releases: Plobli/luxstage-server
Releases · Plobli/luxstage-server
Release list
v2026.8.17
- Fix Server-Start-Blockade: PID-1-Selbstkollision bei Container-Neustart
v2026.8.16
- Fix Passwort-Reset-Link: Mandanten-Subdomain statt fixer URL
- Grundriss-PDF: Hintergrundbild-Ausrichtung korrigiert
- Floorplan-PDF-Export: Vektor-Rendering statt Raster-Snapshot
- Floorplan-Editor: Ghost-Placement für Tower/Bar/Kreis vereinheitlicht
- Foto-Kartenlayout überarbeitet, Lock-Badge entfernt, Team-ID-Normalisierung
- Benutzerrollen entfernen: keine Unterscheidung mehr zwischen Admin und Techniker
v2026.8.14
- Fix: Self-Hosted-Image crashte durch statischen Import von tenants.js
- UI: Theme-Token statt Hardcoded-Weiß bei Abschnittstyp-Auswahl, Quelle-Badge bei Benutzern entfernt
v2026.8.13
- Mandantentrennung: Fotos und Grundrisse pro Mandant isolieren
- docs: files.md an Rate-Limiting-Modul und Helpers-Erweiterung anpassen
- Sicherheit: Audit-Logging für Admin-Aktionen, Initial-Passwort verlängert
- Sicherheit: globales Rate-Limiting für alle API-Routen ergänzen
- Sicherheit: CORS-Dev-Fallback, JWT-Lifetime und Reset-Passwort-Länge härten
v2026.8.12
- Fix: Nur befüllte Zugstangen im PDF-Export, Kanal-Nummer im Gestell-Kreis zentriert
v2026.8.11
- Bereichs-Chunks vorladen und Inline-Token-Requests deduplizieren
- Backup-Nav im SaaS-Modus ausblenden, Server-Version im Desktop-Sidebar und Betreiber-Panel anzeigen
v2026.8.10
- Mandantenbindung für Download-/Inline-Token fixen
v2026.8.9
- WebApp: Live-Update-Präsenz und SSE-Refetch entfernen (Single-Editor-Sperre macht sie überflüssig)
- Bars-Undo ergänzen, Lock-Konflikt-Feedback für Towers/Bars nachrüsten
- Show-weiten Schreib-Lock und serverseitiges Undo/Redo einführen
- Sections löschbar machen, Aufbau-Empty-State, Undo-Race und Server-Crash beheben
v2026.8.6
- Show-Erstellungsassistent mit granularer Vorlagenübernahme
- Gassenturm-Slots und Kreisfarbe NC-Default überarbeiten
- Vereinheitliche Kreisauswahl-Modale auf ChannelPickerGrid
- Fotogalerie: Kreisnummern als validierte Mehrfachauswahl statt Freitext
- Floorplan-Toolbar: Bearbeiten-Gruppe entfernt
- FloorplanEditor: Stage-Größe nach Reload konsistent halten
- Floorplan-Editor: A4-Druckbereich-Guide, Format-Beschränkung, Tooltip-System
- GassenturmView/ZugstangenView: Save-to-Template-Dialog-Logik extrahieren
- pdf.js: ReferenceError im Nicht-Sections-Zweig beheben
- pdf.js in Rendering-Module aufteilen
- db/templates.js in Domänen aufteilen
- db-init.js in Einzelmigrationen aufteilen
- Settings-Zugriff in db/settings.js kapseln
- Refactor: ShowDetailView und TemplatesView aufgeteilt
- fix(web): correct slot drag-reorder in GassenturmView
- fix(sections): detect concurrent-edit conflicts for content and defs
- fix(channels): detect concurrent-edit conflicts instead of silently overwriting
- fix(security): replace long-lived JWT in image URLs with short-lived tokens
- fix(floorplan): update image upload to the streaming multipart parser
- refactor(router): centralize route metadata in a dedicated table
- fix(web): apply sans-serif font override to floorplan PNG export
- docs(web): note missing font-family override in floorplan PNG export
- refactor(web): extract floorplan snapshot/export to a utility module
- refactor(web): extract bar visualization from ZugstangenView
- docs(web): note drag-reorder bug in GassenturmView slot list
- refactor(web): extract template bars/towers into composables
- perf(web): avoid O(n²) row index lookup in channel table
- docs(saas): clarify TLS deployment options
- fix(sections): synchronize definition updates
- fix(security): suppress referrers for token resources
- fix(photos): enforce aggregate upload limit
- fix(web): scope section table sortables locally
- fix(web): restore complete TypeScript checking
- fix(web): add Vite environment types
- docs: correct self-hosted login flow
- fix(web): refresh presence activity state
- fix(web): handle history loading failures
- refactor(web): remove unused undo storage
- refactor(api): centralize request error handling
- fix(photos): connect streamed upload route
- fix(photos): stream multipart uploads
- fix(backup): limit restore archive extraction
- fix(auth): bound login rate-limit state
- refactor(web): extract template insertion flow
- refactor(web): extract show history flow
- refactor(web): extract show tab state
- refactor(router): centralize API handler dispatch
- refactor(router): scope public routes by method
- test(server): add registration and restore regressions
- fix(tenants): make snapshot restore recoverable
- fix(registration): preserve pending confirmations on failure
- fix(backup): stage restores before activation
- fix(installer): protect bootstrap secrets
- Grundriss-Toolbar auf horizontales Ribbon-Layout umgestellt
- Eos-Import: Gerätenamen aus MANUFACTURER/FIXTURE_TYPE übernehmen
- Import-Modal statt Dropdown, erklärt Unterschied Eos- vs. CSV-Import
- Eos-Import: Kanäle dauerhaft vom Import ausschließen können
- Eos-Import: Moving Lights automatisch notieren, DMX-Adressen übernehmen mit Merge-Auswahl
- Kreisliste: Kanalnummer grün bei Obermaschinerie-Zuweisung ohne Notiz
- Ungenutzte Tiptap-Teilpakete entfernen
- tolgee:sync-Skript: push vor pull, um lokale Änderungen nie zu verlieren
- i18n: fehlenden picker.back-Key erneut synchronisieren
- Fixture-Picker: Tooltip-Komponente statt title, deutlicher Zurück-Button
- Fixture-Picker: Grid-Layout gegen dialog-body CSS-Regel durchsetzen
- Fixture-Picker: Grid mit auto-fill statt fixer Spaltenzahl/flex-wrap
- Fixture-Picker: Kreis-Grid statt Listenzeilen
- Punktzug: Name/Typ-Beschriftung vertikal zentrieren
- Traverse-Fachwerk: Abstand zu beiden Linien verringern
- Traverse-Fachwerk: viewBox-Höhe an CSS-Höhe angleichen
- Punktzug-Layout: Kreis links und größer, mehr Abstand zu den Textfeldern
- Traverse-Fachwerk: Position korrigieren, responsive für schmale Screens
- Traverse: Fachwerk-Kreuzverstrebung statt Innen/Außen-Beschriftung
- i18n: Keys für Punktzug-Position und Traverse-Seiten ergänzen
- Punktzug und Traverse funktional von Zugstange abgrenzen
- Obermaschinerie um Traverse und Punktzug erweitern
- Textanpassungen
v2026.8.3
- DMX-Adresse als eigene Spalte in Kanalliste
- Kreisliste: Fokus beim Anlegen, Abbrechen-Button, Modal für Bühnenposition
- Spielzeit im Neue-Show-Dialog vorausfüllen
- Untertitel-Feld aus ShowsView.vue entfernen
- Untertitel-Feld bei Shows entfernen
- Tolgee-Integration: In-Context-Editor für Übersetzungen live in der WebApp
- Obermaschinerie: Positionshinweis entfernt, stattdessen "optional" am Button
- Obermaschinerie-Tab: Terminologie, UX und Bugfix