tonhowtf/omniget · error
informe um appid, um link da loja ou marque a biblioteca int
Error message
informe um appid, um link da loja ou marque a biblioteca inteira
What it means
run in protondb.rs bails with this message when the request is empty: after resolving the user inputs against scanned Steam apps, targets is empty AND unresolved is also empty. That means the caller gave no appids, no store links, and did not set scan_library, so there is nothing to look up. Message in Portuguese: 'provide an appid, a store link, or check the whole library'.
Solutions
- Provide at least one valid input in opts.inputs (a Steam appid number or a store page link)
- Set opts.scan_library = true to scan the entire Steam library instead of specific targets
- Guard in the caller: bail/return early when inputs is empty and scan_library is false
Example fix
// before
run(ProtonOptions { inputs: vec![], scan_library: false, .. }).await?;
// after
run(ProtonOptions { inputs: vec!["570".into()], scan_library: false, .. }).await?;
// or
run(ProtonOptions { inputs: vec![], scan_library: true, .. }).await?; Defensive patterns
Strategy: validation
Validate before calling
if opts.inputs.iter().all(|i| i.trim().is_empty()) && !opts.scan_library {
return Err(anyhow::anyhow!("provide an appid, a store link, or enable library scan"));
} Try / catch
match run(opts, progress).await {
Ok(result) => handle(result),
Err(e) if e.to_string().contains("informe um appid") => show_input_prompt_to_user(),
Err(e) => eprintln!("protondb lookup failed: {e}"),
} Prevention
- Disable the 'lookup' button in the UI until inputs are non-empty or scan_library is checked
- Trim inputs before passing them to ProtonOptions
- Default scan_library = true for whole-library workflows
When it happens
Trigger: Calling run with ProtonOptions where opts.inputs is empty/whitespace-only and opts.scan_library is false, and every input (if any) resolved cleanly but matched nothing that produced targets while leaving no unresolved entries.
Common situations: Invoking the protondb tool from a frontend with an empty search box and library scan unchecked; default-constructed ProtonOptions passed to run; inputs containing only whitespace strings that resolve_targets drops.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- escolha a pasta de destino para organizar
- pasta de origem não encontrada: {}
- escolha a pasta da biblioteca de destino
- escolha ao menos uma imagem
- nenhuma imagem
AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12).
Data as JSON: /api/errors/383665d45a304c05.
Report an issue: GitHub.
Appendix: source
Thrown at src-tauri/omniget-core/src/core/tools/games/protondb.rs:312
confidence: String::new(),
score: 0.0,
total: 0,
trending_tier: String::new(),
best_tier: String::new(),
rank: tier_rank("pending"),
url: store_url(app_id),
cached: false,
ok: true,
error: None,
}
}
pub async fn run(opts: ProtonOptions, progress: ProgressFn) -> anyhow::Result<ProtonResult> {
let apps = steam::scan_apps(&steam::steam_libraries(&opts.steam_dirs));
let (targets, unresolved) = resolve_targets(&opts.inputs, &apps, opts.scan_library);
if targets.is_empty() {
if unresolved.is_empty() {
anyhow::bail!("informe um appid, um link da loja ou marque a biblioteca inteira");
}
anyhow::bail!(
"não achei appid para: {} — cole o link da loja ou o número",
unresolved.join(", ")
);
}
let client = crate::core::tools::client()?;
let total = targets.len() as u64;
let mut entries: Vec<ProtonEntry> = Vec::new();
let mut from_cache = 0u64;
for (i, (app_id, name)) in targets.iter().enumerate() {
report(
&progress,
ID,
"progress",
i as u64,View on GitHub (pinned to 8600b91f42)