From 38d288186c1c9c61021ce8adb4e1973460619d04 Mon Sep 17 00:00:00 2001 From: ljchang Date: Thu, 2 Jul 2026 23:46:04 -0400 Subject: [PATCH 01/13] fix(sessions): stream Range responses in 1MiB chunks; 416 on inverted ranges --- backend/routers/sessions.py | 38 +++++++++++++++++++++++----- tests/backend/test_sessions_video.py | 20 +++++++++++++++ 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/backend/routers/sessions.py b/backend/routers/sessions.py index fecf119..5e6c26b 100644 --- a/backend/routers/sessions.py +++ b/backend/routers/sessions.py @@ -64,8 +64,18 @@ def get_session(session_id: str) -> dict: return summary +_RANGE_CHUNK = 1024 * 1024 # 1 MiB per read: bounded memory however large the range + + def _serve_range(file_path: Path, range_header: str) -> Response: - """Parse a Range header and return a 206 Partial Content response.""" + """Parse a Range header and return a 206 Partial Content response. + + Streams the range in chunks instead of materializing it — browsers + open