fix(bridge): renderer script debugging — async fetch, install path fix, product.json checksums

- Replace sync XHR tryPing() with async fetch tryPingAsync() for port discovery
- Add ag-sdk JS file to product.json checksums in updateProductChecksums()
- Revert to inline script approach for jetski HTML (vscode-file:// blocks custom .js)
- Remove old external script tag cleanup, add inline markers
- Update known-issues with 3 new findings
- Add devlog entry #16
This commit is contained in:
2026-03-08 19:51:27 +09:00
parent 43f023c87e
commit 8ed1ece87a
6 changed files with 90 additions and 118 deletions

View File

@@ -17,3 +17,4 @@
| 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:// 원본 캐시 서빙. 체크섬 수동 업데이트로 수정 | - | 🔧 |
| 15 | 17:50~18:30 | **v0.3.5**: 포트 디스커버리 수정 (결정론적 포트 + 하드코딩), 인라인 스크립트 전환 (`<script src>``<script>inline</script>`), product.json 자동 체크섬 업데이트 | - | 🔧 |
| 16 | 19:00~19:48 | 렌더러 스크립트 로딩 디버깅: sync XHR→async fetch 변환, 설치경로 불일치 발견, vscode-file:// 커스텀 파일 서빙 불가 확인, Electron 풀 재시작 필요 발견 | - | 🔧 |

View File

@@ -0,0 +1,19 @@
# 렌더러 스크립트 로딩 디버깅 — sync XHR→fetch, 설치경로, Electron 캐시
- **시간**: 2026-03-08 19:00~19:48
- **Commit**: (미커밋)
- **Vikunja**: 미매핑
## 결정 사항
- `tryPing()` (동기 XHR) → `tryPingAsync()` (async fetch + AbortSignal.timeout) 전환
- Electron 렌더러에서 동기 XHR이 보안 정책에 의해 차단됨
- `vscode-file://` 프로토콜은 원본 번들 외 커스텀 `.js` 파일 서빙 불가 확인
- product.json checksums에 추가해도 무효
- 인라인 `<script>` 방식이 유일한 해법
- `npm run compile``extension/out/`에만 빌드 — 설치 경로(`~/.antigravity/extensions/`)에 별도 복사 필요
## 미완료
- **Electron 풀 재시작 후 인라인 스크립트 동작 확인** 필요 (Reload Window ≠ 앱 재시작)
- Electron 메인 프로세스가 product.json 체크섬을 시작 시 캐시
- `Reload Window`는 렌더러만 재시작 → 캐시된 구 체크섬 사용 → 원본 HTML 서빙
- 다음 세션: 앱 완전 종료→재시작 후 `[INLINE-TEST]` 로그 확인으로 검증