Files
gravity_control/docs/devlog/entries/20260408-003.md

27 lines
2.3 KiB
Markdown

# 2026-04-08 (003) - VSIX 빌드 누락에 따른 `SafeToAutoRun` 알림 중복 이슈 완벽 해결
## 1. 이슈 개요
- v0.5.16에서 `step-probe.ts` 내에 `SafeToAutoRun` 명령은 Pending approval을 스킵하도록 코드를 추가하고 "⚡ 자동 실행됨" Snapshot 생성 로직도 삭제했음에도 불구하고, 여전히 디스코드에 "🤖 자동 승인됨"과 "💬 AI 대화 내용: ⚡ 자동 실행됨"이 같이 도배되는 현상이 발생함.
## 2. 원인 분석
- `package.json``scripts` 영역에 `"vscode:prepublish": "npm run compile"`**누락되어 있었음**.
- 이로 인해 `vsce package` 명령으로 `.vsix`를 빌드할 때, TypeScript에서 JavaScript로의 트랜스파일링 과정(compile)이 선행되지 않음.
- 결과적으로 v0.5.16 빌드 파일(`extension/out/step-probe.js`)에는 **v0.5.15 시절의 과거 코드(버그가 있는 상태)가 그대로 패키징**되어 사용자 환경(VS Code)에서 실행되고 있었음.
### DOM Observer와의 관계 검증
- 만약 `SafeToAutoRun: true` 실행 시에도 VS Code UI에 "Allow" 버튼이 뜬다면 DOM Observer(`observer-script.ts`)가 이를 캐치하여 중복 알림을 발생시켰을 가능성이 있음.
- 하지만 `SafeToAutoRun` 명령은 SDK 레벨에서 즉시 실행되므로 UI 버튼이 아예 렌더링되지 않음.
- 따라서 `step-probe.ts`에서의 Pending 파일 생성만 제대로 차단되면 중복 알림 이슈는 완전히 해결됨을 확인함.
## 3. 해결 및 적용 사항
1. `package.json` 수정
- `"vscode:prepublish": "npm run compile"` 추가하여 향후 VSIX 빌드 전 반드시 최신 JS 파일을 생성하도록 보완.
- 불필요한 vsce 빌드 경고 방지를 위해 Dummy `repository``LICENSE` 파일 추가.
2. **v0.5.17 컴파일 및 패키징 완료**
- TypeScript 재컴파일 후 `gravity-bridge-0.5.17.vsix` 생성.
- теперь, "⚡ 자동 실행됨" 스냅샷 생성 코드는 물리적으로 삭제되었으며, `SafeToAutoRun` 조건 시 `pending` 파일 생성 차단 로직이 정상 동작함.
## 4. Next Step (사용자 안내)
- `extension/gravity-bridge-0.5.17.vsix` 파일을 VS Code에 수동 설치 (Extensions > `Install from VSIX...`)
- **VS Code Window Reload** (명령 팔레트 > `Developer: Reload Window`) 후 테스트.