Skip to content

fix: Slacker retry를 render 바깥 effect로 이동 #6

Description

@ayden94

문제 정의

Slacker는 error 상태와 retry 횟수를 render 중 확인하여 retry를 시작할 수 있습니다. 이는 render 중 state update 또는 loader 호출을 유발하고 React StrictMode에서 중복·반복 실행으로 이어질 수 있습니다.

작업 범위

  • 자동 retry를 effect 기반으로 이동
  • 최초 시도와 maxRetries 추가 시도 의미 구분
  • retryDelay 준수
  • 성공 시 예정된 retry 취소 및 상태 초기화
  • unmount 또는 loader 교체 후 stale 결과 무시
  • manual retry도 동일한 동시성 guard 사용
  • 실패 attempt마다 onError 한 번 호출

제외 범위

  • AbortSignal public API
  • Suspense 통합
  • IntersectionObserver 재설계

완료 조건

  • render 중 state update, timer, loader, retry 호출이 없음
  • StrictMode에서 attempt 수가 계약과 일치
  • 최대 retry 횟수 및 delay 테스트 추가
  • success, unmount, loader 교체 race 테스트 추가
  • manual retry concurrency 테스트 추가
  • consumer-facing 변경에 changeset 추가

검증

pnpm test
pnpm build

의존 관계

Blocked by: #4

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions