tonhowtf/omniget · error

escolha ao menos uma pasta de capturas

Error message

escolha ao menos uma pasta de capturas

What it means

Input validation in clip_organizer run: after filtering the configured dirs for existing directories and optionally adding Steam screenshot folders, the list is empty — the tool has nowhere to look for captures and refuses to proceed.

Solutions

  1. Select at least one existing folder containing game screenshots
  2. Enable include_steam so built-in Steam screenshot dirs are scanned
  3. Fix typo'd or moved folder paths in the options
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src-tauri/omniget-core/src/core/tools/games/clip_organizer.rs:314 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/44ec7cb8e125e99f. Report an issue: GitHub.

Appendix: source

Thrown at src-tauri/omniget-core/src/core/tools/games/clip_organizer.rs:314

    }
    out.sort_by(|a, b| a.1.taken.cmp(&b.1.taken).then_with(|| a.0.cmp(&b.0)));
    out
}

pub async fn run(opts: ClipOptions, progress: ProgressFn) -> anyhow::Result<ClipResult> {
    let mut dirs: Vec<PathBuf> = opts
        .dirs
        .iter()
        .map(|d| PathBuf::from(d.trim()))
        .filter(|d| d.is_dir())
        .collect();
    if opts.include_steam {
        dirs.extend(steam::screenshot_dirs());
    }
    dirs.sort();
    dirs.dedup();
    if dirs.is_empty() {
        anyhow::bail!("escolha ao menos uma pasta de capturas");
    }

    let apps = steam::scan_apps(&steam::steam_libraries(&opts.steam_dirs));
    let fallback = if opts.fallback_game.trim().is_empty() {
        "Outros".to_string()
    } else {
        opts.fallback_game.trim().to_string()
    };

    let organizing = opts.mode == "copy" || opts.mode == "move";
    let dest_root = PathBuf::from(opts.dest.trim());
    if organizing && opts.dest.trim().is_empty() {
        anyhow::bail!("escolha a pasta de destino para organizar");
    }
    let move_it = opts.mode == "move";

    report(&progress, ID, "progress", 0, None, None);
    let found = collect(&dirs);

View on GitHub (pinned to 8600b91f42)