mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-26 19:17:02 -06:00
A scan went stale on any catalog change anywhere (a background import, a rating elsewhere), and folder.synchronize then scanned again inline: on the UI thread, and acting on results the person never saw. A scan now stays current while the folder's own photos are the same records (Session::take_folder_changes compares them by identity). The dialog asks with `scanned: true`, which refuses a stale scan instead of redoing it; the dialog then stays open and scans again in the background. Agents that just call folder.synchronize still get a fresh scan. The app dropped session.folder_changes every frame no dialog was open, so an agent's folder.scanChanges never reached its folder.synchronize in the running app; it now only lets go of a scan its dialog made. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>