fix: TypeScript errors + workflow pipeline ordering
CI / test (push) Successful in 1m28s
CI / docker (push) Successful in 1m0s

- Fix hls! null assertions in error handler (TS18047)
- Fix test mock type errors: remove unused errorCall, use (as any) cast
- Pipeline ordering: CD + Pages deploy now run after CI completes (workflow_run: [CI])
- Add GOFLAGS=-mod=mod to playout Docker build for new fsnotify dep
This commit is contained in:
zwitschi committed 2026-08-10 17:29:46 +02:00
1 parent 18459a9811
commit 9178b7b295
5 files changed
+15 -15

No files matched your search

+3 -7
View File
@@ -353,13 +353,9 @@ describe("player error recovery", () => {
await main.initPlayerAndChat(async () => ({ default: HlsMock }) as any);
// Find the error handler registered by initPlayerAndChat
const errorCall = HlsMock.mock.results?.[0]?.value?.on?.mock?.calls?.find(
(c: [string, Function]) => c[0] === "hlsError"
);
// Use hlsInstance.on mock calls
const errorHandler = hlsInstance.on.mock.calls.find(
(c: [string, Function]) => c[0] === "hlsError"
);
const errorHandler = (hlsInstance.on as any).mock.calls.find(
(c: any) => c[0] === "hlsError"
) as [string, Function] | undefined;
if (errorHandler) {
const handler = errorHandler[1];
+3 -3
View File
@@ -198,17 +198,17 @@ export async function initPlayerAndChat(loadHlsModule: () => Promise<{ default:
if (playerErrorCount <= 1) {
console.warn("HLS media error, attempting recovery...");
showReconnecting("Recovering...");
hls.recoverMediaError();
hls!.recoverMediaError();
} else {
console.error("HLS media error: recovery failed");
hls.destroy();
hls!.destroy();
showReconnecting("Stream temporarily unavailable");
}
break;
default:
console.error("HLS fatal error:", data.type, data.details);
hls.destroy();
hls!.destroy();
showReconnecting("Stream temporarily unavailable");
break;
}