Files
gravity_control/docs/devlog/entries/20260323-002.md

1.1 KiB

Cross-Project DOM Observer Leakage 해결

  • 시간: 2026-03-23 22:00~22:45
  • Commit: TBD
  • Vikunja: #TBD → done

확인된 사실

  • Discord 신호 누락이 아닌, 다중 원격 환경에서의 포트 덮어쓰기 문제로 인한 **교차 프로젝트 신호 오염(Leakage)**이었음.

삽질 / 트러블슈팅

  • 처음에는 디스코드 봇(bot.py)이나 익스텐션의 step_type 매핑 로직 누락인 줄 알고 코드를 탐색했으나, 실제 DOM observer 스크립트에 하드코딩된 Port 변수가 문제의 원인임을 파악함.
  • 다중 원격 컴퓨터 환경 중 포트 포워딩(12345 충돌 우회)으로 인한 이슈를 해결하기 위해 vscode.env.asExternalUri를 도입. 로컬에 매핑된 최종 확정 포트를 알아냄.

결정 사항

  • DOM Status Bar(tooltip)를 일종의 단방향 IPC(Inter-Process Communication) 대용으로 사용하기로 결정함.
  • Extension Host가 렌더러(DOM Observer)에게 안전하고 해당 창에만 격리(Window-isolated)된 방식으로 포트 번호를 전달할 수 있음. 전역 HTML 파일 패치의 한계를 우아하게 극복함.