{"record":{"id":"c0d17ed8d28eecec","repo":"tonhowtf/omniget","slug":"fonte-desconhecida","errorCode":null,"errorMessage":"fonte desconhecida: {}","messagePattern":"fonte desconhecida: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/omniget-core/src/core/tools/hosts_block.rs","lineNumber":543,"sourceCode":"            .map(|s| s.to_string_lossy().to_string())\n            .unwrap_or_else(|| \"hosts\".into())\n    ));\n    std::fs::write(&dest, text).ok()?;\n    Some(dest)\n}\n\nasync fn fetch_source(client: &reqwest::Client, id: &str) -> anyhow::Result<Vec<String>> {\n    if id == \"microsoft\" {\n        return Ok(MICROSOFT_TELEMETRY\n            .iter()\n            .copied()\n            .filter_map(normalize_domain)\n            .collect());\n    }\n    let url = source_url(id)\n        .map(str::to_string)\n        .or_else(|| id.starts_with(\"http\").then(|| id.to_string()))\n        .ok_or_else(|| anyhow!(\"fonte desconhecida: {}\", id))?;\n    let resp = client.get(&url).send().await?;\n    if !resp.status().is_success() {\n        return Err(anyhow!(\"HTTP {}\", resp.status()));\n    }\n    let text = resp.text().await?;\n    Ok(parse_list(&text))\n}\n\npub async fn apply(\n    opts: &ApplyOptions,\n    progress: &super::ProgressFn,\n) -> anyhow::Result<ApplyResult> {\n    let path = resolve_path(&opts.path);\n    let client = super::client()?;\n    let total = opts.sources.len() as u64 + 1;\n\n    let mut lists: Vec<Vec<String>> = Vec::new();\n    let mut stats: Vec<SourceStat> = Vec::new();","sourceCodeStart":525,"sourceCodeEnd":561,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/omniget-core/src/core/tools/hosts_block.rs#L525-L561","documentation":"Unknown-source guard in fetch_source(), the blocklist fetcher used by apply(): an id is accepted only if it is the built-in \"microsoft\" list, resolves via source_url(id) to a known blocklist, or itself looks like an http(s) URL. Any other identifier fails with this error, carrying the id in {}. It fires when apply() is asked to use a blocklist source name that is neither predefined nor a direct URL — typically a typo or a removed/renamed source id.","triggerScenarios":"Thrown at src-tauri/omniget-core/src/core/tools/hosts_block.rs:543 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use one of the built-in source ids (e.g. 'microsoft') or a full http(s) URL","Fix typos in the source id","Register the new source in source_url() if it should be supported"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8600b91f4246848bac346874daa9e61c1fc5677a","analyzedAt":"2026-09-12T14:29:19.317Z","contentChangedAt":"2026-09-12T14:29:19.317Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}