Files
sendewerk/docs/STATUS.md
T
2026-10-25 23:29:00 +01:00

30 KiB
Raw Blame History

Projektstatus

Aktueller Umfang

Etappe 1 bis Etappe 7 sind abgeschlossen. Architektur, Gesamtdatenmodell, Anmeldung, Rollen, persistente Inhaltsbearbeitung, Sendungsplanung, Live-Steuerung, Präsentationsausgabe, unveränderliche Sendungshistorie, Archiv, sichere Lesefreigaben, RSS-Import und technische REST-Zugänge sind dokumentiert.

Fehlerkorrekturen 0.7.1

  • Explizite Abschnittsdauern werden während der Live-Regie nach Änderungen synchronisiert. Erledigte oder übersprungene Pieces lassen sich bewusst wiederaufnehmen; frühere Abschnitts- und Gesamtzeiten bleiben dabei erhalten.
  • Der mobile Ablauf liegt innerhalb eines isolierten Live-Containers, und lange Metadaten verbreitern die Regie nicht mehr. Sendungskarten stapeln ihre Inhalte auf kleinen Bildschirmen eindeutig.
  • Die Vorbereitung zeigt nur konkrete Einplanungen aktiver Sendungen, deren Fundus-Original noch in Vorbereitung ist. Usage-Titel, Sendung, Abschnitt, Priorität und gespeicherte Themenicons führen direkt zur Sendungsfassung.
  • Text, Nur Bild, Linkvorschau und Video besitzen in Fundus- und Usage-Editor kontextsensitive Felder und Vorschauen. Ausgeblendete Werte bleiben beim Moduswechsel erhalten.
  • Die Iconsuche fokussiert beim Öffnen sofort das Suchfeld. RSS-Feeds und technische Zugänge folgen in der Verwaltung dem kompakten Katalogmuster.
  • Lesefreigaben öffnen nach Serverantworten wieder mit dem einmalig sichtbaren Link, bieten Kopieren und sichere Ersatzlinks. Ersatzlinks invalidieren den alten Token und dessen Gastsitzungen. Die Gastansicht trennt Abschnitte ohne zusätzliche äußere Karten.

Geprüft wurden 60 von 60 Verhaltenstests, Lint, Typprüfung, Produktionsbuild und 18 von 18 Chromium-Abläufe. Die Browsermatrix öffnete beide Piece-Editoren, Sendungsübersicht, Verwaltung und Freigabedialoge, Gastansicht sowie Live-Regie bei Desktop- und Mobilbreiten. Safari und die installierte Webapp auf einem echten iOS-Gerät bleiben mangels Gerät getrennt offen.

RSS-Import und externe Assistenz 0.7.0

  • Barkeeper verwalten RSS-/Atom-Feeds mit Standardkategorie, Aktivierung und Abrufintervall; manueller Abruf und ein begrenzter Prozess-Scheduler verwenden dieselbe Fehler- und Dublettenlogik.
  • Feedabrufe prüfen Protokoll, Port, DNS und Redirects, begrenzen Laufzeit, Antwortgröße und Eintragszahl und lassen Fehler anderer Feeds unberührt.
  • Fremdes HTML wird entfernt. Beiträge bleiben mit stabiler Herkunft im getrennten Importeingang, bis die Redaktion sie auswählt, kategorisiert und als normale Pieces übernimmt oder dauerhaft verwirft.
  • /api/v1 bietet Pieces und Sendungen über gehashte, widerrufbare technische Bearer-Tokens mit reinen Lese- oder Lese-/Schreibrechten an. Mutationen nutzen bestehende Dienste, Audit-Ereignisse, Revisionen und persistente Idempotenzschlüssel.
  • Die maschinenlesbare Beschreibung liegt unter /api/v1/openapi.json; eine ChatGPT-/Codex- oder andere konkrete Client-Anbindung wurde nicht eingerichtet.
  • Migration 0018_rss_and_api.sql ergänzt ausschließlich additive Tabellen und Indizes. Sendewerk bleibt ohne KI und ohne konfigurierte Feeds vollständig nutzbar.

Geprüft wurden 58 Verhaltenstests, Typprüfung, Produktionsbuild, Dependency- Audit, vier RSS- und zwei Zugangssicherheitstests sowie ein echter HTTP-Rundlauf lesen → anlegen → idempotent wiederholen → ändern → erneut lesen → einplanen → sortieren. Desktop-Verwaltung und mobiler Eingang wurden in Chromium ohne Konsolenfehler geprüft. In der bestehenden Gesamtmatrix waren 16 von 18 Abläufen erfolgreich; die bereits bekannte Live-Zeitanzeige und der Ablauf Abschluss/Freigabe schlugen weiterhin fehl. Der globale Lintlauf bleibt an acht vorhandenen Formatierungsabweichungen außerhalb dieser Etappe offen.

Wartungsrelease 0.6.1

  • Abschnitts-Countdown, mobile Live-Kopfzeile und Ablauf-Sheet wurden korrigiert; die doppelte Piece-Positionsanzeige entfällt.
  • Optionaler Vorbereitungsaufwand, kompakte Vorbereitungsliste und Abschnitts-Twitch-Tags sind additiv persistiert.
  • Der Präsentationsmodus image gibt ausschließlich das bewusst gewählte Snapshot-Medium aus.
  • Mobile Eingaben, Iconsuche, Sendungskarten und Gastabstände wurden angepasst.
  • Lesefreigaben verwenden einen gemeinsamen Dialog und sind auch aus der Live-Regie erreichbar.

Geprüft wurden 52 Verhaltenstests, Typprüfung und Produktionsbuild. Im zweiten Chromium-Lauf waren 14 Abläufe erfolgreich; zwei Abläufe schlugen vor dem Zeitlimit fehl, zwei weitere wurden nicht mehr ausgeführt. Die vollständige Browsermatrix bleibt damit offen.

Abschluss, Archiv und Freigaben 0.6.0

  • das Ende eines Live-Laufs bleibt wiederaufnehmbar; erst der getrennte, idempotente Abschluss friert Sendung, Kategorien, tatsächliche Verwendungen und Zeiten unveränderlich ein
  • der Abschlussdialog zählt gesendete, übersprungene und offene Pieces getrennt und archiviert Fundus-Originale ausschließlich nach bewusster Auswahl
  • die Verwendungshistorie wird beim Abschluss materialisiert; übersprungene Verwendungen und die Reservebank zählen nicht als gesendet
  • abgeschlossene Sendungen liegen getrennt im Archiv, sind intern nur lesbar und lassen sich mit neuen IDs, offenen Verwendungen und ohne Live- oder Freigabezustand in einen neuen Entwurf duplizieren
  • Barkeeper verwalten gehashte Leselinks direkt in der Sendungsbearbeitung und gesammelt in der Verwaltung; Umfang, Passwort und Ablauf lassen sich ändern, Freigaben vollständig löschen
  • Entwürfe, bereite und laufende Sendungen lassen sich bereits freigeben; Planänderungen werden beim nächsten Gastaufruf sichtbar, während der Abschluss denselben Link auf den unveränderlichen historischen Stand festlegt
  • passwortgeschützte Freigaben verwenden kurzlebige, gehashte Gast-Sitzungen und begrenzen Fehlversuche pro Link und Clientadresse
  • Gastseiten liefern genau eine positiv projizierte Sendung ohne interne IDs, Originaldaten oder nicht freigegebene Felder; geschützte Präsentationsmedien prüfen Umfang, Passwortsitzung, Ablauf und Widerruf bei jedem Direktaufruf
  • bestehende abgeschlossene Sendungen werden durch Migration 0015 mit eingefrorener Historie übernommen; Migration 0016 erweitert bestehende Freigaben verlustfrei auf noch nicht abgeschlossene Sendungen

Die lokale Prüfmatrix umfasst 52 Verhaltenstests und 18 Chromium-Abläufe. Abschluss, Archiv, historische Nur-Lese-Ansicht, Passwortfreigabe, Scope-Begrenzung, direkter Medienzugriff, fremde IDs, Gast-Schreibversuch und Widerruf wurden zusätzlich in einem anonymen Browserkontext geprüft. Der erweiterte Ablauf prüft außerdem offene Sendungen, aktuelle Planänderungen, Bearbeiten und Löschen in beiden Barkeeper-Oberflächen sowie Desktop- und Smartphone-Layout.

Live-Regie und Sendungskalender 0.5.12

  • die Live-Kopfleiste zeigt Classic-Regular-Icons für Ausgabe, Gesamtzeit, Abschnitt, Menü und Ablauf; Pause/Fortsetzen liegt zusätzlich als direkter, beschrifteter Iconbutton neben der Abschnittszeit
  • Sendungskarten ordnen Fakten auf kleinen Bildschirmen wieder horizontal an und vermeiden dadurch die zuvor unnötig hohe Kartenfläche
  • Reparaturmigration 0014_live_show_timer_repair.sql ergänzt fehlende Gesamttimertabellen auch dann, wenn 0013 bereits in einem früheren Zwischenstand protokolliert wurde; der 500-Fehler beim Laden von /live ist damit behoben
  • gemeinsame persistente Pause für Piece-, Abschnitts- und Gesamttimer; Fortsetzen zählt Pausenzeit weder nach Navigation noch nach Reload mit
  • getrennte bestätigungspflichtige Resets für Abschnitts- und Gesamtzeit, ohne Piece-Status, Ablaufposition, Restplanung oder Präsentationsstand zu verändern
  • umschaltbare, lokal gemerkte Anzeige von gelaufener Gesamtzeit und geschätzter Restzeit; Abschnitte ohne eigene Planung werden kenntlich gemacht und Abschnitts- sowie Piece-Dauern nie doppelt addiert
  • explizite Sendungssteuerung für Entwurf, Bereit, Start, Pause, Ende, Wiederaufnahme eines beendeten Laufs und klar getrennten neuen Durchlauf
  • optionales privates Markdownfeld „Interaktion“ zwischen Moderation und Überleitung; Original, Vorlage, Sendungsfassung, Duplikation und bewusste Fundus-Aktualisierung führen jeweils unabhängige Snapshots
  • „Interaktion“, Timer- und Sendungssteuerung bleiben aus der öffentlichen heinzlive-Projektion ausgeschlossen
  • fokussierte private Liveansicht ohne normale App-Seitenleiste oder mobile Bottomnavigation; Planung, Theme, Schriftgröße, Zeitdarstellung und Ausgabekanal bleiben über das kompakte Regiemenü erreichbar
  • zweizeilige feste Kopfzeile: Abschnitt und „Danach“ teilen sich die erste Zeile mit dem Menü; Ausgabe, Abschnittscountdown und Ablaufschalter bilden die zweite Zeile. Der Sendungsname steht platzsparend im Menü
  • lange Abschnitts- und Folgetitel sind regulär einzeilig gekürzt und lassen sich per Klick oder Tastatur vollständig aufklappen
  • feste, auf vier Kernaktionen reduzierte Fußleiste mit Zurück, Präsentieren, Überspringen und kontextgerechtem Erledigen; das Leeren der Präsentation liegt direkt beim Ausgabezustand
  • aktuelle Moderation und schmale Ablaufspalte bleiben auch bei 900 × 450 Pixeln nebeneinander; beide Arbeitsflächen scrollen unabhängig, ohne die ganze Seite oder einzelne Textblöcke zu verschachtelten Scrollcontainern zu machen
  • bei niedrigen Desktopfenstern werden Abstände und Bedienleisten anhand der verfügbaren Höhe verdichtet, ohne Text oder Gesamtoberfläche zu skalieren
  • auf schmalen Ansichten bleibt das Piece die Hauptfläche und der Ablauf öffnet als separates, safe-area-fähiges Sheet mit Fokusführung und Escape-Schließen
  • kompakter aufklappbarer Ablauf mit ausgeschriebenen Zuständen, lokaler Betrachtung jedes Pieces, automatisch sichtbarem aktuellen Eintrag und zusammengeklappter Reserve; Sortierung bleibt in einer kompakten Aktion erreichbar, dauerhafte Sortierpfeile entfallen
  • die Leseposition wird je Piece lokal erhalten; ein erstmals gewähltes Piece beginnt oben statt an der Position des vorherigen Textes
  • Piece-Position, Titel und Zeit teilen sich einen kompakten Piece-Kopf, ohne die einstellbare Moderationsschrift zu verkleinern
  • das Regiemenü liegt als viewportgebundenes Popover sicher über den Glasflächen, bleibt scrollbar erreichbar und schließt per Escape oder Außenklick mit Fokus-Rückkehr zum Auslöser
  • Recherche, Quellen, Werkzeuge und eigene Notizen erscheinen nur bei Bedarf; leere Moderationsbereiche werden nicht dargestellt
  • Zurück und direkte Ablaufwahl verändern weder tatsächliches Live-Piece noch Status, Timer oder öffentliche Ausgabe; Überspringen und Erledigen bleiben bei einem nur betrachteten früheren Piece gesperrt
  • Liste und Kalender teilen dieselben Sendungsdaten; der Desktop zeigt ein vollständiges Monatsraster, das Smartphone eine chronologische Monatsagenda
  • Monatswechsel, heutiger Tag, mehrere Termine pro Tag und Sendungen ohne Termin bleiben sichtbar; die bevorzugte Listen- oder Kalenderansicht wird je Konto gespeichert
  • die Wiederaufnahmeaktion erscheint nur bei tatsächlich unterbrochenem Live-Stand statt während eines laufenden Pieces

Etappe 6 bleibt unverändert unbegonnen.

Die bestehende lokale Prüfmatrix umfasst 44 Verhaltenstests und 17 Chromium-Abläufe. Die nachträgliche Icon-, Pause- und Kartenkorrektur wurde zusätzlich mit Typprüfung, sechs Live-Verhaltenstests, Produktionsbuild und gezielten Chromium-Abläufen bei 670 × 450, 390 × 700 und 656 × 400 Pixeln geprüft. Die vollständige Matrix wurde dafür nicht erneut ausgeführt. Reales OBS, echte YouTube-/TikTok-Wiedergabe sowie Safari auf einem iOS-Gerät bleiben mangels verfügbarer Umgebung offen.

Verwaltungskorrektur 0.5.11

  • der Werkzeugdialog bleibt beim Laden geschlossen und öffnet erst nach einer bewussten Aktion
  • die Themen-Iconauswahl bleibt bei mobilen und breiten Ansichten vollständig innerhalb des Viewports

Editor-Erlebnis 0.5.10

  • direkte, tastaturbedienbare Titelbearbeitung in Fundus- und Sendungsfassungen sowie gemeinsame kompakte Auswahlflächen für Themen und Werkzeuge
  • vollständiger lokaler Classic-Regular-Katalog mit 3.671 Icons für Navigation, Aktionen sowie frei wählbare Themen- und Werkzeugicons; durchsuchbare Metadaten und SVG-Sprite vermeiden externe Laufzeitabhängigkeiten
  • kompakter Werkzeugkatalog nach dem Muster der Themenverwaltung; Anlegen und Bearbeiten teilen einen responsiven Dialog mit gestalteter Icon- und Formatauswahl, bestehende Zuordnungen und Deaktivierung bleiben erhalten
  • Präsentationsbilder werden bewusst aus aktiven Piece-Medien ausgewählt und als unveränderlicher Usage-Snapshot eingeplant; private Bilder werden dadurch weder implizit noch nach späterer Originaländerung öffentlich
  • entfernte Medien bleiben für bestehende Sendungsfassungen erhalten, während neue Einplanungen nur aktive Medien übernehmen
  • wiederherstellbares Soft Delete für Pieces sowie geschütztes Entfernen offener, nie live gelaufener Verwendungen und Abschnitte
  • kompaktere Fundus-, Eingangs-, Archiv-, Vorlagen- und Sendungsansichten mit mobilen, touch- und tastaturbedienbaren Alternativen
  • transparente leere heinzlive-Ausgabe ohne sichtbaren Renderer oder Verbindungsstatus; die Steuerung kann eine aktive Präsentation unabhängig vom aktuellen Piece leeren

Etappe 6 bleibt unverändert unbegonnen. Die lokale Prüfmatrix umfasst 40 Verhaltenstests und 16 Chromium-Abläufe. Reales OBS, echte YouTube-/TikTok-Wiedergabe sowie Safari auf einem iOS-Gerät bleiben mangels verfügbarer Umgebung offen.

Live-Werkbank 0.5.9

  • globale Favoriten am Fundus-Original mit stabiler Vorsortierung; verwendete Favoriten bleiben sichtbar, geplante Favoriten respektieren weiterhin den Einplanungsfilter
  • Barkeeper-Werkzeugkatalog mit Start-URL, Beschreibung, passenden Formaten und verlustfreier Deaktivierung; Arbeitslink und Notiz bleiben für die gesamte Thekencrew im gemeinsamen Piece- und Verwendungseditor bearbeitbar
  • vollständige, voneinander unabhängige Usage-Snapshots für Quellen, Werkzeuge und alphabetisch stabilisierte Themen; spätere Original- oder Katalogänderungen wirken erst nach bewusster Aktualisierung aus dem Fundus
  • kompakte private Materialliste in der Live-Steuerung mit Arbeitslink vor Start-URL und verständlichem Zustand ohne URL
  • responsive Themen-Dachzeile in der Publikumsausgabe; ohne Thema bleibt sie vollständig aus, während Präsentations- und interner Titel getrennt bleiben
  • persistenter Abschnitts-Countdown für positive explizite Abschnittsdauern mit eingefrorenem Soll, sekündlicher Anzeige, Goldwarnung ab zwei Minuten und roter Überziehung ohne Ton, Blinken oder automatische Weiterschaltung

Etappe 6 bleibt unverändert unbegonnen. Reales OBS und echte YouTube-/TikTok-Wiedergabe bleiben mangels verfügbarer Umgebung offen.

Die lokale Prüfmatrix umfasst 37 Verhaltenstests und 16 Chromium-Abläufe. Desktop, Smartphone, Light/Dark, Favoritenfilter, Werkzeug-Deaktivierung, Snapshot-Stabilität, private Live-Materialien, öffentliche Themenprojektion und persistente Abschnittszeit wurden geprüft.

Redaktionelle Arbeitsabläufe 0.5.8

  • persistente Piece-Vorlagen als unabhängige, revisionierte Snapshots; eigene Vorlagen lassen sich aus Fundus-Pieces speichern, erneut verwenden und löschen
  • atomare, idempotente Piece-Neuanlage direkt in einer Sendung einschließlich Einplanung; fehlgeschlagene Schritte hinterlassen weder Piece noch Verwendung
  • getrennte interne und öffentliche Titel an Piece und Verwendung; ein leerer Präsentationstitel fällt kontrolliert auf den internen Titel zurück
  • präzises Entfernen einzelner Verwendungen mit Bestätigung sowie zusätzlicher Drag-and-drop-Rückgabe in den Fundusbereich
  • Auswahl jedes konkreten Ablauf-Pieces in der Live-Steuerung, einschließlich erstem und bereits erledigtem Eintrag
  • stabiler OBS-Ausgabekanal /heinzlive/default mit geheimem URL-Fragment, HttpOnly-Cookie-Austausch und ausdrücklicher Schlüsselrotation
  • öffentliche Ausgabe als Positivliste: implizite Piece-Quellen und private Uploads werden nicht mehr veröffentlicht; nur ausdrücklich gewählte Link-/Videoquellen und deren erlaubte Vorschau bleiben sichtbar

Die vollständige lokale Prüfmatrix umfasst 33 Verhaltenstests und 15 Chromium-Abläufe. Desktop, Mobil, Light/Dark, Tastatur- und Touchalternativen, Planung, Live-Ausgabe sowie anonyme Ausgabedaten wurden geprüft. Reales OBS und echte YouTube-/TikTok-Wiedergabe bleiben mangels verfügbarer Umgebung offen.

Materialkorrektur 0.5.7

  • statische Gold-/Blauviolettlichter so positioniert und verstärkt, dass sie im eigentlichen Arbeitsbereich statt fast ausschließlich hinter der Navigation sichtbar werden
  • gemeinsame Materialtokens auf Außenglas, dunkle Innenfläche und tiefe Ablaufkarte reduziert; verschachtelte Abschnitte, Pieces und Aktionsgruppen werden nach innen dunkler statt heller und blaugrau
  • aktive Editortabs transparent goldgetönt und private Recherche sowie Quellen-/Materialbereiche auf transparente Nachtblauflächen zurückgeführt
  • Dialog-Backdrop von starker Abdunklung und Unschärfe auf eine leichtere Trennung reduziert, sodass die Lichtstimmung bei geöffnetem Editor erhalten bleibt
  • deckende Schreibfelder, Goldfokus, Lightmode, Mobilansicht und lesbare Komponentenfüllungen ohne verfügbaren Blur bleiben erhalten

Die berechneten Hintergründe, Transparenzen, Filter und Begrenzungseigenschaften wurden vor und nach der Korrektur in Chromium kontrolliert. Sendungsplanung, Sendungstext und Recherche wurden bei 1440 × 1000 und 390 × 844 Pixeln in beiden Themes visuell geprüft.

Oberflächenkorrektur 0.5.6

  • sichtbare statische Gold- und Blauviolettlichter hinter den halbtransparenten Navigations- und Editorflächen
  • klarere Glaswirkung in Navigation sowie Kopf, Tabs und Fuß des Piece-Editors; Schreibflächen bleiben deckend, ruhig und goldfokussiert
  • Fundus mit dauerhaft sichtbarer Suche und Neuanlage, aufklappbaren Zusatzfiltern und inhaltsorientierten, vollständig anklickbaren Zeilen
  • vorhandene Vorschaubilder beziehungsweise kleine Symbolplatzhalter sowie gebündelte Menüs für Duplizieren und Archivieren
  • bestehende Server-Actions, Filterlogik und Editor-Bereiche unverändert

Geprüft wurden npm run check sowie Fundus und geöffneter Piece-Editor in Chromium bei 1440 × 1000 und 390 × 844 Pixeln in Light/Dark. Die gezielte Kontrolle umfasste Tastaturöffnung, Menüs, Fokus, Glaswerte, Seitenüberlauf und visuell geprüfte Screenshots. Produktionsbuild und vollständige Testmatrix wurden gemäß Auftrag nicht ausgeführt.

Oberflächenkorrektur 0.5.5

  • dunkle Grundfläche mit sehr zurückhaltenden Gold-/Cyan-Lichtfeldern innerhalb der Anwendung statt gleichmäßig deckender Blauflächen
  • Navigation, große Arbeitsflächen und Piece-Dialog als dunkles beziehungsweise helles Glas mit feiner Lichtkante, Unschärfe und ruhigem Schatten
  • Gold für Dialogkontur, Fokus, aktive Zustände und Hauptaktionen; Cyan nur noch für ergänzende redaktionelle Hinweise und Links
  • klar abgegrenzte, weitgehend deckende Schreibfelder mit Goldfokus, Platzhaltern und nach Textrolle abgestuften Höhen
  • bestehende nachträgliche CSS-Override-Schicht entfernt und die Gestaltung in gemeinsame Tokens und ursprüngliche Komponentenregeln zurückgeführt

Geprüft wurden Typen, Produktionsbuild sowie gezielte Chromium-Ansichten von Eingang, Fundus, Piece-Editor, Sendungsplanung und Live-Steuerung bei 1440 × 1000 und 390 × 844 Pixeln in beiden Themes. Die vollständige Unit- und E2E-Matrix bleibt wie beauftragt Schritt 3 vorbehalten.

Oberflächenrelease 0.5.4

  • gemeinsame Light-/Dark-Tokens für ruhige Arbeitsflächen, Cyan als Interaktionsfarbe und Gold für die jeweilige Hauptaktion
  • Darkmode im heinzlive-Farbraum mit Hintergrund #0B1220, Flächen #152238, Text #FFF7E8, Sekundärtext #A9B6C8, Gold #E7B957, Cyan #67DDE8 und Grenzen #30435C
  • vereinheitlichte Navigation, Formulare, Meldungen, Listen, Sendungsplan, Live-Steuerung und Piece-Dialoge ohne Änderung der Bedienlogik
  • kompaktere Planzeilen mit sichtbarem Drag-Griff und waagerechter Aktionsgruppe; Klick-, Touch- und Tastaturalternativen bleiben erhalten
  • verständliche Kontextnamen „Fundusfassung“ und „Sendungsfassung“ sowie weniger technische Erläuterungen im redaktionellen Arbeitsfluss
  • dezente Speicheraktion im gespeicherten Zustand und hervorgehobene Aktion bei ungespeicherten Änderungen, Fehlern oder Konflikten

Für diesen Design-Release wurden npm run check, npm run build und gezielte Chromium-Sichtkontrollen auf Eingang, Fundus, Piece-Editor, Sendungsplan und Live-Steuerung bei 1440 × 1000 sowie 390 × 844 Pixeln in Light/Dark ausgeführt. Konsolenfehler und horizontaler Seitenüberlauf traten dabei nicht auf. Die vollständige Unit- und E2E-Matrix wurde für die rein visuelle Änderung bewusst nicht erneut ausgeführt; die fachlichen Nachweise der Etappen 1 bis 5 bleiben unverändert.

Umgesetzter Stand Etappe 1

  • SvelteKit-/TypeScript-Monolith mit Node-Adapter
  • konfigurierbare lokale SQLite- und Uploadpfade
  • wiederholbare Migrationen und realistischer Seed
  • persistentes Light-/Dark-/System-Theme
  • responsive Navigation und gekennzeichnete Vorschauen für Fundus, Sendungsbau und Live-Modus
  • kompakte Desktop-Arbeitsansicht mit fester Seitenleiste, Fundusliste und zweigeteiltem Sendungsbau; auf schmalen Ansichten Umschaltung statt Engpass
  • Healthcheck, Produktionsstart und frühes Cloudron-Paket
  • getrennte Unit-/Integrations- und Browser-Testdaten

Die Vorschauen lesen echte Daten aus SQLite. Suche und mobile Pane-Umschaltung funktionieren lokal; redaktionelle Schreiboperationen bleiben bewusst den späteren Etappen vorbehalten.

Die abschließende Oberflächenüberarbeitung von Etappe 1 reduziert große Seitenköpfe und verschachtelte Karten, bündelt den Schreibschutzhinweis aufklappbar und hält Entwicklungsinformationen aus der Arbeitsoberfläche heraus. Eingang und Archiv zeigen kurze Leerzustände, die Verwaltung trennt Abschnittskategorien, Formate und Themen kompakt.

Die abschließende responsive Prüfung verdichtet Seitenleiste, Navigation und Funduszeilen weiter. Mobile Funduskarten sind intern einspaltig; lange Titel, Beschreibungen und Metadaten bleiben ohne feste Kartenhöhe sichtbar. Suche und Statusfilter sind gleich hoch, und die Filtergruppe wird nur als Ganzes umgebrochen.

Noch nicht umgesetzt

Archivabschluss, Freigaben, RSS und API. Diese späteren Bereiche dürfen nicht als bereits implementiert verstanden werden.

Umgesetzter Stand Etappe 2

  • einmalige Erstadmin-Einrichtung mit externem Betreiber-Token
  • Login und POST-Logout mit widerrufbaren Datenbanksitzungen
  • Rollen Barkeeper und Thekencrew mit serverseitiger Prüfung
  • Einladungen und Passwortreset über befristete, einmalige Links
  • Kontensperrung mit sofortigem Entzug bestehender Sitzungen
  • zeitfensterbasiertes Login-Rate-Limit ohne dauerhafte Kontensperre
  • lokale Mail-Outbox als Vorgabe und explizit konfigurierbarer SMTP-Versand
  • responsive Authentifizierungs- und Kontenverwaltungsoberflächen

Umgesetzter Stand Etappe 3

  • persistente Piece-Neuanlage aus leerem Entwurf oder drei redaktionellen Vorlagen
  • Schnellaufnahme von Gedanken und HTTP-/HTTPS-Links im Eingang
  • vollständiger Editor für Quellen, Dauer in Minuten, Status und getrennte Einleitung, Recherche, Moderation, Überleitung und Präsentation
  • serverseitig bereinigte Markdown-Vorschau
  • unabhängige Themen, Formate und Abschnittskategorien mit Barkeeper-Verwaltung
  • serverseitige Suche und Filter nach Status, Format, Thema und Abschnitt
  • Autospeichern mit sichtbarem Zustand und Warten vor interner Navigation
  • optimistische Revisionen verhindern unbemerktes Überschreiben
  • Duplizieren einschließlich Quellen, Taxonomie und Bildern
  • Archivieren und Wiederherstellen in den vorherigen Arbeitsstatus
  • private Rasterbilder mit Größen-/Signaturprüfung und geschützter Auslieferung
  • erweiterter Seed mit Eingangs-, Archiv-, Markdown- und Recherchebeispielen
  • standardmäßig ausgeblendete gesendete Pieces mit verlinkter, aufklappbarer Verwendungshistorie; gesendet bedeutet erledigt in abgeschlossener Sendung
  • standardmäßig ausgeblendete Pieces, die in mindestens einer noch nicht abgeschlossenen Sendung eingeplant sind, mit unabhängigem Sofortfilter
  • Fundus-Originale und sendungsspezifische Verwendungen nutzen denselben großzügigen Dialograhmen mit den Bereichen „Sendungstext“, „Recherche & Quellen“ und „Präsentation“; der jeweilige Speicherkontext ist sichtbar und Original sowie Verwendung bleiben getrennte Revisionsgrenzen
  • Titel, Einleitung, Moderationsstichpunkte und Überleitung sind ohne vorgeschaltete Lese-/Bearbeitungsschalter direkt beschreibbar; eine kleine Markdown-Leiste ergänzt Formatierung ohne Änderung des Speicherformats
  • Recherche, Quellen, verwendungseigene Notizen und Material sind in einem Bereich gebündelt; öffentliche Texte, Darstellungswahl und tatsächliche Vorschau stehen gemeinsam im Präsentationsbereich
  • der Dialog bleibt innerhalb der Desktop-Fensterhöhe, hält Kopf, Bereichsnavigation und Aktionen sichtbar und nutzt mobil die volle Bildschirmfläche; Bereichswechsel hängen Eingaben nicht aus und merken die jeweilige Scrollposition
  • die Schnellaufnahme akzeptiert Gedanke oder URL, bleibt nach dem Ablegen im Eingang und öffnet die Ausarbeitung erst über eine bewusste Aktion

Für diese gezielte Überarbeitung wurden npm run check sowie kurze Chromium-Sichtkontrollen des Original- und Verwendungseditors bei 1440 × 1000 und 390 × 844 Pixeln ausgeführt. Dabei waren Dialoggrenzen, feste Bedienbereiche, alle drei Arbeitsbereiche und horizontaler Überlauf unauffällig. Die vollständige Unit-, E2E- und Build-Matrix ist gemäß Auftrag noch offen.

Umgesetzter Stand Etappe 4

  • Sendungsübersicht mit leerem Start, Standardablauf und Spieleabend-Vorlage
  • frei benennbare, kategorisierte und sortierbare Abschnitte einschließlich eigenständiger Spieleblöcke
  • Einplanung ausschließlich sendefertiger Pieces als unabhängige Text- und Dauerkopien; Mehrfachverwendung desselben Originals ist möglich
  • showweite Reservebank, die nicht in Abschnitts- oder Gesamtdauer einfließt
  • explizite Abschnittsdauer ersetzt die Piece-Summe statt sie zu addieren
  • Bearbeiten, Entfernen sowie Verschieben innerhalb und zwischen Abschnitten
  • zugänglicher Stift-Dialog für alle sendungsspezifischen Felder und Aktionen, auf Desktop zweispaltig und auf kleinen Bildschirmen einspaltig scrollbar
  • explizites Aktualisieren eines Verwendungssnapshots aus dem Original für Titel, Dauer und Redaktionstexte bei erhaltenen Notizen und Live-Daten
  • Duplizieren einer konkreten Einplanung direkt hinter dem Ausgangselement mit erhaltenen Anpassungen, aber zurückgesetztem Live-Zustand
  • Piece-Dauern werden im Editor in Minuten eingegeben und intern weiterhin als ganze Sekunden gespeichert
  • Drag-and-drop über eindeutige Griffe, auch direkt aus gefilterten Quellen, mit positionsgenauer Einfügevorschau, transparentem Original und gleichwertigen Klick-, Touch- und Tastaturaktionen
  • Planungsmutationen ohne Dokumentreload mit lokalem Speicherzustand und animierter Neusortierung der betroffenen Elemente
  • unabhängige Sofortfilter für verwendete sowie in der aktuellen Sendung schon eingeplante Originale einschließlich Reservebank
  • kopierbare Twitch-Titel und Ankündigungstexte
  • showweite optimistische Revision schützt Metadaten, Reihenfolge und Inhalte vor unbemerktem parallelem Überschreiben
  • realistischer Seed mit Standardablauf und eigenständigem Spieleabend

Umgesetzter Stand Etappe 5

  • fokussierte Moderationsansicht mit Prompter-Schrift, Einleitung, Moderation, Überleitung und standardmäßig geschlossener privater Recherche
  • ausblendbare Zeit- und Ablaufanzeige sowie persistente lokale Leseposition
  • aktuelles und nächstes Piece samt Abschnitt und geplantem Zeitbedarf
  • persistenter Live-Stand mit tatsächlichen Laufintervallen, Erledigen, Überspringen, Zurück und Wiederaufnahme
  • idempotente Live-Befehle verhindern doppelte Wirkung bei Wiederholung
  • serverseitig geschützte Umsortierung offener Pieces und Reserveeinfügung
  • explizite Präsentationsaktion; normale Live-Navigation verändert die Ausgabe nicht
  • getrennte, tokenisierte heinzlive-Ausgabe mit Polling, Verbindungsanzeige, Präsentationstext, Quellen und erlaubten Bildern
  • wählbare Text-, Linkkarten- und Videodarstellung aus genau einer vorhandenen Piece-Quelle mit manuell korrigierbaren, persistenten Metadaten
  • ausdrückliches serverseitiges Neuladen von Linkmetadaten über Metascraper mit DNS-, Redirect-, Zeit-, Größen- und Privatnetzschutz
  • validierte YouTube- und TikTok-IDs, offizielle Player-Iframes ohne Autoplay sowie Linkkarten-Fallback für nicht unterstützte Videoquellen
  • unveränderliche Präsentationssnapshots je Einplanung und explizite Aktualisierung aus dem Fundus
  • isolierte Präsentationstestansicht ohne Änderung des Live-Stands sowie tokengebundene, serverseitig geschützte Proxys für externe Vorschaubilder
  • Ausgabe-HTML, JSON und Medienzugriff enthalten keine Recherche, Moderationsnotizen, eigenen Notizen, Kontodaten oder internen Dateipfade

Bekannte offene Betriebsprüfung

Eine echte Cloudron-Installation samt Backup/Restore, Reverse-Proxy-Verhalten und read-only Laufzeit konnte ohne bereitgestellten Cloudron-Server nicht durchgeführt werden. Auch der lokale Container-Smoke-Test blieb offen, weil auf der Prüfmaschine kein Docker-Daemon lief. Manifestkernfelder und Startskript-Syntax wurden lokal geprüft.

Eine reale OBS-Browserquelle stand nicht zur Verfügung. Die tokenisierte Präsentationsausgabe wurde stattdessen in einem anonymen zweiten Chromium- Browserkontext einschließlich Bild, JSON-Filterung, Polling und sichtbarem Verbindungsabbruch geprüft.

Die automatisierten Playerprüfungen fingen YouTube- und TikTok-Requests lokal ab. URL-Erkennung, Iframe-Wechsel, Zeitmarkenübergabe und mobile Ausgabe sind damit geprüft, nicht jedoch die reale Wiedergabe oder Verfügbarkeit der Anbieter.

Verifizierte Umgebung

  • Node.js 22.23.1, npm 10.9.8
  • SvelteKit 3.1.0, Svelte 5.57.2, Vite 8.3.5
  • SQLite-Treiber better-sqlite3 13.0.3
  • Playwright 1.64.1 mit Chromium 156.0.8078.4 (Fallback-Build für Ubuntu 24.04)