docs(bridge): product.json 체크섬 불일치 근본 원인 기록 #task-258
This commit is contained in:
@@ -15,3 +15,4 @@
|
||||
| 11 | 08:10 | Stall 감지 calibration + VS Code 명령어 기반 승인 핸들러 | `f1f9a0b` | 🔧 |
|
||||
| 12 | 11:30~14:35 | 승인 로직 정밀 디버깅: IDLE→stall 전환, lastModifiedTime 구분, RPC/Commands 전수 테스트, ResolveOutstandingSteps cancel 발견 | - | 🔧 |
|
||||
| 13 | 15:00~16:52 | Multi-window 격리 (v0.3.1→0.3.4): 세션 필터, per-project 포트, 등록 경쟁 조건 수정, DOM Observer 렌더러 디버깅 | - | 🔧 |
|
||||
| 14 | 17:01~17:38 | **근본 원인 발견**: product.json 체크섬 불일치 → vscode-file:// 원본 캐시 서빙. 체크섬 수동 업데이트로 수정 | - | 🔧 |
|
||||
|
||||
32
docs/devlog/entries/20260308-014.md
Normal file
32
docs/devlog/entries/20260308-014.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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]` 제거
|
||||
Reference in New Issue
Block a user