mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-24 10:09:01 -06:00
Menus are rebuilt every frame, and File → Add from Device called devices(), which scanned every mount (D:..Z: on Windows) while holding the cache mutex once its 2 s cache expired. devices() now returns the last scan at once and starts at most one background rescan when it is stale; the scan runs without the lock. A changed result calls an on_change hook (the UI requests a repaint), so hot-plugged cards still appear. library.devices and Add from Device without a path scan synchronously (devices_now). Volume roots are probed for DCIM directly instead of listing them (Windows never lists a root). No threads or clock on wasm. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>