From 97a80caa033da960734aabd5545c8d987007ed44 Mon Sep 17 00:00:00 2001 From: Jarkko Syrjala Date: Sun, 19 Jul 2026 02:09:55 +0300 Subject: [PATCH] fix(cli): record command forwards video.captureMode / video.jpegQuality MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `record` command's `record()` options object omits `captureMode` and `jpegQuality`, so setting them in `argo.config` has no effect on `argo record` — `record.ts` reads `options.captureMode` / `options.jpegQuality` (e.g. to select jpeg-stitch and the screencast JPEG quality), but the CLI never passes them, so they silently fall back to defaults (webm / quality 80-95). The `pipeline` command already forwards both from `config.video.*` (pipeline.ts); this makes `record` consistent. Symptom: `captureMode: 'jpeg-stitch'` + `jpegQuality: 100` in the config are ignored under `argo record`, so saturated-colour content keeps the default- quality JPEG screencast (visible per-frame flicker on anti-aliased edges). --- src/cli.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cli.ts b/src/cli.ts index 2646712..aed678d 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -96,6 +96,8 @@ export function createProgram(): Command { video: { width: config.video.width, height: config.video.height }, browser, deviceScaleFactor: config.video.deviceScaleFactor, + captureMode: config.video.captureMode, + jpegQuality: config.video.jpegQuality, isMobile: config.video.isMobile, hasTouch: config.video.hasTouch, contextOptions: config.video.contextOptions,