Zackriya-Solutions/meetily · error

Partial response range {}-{} / {} does not match {}-{} / {}

Error message

Partial response range {}-{} / {} does not match {}-{} / {}

What it means

Thrown by `validate_partial_response` when the parsed Content-Range does not exactly match the requested byte span: start must equal `expected_start`, end must equal `exact_bytes - 1`, and total must equal `exact_bytes`. Any deviation (server returned a different span, or the remote file size changed) aborts the download to guarantee model integrity.

Source

Thrown at frontend/src-tauri/src/parakeet_engine/parakeet_engine.rs:764

        response: &reqwest::Response,
        expected_start: u64,
        exact_bytes: u64,
    ) -> Result<()> {
        if response.status() != reqwest::StatusCode::PARTIAL_CONTENT {
            return Err(anyhow!(
                "Expected partial 206 response, received {}",
                response.status()
            ));
        }
        let content_range = response
            .headers()
            .get(reqwest::header::CONTENT_RANGE)
            .ok_or_else(|| anyhow!("Partial response is missing Content-Range"))?;
        let ContentRange::Range { start, end, total } = parse_content_range(content_range)? else {
            return Err(anyhow!("Partial response has an unsatisfied Content-Range"));
        };
        if start != expected_start || end != exact_bytes - 1 || total != exact_bytes {
            return Err(anyhow!(
                "Partial response range {}-{} / {} does not match {}-{} / {}",
                start,
                end,
                total,
                expected_start,
                exact_bytes - 1,
                exact_bytes
            ));
        }
        let expected_length = end
            .checked_sub(start)
            .and_then(|length| length.checked_add(1))
            .ok_or_else(|| anyhow!("Partial response range length overflow"))?;
        if let Some(content_length) = Self::declared_content_length(response)? {
            if content_length != expected_length {
                return Err(anyhow!(
                    "Partial response declared {} bytes, expected {}",
                    content_length,

View on GitHub (pinned to a2cb62e827)

Solutions

  1. Delete the partial download and start over so expected and actual sizes align.
  2. Confirm the mirror serves the exact model version the app expects; switch to the official URL if not.
  3. Retry — if the server modified the file, the new total should now match after a fresh start.
Defensive patterns

Strategy: fallback

Validate before calling

// Compare remote total with expected before resuming
let head = client.head(url).send().await?;
let total: Option<u64> = head.headers().get("content-length").and_then(|v| v.to_str().ok()).and_then(|s| s.parse().ok());
if total != Some(EXPECTED_BYTES) { eprintln!("remote file differs from expected; re-download required"); }

Try / catch

match result {
    Err(e) if e.to_string().contains("does not match") => delete_partial_and_restart_download(),
    other => other,
}

Prevention

When it happens

Trigger: Range GET to the Parakeet model URL returns 206 with a Content-Range whose start/end/total differ from the requested range — e.g. server coalesces ranges, or the file on the server has a different total size than expected.

Common situations: Model file updated on the mirror mid-download (total mismatch); server satisfying a larger/smaller range than requested; resuming a partial file from a different model version.

Related errors


AI-assisted analysis of Zackriya-Solutions/meetily@a2cb62e827 (2026-09-12). Data as JSON: /api/errors/fb1c315a37f69ee0. Report an issue: GitHub.