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

2.3 KiB

2026-04-08 (003) - VSIX 빌드 누락에 따른 SafeToAutoRun 알림 중복 이슈 완벽 해결

1. 이슈 개요

  • v0.5.16에서 step-probe.ts 내에 SafeToAutoRun 명령은 Pending approval을 스킵하도록 코드를 추가하고 " 자동 실행됨" Snapshot 생성 로직도 삭제했음에도 불구하고, 여전히 디스코드에 "🤖 자동 승인됨"과 "💬 AI 대화 내용: 자동 실행됨"이 같이 도배되는 현상이 발생함.

2. 원인 분석

  • package.jsonscripts 영역에 "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 repositoryLICENSE 파일 추가.
  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) 후 테스트.