diff --git a/docs/ACCEPTANCE.md b/docs/ACCEPTANCE.md index 83c9dc4..41d67bd 100644 --- a/docs/ACCEPTANCE.md +++ b/docs/ACCEPTANCE.md @@ -412,3 +412,21 @@ - `bash -n start.sh`: erfolgreich - reale OBS-Browserquelle, echte YouTube-/TikTok-Wiedergabe und Safari auf einem iOS-Gerät nicht ausgeführt; Anbieterrequests wurden lokal abgefangen + +## Verwaltungskorrektur 0.5.11 + +| Kriterium | Nachweis | Stand | +| ------------------------------------------ | ---------------------------------------------------------------------------------------- | --------------------- | +| Werkzeugdialog ist initial geschlossen | Chromium prüft den Dialog vor jeder Bedienaktion bei 390 und 1280 Pixeln | erfüllt am 23.10.2026 | +| Dialog öffnet nur nach bewusster Aktion | Browser legt ein Werkzeug an und öffnet ein bestehendes Werkzeug anschließend zum Ändern | erfüllt am 23.10.2026 | +| Bestehender Werkzeugablauf bleibt erhalten | Browser prüft Icon, Format, Deaktivierung und Piece-Zuordnung nach erneutem Laden | erfüllt am 23.10.2026 | + +## Ausgeführte Prüfungen 0.5.11 + +- gezielter Chromium-Test des Werkzeugablaufs: 1 von 1 erfolgreich +- `npm run lint`: erfolgreich +- `npm run check`: 0 Fehler und 0 Warnungen +- `npm test`: 40 Tests in 7 Dateien erfolgreich +- `npm run test:e2e`: 16 von 16 Chromium-Browsertests erfolgreich +- `npm run build`: erfolgreich mit `@sveltejs/adapter-node` +- `bash -n start.sh` und `git diff --check`: erfolgreich diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index eeb187e..578ce91 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -1,12 +1,46 @@ # Release Notes +## 0.5.11 - Verwaltungskorrektur + +Veröffentlicht am 23. Oktober 2026 + +- Der Dialog „Werkzeug hinzufügen“ bleibt beim Aufruf der Verwaltungsseite + wieder zuverlässig geschlossen. +- Der Dialog erscheint erst, wenn ein neues Werkzeug angelegt oder ein + bestehendes Werkzeug bearbeitet wird. +- Die Korrektur gilt gleichermaßen für Desktop- und Smartphone-Ansichten und + verändert keine vorhandenen Werkzeuge oder Zuordnungen. + ## 0.5.10 - Editor-Erlebnis +Veröffentlicht am 23. Oktober 2026 + +Sendewerk 0.5.10 beschleunigt die tägliche Redaktionsarbeit und schärft die +Grenze zwischen privaten Medien und der öffentlichen Präsentation. Titel, +Themen, Werkzeuge und Präsentationsbilder lassen sich direkter bearbeiten; die +wichtigsten Listen und Dialoge benötigen auf Desktop und Smartphone weniger +Platz. Bestehende Sendungsfassungen bleiben bei späteren Änderungen am Fundus +stabil. + +### Highlights + +- Titel von Fundus- und Sendungsfassungen lassen sich direkt in der jeweiligen + Ansicht ändern. Die Bedienung funktioniert auch vollständig per Tastatur. +- Themen und Werkzeuge verwenden kompakte, durchsuchbare Auswahlflächen. Der + Werkzeugkatalog folgt nun demselben Bedienmuster wie die Themenverwaltung. +- Für Themen, Werkzeuge, Navigation und Aktionen stehen 3.671 lokal + bereitgestellte Classic-Regular-Icons zur Verfügung. Zur Laufzeit werden + keine Icons von externen Diensten geladen. +- Präsentationsbilder werden bewusst aus den aktiven Piece-Medien gewählt und + beim Einplanen in die Sendungsfassung übernommen. Private Uploads werden nicht + allein durch das Hochladen öffentlich. +- Pieces lassen sich wiederherstellbar löschen. Bereits vorbereitete + Sendungsfassungen und ihre Medien-Snapshots bleiben dabei erhalten. +- Die heinzlive-Ausgabe kann ausdrücklich geleert werden. Im leeren Zustand ist + sie vollständig transparent und zeigt auch keinen Verbindungsstatus. + ### Redaktion und Verwaltung -- Titel von Fundus- und Sendungsfassungen lassen sich direkt und per Tastatur - bearbeiten. -- Themen und Werkzeuge verwenden gemeinsame kompakte Auswahlflächen. - Der Werkzeugkatalog entspricht der Themenverwaltung: kompakte Glasfläche, Icon, Name, Status und Bearbeitungsaktion statt dauerhaft offener Formulare. - Anlegen und Bearbeiten eines Werkzeugs verwenden denselben responsiven Dialog @@ -14,9 +48,8 @@ - Die Formatzuordnung nutzt dieselbe durchsuchbare Mehrfachauswahl wie andere Zuordnungen. Deaktivierte Werkzeuge und bestehende Piece-Zuordnungen bleiben erhalten. -- Alle 3.671 Icons aus Font Awesome Pro Plus 7.0.0 Classic Regular stehen lokal - und durchsuchbar zur Verfügung. Ein lokaler SVG-Sprite hält den allgemeinen - Anwendungs-Chunk klein; es gibt keine externe Laufzeitabhängigkeit. +- Fundus, Eingang, Archiv, Vorlagen und Sendungsansichten sind kompakter und + bleiben per Klick, Touch und Tastatur bedienbar. ### Pieces und Präsentation @@ -27,8 +60,10 @@ - Pieces können wiederherstellbar gelöscht werden. Offene, nie live gelaufene Verwendungen und Abschnitte lassen sich unter geschützten Bedingungen entfernen. -- Fundus, Eingang, Archiv, Vorlagen und Sendungsansichten sind kompakter und - bleiben per Klick, Touch und Tastatur bedienbar. +- Themenicons werden zusammen mit der jeweiligen Sendungsfassung gespeichert. + Spätere Änderungen an Thema, Werkzeug oder Original-Piece verändern eine + vorbereitete Sendung weiterhin nur nach ausdrücklicher Aktualisierung aus dem + Fundus. ### Live-Ausgabe @@ -37,13 +72,18 @@ - Eine aktive Präsentation lässt sich unabhängig vom aktuell laufenden Piece leeren. -### Datenbank und Kompatibilität +### Update und Kompatibilität - `0010_editor_experience.sql` ergänzt Themenicons, Medien-Snapshots und Soft Delete. - `0011_tool_icons.sql` ergänzt persistente Werkzeugicons mit einem sicheren Standardwert. Werkzeug-IDs, Formatbeziehungen, Piece-Zuordnungen und Deaktivierungszustände bleiben erhalten. +- Die Migrationen laufen beim nächsten Serverstart automatisch. Vor dem Update + sollte wie üblich eine konsistente Sicherung der SQLite-Datenbank und des + Upload-Verzeichnisses angelegt werden. +- Für dieses Release sind keine manuellen Datenkonvertierungen und keine + Änderungen an der Konfiguration erforderlich. ### Prüfung @@ -53,3 +93,9 @@ verglichen. - Reales OBS, echte YouTube-/TikTok-Wiedergabe und Safari auf einem iOS-Gerät standen nicht zur Verfügung. + +### Noch nicht enthalten + +Der Abschluss und die Archivierung vollständiger Sendungen, externe +Lesefreigaben, RSS-Import und API gehören zu späteren Etappen und sind nicht Teil +von 0.5.10. diff --git a/docs/STATUS.md b/docs/STATUS.md index a4cd118..e3391a5 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -7,6 +7,15 @@ Anmeldung, Rollen, persistente Inhaltsbearbeitung, Sendungsplanung, Live-Steuerung, Präsentationsausgabe und lokaler Betriebsweg sind dokumentiert. Etappe 6 wurde nicht begonnen. +## Verwaltungskorrektur 0.5.11 + +- der Werkzeugdialog bleibt nach dem Laden der Verwaltungsseite geschlossen und + wird erst durch „Werkzeug hinzufügen“ oder die Bearbeitung eines vorhandenen + Werkzeugs als modaler Dialog eingeblendet +- ein Browser-Regressionscheck sichert den geschlossenen Ausgangszustand ab + +Etappe 6 bleibt unverändert unbegonnen. + ## Editor-Erlebnis 0.5.10 - direkte, tastaturbedienbare Titelbearbeitung in Fundus- und Sendungsfassungen diff --git a/package-lock.json b/package-lock.json index 23f6cb5..a1140e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sendewerk", - "version": "0.5.10", + "version": "0.5.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sendewerk", - "version": "0.5.10", + "version": "0.5.11", "dependencies": { "@node-rs/argon2": "^2.2.2", "better-sqlite3": "^13.0.3", diff --git a/package.json b/package.json index 162ccab..d269a4d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "sendewerk", "private": true, - "version": "0.5.10", + "version": "0.5.11", "type": "module", "engines": { "node": ">=22.17 <25" diff --git a/src/app.css b/src/app.css index 350ac0d..05e95ff 100644 --- a/src/app.css +++ b/src/app.css @@ -5859,7 +5859,7 @@ body:has(.heinzlive-output.empty), } .management-dialog { - display: grid; + display: none; grid-template-rows: auto minmax(0, 1fr); width: min(40rem, calc(100vw - 2rem)); max-height: min(46rem, calc(100dvh - 2rem)); @@ -5873,6 +5873,10 @@ body:has(.heinzlive-output.empty), backdrop-filter: blur(24px) saturate(1.12); } +.management-dialog[open] { + display: grid; +} + .management-dialog::backdrop { background: rgb(3 8 18 / 46%); backdrop-filter: blur(6px); diff --git a/tests/ui.e2e.ts b/tests/ui.e2e.ts index 679d539..9991125 100644 --- a/tests/ui.e2e.ts +++ b/tests/ui.e2e.ts @@ -895,6 +895,11 @@ test('inbox, archive and administration stay concise', async ({ page }) => { test('tools stay editable in pieces after catalog deactivation', async ({ page }, testInfo) => { await page.goto('/verwaltung'); + for (const width of [390, 1280]) { + await page.setViewportSize({ width, height: 900 }); + await expect(page.locator('.tool-editor-dialog')).toBeHidden(); + await expectNoHorizontalOverflow(page); + } await page.getByRole('button', { name: 'Werkzeug hinzufügen' }).click(); const create = page.getByRole('dialog', { name: 'Neues Werkzeug' }); await create.getByLabel('Name').fill('E2E Tierlist');