Bug Fixes
Three race conditions in the contents upload/analyze flow have been fixed to prevent partial-batch analysis and mid-flight photo deletion.
Analyze buttons now hide during upload batches. The per-card "Analyze N photos" button and phase-level "Analyze all N photos" action are now hidden while upload confirmations are still landing, preventing premature analysis of an incomplete batch.
Photo deletion is blocked while analysis is in flight. The delete affordance (trash icons in grid and lightbox) now hides while a photo's analysis is QUEUED or RUNNING. This prevents a race where the delete request and the analyzer's projection could collide.
Photo badges now update live during analysis. The QUEUED → ANALYZING → done badge transitions now refresh on a 10-second tick while a card's analysis is active, so badge flips appear without needing to refocus the window.