fix(render): consolidate preflight and local recovery (#2403)

* fix(render): fall back when libx264 is unavailable

* fix(render): recover orphaned browsers before retry

* fix(render): check disk space on write volumes

* test(engine): accept resolved ffmpeg binary paths

* fix(render): harden H.264 capability fallback

* chore(ci): scope inherited Fallow findings

* fix(render): diagnose encoder probe failures
This commit is contained in:
Miguel Ángel
2026-07-14 21:55:39 -04:00
committed by GitHub
parent 15ca6fd129
commit 5d3a7404fa
9 changed files with 224 additions and 15 deletions
@@ -1,3 +1,4 @@
// fallow-ignore-file code-duplication
/**
* buildStreamingArgs unit tests.
*
@@ -12,7 +13,7 @@
import { EventEmitter } from "events";
import { mkdtempSync } from "fs";
import { tmpdir } from "os";
import { join } from "path";
import { basename, join } from "path";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import {
@@ -511,7 +512,7 @@ describe("spawnStreamingEncoder lifecycle and cleanup", () => {
const encoder = await spawnStreamingEncoder(join(dir, "out.mp4"), baseOptions);
expect(calls).toHaveLength(1);
expect(calls[0]?.command).toBe("ffmpeg");
expect(basename(calls[0]?.command ?? "")).toMatch(/^ffmpeg(?:\.exe)?$/);
const proc = calls[0]!.proc;
const closePromise = encoder.close();