docling-studio/frontend/src
Pier-Jean Malandrino fa2c7d7525 fix(analyses): filter list endpoint by documentId — prevent cross-doc bbox leak
GET /api/analyses?documentId=X retournait toutes les analyses (le query
param était ignoré). Le frontend prenait alors la première COMPLETED de
la réponse, qui pouvait être celle d'un autre doc → bboxes d'un autre
doc projetées sur l'image en cours.

Backend
- analysis_repo: nouvelle méthode find_by_document(document_id, limit, offset)
- analysis_service: expose find_by_document
- api/analyses: GET /api/analyses accepte ?documentId=... (alias Pydantic
  pour respecter la règle ruff N803). Si présent, filtre via la nouvelle
  méthode; sinon comportement inchangé.
- test: test_list_analyses_filtered_by_document vérifie le routing vers
  find_by_document quand le query param est fourni.

Frontend (defensive)
- DocInspectTab / DocAskTab: filtre client-side
  analyses.find(a => a.documentId === requestedId && a.status === 'COMPLETED')
  pour rester safe même si un backend antérieur ignore le param.
2026-05-11 15:00:57 +02:00
..
__tests__/integration refactor(audit): remediate 0.5.0 audit findings — clean architecture, security, DRY, SOLID, perf 2026-04-29 14:00:00 +02:00
app feat(#251): API client typé create/update/delete + StoreForm + Create/Edit pages 2026-05-05 09:38:39 +02:00
features fix(#256): drop pushDocumentToStore duplicate, align rechunk return shape 2026-05-11 15:00:57 +02:00
pages fix(analyses): filter list endpoint by documentId — prevent cross-doc bbox leak 2026-05-11 15:00:57 +02:00
shared fix(#256): drop pushDocumentToStore duplicate, align rechunk return shape 2026-05-11 15:00:57 +02:00