{"record":{"id":"005e5526806752c7","repo":"tonhowtf/omniget","slug":"gallery-dl-process-failed","errorCode":null,"errorMessage":"gallery-dl process failed: {}","messagePattern":"gallery-dl process failed: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src-tauri/src/platforms/gallerydl/mod.rs","lineNumber":282,"sourceCode":"                    let _ = progress_tx.send(ProgressUpdate::percent(pct)).await;\n                    last_emit = std::time::Instant::now();\n                }\n            }\n            count\n        });\n\n        let stderr_task = tokio::spawn(async move {\n            let mut buf = String::new();\n            let mut lines = BufReader::new(stderr_pipe).lines();\n            while let Ok(Some(line)) = lines.next_line().await {\n                buf.push_str(&line);\n                buf.push('\\n');\n            }\n            buf\n        });\n\n        let status = tokio::select! {\n            s = child.wait() => s.map_err(|e| anyhow!(\"gallery-dl process failed: {}\", e))?,\n            _ = opts.cancel_token.cancelled() => {\n                let _ = child.kill().await;\n                let _ = reader_task.await;\n                let _ = stderr_task.await;\n                anyhow::bail!(\"Download cancelled\");\n            }\n        };\n\n        let _ = reader_task.await;\n        let stderr_content = stderr_task.await.unwrap_or_default();\n\n        if !status.success() {\n            let detail = stderr_content\n                .lines()\n                .rev()\n                .find(|l| {\n                    let l = l.to_lowercase();\n                    l.contains(\"error\")","sourceCodeStart":264,"sourceCodeEnd":300,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/src/platforms/gallerydl/mod.rs#L264-L300","documentation":"The gallery-dl child process exited with a non-zero status; the {} is the last stderr line matching error/forbidden/not found/unsupported (falling back to 'gallery-dl failed'). The download itself crashed or was rejected by the site — auth failure, removed gallery, or unsupported URL are the usual causes.","triggerScenarios":"Thrown at src-tauri/src/platforms/gallerydl/mod.rs:282 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the embedded stderr detail — it names the actual gallery-dl error","Provide valid cookies via the cookie file for sites requiring login","Confirm the gallery URL is still alive and supported by your gallery-dl version (update gallery-dl)"],"exampleFix":null,"handlingStrategy":"try-catch","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"}