{"record":{"id":"0f0beeeaa1e256e4","repo":"Zackriya-Solutions/meetily","slug":"expected-partial-206-response-received","errorCode":null,"errorMessage":"Expected partial 206 response, received {}","messagePattern":"Expected partial 206 response, received (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"frontend/src-tauri/src/parakeet_engine/parakeet_engine.rs","lineNumber":751,"sourceCode":"        if let Some(content_length) = Self::declared_content_length(response)? {\n            if content_length != exact_bytes {\n                return Err(anyhow!(\n                    \"Full response declared {} bytes, expected {}\",\n                    content_length,\n                    exact_bytes\n                ));\n            }\n        }\n        Ok(())\n    }\n\n    fn validate_partial_response(\n        response: &reqwest::Response,\n        expected_start: u64,\n        exact_bytes: u64,\n    ) -> Result<()> {\n        if response.status() != reqwest::StatusCode::PARTIAL_CONTENT {\n            return Err(anyhow!(\n                \"Expected partial 206 response, received {}\",\n                response.status()\n            ));\n        }\n        let content_range = response\n            .headers()\n            .get(reqwest::header::CONTENT_RANGE)\n            .ok_or_else(|| anyhow!(\"Partial response is missing Content-Range\"))?;\n        let ContentRange::Range { start, end, total } = parse_content_range(content_range)? else {\n            return Err(anyhow!(\"Partial response has an unsatisfied Content-Range\"));\n        };\n        if start != expected_start || end != exact_bytes - 1 || total != exact_bytes {\n            return Err(anyhow!(\n                \"Partial response range {}-{} / {} does not match {}-{} / {}\",\n                start,\n                end,\n                total,\n                expected_start,","sourceCodeStart":733,"sourceCodeEnd":769,"githubUrl":"https://github.com/Zackriya-Solutions/meetily/blob/a2cb62e827da7ef59f65064c97233efb2313878e/frontend/src-tauri/src/parakeet_engine/parakeet_engine.rs#L733-L769","documentation":"Thrown by `validate_partial_response` when the downloader issued a Range request (to resume or fetch a byte range of the Parakeet model) but the server did not reply with 206 Partial Content — typically it ignored the Range header and returned 200, or returned an error status. Range support is required for resume logic, so a non-206 response is rejected.","triggerScenarios":"Range GET (`Range: bytes=<start>-`) to the model URL answered with 200 (server ignores Range), 416 (range not satisfiable), 403, or 5xx.","commonSituations":"Simple static file servers (e.g. `python -m http.server` behind some configs) or CDNs that don't honor Range; resume after a partial download against a mirror lacking range support; requested start offset beyond the (changed) file size.","solutions":["Restart the download from byte 0 instead of resuming, so only a full 200 response is needed.","Use a mirror/server that supports HTTP Range requests (test with `curl -r 0-99 -I <url>` expecting 206).","If the file size changed upstream, delete the partial file and re-download.","Check the status code returned; 416 means the resume offset is invalid for the current file."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"let head = client.head(url).send().await?;\nlet probe = client.get(url).header(\"Range\", \"bytes=0-0\").send().await?;\nif probe.status() != reqwest::StatusCode::PARTIAL_CONTENT {\n    eprintln!(\"server lacks range support ({}); plan full download\", probe.status());\n}","typeGuard":null,"tryCatchPattern":"match result {\n    Err(e) if e.to_string().contains(\"Expected partial 206 response\") => restart_download_from_scratch(),\n    other => other,\n}","preventionTips":["Check range support (`curl -r 0-0 -I`) before relying on resume.","Delete stale partial files when the remote file may have changed.","Host models on servers with Range support (nginx, S3, official CDN)."],"tags":["network","http","download","resume"],"backgroundTag":"unexpected-http-status","analyzedSha":"a2cb62e827da7ef59f65064c97233efb2313878e","analyzedAt":"2026-09-12T11:12:14.152Z","contentChangedAt":"2026-09-12T11:12:14.152Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}