- frigate_api._get_faces_data now validates the /api/faces response is a
dict before returning it, so a malformed body no longer crashes
data.items() in get_all_frigate_person_files (and the equivalent
data.get() in get_frigate_person_files).
- upload_tracker now takes an exclusive flock on a DATA_DIR lock file for
every tracker load-mutate-save cycle, so a scheduled run and a manual
docker exec against the same DATA_DIR can no longer race a
read-modify-write and silently drop the loser's marks.
- begin_batch()/flush_batch() now flush to disk every 10 marks instead of
deferring the whole per-person upload loop, bounding how many uploaded
marks a crash mid-batch can lose.
data/ is the DATA_DIR the README tells you to mount, and it was not ignored: it holds 1,593
face-embedding .npy files plus upload trackers keyed by person name. A single 'git add -A'
would have published them. Never committed to date, so history is clean.