tonhowtf/omniget · error

nenhum like foi lido: os likes só aparecem com a sessão do…

Error message

nenhum like foi lido: os likes só aparecem com a sessão do Tumblr e com a lista pública ligada

What it means

After fetching the likes dump, the tool converts it to rows. Tumblr only exposes a blog's likes when the viewer is authenticated AND the blog owner enabled the public likes list. If zero likes rows were read, the tool aborts with this diagnostic message explaining both requirements.

Solutions

  1. Provide a fresh session_netscape cookie file from a logged-in Tumblr session
  2. Ask the blog owner (or check settings) to enable the public likes list
  3. Re-export cookies if the session expired; confirm the right account
  4. Inspect the raw dump to confirm fetch succeeded but returned no like entries

Example fix

// before
let opts = Options { blog: "b".into(), session_netscape: None, .. }; // no session
// after
let opts = Options { blog: "b".into(), session_netscape: Some("fresh-cookies.txt".into()), .. };
Defensive patterns

Strategy: try-catch

Validate before calling

// likes need a session and a public likes list
if opts.session_netscape.is_none() {
    return Err(anyhow!("likes exigem sessão do Tumblr"));
}

Try / catch

match likes::run(&opts, progress).await {
    Err(e) if e.to_string().contains("nenhum like foi lido") => {
        eprintln!("exporte cookies frescos e confirme que a lista pública de likes está ligada");
    }
    Err(e) => return Err(e),
    Ok(r) => use(r),
}

Prevention

When it happens

Trigger: Calling likes `run` without session_netscape cookies, with expired/invalid cookies, or against a blog whose likes are set to private — the dump parses but contains no liked posts.

Common situations: Anonymous run against a private-likes blog; cookies exported days ago now expired; wrong account's cookies; blog owner turned off the public likes setting between runs.

Related errors


AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12). Data as JSON: /api/errors/d966c5705f39ab58. Report an issue: GitHub.

Appendix: source

Thrown at src-tauri/omniget-core/src/core/tools/tumblr/likes.rs:343

    let extra = vec![
        "-o".to_string(),
        "extractor.tumblr.posts=all".to_string(),
        "-o".to_string(),
        "extractor.tumblr.original=true".to_string(),
    ];
    let entries = gdl::dump(
        &url,
        cookies.as_ref().map(|c| c.path.as_path()),
        opts.limit,
        &extra,
        progress,
        TOOL_ID,
    )
    .await?;

    let mut rows = rows_from_dump(&entries);
    if rows.is_empty() {
        anyhow::bail!(
            "nenhum like foi lido: os likes só aparecem com a sessão do Tumblr e com a lista pública ligada"
        );
    }
    let media: u64 = rows.iter().map(|r| r.media_urls.len() as u64).sum();

    let index = match opts.media_dir.as_deref().filter(|d| !d.trim().is_empty()) {
        Some(dir) => index_dir(Path::new(dir)),
        None => LocalIndex::new(),
    };
    let matched_local = if index.is_empty() {
        0
    } else {
        match_local(&mut rows, &index)
    };

    let out_dir = PathBuf::from(&opts.out_dir);
    std::fs::create_dir_all(&out_dir)?;
    let stem = format!("tumblr-likes-{}", safe_slug(&opts.blog));

View on GitHub (pinned to 8600b91f42)