fix: audit — score falsy-zero, crop person mismatch, adaptive cap, suppress_output, ldconfig glob, scheduler sleep
- immich_api: `score or confidence` treated 0.0 score as falsy; use explicit None check - diversity: same falsy-zero fix in _get_face_confidence - diversity: _crop_face_from_thumbnail scale loop now filters by person_id (was using first person's imageWidth/imageHeight regardless of target in group photos) - jobs: partially-trained auto mode kept limit="auto" for adaptive stopping, then caps result to remaining capacity (was converting to int, silently disabling FPS adaptive threshold and early-stop) - embeddings: _suppress_output finally block wraps first dup2 in try/finally so stderr is always restored even if stdout restore raises OSError - Dockerfile: ldconfig find uses python3.* glob instead of hardcoded python3.13 - scheduler: sleep until next_run instead of fixed 60s; eliminates late-fire jitter and unnecessary wakeups on long schedules Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+7
-2
@@ -299,10 +299,13 @@ def auto_configure(people: list[dict]) -> list[dict]:
|
||||
has_embedding = is_embedding_available(entity_type)
|
||||
limit, selection_mode = _resolve_strategy(strategy, has_embedding)
|
||||
|
||||
# Cap selection to remaining capacity
|
||||
# Cap selection to remaining capacity.
|
||||
# For auto mode with partial training, keep "auto" so adaptive stopping
|
||||
# still runs — just trim the result to the remaining capacity afterward.
|
||||
auto_cap = None
|
||||
if limit == "auto":
|
||||
if already_uploaded > 0:
|
||||
limit = capacity # partially filled — select exactly what remains
|
||||
auto_cap = capacity
|
||||
else:
|
||||
limit = min(limit, capacity)
|
||||
|
||||
@@ -312,6 +315,8 @@ def auto_configure(people: list[dict]) -> list[dict]:
|
||||
selected_assets = _perform_selection(
|
||||
recent_assets, limit, name, selection_mode, entity_type, person_id=person["id"]
|
||||
)
|
||||
if auto_cap is not None:
|
||||
selected_assets = selected_assets[:auto_cap]
|
||||
|
||||
if selected_assets:
|
||||
rprint(f" [green]Queued {len(selected_assets)} images for {name}.[/green]")
|
||||
|
||||
Reference in New Issue
Block a user