tonhowtf/omniget · error

os filtros não deixaram nenhum comentário de pé

Error message

os filtros não deixaram nenhum comentário de pé ({} vieram do Bilibili)

What it means

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.

Solutions

  1. Relax the filter options (e.g. allow more senders, time ranges, or keyword rules)
  2. Disable filters temporarily to confirm the comments exist, then re-enable selectively
  3. Check that a very narrow time window is not excluding the whole video
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src-tauri/src/platforms/bilibili/danmaku/export.rs:159 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/b637d868cebf7a6e. Report an issue: GitHub.

Appendix: source

Thrown at src-tauri/src/platforms/bilibili/danmaku/export.rs:159

        Some(4),
        Some(format!("baixando os comentários de {}", part.title)),
    );
    let elems = fetch_elems(&client, part.cid, duration)
        .await
        .map_err(|e| friendly(e, with_account))?;
    let fetched = elems.len();

    report(
        progress,
        ID,
        "progress",
        3,
        Some(4),
        Some("filtrando".into()),
    );
    let kept_elems = filter::apply(&elems, &opts.filter)?;
    if kept_elems.is_empty() {
        return Err(anyhow!(
            "os filtros não deixaram nenhum comentário de pé ({} vieram do Bilibili)",
            fetched
        ));
    }

    let dir = output_dir(&opts.output_dir)?;
    std::fs::create_dir_all(&dir)?;
    let stem = file_stem(&parsed.title, part, parts.len());
    let mut files = Vec::new();
    for format in wanted_formats(&opts.formats) {
        let body = match format {
            DanmakuFormat::Ass => super::ass::render(&kept_elems, &opts.style),
            other => super::render(&kept_elems, other),
        };
        let path = dir.join(format!("{}.danmaku.{}", stem, format.extension()));
        std::fs::write(&path, &body)
            .map_err(|e| anyhow!("não consegui gravar {}: {}", path.display(), e))?;
        files.push(ExportFile {

View on GitHub (pinned to 8600b91f42)