From 7eae2fa0aa24ec0f83f6cdb10102a84f57554385 Mon Sep 17 00:00:00 2001 From: Riz Ashraf Date: Thu, 8 Oct 2026 22:38:38 +0100 Subject: [PATCH] Update ocrs models to S3 endpoints and add download error logging --- server/src/handlers/vision.rs | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/server/src/handlers/vision.rs b/server/src/handlers/vision.rs index 7b8bb3d..91565d6 100644 --- a/server/src/handlers/vision.rs +++ b/server/src/handlers/vision.rs @@ -304,19 +304,33 @@ pub async fn ensure_ocr_engine() -> Option<&'static OcrEngine> { let det_path = cache_dir.join("text-detection.rten"); if !det_path.exists() || std::fs::metadata(&det_path).map(|m| m.len()).unwrap_or(0) < 100_000 { - if let Ok(resp) = reqwest::get("https://huggingface.co/robertknight/ocrs/resolve/main/text-detection.rten").await { - if let Ok(bytes) = resp.bytes().await { - let _ = std::fs::write(&det_path, bytes); - } + match reqwest::get("https://ocrs-models.s3-accelerate.amazonaws.com/text-detection.rten").await { + Ok(resp) => { + if let Ok(bytes) = resp.bytes().await { + if let Err(e) = std::fs::write(&det_path, &bytes) { + tracing::error!("Failed to write text-detection.rten to disk: {}", e); + } + } else { + tracing::error!("Failed to read bytes from text-detection.rten download response"); + } + }, + Err(e) => tracing::error!("Failed to download text-detection.rten: {}", e), } } let rec_path = cache_dir.join("text-recognition.rten"); if !rec_path.exists() || std::fs::metadata(&rec_path).map(|m| m.len()).unwrap_or(0) < 100_000 { - if let Ok(resp) = reqwest::get("https://huggingface.co/robertknight/ocrs/resolve/main/text-recognition.rten").await { - if let Ok(bytes) = resp.bytes().await { - let _ = std::fs::write(&rec_path, bytes); - } + match reqwest::get("https://ocrs-models.s3-accelerate.amazonaws.com/text-recognition.rten").await { + Ok(resp) => { + if let Ok(bytes) = resp.bytes().await { + if let Err(e) = std::fs::write(&rec_path, &bytes) { + tracing::error!("Failed to write text-recognition.rten to disk: {}", e); + } + } else { + tracing::error!("Failed to read bytes from text-recognition.rten download response"); + } + }, + Err(e) => tracing::error!("Failed to download text-recognition.rten: {}", e), } }