tonhowtf/omniget · error
chunk de assinatura do X nao encontrado
Error message
chunk de assinatura do X nao encontrado
What it means
indices probes candidate URLs to locate X's signing chunk JS file, fetches it, and extracts signature index constants via the regex r"\(\w\[(\d{1,2})\],\s*16\)". If no candidate URL could be resolved, it throws "chunk de assinatura do X nao encontrado". Without this chunk the txid signature indices cannot be computed.
Solutions
- Check network access and whether the probe requests are being blocked (403/429 from X).
- Update the URL-probing logic to match X's current HTML/JS bundle layout.
- Capture the probed responses and confirm at least one returns parseable HTML containing the chunk link.
- Retry later — this often resolves when X finishes a frontend deploy or the rate limit clears.
Defensive patterns
Strategy: retry
Try / catch
match create(...).await {
Ok(v) => v,
Err(e) if e.to_string().contains("chunk de assinatura") => {
eprintln!("chunk do X não resolvido; atualizando parser ou aguardando deploy");
// retry later or fall back to cached indices
}
Err(e) => return Err(e),
} Prevention
- Cache the last working chunk URL and indices as a fallback
- Monitor X frontend deploys; update probing logic promptly
- Check probe responses for 403/429 before concluding the chunk is gone
- Pin a known-good offline copy of the chunk as last resort
When it happens
Trigger: Calling create when all probed URLs fail (network errors, HTML without the chunk script link, or X renaming/moving the chunk asset) so `url` stays None.
Common situations: X deploying a new main.js bundle layout; request blocked or rate-limited so no candidate page loads; offline/proxy environments; X changing how the chunk URL is embedded in the HTML.
Understand the failure class
Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.
Related errors
- HTML request returned HTTP
- Post not available; graphql=
- HTML request returned HTTP
- YouTube não retornou URL
- nao achei os bundles JS do X na pagina
AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12).
Data as JSON: /api/errors/f562321ab1215e38.
Report an issue: GitHub.
Appendix: source
Thrown at src-tauri/omniget-core/src/core/tools/x/txid.rs:320
let sem = std::sync::Arc::new(tokio::sync::Semaphore::new(12));
let mut tasks = Vec::new();
for s in pool.into_iter().take(80) {
let http = http.clone();
let sem = sem.clone();
tasks.push(tokio::spawn(async move {
let _p = sem.acquire().await.ok()?;
let text = http.get(&s).send().await.ok()?.text().await.ok()?;
indices_re().find(&text).map(|m| join_url(&s, m.as_str()))
}));
}
for t in tasks {
if let Ok(Some(u)) = t.await {
url = Some(u);
break;
}
}
}
let url = url.ok_or_else(|| anyhow::anyhow!("chunk de assinatura do X nao encontrado"))?;
let text = page_text(http, &url, cookie).await?;
let re_idx = regex::Regex::new(r"\(\w\[(\d{1,2})\],\s*16\)").unwrap();
let items: Vec<usize> = re_idx
.captures_iter(&text)
.filter_map(|c| c[1].parse().ok())
.collect();
if items.is_empty() {
anyhow::bail!("indices de assinatura nao encontrados");
}
Ok(items)
}
impl TxIdGen {
/// Precisa da sessao logada: o X so entrega a pagina com os indices para
/// quem esta autenticado.
pub async fn create(http: &reqwest::Client, cookie: Option<&str>) -> anyhow::Result<Self> {
let html = page_text(http, "https://x.com/tesla", cookie).await?;
let vk = verification_bytes(&html)?;View on GitHub (pinned to 8600b91f42)