fix: symlink guard placement, fetch_all_assets raw count, config TOCTOU (#31)
executor.py: - Move islink check into _safe_person_dir on the raw path, before realpath resolves it; the previous check at the rmtree site was unreachable dead code because realpath already followed any symlink immich_api.py / jobs.py: - fetch_all_assets now returns (assets, total_raw) where total_raw is the item count seen before non-dict filtering; callers use it for MIN_FACE_COUNT guard and display so transient non-dict API items can't incorrectly skip people - Add WARNING when pagination stops because a page had items but all were non-dict config.py: - Cache _data_cfg.exists() in _data_cfg_exists so the dual-config warning and config_file selection always read from the same stat() result; previously two calls created a TOCTOU window where log and code could disagree Bump version to 0.5.7
This commit is contained in: