- don't catch up if download hasn't started yet
- flush cache file after writing to ensure it's on disk