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

1.7 KiB

Multi-Window 격리 + DOM Observer 렌더러 디버깅

  • 시간: 2026-03-08 15:00~16:52
  • Vikunja: 관련 태스크 없음 (신규 생성 필요)

결정 사항

1. 세션 등록 방식: 폴링 등록 → 활동 기반 지연 등록

  • 이유: 두 확장이 같은 LS를 공유하므로 GetAllCascadeTrajectories 결과에서 세션 소유 창을 구분 불가
  • 방식: writeRegistration()setupMonitor 폴링에서 제거하고, writeChatSnapshot/writePendingApproval 호출 시에만 등록. 이 두 함수는 올바른 projectName을 보장

2. 포트 디스커버리: 단일 파일 → JSON 멀티포트

  • 이유: 양쪽 확장이 같은 JS 파일(ag-sdk-variet-gravity-bridge.js)을 덮어씀
  • 방식: ag-bridge-ports.json{projectName: port} 형태로 모든 확장이 추가. 렌더러가 JSON을 읽고 모든 포트에 ping

3. DOM Observer 경로 vs VS Code 명령어 경로 분리

  • 이유: DOM observer 승인은 렌더러가 직접 버튼 클릭 → VS Code 명령어 불필요
  • 방식: processResponseFile에서 auto_detected && source=dom_observer이면 VS Code 명령어 건너뜀

미완료

  1. 렌더러 스크립트 미실행: workbench.html에 script 태그 존재하나 [GB Observer] 로그 없음
    • Antigravity 재설치 후 확장 재설치로 깨끗한 상태에서 테스트 필요
  2. Discord 승인 클릭스루: E2E 미검증 — 렌더러 DOM click 경로가 작동해야 완성
  3. 확장 버전: v0.3.4 빌드 완료 (VSIX 존재), 재설치 후 적용 필요

변경 파일 (미커밋)

  • extension/src/extension.ts — v0.3.1→0.3.4 (세션 필터, 포트 격리, 경쟁 조건, DOM 경로 분리)
  • .agents/references/known-issues.md — 3건 추가