{"record":{"id":"b637d868cebf7a6e","repo":"tonhowtf/omniget","slug":"os-filtros-n-o-deixaram-nenhum-coment-rio-de-p-vieram-do","errorCode":null,"errorMessage":"os filtros não deixaram nenhum comentário de pé ({} vieram do Bilibili)","messagePattern":"os filtros não deixaram nenhum comentário de pé \\((.+?) vieram do Bilibili\\)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/src/platforms/bilibili/danmaku/export.rs","lineNumber":159,"sourceCode":"        Some(4),\n        Some(format!(\"baixando os comentários de {}\", part.title)),\n    );\n    let elems = fetch_elems(&client, part.cid, duration)\n        .await\n        .map_err(|e| friendly(e, with_account))?;\n    let fetched = elems.len();\n\n    report(\n        progress,\n        ID,\n        \"progress\",\n        3,\n        Some(4),\n        Some(\"filtrando\".into()),\n    );\n    let kept_elems = filter::apply(&elems, &opts.filter)?;\n    if kept_elems.is_empty() {\n        return Err(anyhow!(\n            \"os filtros não deixaram nenhum comentário de pé ({} vieram do Bilibili)\",\n            fetched\n        ));\n    }\n\n    let dir = output_dir(&opts.output_dir)?;\n    std::fs::create_dir_all(&dir)?;\n    let stem = file_stem(&parsed.title, part, parts.len());\n    let mut files = Vec::new();\n    for format in wanted_formats(&opts.formats) {\n        let body = match format {\n            DanmakuFormat::Ass => super::ass::render(&kept_elems, &opts.style),\n            other => super::render(&kept_elems, other),\n        };\n        let path = dir.join(format!(\"{}.danmaku.{}\", stem, format.extension()));\n        std::fs::write(&path, &body)\n            .map_err(|e| anyhow!(\"não consegui gravar {}: {}\", path.display(), e))?;\n        files.push(ExportFile {","sourceCodeStart":141,"sourceCodeEnd":177,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/src/platforms/bilibili/danmaku/export.rs#L141-L177","documentation":"A post-fetch validation guard: danmaku comments were successfully downloaded (the {} is the fetched count) but filter::apply removed every single one under the user's filter settings, leaving nothing to render into the output files. The network/API side worked; the user's filter configuration is what emptied the set.","triggerScenarios":"Thrown at src-tauri/src/platforms/bilibili/danmaku/export.rs:159 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Relax the filter options (e.g. allow more senders, time ranges, or keyword rules)","Disable filters temporarily to confirm the comments exist, then re-enable selectively","Check that a very narrow time window is not excluding the whole video"],"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-23T08:17:48.524Z"}