- Poll /api/ai-tagging/fields every 2s after any 202 (queued) response in ImageLightbox and DoomScrollView so extraction, translation, and description results appear automatically without a page refresh - DoomScrollView extract button now turns accent-coloured while a job is queued instead of flashing red; red is reserved for genuine errors - Kebab menu "Translate" option is now gated on entry.hasExtractedText (populated via a batch DB query in the browse API) so it only appears when there is text to translate - Tag panel redesigned: toolbar collapses to just the filename when open; panel header holds hide (›), AI Tagger (✨), and Close (✕) buttons; sections ordered Description → Text Extraction → Tags; description state and generate handler moved from TagSelector into ImageLightbox - VideoPlayerModal receives the same toolbar/panel restructure - TagSelector gains hideDescription prop so the parent can own description Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>