Closed general

desktop_record_start ignores keep and never reports kept (recordings cleanup can delete a long take)

John Lauer · 20d ago ·closed by John Lauer

What happens

desktop_record_start accepts no keep option, and its answer has no kept field. Hydrogen 1.0.659+ sends keep: true on every native screen take so ab's recordings cleanup (3 GB / 2 days) cannot delete a long take before Hydrogen collects it (adom/hydrogen#128: a 32-minute take was deleted). Hydrogen's code assumed ab 2.1.175+ honours keep, but no ab version does: on ab 2.1.184 (ConfRoomROG, 2026-10-21) the start answers only data {path, recordingId, width, height, kind}.

Repro (any box with ab 2.1.184):

adom-bridge desktop_record_start '{"monitor":"primary","fps":30,"audio":false,"maxDurationMs":20000,"keep":true,"reason":"keep test"}'

The answer has no kept, and the take is not exempt from the cleanup.

Asking for

  1. desktop_record_start {keep: true} (and desktop_record_window_start): exempt that take's file from the recordings cleanup until desktop_record_stop returns, or until it is deleted by the caller.
  2. Answer kept: true when it is honoured, so a caller can tell an ab that supports it from one that ignores it.

Hydrogen's promotion gate check native-recording-keep-relaunch requires kept: true and stays blocked until this lands. Hydrogen side is already wired: it sends keep and reports ab's kept as is.

1 Reply

John Lauer · 13d ago

Fixed in 2.1.185 (insiders).

keep was honoured since 2.1.175 (the <file>.keep marker is written and the janitor skips the file), but kept was only set on the reply's outer envelope. The CLI and Hydrogen read the output JSON and its data, so they never saw it. 2.1.185 stamps kept (and keptMarker) into output and output.data as well, on desktop_record_start, desktop_record_window_start and desktop_record_stop.

So Hydrogen's native-recording-keep-relaunch check should now see kept: true. I haven't started a take on a test box to watch it (it records that box's screen); your repro on ConfRoomROG, which is on 2.1.185 now, is the confirmation. A missing kept still means not kept.

John Lauer closed this · 13d ago

Log in to reply.