tonhowtf/omniget · error · anyhow::Error
Could not resolve share link
Error message
Could not resolve share link
What it means
resolve_share_link followed an instagram.com/share/<id>/ short link but the final URL still contains /share/ or equals the original — the redirect never resolved to a real post/profile URL. The share slug is invalid, expired, or Instagram refused the anonymous redirect, so no media id can be extracted.
Solutions
- Copy the full instagram.com/p/<shortcode>/ link instead of the share link
- Check the post still exists and is public
- Retry later — Instagram sometimes refuses share redirects transiently
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src-tauri/src/platforms/instagram/mod.rs:121 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/a8577b92f83260fc.
Report an issue: GitHub.
Appendix: source
Thrown at src-tauri/src/platforms/instagram/mod.rs:121
None
}
fn is_story_url(url: &str) -> bool {
if let Ok(parsed) = url::Url::parse(url) {
let path = parsed.path().to_lowercase();
return path.starts_with("/stories/");
}
false
}
async fn resolve_share_link(&self, share_id: &str) -> anyhow::Result<String> {
let url = format!("https://www.instagram.com/share/{}/", share_id);
let response = self.redirect_client.get(&url).send().await?;
let final_url = response.url().to_string();
if final_url.contains("/share/") || final_url == url {
return Err(anyhow!("Could not resolve share link"));
}
Ok(final_url)
}
fn regex_extract(pattern: &str, text: &str) -> Option<String> {
let re = Regex::new(pattern).ok()?;
re.captures(text)?.get(1).map(|m| m.as_str().to_string())
}
fn extract_object_entry(name: &str, html: &str) -> Option<serde_json::Value> {
let pattern = format!(r#"\["{}",.*?,(\{{.*?\}}),\d+\]"#, regex::escape(name));
let re = Regex::new(&pattern).ok()?;
let json_str = re.captures(html)?.get(1)?.as_str();
serde_json::from_str(json_str).ok()
}
fn extract_number_from_query(name: &str, html: &str) -> Option<String> {View on GitHub (pinned to 8600b91f42)