Recreate preview output directory before writing (fix 0.18 regression: silent permanent preview loss) (#23784)

* Recreate preview output directory before writing it

The preview directory is created once in PreviewRecorder.__init__, but
record cleanup's remove_empty_directories() can delete it again while it
is empty (e.g. a camera re-added after removal, or an hour with no
retained previews). FFMpegConverter then fails permanently with
"No such file or directory" and previews are silently lost with only
one ERROR log line per hour. Recreate the directory before invoking
ffmpeg so the hourly export self-heals.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Remove explanatory comments above the fix

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
teajaysee 2026-07-23 12:12:18 +01:00 committed by GitHub
parent 168cbea9ea
commit e3fa701893
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -159,6 +159,8 @@ class FFMpegConverter(threading.Thread):
f"duration {self.frame_times[t_idx + 1] - self.frame_times[t_idx]}"
)
Path(self.path).parent.mkdir(parents=True, exist_ok=True)
try:
p = sp.run(
self.ffmpeg_cmd.split(" "),