- @run-at document-start로 변경하여 페이지 스크립트보다 먼저 실행
- IntersectionObserver.observe() 후킹: observe() 즉시 콜백 실행하도록 하여
백그라운드 탭에서도 IntersectionObserver가 동작하게 함
- 기존 로직은 DOMContentLoaded 후 실행되도록 main() 함수로 분리
- scrollHeight 동적 대응 로직 유지
- iframe/팝업/XHR 대신 페이지 직접 이동 방식으로 전환
- sessionStorage 기반 큐로 전체 에피소드 연속 다운로드
- 동적 scrollHeight에 대응하는 lazy 로딩 트리거
- 공통 헬퍼: downloadImagesAsZip, getImagesWithLazyLoad
- GM_unregisterMenuCommand로 메뉴 중복 등록/배지 누적 해결
- 안전한 로거(log)로 console 차단 사이트 대응
- Next.js SPA pushState/replaceState 감지하여 메뉴 재등록