Finding
Media metadata helpers use synchronous XHR for video/audio durations. This can freeze the UI/headless renderer and cache failed zero durations.
Evidence
- src/lib/video/video.tsx metadata helper.
- src/lib/sound/sound.tsx metadata helper.
- src/lib/vue.tsx has analogous logic.
Acceptance criteria
- Replace sync XHR with async metadata loading or preflight planning.
- Avoid permanently caching failure values.
- Preserve deterministic render startup.
Finding
Media metadata helpers use synchronous XHR for video/audio durations. This can freeze the UI/headless renderer and cache failed zero durations.
Evidence
Acceptance criteria