aYOUne

Changelog

What changed — grouped by release, filterable by component and repository.

Other changes 2
New podcast

Titelbild auf der Episoden-Karte, ueber einen geteilten Bauer

Die Episoden-Karte (Mediathek + Episodenliste) trug bisher kein Bild, waehrend
der Sendungs-Kopf eines hatte — die beiden Flaechen waren auseinandergelaufen.

- renderCoverBild(): die EINE Stelle, an der ein Sendungs-Titelbild entsteht.
renderSendungsKopf ist darauf umgestellt (war die einzige Kopie).
- PodcastWiedergabeKontext.coverBySendung: eine ZUORDNUNG sendungSlug -> Adresse,
kein Einzelwert. Die Mediathek zeigt Folgen MEHRERER Sendungen (sie filtert
nach sendungSlug, mediathek.ts:181/210); ein Einzelwert haette dort jeder
Karte das Bild derselben Sendung gegeben.
- Das Bild erscheint nur, wenn die Flaeche eine Zuordnung mitgibt. Sonst haette
die Mediathek ab sofort ein Raster aus Initialen-Kacheln gezeigt, obwohl es
kein einziges Bild gibt. Innerhalb einer bebilderten Flaeche traegt jede
Karte den Platzhalter, damit die Zeilen nicht springen.

7 neue Proben, beide Flip-Proben beissen (Bild-Ausgabe entfernt -> 3 rot;
Bauer umbenannt -> Wortgrenzen-Riegel rot). Volle Reihe 1735/1736 gruen.

Die Befuellung von coverBySendung liegt in routes/ und ist ein eigener Brief
(podcast-coverbysendung-befuellen) — bis dahin zeigt keine Flaeche ein Bild.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
New podcast

Sendezeit je Sendung statt festem 07:15-Cron

CEO 2026-08-22, woertlich: 'Was ist wenn ein anderer Kunde das Briefing ODER DEN
PODCAST erst um 9 haben will? Der Scheduler sollte nur checken welche in der
Zukunft liegen wie bei anderen Themen auf der Platform auch, siehe Exporte und
Reporte.' Dieselbe Korrektur wie bei den Briefings am selben Tag.

GETEILT, NICHT KOPIERT: die Faelligkeits-Logik liegt jetzt in lib/sendSchedule.ts
(rein, uhrlos, ohne DB-Zugriff). tenantBriefing.ts importiert sie und re-exportiert
unter seinen bisherigen Namen weiter, also ohne Aufrufer-Nachzug; der Vorgabewert
ist Parameter geworden, weil Briefing 07:00 und Podcast 07:15 traegt.

PARITAET IST DER TRAGENDE TEIL: eine Sendung ohne Zeit-Felder faellt auf 07:15
Europe/Berlin und ihre schedule-Tage zurueck — exakt das Verhalten des abgeloesten
Cron. Die 07:15 sind kein Schoenheitsfehler: der alte Cron stand bewusst NACH den
Briefings (07:00), weil beide dasselbe Artikel-Fenster lesen.

12 neue Proben, davon 5 Paritaets-Proben. Flip-Probe: Vorgabe testweise auf 07:00
gezogen -> genau diese 5 fallen, nichts anderes. Volle Reihe 489/489 (vorher 477).

Zwei info-Zeilen auf debug: der Takt laeuft jetzt 144-mal am Tag statt einmal.

OFFEN und gemessen: sendTime/sendDays/timezone stehen WEDER im Vertrag IPodcast
NOCH im Podcasts-Schema (models 2026.456.0). Gelesen werden sie ueber .lean(),
wie die Datei schon autoPublish und curation liest; GESCHRIEBEN werden koennen sie
noch nicht (strict verwirft sie lautlos). Der Lese-Weg steht bereit, die Eingabe
fehlt — Fundament-Glied als eigener Brief podcast-sendezeit-felder-am-vertrag.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UVmnsay4L5Rw8MvnFMVqmj