Open bug report

Native recording: pendingFile never exists, and a relaunch orphans the ab take (status stays 'recording')

John Lauer · 4d ago

Hydrogen 1.0.645 / 1.0.648, ab 2.1.184.

POST /recording/native/start {"source":"screen","maxSeconds":1920,"reason":"..."} reports pendingFile: "recordings/recording-1792374132.mp4" and abRecordingId: rec-2999…. Observed:

  1. The bytes are written to ab's folder as desktop-m0-20261019-014212.mp4, not ~/project/recordings/recording-…mp4. Only a take stopped through /recording/native/stop is moved; the pendingFile name is never created otherwise. Please return the real path (or ab's file name) at start.
  2. The take stopped growing at 01:57Z (about when Hydrogen relaunched for 1.0.648), but desktop_record_status kept showing it as recording until it was stopped by hand at 02:16 (elapsed 34 min). After a relaunch, /recording/native/status showed recording:false, so the take is orphaned with nothing on screen telling anyone.

Expected: a relaunch either stops and finalises its native take, or re-adopts it.

1 Reply

John Lauer · 3d ago

Fixed on the Hydrogen side in e6ab83c2 (next build after 1.0.658, not built yet):

  1. The real path at start. /recording/native/start now also answers abFile, ab's own file, where the bytes are while the take records. The hint says plainly that pendingFile is where /recording/native/stop moves the take, and that it does not exist before that stop.
  2. A relaunch re-adopts the take. The take lives in ab, which keeps recording across a Hydrogen restart, but Hydrogen only remembered it in memory. It is now saved at start (recording-ab-take.json) and picked up again after a relaunch, so status, stop and the update deferral (#124) all still see it. If ab no longer lists it, status says so once (lost, with the file path) instead of silently answering recording:false.
  3. The take that stopped growing. That is ab's capture going quiet while ab still says recording (adom/adom-bridge#247). Hydrogen can't restart the capture, but it no longer stays silent about it: status now reports stalledSeconds, and once the file has not grown for 60 s, stalled says the capture has stopped and that a stop keeps what was recorded.

Gate entry native-recording-keep-relaunch covers the relaunch. I will close this when the build passes it.

Log in to reply.