aYOUne

Changelog

Was sich verändert hat — gruppiert nach Release, filterbar nach Komponente und Repository.

Ohne Meilenstein 2
Fix types

Images-Felder aus dem Documents-Datensatz entfernen

Der Bau war rot, seit `tsc || exit 0` entfernt wurde — 10 Uebersetzungsfehler,
alle TS2339 in jobs/generateVideo.ts an zwei gleichlautenden Stellen.

Der Code baut einen `Documents`-Datensatz, setzt darauf aber fuenf Felder, die zu
`IImage` gehoeren: _productID, _productGroupID, _productDivisionID, _publicationID,
_filename. Gemessen: 0 Treffer in Vertrag UND Schema von Documents, je 1 Treffer in
IImage; Positiv-Kontrolle (originalname/mimetype/linktype/isCloudFile) 1/1, Umkehr-
probe mit erfundenem Feld 0. Der Block stammt aus einem Bild-Upload-Pfad.

Mongoose `strict` hat alle fuenf beim Speichern die ganze Zeit STILL verworfen — der
Riegel verdeckte also nicht nur einen roten Bau, sondern eine tote Schreiboperation.
Es geht nichts verloren: die vier Verweise wurden ohnehin nur auf null gesetzt, und
_filename trug denselben Wert wie originalname, das echte Feld des Vertrags, das eine
Zeile weiter unten gesetzt wird.

Kein @ts-ignore, keine Fundament-Kaskade (nichts fehlt im Vertrag - das Feld gehoert
an eine andere Entitaet).
Verify: npx tsc --noEmit 0 Fehler - npm run build Exit 0 (20 .js emittiert).
Fix types

echte puppeteer-Typen statt Cleanup-Vertrag + ClosableProcess.kill akzeptiert number

Der Bau war rot, seit `tsc || exit 0` entfernt wurde — 22 Uebersetzungsfehler, alle
in runBrowserAutomation.ts. Zwei getrennte Defekte:

1. Die Arbeits-Handles waren als ClosableBrowser/ClosablePage deklariert. Das sind
die NARROW Cleanup-Vertraege (nur close()/process()), damit closeBrowserSafely
ohne echtes Chrome testbar bleibt — kein Ersatz fuer die volle puppeteer-API.
Jeder Schritt-Aufruf (newPage, goto, $$eval, screenshot, ...) war dadurch ein
TS2339. Jetzt Browser/Page aus puppeteer; die erfuellen den Cleanup-Vertrag
strukturell an den closeBrowserSafely-Aufrufstellen.

2. ClosableProcess.kill(signal: string) war in KEINER Richtung zu einem echten
ChildProcess.kill (signal?: NodeJS.Signals|number) zuweisbar — number ist kein
string. Ein echter Browser erfuellte ClosableBrowser also gar nicht (TS2322),
entgegen dem eigenen Kommentar der Datei. Jetzt string|number: echter
ChildProcess UND die Testattrappen (kill: (sig: string)) passen, ohne Node-
oder puppeteer-Typen in den bewusst abhaengigkeitsfreien Helfer zu ziehen.

Kein @ts-ignore, kein || exit 0, kein noEmitOnError-Aequivalent.
Verify: npx tsc --noEmit 0 Fehler - npm run build Exit 0 (9 .js emittiert) -
npm test 49/49 gruen.