tonhowtf/omniget · error · anyhow::Error

gallery-dl completed but downloaded no new files (already…

Error message

gallery-dl completed but downloaded no new files (already archived or empty gallery)

What it means

gallery-dl exited successfully but collect_new_files found zero new files afterwards. The {} is not a format placeholder — the message names the two causes directly: every item was already in the archive (previously downloaded) or the gallery is empty, so there is nothing new to return.

Solutions

  1. If items were downloaded before, clear or move the gallery-dl archive/download-archive database
  2. Check the gallery actually contains media and is not empty
  3. Verify the output directory was not already populated with the same files
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src-tauri/src/platforms/gallerydl/mod.rs:313 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12). Data as JSON: /api/errors/8d11c27c9baf3aaf. Report an issue: GitHub.

Appendix: source

Thrown at src-tauri/src/platforms/gallerydl/mod.rs:313

            let detail = stderr_content
                .lines()
                .rev()
                .find(|l| {
                    let l = l.to_lowercase();
                    l.contains("error")
                        || l.contains("forbidden")
                        || l.contains("not found")
                        || l.contains("unsupported")
                })
                .unwrap_or("gallery-dl failed")
                .trim()
                .to_string();
            return Err(anyhow!(detail));
        }

        let (file_path, total_bytes) = collect_new_files(&opts.output_dir, started_at);
        if total_bytes == 0 {
            return Err(anyhow!(
                "gallery-dl completed but downloaded no new files (already archived or empty gallery)"
            ));
        }

        let _ = progress.send(ProgressUpdate::percent(100.0)).await;

        Ok(DownloadResult {
            file_path,
            file_size_bytes: total_bytes,
            duration_seconds: 0.0,
            torrent_id: None,
        })
    }
}

fn collect_new_files(dir: &Path, since: SystemTime) -> (PathBuf, u64) {
    let mut total: u64 = 0;
    let mut newest: Option<(SystemTime, PathBuf)> = None;

View on GitHub (pinned to 8600b91f42)