Files
sendewerk/docs/ACCEPTANCE.md
T

43 KiB
Raw Blame History

Abnahme

Etappe 1

Kriterium Nachweis Stand
Frischer Checkout startet ohne Cloudron npm ci erfolgreich; README-Setup und lokaler Produktionsstart ausgeführt erfüllt am 21.10.2026
Typprüfung und Build erfolgreich npm run check, npm run build erfüllt am 21.10.2026
Theme bleibt nach Neuladen erhalten Playwright: System auf Hell wechseln, Reload, DOM und Schalterzustand prüfen erfüllt am 21.10.2026
Testdaten überleben Neustart Gebauten Server zweimal gegen .data/sendewerk.sqlite gestartet; Fundusdaten und /healthz jeweils vorhanden erfüllt am 21.10.2026
Migration wiederholt ausführbar lokal mehrfach ausgeführt; Verhaltenstest führt Migration zweimal in temporärer DB aus erfüllt am 21.10.2026
Seed reproduzierbar lokal und im Verhaltenstest zweimal ausgeführt; danach 4 Pieces, 1 Sendung und 3 Verwendungen erfüllt am 21.10.2026
Tests verwenden getrennte Daten Vitest und Playwright erzeugen je eigene Datenbank im Betriebssystem-Tempdir erfüllt am 21.10.2026
Desktop und Smartphone ohne horizontales Scrollen 8 Playwright-Abläufe bei 390, 768, 960, 1280 und 1440 Pixeln; Screenshots visuell kontrolliert erfüllt am 21.10.2026
Kompakte Arbeitsoberfläche in beiden Farbmodi 390, 768 und 1440 Pixel jeweils in Light/Dark; einspaltige Mobilkarten, lange Titel, Metadatenumbrüche und Leerzustände erfüllt am 21.10.2026
Cloudron-Pfade und Healthcheck vorbereitet Manifestpfad /app/data/sendewerk.sqlite, /healthz, start.sh; JSON-Kernfelder und Bash-Syntax geprüft vorbereitet; Container offen
Echte Cloudron-Prüfung Installation, Backup/Restore, Proxy und read-only Laufzeit offen, kein Serverzugang

Ausgeführte Prüfungen

  • npm ci: erfolgreich, 190 Pakete geprüft, 0 gemeldete Schwachstellen
  • npm run setup, anschließend erneute Migration und erneuter Seed: erfolgreich
  • npm test: 2 Verhaltenstests erfolgreich
  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • npm run test:e2e: 8 von 8 Browsertests erfolgreich; 390, 768 und 1440 Pixel jeweils in Light- und Darkmode sowie Tastaturbedienung, feste Navigation, einspaltige Funduskarten, lange Inhalte und Überläufe geprüft
  • Zwei getrennte npm start-Läufe: Healthcheck und persistente Daten erfolgreich
  • bash -n start.sh und programmatische Manifest-Kernfeldprüfung: erfolgreich

Nicht erfolgreich oder nicht ausführbar

  • docker build -t sendewerk:local .: nicht ausgeführt, weil der installierte Docker-Client keinen laufenden Daemon unter /var/run/docker.sock erreichen konnte.
  • Echte Cloudron-Installation: mangels Serverzugang nicht ausgeführt.
  • Ein zusätzlicher Python-Playwright-Lauf: nicht gestartet, weil das optionale Python-Modul playwright nicht installiert war. Die projektgebundene TypeScript-Playwright-Suite lief stattdessen vollständig erfolgreich.

Etappe 2

Kriterium Nachweis Stand
Erstadmin danach geschlossen Browser-Setup sowie wiederholter Service-Aufruf geprüft; Seed enthält kein Konto erfüllt am 21.10.2026
Login, Logout und lokales HTTP Browserablauf; HttpOnly, SameSite=Lax, ohne Secure bei expliziter HTTP-Origin erfüllt am 21.10.2026
Einladung und Reset lokale Outbox bis Kontoaktivierung und neuem Login im Browser durchlaufen erfüllt am 21.10.2026
Einmalige und abgelaufene Links Verhaltenstests für Wiederverwendung und Ablauf von Einladung und Reset erfüllt am 21.10.2026
Direkte Admin-Aktion verweigert Thekencrew-POST auf Einladungsaction liefert 403 erfüllt am 21.10.2026
Sperrung entzieht Zugriff aktive Thekencrew-Sitzung wird gelöscht und beim nächsten Request abgewiesen erfüllt am 21.10.2026
Keine echte Mail ungefragt Browser- und Verhaltenstests nutzen ausschließlich temporäre lokale Outbox erfüllt am 21.10.2026
Echter SMTP-Versand nicht ausgeführt, keine Zugangsdaten bereitgestellt offen

Ausgeführte Prüfungen Etappe 2

  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm test: 9 Auth-, Migrations-, Mail- und Dauer-Verhaltenstests erfolgreich
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • npm run test:e2e: 9 von 9 Browsertests erfolgreich; Erstadmin, Login/Logout, fremder Origin, Einladung, direkte Rollenprüfung, Sperrung, Reset sowie bestehende responsive Arbeitsansichten geprüft
  • Lokale Outbox in isolierten temporären Verzeichnissen geprüft
  • Lokaler Produktionsserver der Browsertests über HTTP gestartet; Healthcheck und Migration vor Start erfolgreich
  • bash -n start.sh: erfolgreich

Etappe 3

Kriterium Nachweis Stand
Anlegen, Bearbeiten, Suchen, Filtern und Reload Browserrundlauf mit Vorlage, Autosave, Quellen, Status, Suche und Neuladen erfüllt am 21.10.2026
Taxonomien unabhängig Format einzeln sowie Themen und Abschnittskategorien mehrfach gespeichert und gefiltert erfüllt am 21.10.2026
Sicheres Markdown Verhaltenstest und Browservorschau entfernen Skript/JavaScript, Formatierung bleibt erhalten erfüllt am 21.10.2026
Private Bilder Signatur-/Größenprüfung; anonymer Direktrequest erhält keinen Dateiinhalt erfüllt am 21.10.2026
Sichtbare Speicherfehler Actionfehler und Autosave-Fehlerstatus bleiben am Formular sichtbar erfüllt am 21.10.2026
Konflikterkennung zwei Browserseiten; veraltete Revision erhält Konflikt und überschreibt die neue Fassung nicht erfüllt am 21.10.2026
Archiv und Wiederherstellung Browserrundlauf blendet Piece aus und stellt den vorherigen Status wieder her erfüllt am 21.10.2026
Duplikat Verhaltenstest und Browser prüfen unabhängige Kopie samt Zuordnungen und Bild erfüllt am 21.10.2026

Ausgeführte Prüfungen Etappe 3

  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm test: 13 Tests in 3 Dateien erfolgreich
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • npm run test:e2e: 10 von 10 Browsertests erfolgreich
  • Browserprüfung bei 390, 768, 960, 1280 und 1440 Pixeln in beiden Themes ohne ungewollten horizontalen Überlauf
  • Mobile Darkmode-Aufnahme des Piece-Editors visuell kontrolliert
  • bash -n start.sh und git diff --check: erfolgreich

Etappe 4

Kriterium Nachweis Stand
Spieleabend und mehrere JC-/Spieleblöcke persistierte Spieleabend-Vorlage, Seed-Sendung und Browserrundlauf mit Standardablauf erfüllt am 21.10.2026
Reihenfolge und Texte bleiben nach Reload Verhaltenstests sowie Browsertest für Tastatur- und Drag-and-drop-Sortierung erfüllt am 21.10.2026
Original bleibt unverändert Service- und Browsertest planen dasselbe Piece mehrfach mit eigenen Titeln, Notizen, Dauern erfüllt am 21.10.2026
Keine doppelte Dauer; Reserve zählt nicht explizite und summierte Abschnitte sowie Reserve in Verhaltenstest und Browser geprüft erfüllt am 21.10.2026
Entfernen betrifft nur Einplanung Verhaltenstest löscht Verwendung und Abschnittskopie, nicht das Original erfüllt am 21.10.2026
Sendungsänderung verändert keine Vorlage tiefe Vorlagenkopie vor und nach Abschnittsänderung verglichen erfüllt am 21.10.2026
Smartphone-Planungsablauf Abschnittsanlage, Pane-Umschaltung und Überlauf bei 390 Pixeln geprüft erfüllt am 21.10.2026
Gleichwertige Bedienwege Drag-and-drop, Enter auf Verschiebeschaltfläche sowie klick-/touchbare Zielauswahl geprüft erfüllt am 21.10.2026
Lokale Planungsaktualisierung Quelle und Reserve per Drag-and-drop ohne Dokumentreload; lokaler Speicherzustand geprüft erfüllt am 21.10.2026
Sichtbare Einfügeposition Abschnitt, Fundusquelle und Reserve zeigen vor dem Drop Vorschau und transparentes Original erfüllt am 21.10.2026
Piece-Dauer in Minuten Fundus- und Verwendungseditor rechnen Minuten serverseitig in ganze Sekunden um erfüllt am 21.10.2026
Gleichzeitige Änderungen veraltete showweite Revision rollt die gesamte Mutation zurück erfüllt am 21.10.2026

Ausgeführte Prüfungen Etappe 4

  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm test: 18 Tests in 4 Dateien erfolgreich
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • npm run test:e2e: 11 von 11 Browsertests erfolgreich
  • Browserprüfung bei 390, 768, 960, 1280 und 1440 Pixeln in beiden Themes ohne ungewollten horizontalen Überlauf
  • Mobile Aufnahme des vollständigen Sendungsbaukastens visuell kontrolliert
  • bash -n start.sh und git diff --check: erfolgreich

Etappe 5

Kriterium Nachweis Stand
Lesbare Moderation Prompter-Schrift, Einleitung und Überleitung im Browser; Recherche initial geschlossen erfüllt am 22.10.2026
Wiederherstellung Live-Stand, Laufintervalle, Schriftgröße und Leseposition nach Neuladen geprüft erfüllt am 22.10.2026
Keine doppelte Zeiterfassung Verhaltenstest wiederholt dieselbe Befehls-ID und findet genau ein Zeitintervall erfüllt am 22.10.2026
Explizite Präsentation Zweitfenster bleibt nach Start leer und ändert sich erst durch „Präsentieren“ erfüllt am 22.10.2026
Getrennte sichere Ausgabe anonymer Browserkontext prüft Text, Bild, HTML, JSON und fremde Medien ohne private Daten erfüllt am 22.10.2026
Reserve und Reihenfolge Reserve als nächstes Piece eingefügt; offene Reihenfolge und serverseitige Live-Grenze geprüft erfüllt am 22.10.2026
Popup- und Verbindungsfehler sichtbar blockiertes Popup sowie unterbrochenes und wiederhergestelltes State-Polling im Browser geprüft erfüllt am 22.10.2026
Persistente Linkvorschau Quellwahl, manuelle Felder, Reload, fehlendes Bild und isolierte Testansicht im Browser geprüft erfüllt am 22.10.2026
Sichere Metadatenabrufe Tests sperren private IPv4-/IPv6-Ziele; Redirect-, Größen- und Zeitlimits sind implementiert erfüllt am 22.10.2026
Validierte Videoplayer YouTube-URL-Varianten, TikTok-ID, Zeitmarke und Playerwechsel automatisiert geprüft erfüllt am 22.10.2026
Präsentationssnapshot Einplanung, Duplikation und explizite Aktualisierung aus dem Original im Servicetest geprüft erfüllt am 22.10.2026
Reale OBS-Browserquelle lokale tokenisierte Browserausgabe vorhanden; kein OBS auf der Prüfmaschine offen
Reale Anbieterwiedergabe automatisierte Tests fangen YouTube-/TikTok-Requests lokal ab offen

Ausgeführte Prüfungen Etappe 5

  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm test: 29 Tests in 6 Dateien erfolgreich
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • npm run test:e2e: 14 von 14 Browsertests erfolgreich
  • Anonymer zweiter Chromium-Kontext mit Präsentationstext, Quelle, geschütztem Bild und gefiltertem JSON geprüft
  • Mobile Aufnahme der Live-Steuerung bei 390 × 844 Pixeln und Desktopaufnahme der heinzlive-Ausgabe visuell kontrolliert
  • Popup-Blockade sowie Verbindungsabbruch und automatische Wiederverbindung im Browser geprüft
  • YouTube-/TikTok-Iframes, Playerwechsel, mobile Hochformatausgabe, Linkkartenvorschau ohne Bild, isolierte Testansicht und private Datenfilterung mit lokal abgefangenen Anbieterrequests geprüft
  • SSRF-Blockade einer privaten Zieladresse über die sichtbare Editorfehlermeldung geprüft
  • bash -n start.sh und git diff --check: erfolgreich

Gezielte Fundus- und Einplanungsanpassung

Kriterium Nachweis Stand
Gesendet korrekt abgeleitet Servicetest schließt offene, übersprungene, Reserve- und nicht abgeschlossene Nutzung aus erfüllt am 22.10.2026
Historie und Fundusfilter Browser prüft letztes Datum, Sendungslink, weitere Verwendungen und Sofortfilter erfüllt am 22.10.2026
Unabhängige Quellfilter Browser kombiniert verwendet/eingeplant getrennt und erhält sie über Suchfilter erfüllt am 22.10.2026
Reserve und Mehrfacheinplanung Reserve zählt als eingeplant; bewusstes Wiedereinblenden erlaubt weitere Einplanung erfüllt am 22.10.2026
Rückkehr nach Entfernen Browser entfernt die letzte Reserveeinplanung und bietet das Original sofort wieder an erfüllt am 22.10.2026
Angepasste Einplanung dupliziert Service und Browser prüfen Position, Texte, Notizen, Dauer und Reload erfüllt am 22.10.2026
Live-Zustand des Duplikats zurückgesetzt Servicetest prüft open, neue ID und fehlende Zeitintervalle erfüllt am 22.10.2026
Original unverändert Piece-Anzahl und Original-ID vor und nach Einplanungsduplikation verglichen erfüllt am 22.10.2026
Speicherfehler nicht als Erfolg dargestellt veraltete Revision rollt Duplikation vollständig zurück erfüllt am 22.10.2026
Globale aktive Einplanung ausgeblendet Browser prüft den unabhängigen Filter über mehrere nicht abgeschlossene Sendungen erfüllt am 22.10.2026
Snapshot ausdrücklich aktualisiert Service prüft neue Originaltexte und erhaltene Notizen/Intervalle; Browser löst Aktion aus erfüllt am 22.10.2026
Fehlendes Original atomar behandelt Servicetest prüft Fehler und unveränderte Sendungsrevision erfüllt am 22.10.2026
Verwendungsdialog responsiv Browser prüft Desktop/Mobil, Reserve, erreichbare Aktionen und sichtbare Konfliktfehler erfüllt am 22.10.2026

Ausgeführte Prüfungen Fundus und Einplanung

  • npm test: 22 Tests in 5 Dateien erfolgreich
  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • gezielter Playwright-Lauf: 4 von 4 Browsertests erfolgreich
  • npm run test:e2e: 12 von 12 Browsertests erfolgreich
  • Desktopansichten von Fundushistorie, kombinierten Sendungsfiltern und Verwendungsdialog sowie mobile Quellspalte und mobiler Dialog bei 390 × 844 Pixeln visuell kontrolliert
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • bash -n start.sh und git diff --check: erfolgreich

Redaktionelles Piece-Arbeitsblatt

Kriterium Nachweis Stand
Schreiben steht im Mittelpunkt Desktop- und Mobilprüfung zeigt Fundstück, Recherche und drei Sendungstexte im primären Lesefluss erfüllt am 22.10.2026
Kontext bleibt vollständig erreichbar Quellen, Einordnung, Präsentation und Bilder auf Desktop sowie als vier mobile Werkzeuge geprüft erfüllt am 22.10.2026
Textfelder unabhängig bearbeitbar Recherche und Moderationsstichpunkte im Browser gleichzeitig geöffnet und gespeichert erfüllt am 22.10.2026
Bestehender Formvertrag bleibt erhalten Autosave, Reload, Taxonomie, Quelle, Markdown, Upload, Archiv und Duplikat im Browser durchlaufen erfüllt am 22.10.2026
Konflikte und Speicherfehler sichtbar parallele Revision sowie Offline-Autosave mit erfolgreicher manueller Wiederholung geprüft erfüllt am 22.10.2026
Schneller Video-Einstieg ohne Einordnung Link im Eingang aufgenommen, direkt geöffnet, beschrieben und isoliert als Video getestet erfüllt am 22.10.2026
Responsive Darstellung und beide Themes 1440 × 1000 und 390 × 844 in Light/Dark ohne horizontalen Überlauf visuell kontrolliert erfüllt am 22.10.2026

Ausgeführte Prüfungen Piece-Arbeitsblatt

  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm test: 29 Tests in 6 Dateien erfolgreich
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • gezielter Playwright-Lauf für Autosave, Offline-Fehler, Konflikt und Upload: 1 von 1 Browsertest erfolgreich
  • npm run test:e2e: 15 von 15 Browsertests erfolgreich
  • Desktop Light/Dark sowie Smartphone Light/Dark und mobiles Präsentationswerkzeug visuell kontrolliert; langer Titel bricht vollständig um, Werkzeugfläche ist opak und die Speicherleiste überdeckt mobil keine Eingaben
  • bash -n start.sh und git diff --check: erfolgreich

Oberflächenrelease 0.5.4

Kriterium Nachweis Stand
Klare Hierarchie in beiden Themes Eingang, Fundus, Editor, Sendungsplan und Live-Steuerung in Light/Dark visuell kontrolliert erfüllt am 22.10.2026
Exakte heinzlive-Darkmode-Farben berechnete Theme-Tokens und Screenshots der dunklen Arbeitsansichten geprüft erfüllt am 22.10.2026
Responsive Darstellung ohne Seitenüberlauf Chromium-Messung bei 1440 × 1000 und 390 × 844 Pixeln auf allen gezielt geprüften Ansichten erfüllt am 22.10.2026
Sendungsplan-Aktionen bleiben erreichbar drei sichtbare Aktionen einer Planzeile liegen waagerecht auf gleicher Höhe; Mobilbild geprüft erfüllt am 22.10.2026
Fokus und reduzierte Bewegung sichtbarer Cyan-Fokusring und bestehende prefers-reduced-motion-Regeln im Stylesheet geprüft erfüllt am 22.10.2026

Ausgeführte Prüfungen Oberflächenrelease 0.5.4

  • npm run check: 0 Fehler und 0 Warnungen
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • gezielter Chromium-Lauf für Eingang, Fundus, Piece-Editor, Sendungsplan und Live-Steuerung bei 1440 × 1000 und 390 × 844 Pixeln in Light/Dark ohne Konsolenfehler oder horizontalen Seitenüberlauf
  • Desktop- und Mobilaufnahmen aller genannten Ansichten visuell kontrolliert
  • vollständige Unit- und E2E-Matrix nicht erneut ausgeführt, weil dieser Release ausschließlich Darstellung und redaktionelle Kurztexte verändert
  • git diff --check: erfolgreich

Oberflächenkorrektur 0.5.5

Kriterium Nachweis Stand
Nachtblau und Glaswirkung erkennbar berechnete Transparenz/Unschärfe und Desktop-/Mobilaufnahmen in Darkmode geprüft erfüllt am 22.10.2026
Schreibfelder im Ruhezustand sichtbar deckende Feldfarbe, feine Kontur, Innenabstand und Textcursor im Piece-Editor geprüft erfüllt am 22.10.2026
Goldener Tastaturfokus berechnete Fokusfarbe und Fokus-Schatten am Titelfeld geprüft; Cyanrahmen nicht mehr aktiv erfüllt am 22.10.2026
Inhaltsgerechte Feldhöhen kurze Einleitung ist niedriger als ausführliche Moderationsfläche; beide bleiben skalierbar erfüllt am 22.10.2026
Lightmode und Smartphone erhalten fünf Arbeitsansichten bei 1440 × 1000 und 390 × 844 Pixeln ohne Seitenüberlauf geprüft erfüllt am 22.10.2026

Ausgeführte Prüfungen Oberflächenkorrektur 0.5.5

  • npm run check: 0 Fehler und 0 Warnungen
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • gezielter Chromium-Lauf in Light/Dark und Desktop/Mobil ohne Konsolenfehler oder horizontalen Seitenüberlauf; Glas-, Feld- und Fokuswerte zusätzlich programmatisch geprüft
  • vollständige Unit- und E2E-Matrix gemäß Auftrag nicht erneut ausgeführt
  • git diff --check: erfolgreich

Oberflächenkorrektur 0.5.6

Kriterium Nachweis Stand
Gold-/Violettlicht und Glasflächen sichtbar Fundus und Editor in Light/Dark auf Desktop und Mobil visuell sowie über berechnete Werte geprüft erfüllt am 22.10.2026
Schreibflächen ruhig und eindeutig abgegrenzt deckende Feldfarbe, Kontur und goldener Fokus im geöffneten Piece-Editor geprüft erfüllt am 22.10.2026
Neuanlage und Suche unmittelbar erreichbar sichtbare Fundusaktionen sowie geöffnete Vorlagenauswahl auf Desktop und Mobil geprüft erfüllt am 22.10.2026
Zusatzfilter und Zeilenaktionen zugänglich native Aufklappelemente für Filter und Aktionen per Browserinteraktion geprüft erfüllt am 22.10.2026
Funduszeilen per Tastatur zu öffnen erster Titeleintrag fokussiert, mit Eingabetaste geöffnet und Editoraufruf geprüft erfüllt am 22.10.2026
Lightmode und Smartphone ohne Seitenüberlauf Chromium-Messung bei 1440 × 1000 und 390 × 844 Pixeln in beiden Themes erfüllt am 22.10.2026

Ausgeführte Prüfungen Oberflächenkorrektur 0.5.6

  • npm run check: 0 Fehler und 0 Warnungen
  • gezielter Chromium-Lauf für Fundus und geöffneten Piece-Editor bei 1440 × 1000 und 390 × 844 Pixeln in Light/Dark ohne Konsolenfehler oder horizontalen Seitenüberlauf
  • Neuanlage, Zusatzfilter, Aktionsmenü, Tastaturöffnung, Glaswerte und goldener Fokus automatisiert kontrolliert; alle erzeugten Desktop-/Mobilaufnahmen visuell geprüft
  • Produktionsbuild sowie vollständige Unit- und E2E-Matrix gemäß Auftrag nicht ausgeführt
  • git diff --check: erfolgreich

Materialkorrektur 0.5.7

Kriterium Nachweis Stand
Hintergrundlicht im Arbeitsbereich sichtbar Fundus und Sendungsplanung ohne Popup in Dark/Light auf Desktop und Mobil visuell geprüft erfüllt am 23.10.2026
Popup erhält die Lichtstimmung Editor mit leichtem 46%-Backdrop und 6px Blur gegen Ansicht ohne Popup verglichen erfüllt am 23.10.2026
Verschachtelte Ablaufkarten werden dunkler berechnete RGBA-Werte von Außenglas, Abschnitt, Piece und Aktionsgruppe kontrolliert erfüllt am 23.10.2026
Graue Sonderflächen entfernt aktive Tabs, private Recherche, Quellen-/Materialflächen und Aktionsgruppen visuell geprüft erfüllt am 23.10.2026
Schreibfelder bleiben ruhig und klar deckende Feldfüllung, feine Kontur und unveränderter Goldfokus in beiden Editorbereichen geprüft erfüllt am 23.10.2026
Lightmode und Smartphone ohne Seitenüberlauf Chromium-Messung bei 1440 × 1000 und 390 × 844 Pixeln in beiden Themes erfüllt am 23.10.2026

Ausgeführte Prüfungen Materialkorrektur 0.5.7

  • npm run check: 0 Fehler und 0 Warnungen
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • berechnete Styles vor und nach der Korrektur für App-Hintergrund, Navigation, Ablauf-Panel, Abschnitte, Pieces, Aktionsgruppen, Dialog, Backdrop, Tabs, Rechercheflächen und Schreibfelder kontrolliert
  • gezielter Chromium-Lauf für Sendungsplanung sowie Piece-Editor mit „Sendungstext“ und „Recherche & Quellen“ bei 1440 × 1000 und 390 × 844 Pixeln in Light/Dark ohne Konsolenfehler oder horizontalen Seitenüberlauf
  • Desktop-/Mobilaufnahmen mit und ohne Popup visuell verglichen
  • vollständige Funktionstests gemäß Auftrag nicht ausgeführt
  • git diff --check: erfolgreich

Redaktionelle Arbeitsabläufe 0.5.8

Kriterium Nachweis Stand
Persistente unabhängige Piece-Vorlagen Servicetests prüfen Snapshot, Revision, Neuanlage, Wiederverwendung und Löschen erfüllt am 23.10.2026
Atomare idempotente Direktanlage Verhaltenstests prüfen Wiederholung derselben Befehls-ID und vollständigen Rollback erfüllt am 23.10.2026
Interner und öffentlicher Titel getrennt Service- und Browserabläufe prüfen getrennte Werte, Snapshots und Fallback erfüllt am 23.10.2026
Entfernen betrifft nur konkrete Verwendung Browser prüft Bestätigung, Rückgabe in Fundus und unverändertes Original erfüllt am 23.10.2026
Beliebige Live-Verwendung auswählbar Verhaltenstests wählen ersten und erledigten Eintrag über stabile Usage-ID erfüllt am 23.10.2026
Stabiler widerrufbarer OBS-Kanal Servicetests prüfen Wiederöffnung/Rotation; anonymer Browser prüft Fragmenttausch und Cookie erfüllt am 23.10.2026
Private Quellen und Uploads bleiben intern HTML- und JSON-Prüfung enthält weder implizite Quellen, Uploadnamen noch interne Redaktionstexte erfüllt am 23.10.2026
Responsive und gleichwertig bedienbar Chromium prüft Desktop/Mobil, Light/Dark, Drag-and-drop sowie Klick- und Tastaturalternativen erfüllt am 23.10.2026
Reale OBS- und Anbieterwiedergabe Keine OBS-Installation und keine echten Anbieteraufrufe in der lokalen Prüfumgebung offen

Ausgeführte Prüfungen 0.5.8

  • npm run lint: nach Formatierung erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm test: 33 Tests in 6 Dateien erfolgreich
  • npm run test:e2e: 15 von 15 Chromium-Browsertests erfolgreich
  • Browsermatrix bei 390, 768, 960, 1280 und 1440 Pixeln einschließlich Light/Dark, horizontalem Überlauf, Tastaturbedienung, Planung, Live-Steuerung und anonymer Ausgabe geprüft; Screenshots wurden durch die Suite erzeugt
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • npm run db:migrate: Migrationen 0007_editorial_workflows.sql und 0008_durable_planning_commands.sql erfolgreich auf der zuvor gesicherten lokalen Entwicklungsdatenbank angewendet
  • bash -n start.sh: erfolgreich
  • reale OBS-Browserquelle und echte YouTube-/TikTok-Wiedergabe nicht ausgeführt; Anbieterrequests wurden in den Browsertests lokal abgefangen

Live-Werkbank 0.5.9

Kriterium Nachweis Stand
Favorit ist globale Originaleigenschaft Service prüft Revision/Status; Browser prüft Stern, Sortierung und weiterhin wirksamen Planfilter erfüllt am 23.10.2026
Werkzeugkatalog und Rechte Barkeeper-Verwaltung serverseitig geschützt; Browser prüft Anlage, Formatbezug und Deaktivierung erfüllt am 23.10.2026
Deaktivierte Zuordnung bleibt bearbeitbar Browser öffnet das Piece erneut und findet Werkzeug, Arbeitslink, Notiz und Deaktivierungsstatus erfüllt am 23.10.2026
Relationen werden unveränderlich gesnapshottet Service ändert Quelle, Werkzeug und Thema und sieht Änderungen erst nach expliziter Aktualisierung erfüllt am 23.10.2026
Private Live-Materialien bleiben privat Live-Steuerung zeigt Snapshot-Quelle; anonymes HTML/JSON enthält den privaten Materiallink nicht erfüllt am 23.10.2026
Thematische Publikum-Dachzeile Usage-Themen werden stabil projiziert; Chromium zeigt „Gaming“ oberhalb des Präsentationstitels erfüllt am 23.10.2026
Persistenter Abschnitts-Countdown kontrollierte Testzeit prüft eingefrorenes Soll, Reload, Piece-Wechsel und Abschluss ohne Reset erfüllt am 23.10.2026
Responsive Bedienung komplette Browsermatrix und gezielter Werkzeugeditor bei 390 × 844 ohne horizontalen Überlauf erfüllt am 23.10.2026
Reale OBS- und Anbieterwiedergabe Keine OBS-Installation und keine echten Anbieteraufrufe in der lokalen Prüfumgebung offen

Ausgeführte Prüfungen 0.5.9

  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm test: 37 Tests in 7 Dateien erfolgreich
  • npm run test:e2e: 16 von 16 Chromium-Browsertests erfolgreich
  • zusätzlicher gezielter Chromium-Lauf des Werkzeugeditors bei 390 × 844 Pixeln: 1 von 1 erfolgreich, ohne horizontalen Überlauf
  • Browsermatrix bei 390, 768, 960, 1280 und 1440 Pixeln einschließlich Light/Dark, Planung, Live-Steuerung, anonymer Ausgabe und privater Materialien erfolgreich; Screenshots wurden durch die Suite erzeugt
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • lokale Entwicklungsdatenbank vorab nach .data/backups/0.5.9-pre-migration/sendewerk.sqlite gesichert; npm run db:migrate hat 0009_live_workbench.sql erfolgreich angewendet
  • bash -n start.sh und git diff --check: erfolgreich
  • reale OBS-Browserquelle und echte YouTube-/TikTok-Wiedergabe nicht ausgeführt; Anbieterrequests wurden in den Browsertests lokal abgefangen

Editor-Erlebnis 0.5.10

Kriterium Nachweis Stand
Titel direkt und per Tastatur bearbeitbar Chromium prüft Vorlage, Inline-Titel, Autosave, Schließen und erneutes Öffnen erfüllt am 23.10.2026
Gemeinsame Themen- und Werkzeugauswahl Browser prüft Auswahl, Speicherung und deaktivierte Werkzeugzuordnung; Svelte-Check ist warnfrei erfüllt am 23.10.2026
Themenicons lokal und persistent Migration und Servicetests prüfen Iconwert und Snapshot; Verwaltung nutzt lokalen Iconpicker erfüllt am 23.10.2026
Präsentationsbild ausdrücklich gewählt Browser lädt Bild hoch, aktualisiert Usage und sieht nur dieses Bild in anonymer Ausgabe erfüllt am 23.10.2026
Medien- und Usage-Snapshots bleiben stabil Servicetest entfernt Originalmedium und erhält bestehende Usage-Ausgabe erfüllt am 23.10.2026
Piece-Löschen ist wiederherstellbar Servicetest prüft Revision, Soft Delete, Listenausblendung, Medienzugriff und Wiederherstellung erfüllt am 23.10.2026
Live-Verwendungen sicher entfernbar Servicetests erlauben nur offene, nie gelaufene, nicht aktuelle oder präsentierte Verwendungen erfüllt am 23.10.2026
Leere OBS-Ausgabe ist transparent Chromium prüft leeren Renderer vor und nach Präsentation sowie versteckten Verbindungsstatus erfüllt am 23.10.2026
Responsive Bedienung vollständige Browsermatrix prüft 390 bis 1440 Pixel, Light/Dark und horizontalen Überlauf erfüllt am 23.10.2026
Reales OBS, reale Anbieter und echtes iOS In der lokalen Prüfumgebung nicht verfügbar offen
Werkzeugkatalog entspricht Themenverwaltung Kompakte Iconzeilen und gemeinsamer Anlegen-/Bearbeitendialog wurden auf Desktop/Mobil verglichen erfüllt am 23.10.2026
Vollständige Classic-Regular-Auswahl Generierung liefert 3.671 Icons; seltenes Icon wurde gesucht, gespeichert und im Piece angezeigt erfüllt am 23.10.2026
Formatwahl nutzt gemeinsamen Picker Browser ordnet Quiz im Dialog zu und erhält Format sowie Deaktivierungszustand nach Reload erfüllt am 23.10.2026

Ausgeführte Prüfungen 0.5.10

  • 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
  • Browsermatrix bei 390, 768, 960, 1280 und 1440 Pixeln einschließlich Light/Dark, mobiler Navigation, Dialogen, Planung, Live-Steuerung, anonymer Ausgabe, Medienauswahl und privater Datenfilterung erfolgreich; Screenshots wurden durch die Suite erzeugt
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • lokale Entwicklungsdatenbank vorab nach .data/backups/0.5.10-pre-migration/sendewerk.sqlite gesichert; npm run db:migrate hat 0010_editor_experience.sql erfolgreich angewendet
  • vor der Werkzeugmigration zusätzlich nach .data/backups/0.5.10-tool-icons-pre-migration/sendewerk.sqlite gesichert; npm run db:migrate hat 0011_tool_icons.sql erfolgreich angewendet
  • Werkzeugkatalog, Anlegen-/Bearbeitendialog, geöffnete Iconauswahl und Piece-Werkzeugauswahl bei 1280 × 720 und 390 × 844 Pixeln visuell direkt mit der Themenverwaltung verglichen; keine horizontale Überlauffläche festgestellt
  • 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
Themen-Iconpicker bleibt im Viewport Chromium prüft Öffnen und Auswahl bei 390, 960 und 1280 Pixeln erfüllt am 23.10.2026

Kompakte Live-Regie 0.5.12

Kriterium Nachweis Stand
Globale Navigation bleibt aus der Regie Chromium findet weder Seitenleiste noch mobilen App-Header oder Bottomnavigation erfüllt am 24.10.2026
Kleines Desktopfenster bleibt zweispaltig Chromium prüft Moderation, Ablauf und feste Aktionen bei 900 × 450 Pixeln erfüllt am 24.10.2026
Niedrige Desktophöhe wird berücksichtigt 900 × 450 aktiviert kompakte Abstände ohne Transform oder CSS-Zoom erfüllt am 24.10.2026
Zweizeiliger Kopf gewinnt Inhaltsfläche Chromium begrenzt die Kopfhöhe bei 670 × 450 und prüft die unveränderte feste Aktionsleiste erfüllt am 24.10.2026
Lange Kopftitel bleiben kontrolliert Abschnitt und Folgetitel kürzen einzeilig und öffnen vollständig per Klick, Enter und Escape erfüllt am 24.10.2026
Regiemenü bleibt sichtbar und erreichbar Browser prüft Viewportgrenzen, Scrollzugang, Sendungsname und Aktionen bei 1280, 670 und 390 Pixeln erfüllt am 24.10.2026
Menü schließt zugänglich Escape und Außenklick schließen das Popover und führen den Fokus zum Auslöser zurück erfüllt am 24.10.2026
Lange Inhalte scrollen innerhalb der Fläche Synthetischer Langtext und zusätzliche Ablaufabschnitte erzeugen zwei unabhängige Scroller erfüllt am 24.10.2026
Mobile Regie verwendet ein Ablauf-Sheet 390 × 700 prüft Endlage, Fokus, Escape, Aktionsschließen und Wechsel auf 900 Pixel erfüllt am 24.10.2026
Leseposition bleibt am Piece Nach tiefem Scrollen beginnt ein direkt gewähltes anderes Piece am oberen Rand erfüllt am 24.10.2026
Zustände sind ausgeschrieben Ablauf prüft Kommend, Aktuell, Erledigt und Übersprungen erfüllt am 24.10.2026
Erstes und letztes Piece direkt wählbar Browser wechselt per stabiler Usage-ID auf Desktop und aus dem mobilen Sheet in beide Richtungen erfüllt am 24.10.2026
Navigation veröffentlicht nicht automatisch Öffentliche Ausgabe bleibt bei direkter Auswahl unverändert erfüllt am 24.10.2026
Zurück ist reine Betrachtungsnavigation Browser prüft unverändertes aktuelles Piece, Countdown und Ausgabe sowie gesperrte Fortschrittsaktionen erfüllt am 24.10.2026
Timer und Livezustand überleben Reload Aktuelles Piece und laufender Abschnittscountdown bleiben nach Neuladen erhalten erfüllt am 24.10.2026
Wiederaufnahme nur bei Unterbrechung Während eines aktiven Pieces fehlt die Aktion; nach unterbrochenem Stand ist sie prominent erfüllt am 24.10.2026
Sendungsende ist eindeutig Letztes Piece zeigt Endaktion ohne horizontalen Überlauf; danach fehlen Weiter-Aktionen erfüllt am 24.10.2026
Liste und Kalender nutzen dieselben Daten Chromium wechselt zwischen beiden Ansichten; Sendungslinks bleiben identisch erreichbar erfüllt am 24.10.2026
Kalenderpräferenz bleibt am Konto Service- und Browsertest prüfen Standardwert, Speicherung und Reload erfüllt am 24.10.2026
Monat und Berliner Tage sind korrekt Unit-Tests prüfen Monatsgrenzen und UTC-Zuordnung; Browser prüft Monatswechsel und heutigen Tag erfüllt am 24.10.2026
Mehrere und terminlose Sendungen bleiben sichtbar Desktopkalender und mobile Agenda zeigen zwei Termine am Tag; eigener Bereich zeigt offenen Termin erfüllt am 24.10.2026

Ausgeführte Prüfungen 0.5.12

  • npm run lint: erfolgreich
  • npm run check: 0 Fehler und 0 Warnungen
  • npm test: 44 Tests in 8 Dateien erfolgreich
  • gezielte Kalender- und Live-Regie-Läufe: 2 von 2 Chromium-Tests erfolgreich
  • npm run test:e2e: 17 von 17 Chromium-Browsertests erfolgreich
  • Browserprüfungen der Live-Regie bei 1440 × 900, 900 × 450, 670 × 450 und 390 × 700 Pixeln sowie des Kalenders bei 1440 × 1000 und 390 × 844 Pixeln erfolgreich
  • npm run build: erfolgreich mit @sveltejs/adapter-node
  • Versionsgleichheit 0.5.12 in Paket, Lockdatei und Cloudron-Manifest geprüft
  • bash -n start.sh und git diff --check: erfolgreich
  • reale OBS-Browserquelle, echte YouTube-/TikTok-Wiedergabe und Safari auf einem iOS-Gerät nicht ausgeführt; Anbieterrequests wurden lokal abgefangen