Probe the source URLs up front so the download flow only enters the progress state when something is actually downloadable, and report Idle instead of a fake Success when nothing is: the early return skipped the terminal-state delay and reset, leaving a phantom 100% Success (and a stuck "indexing" bar plus a success notification) for downloads that never happened.