diff --git a/klausur-service/backend/ocr_pipeline_geometry.py b/klausur-service/backend/ocr_pipeline_geometry.py index 1c48adc..510c6c8 100644 --- a/klausur-service/backend/ocr_pipeline_geometry.py +++ b/klausur-service/backend/ocr_pipeline_geometry.py @@ -801,11 +801,13 @@ async def set_exclude_regions(session_id: str, body: _ExcludeRegionsBatchIn): sr = session.get("structure_result") or {} sr["exclude_regions"] = [r.model_dump() for r in body.regions] - await update_session_db(session_id, structure_result=sr) + # Invalidate grid so it rebuilds with new exclude regions + await update_session_db(session_id, structure_result=sr, grid_editor_result=None) # Update cache if session_id in _cache: _cache[session_id]["structure_result"] = sr + _cache[session_id].pop("grid_editor_result", None) return { "session_id": session_id, @@ -830,10 +832,12 @@ async def delete_exclude_region(session_id: str, region_index: int): removed = regions.pop(region_index) sr["exclude_regions"] = regions - await update_session_db(session_id, structure_result=sr) + # Invalidate grid so it rebuilds with new exclude regions + await update_session_db(session_id, structure_result=sr, grid_editor_result=None) if session_id in _cache: _cache[session_id]["structure_result"] = sr + _cache[session_id].pop("grid_editor_result", None) return { "session_id": session_id,