Skip to content

[Fix] 업로드·새 버전 업로드 후 화면이 갱신되지 않고 인덱싱 상태 폴링이 없음 #231

Description

@Gimini-3

📌 Description

문서 API QA(시나리오 3) 중 발견했습니다. 프론트에서 문서를 업로드하거나 새 버전을 올려도 화면이 갱신되지 않아 사용자가 결과를 볼 수 없습니다. 수동 새로고침해야만 반영됩니다.

브라우저 네트워크 로그로 확인한 내용:

POST /api/documents            → 201   (이후 목록 refetch 없음)
POST /api/documents/14/versions → 201   (이후 상세 refetch 없음)
PATCH /api/documents/14        → 204 → GET detail/status/content 재요청 ✅
DELETE /api/documents/14       → 204 → /documents 리다이렉트 + 목록 재요청 ✅

PATCH/DELETE는 정상이고 업로드 경로 2개만 갱신이 누락됐습니다. 원인은 DocGridApp에서 UploadModalonSuccessnotify(토스트)에만 연결돼 있어, 갱신 신호가 DocumentsPage/DocumentDetailPage까지 도달하지 않는 구조입니다.

실제 재현: 새 버전 업로드 후 백엔드는 currentVersion=v2/INDEXED인데 화면은 계속 v1을 표시했습니다.

폴링 부재

문서 상세의 "인덱싱 진행 상태" 카드에 "실시간 조회" 배지가 붙어 있지만 실제 폴링이 없습니다. 20초간 관찰하는 동안 /status 호출이 0건이었습니다. 인덱싱이 비동기라 폴링이 없으면 사용자는 완료 시점을 영원히 볼 수 없습니다.

✅ To-do

  • DocGridApprefreshKey 카운터 추가하고 UploadModal.onSuccess에서 증가
  • DocumentsPage/DocumentDetailPagerefreshKey를 prop으로 받아 load 의존성에 포함 → 업로드 성공 시 자동 refetch
  • DocumentDetailPage에 조건부 폴링 추가 — processingVersion != null일 때만 /status를 2~3초 간격 호출
  • 폴링 종료 조건에 INDEXED뿐 아니라 FAILED도 포함 (무한 폴링 방지)
  • 폴링 완료 시 detail·content 1회 refetch
  • useEffect cleanup으로 언마운트 시 타이머 정리
  • 테스트 작성

✅ 완료 기준

  • 문서 목록에서 업로드하면 새로고침 없이 목록에 새 문서가 나타난다.
  • 문서 상세에서 새 버전을 올리면 새로고침 없이 처리 중 버전이 표시되고, 인덱싱이 끝나면 자동으로 v2·추출 본문까지 갱신된다.
  • 인덱싱이 끝난 뒤에는 폴링이 멈춘다(네트워크 탭에서 /status 반복 호출이 중단됨).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions