Files
gravity_control/docs/devlog/entries/20260308-014.md

33 lines
1.7 KiB
Markdown

# product.json 체크섬 불일치 → 렌더러 스크립트 미실행 근본 원인 발견
- **시간**: 2026-03-08 17:01~17:38
- **Vikunja**: #258 (Multi-window 격리 + DOM Observer 렌더러 디버깅)
## 진단 과정
1. Antigravity 재설치 후 Extension Host는 정상 (bridge HTTP 포트 응답, POLL 활성, 세션 등록)
2. 렌더러 스크립트 `.js` 파일은 디스크에 존재, `<script>` 태그도 HTML에 존재
3. DevTools Console에 `[GB Observer]`, `[AG SDK]` 로그 = **0건**
4. 스크립트 파일 첫 줄에 `[AG PROBE]` 진단 프로브 삽입 → **여전히 0건**
5. 결론: Electron이 JS 파일 자체를 로딩하지 않음
## 근본 원인
- Antigravity 재설치 → `product.json` SHA256 체크섬이 원본으로 리셋
- Extension `setupApprovalObserver()`가 HTML 패치 후 **`IntegrityManager.suppressCheck()` 미호출**
- `vscode-file://` 프로토콜이 체크섬 불일치 파일을 거부 → **원본 캐시 HTML 서빙**
- 결과: 수정된 HTML (script 태그 포함)이 디스크에 존재하지만, Electron은 원본 HTML을 렌더링
## 해결
- `product.json``checksums` 섹션에서 수정된 2개 파일 해시 수동 업데이트:
- `vs/code/electron-browser/workbench/workbench.html`
- `vs/code/electron-browser/workbench/workbench-jetski-agent.html`
- 해시 계산: `base64(sha256(fileBytes)).replace(/=+$/, '')`
## 미완료
1. **E2E 검증 미완**: Antigravity 재시작 후 `[AG PROBE]`/`[GB Observer]` 로그 출현 확인 필요
2. **Extension 코드 수정**: `setupApprovalObserver()``IntegrityManager.suppressCheck()` 영구 추가
3. **diagnostic probe 제거**: `ag-sdk-variet-gravity-bridge.js` 첫 줄의 `[AG PROBE]` 제거