- _convert_bg now runs in real threading.Thread (not gevent greenlet) so ffmpeg proc.wait() doesn't block gevent event loop - _device_lock released before copy loop; only held for mount/unmount so /api/dash/files and other routes don't block during long copies - Date now shows time (Aug 9, 10:30 PM) on mobile video rows - Spacing added above converting spinner badge Co-authored-by: Copilot <[email protected]>