Zwei Fehler aus dem Betrieb: fehlender Import, geschlossenes stdin
Deploy / check (push) Canceled after 0s
Deploy / deploy (push) Canceled after 0s

Beide aus dem Serverlog vom 28.08.2026, beide meine.

1. `getStation is not defined` bei jedem /api/radio/status, sobald etwas
lief. Die Funktion stand in api.js im Code und in keinem Import.

Weder `node --check` noch das Laden des Moduls sieht das: ESM prueft beim
Verlinken nur, ob die IMPORTIERTEN Namen in der Quelle existieren, nicht
ob die BENUTZTEN importiert sind. Mein API-Testlauf kam nie an die Zeile,
weil dort nie etwas lief -- genau die Luecke, die ich beim Ausliefern als
"nicht geprueft" benannt hatte.

Ein Pruefer dafuer liegt jetzt im Scratchpad und meldet fuer src/ null
Treffer. Er hat zwei Gegenproben: ein eingebauter Aufruf ohne Import muss
gefunden werden, ein dynamisch importierter darf NICHT gemeldet werden.
Seine ersten beiden Fassungen haben Fehlalarm geschlagen (14 bzw. 11
Treffer, alle dynamische Importe) -- ein Pruefer, der Richtiges als falsch
meldet, ist so wertlos wie einer, der nichts sieht.

2. `Cannot read properties of null (reading 'on')` in tonquelle, direkt
gefolgt von `ffmpeg: pipe:0: Invalid data found when processing input`.

`wandler` startete ffmpeg immer mit stdio ['ignore','pipe','pipe'] --
stdin also ZU. Fuer YouTube bekommt ffmpeg aber `-i pipe:0`. Damit las es
aus /dev/null, und `ff.stdin` war null, woran schon das Anhaengen der
Fehlerbehandlung zerbrach. Nachgestellt und bestaetigt: dieselbe
stdio-Form liefert stdin === null, mit 'pipe' eine Rohrleitung.

stdin ist jetzt offen, wenn die Eingabe `pipe:0` ist. Und `tonquelle`
prueft die Rohrenden, bevor es sie anfasst: startet ein Prozess nicht,
gibt es eine Meldung statt eines TypeErrors, der die ganze Interaktion
mitreisst.
This commit is contained in:
2026-08-28 14:17:36 +02:00
parent e6f8e3c3c5
commit 15babcd75d
2 changed files with 21 additions and 3 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ import {
createService, updateService, listServices, deleteService,
savePage, getPage, listPages, listPublishedPages, deletePage,
lsState, lsModSizes, setLsModSize,
listStations, createStation, updateStation, deleteStation,
listStations, getStation, createStation, updateStation, deleteStation,
queueList, queueRemove, queueClear, queueReorder, queueVor, queueStand,
setRadioState, clearRadioState, radioState,
} from '../db.js';