fix(studio): resolve ffmpeg outside PATH so render doesn't 503 (#1536)

The render pre-flight check shells out to `which ffmpeg`, which only
searches the server process's PATH. When Studio is launched from a
GUI/Dock/launchd context that PATH lacks /opt/homebrew/bin, so `which`
fails even when ffmpeg is installed — and POST /render returns 503
"FFmpeg not found".

Fall back to probing well-known install dirs (Homebrew on Apple Silicon
and Intel, plus system/Linux locations) when the PATH lookup fails.

Also drop the [kf:static]/[kf:runtime] keyframe diagnostics that were
spamming the Studio console in prod, and fix two unrelated CI breakages
the branch inherited: a Windows-sensitive ffmpeg test (pin platform) and
a stale player test mock missing onRuntimeReady.
This commit is contained in:
Miguel Ángel
2026-06-17 10:21:24 -04:00
committed by GitHub
parent 66dde0898b
commit ff25058c5e
4 changed files with 65 additions and 28 deletions
@@ -11,6 +11,7 @@ const makeCallbacks = (): MessageHandlerCallbacks => ({
updateControlsTime: vi.fn(),
updateControlsPlaying: vi.fn(),
dispatchEvent: vi.fn(),
onRuntimeReady: vi.fn(),
seek: vi.fn(),
play: vi.fn(),
getLoop: vi.fn(() => false),