chore(extension): ws 모듈 번들 + E2E 사전 검증 #task-396
- extension/package.json: ws dependency 추가 - extension/.vscodeignore: !node_modules/ws/** 추가 (VSIX 번들) - known-issues: NPM WS 프록시 + ws 모듈 미번들 이슈 추가 - devlog: #010 완료, #011 E2E 사전 검증 (미완료)
This commit is contained in:
@@ -633,3 +633,15 @@
|
||||
- **원인**: Extension의 diff_review 감지 로직이 write_to_file/replace_file_content로 수정된 **모든** 파일을 추적. brain/ 경로의 task.md, implementation_plan.md 등 AG 내부 artifact도 포함됨
|
||||
- **해결**: `extension.ts` diff_review 감지 시 `.gemini/antigravity/brain/` 경로 파일을 필터링하여 제외. 코드 파일만 남으면 diff_review 생성, brain artifact만이면 skip
|
||||
- **주의**: 코드 파일 + brain artifact가 혼합된 경우에는 코드 파일에 대해서만 diff_review 생성
|
||||
|
||||
### [2026-03-17] NPM WebSocket 프록시 — Upgrade 헤더 미전달
|
||||
- **증상**: `wss://ag.variet.net/ws` 연결 시 HTTP 400 `No WebSocket UPGRADE hdr: None`
|
||||
- **원인**: Nginx Proxy Manager(openresty) 프록시 호스트에 WebSocket Support 미활성화 → `Upgrade` 헤더가 백엔드(aiohttp)로 전달되지 않음
|
||||
- **해결**: NPM 대시보드 → Proxy Hosts → `ag.variet.net` → Edit → **Websockets Support** 체크 → Save
|
||||
- **주의**: NPM은 WebSocket 토글을 켜야 `proxy_set_header Upgrade $http_upgrade` + `proxy_set_header Connection $connection_upgrade`가 자동 추가됨. 새 프록시 호스트 생성 시 반드시 확인
|
||||
|
||||
### [2026-03-17] Extension ws 모듈 미번들 — WS 연결 실패 가능
|
||||
- **증상**: Extension WS 연결 시도 시 `[WS] WebSocket module not available` → 파일 fallback만 동작
|
||||
- **원인**: `ws` npm 패키지가 `.vscodeignore`의 `node_modules/**`에 의해 VSIX에서 제외됨. AG Electron에 `ws` 미포함. `globalThis.WebSocket`은 Node.js 22+에서만 사용 가능
|
||||
- **해결**: (1) `.vscodeignore`에 `!node_modules/ws/**` 추가하여 VSIX에 ws 번들, (2) 설치 후 수동으로 `node_modules/ws/`를 설치 경로에 복사
|
||||
- **주의**: `package.json`에 `ws` dependency 추가 후 `npx vsce package` 시에도 `.vscodeignore`의 `!node_modules/ws/**` 없으면 번들 안 됨. `--no-dependencies` 플래그와 무관
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
| # | 시간 | 작업 | 커밋 | 상태 |
|
||||
|---|------|------|------|------|
|
||||
| 009 | 00:00~06:38 | Extension 모듈 분리 + Hub 통합 테스트 + VSIX v0.4.0 빌드 | `5f795b9` | ✅ |
|
||||
| 010 | 06:50~07:39 | 문서 전면 재작성 + 서버 배포 + WS 호환 수정 | `b9b240d` | 🔧 |
|
||||
| 010 | 06:50~07:39 | 문서 전면 재작성 + 서버 배포 + WS 호환 수정 | `6ea3211` | ✅ |
|
||||
| 011 | 07:44~08:18 | VSIX v0.4.0 E2E 사전 검증 + WS 프록시 수정 | — | 🔧 |
|
||||
|
||||
### #010 상세
|
||||
- **문서**: architecture.md(250줄), tech-stack.md(100줄), conventions.md(100줄) 전면 재작성 + Wiki 동기화
|
||||
@@ -12,3 +13,10 @@
|
||||
- **WS 호환**: ws-client.ts 브라우저 WebSocket API 호환 (.onopen/.onmessage) 수정
|
||||
- **Known issue**: VS Code 캐시로 Extension 코드 반영 지연 — 완전 재시작 필요
|
||||
|
||||
### #011 상세
|
||||
- **WS 프록시 수정**: NPM(openresty)에서 WebSocket Support 활성화 → 101 Switching Protocols 확인
|
||||
- **WS 인증 검증**: `wss://ag.variet.net/ws` → auth_ok, conn_id 발급, instance=#1 확인
|
||||
- **VSIX 설치**: v0.4.0 설치 확인, v0.3.16 제거, ws 모듈 수동 복사
|
||||
- **AG 설정**: `settings.json`에 hubUrl + registrationCode 설정
|
||||
- **ws 번들**: `.vscodeignore`에 `!node_modules/ws/**` 추가, `package.json`에 ws dependency
|
||||
- **미완료**: AG 재시작 후 Extension→Hub→Bot→Discord 실제 E2E 검증 필요
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
src/**
|
||||
node_modules/**
|
||||
!node_modules/ws/**
|
||||
*.ts
|
||||
!out/**
|
||||
tsconfig.json
|
||||
|
||||
28
extension/package-lock.json
generated
28
extension/package-lock.json
generated
@@ -1,12 +1,15 @@
|
||||
{
|
||||
"name": "gravity-bridge",
|
||||
"version": "0.3.8",
|
||||
"version": "0.4.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "gravity-bridge",
|
||||
"version": "0.3.8",
|
||||
"version": "0.4.0",
|
||||
"dependencies": {
|
||||
"ws": "^8.19.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.0.0",
|
||||
"@types/vscode": "^1.100.0",
|
||||
@@ -53,6 +56,27 @@
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.19.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
|
||||
"integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,5 +81,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"ws": "^8.19.0"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user