# 현재 패치 상태 — 패키지 v276

상태: `[코드반영·실제 Chrome/DevTools 검증대기]`

## 이번 단일 목표 — 3/3 응답 없는 페이지 원인 진단 계측

기준 소스: `sort_local_v275_side_operator_manual.zip`

### v276 반영

- MAIN world에 `window.__IGBLUE_RUNTIME_DIAG_V276__` 진단 API를 추가했다.
- Instagram localStorage의 `IGBLUE/runtime_diag_v276`에 10초 간격 최신 상태와 최근 40개 표본을 저장한다.
- 표본에는 URL, readyState, visibility, DOM 전체 수, article/img/video 수, 인젝션 카드 수, 게시물 링크 수, 내부 media map 수, SPA retry timer 수, scroll 위치, JS heap, active target를 기록한다.
- `PerformanceObserver(longtask)`로 Long Task 횟수·합계·최대시간·최근 attribution을 기록한다.
- 실제 `V()` DOM scan 전체 호출의 마지막·최대·합계 실행시간과 오류 수를 기록한다.
- 기존 SPA MutationObserver와 다운로드 상태 MutationObserver callback 횟수를 각각 분리해 기록한다.
- 기존 debug 호출 수와 media 처리 진입 수를 기록한다.
- Side가 MAIN에 보내는 자동 상태에 phase, run_seq, 계정 index/total, 계정명, Top 목표/완료 수를 추가한다.
- content 진단 패널에 최신 runtime 요약을 표시하고 `igblue_runtime_diag_v276` 메시지로 전체 snapshot을 읽을 수 있게 했다.
- `test_ext_runtime_diagnostic_v276.js`를 추가했다.

## 실제 확인

- 자동실행 시작 전, 1/3 완료, 2/3 완료, 3/3 진입 시 `window.__IGBLUE_RUNTIME_DIAG_V276__.snapshot()` 값을 비교한다.
- `latest.auto_status.account_index/account_total`이 실제 수집계정 위치와 일치하는지 확인한다.
- DOM·heap·media_map·observer·debug·Long Task·DOM scan 최대시간 중 어느 값이 계정별로 계속 증가하는지 확인한다.
- 응답 없음 직전 Performance 기록의 실제 함수·파일과 runtime 진단의 최대시간 증가 시점을 대조한다.
- DevTools에서 `localStorage.getItem("IGBLUE/runtime_diag_v276")`가 최신 표본을 유지하는지 확인한다.

## 제외·다음 작업

- 자동 새로고침·탭 재접속·진행 위치 자동복구
- `unload` 이벤트를 `pagehide`로 바꾸는 MAIN world monkey patch
- 원인 확정 전 Observer·Timer·DOM scan·Instagram Meta 스크립트 임의 제거
- `Video 저장 / Image 저장`과 데이터 전용 수집
- IG 계정 표시 배경 투명도 설정
