빌드 오류 원인 명확합니다. ws_ping_pong_interval 은 lws 4.x에서 제거된 필드 입니다. 이 노드는 4.5.8이고, 지금은 retry_and_idle_policy 로 대체됐습니다. 제가 구버전 API를 쓴 잘못입니다. 경고도 같이 잡습니다. Ran 12 commands, edited a file, read a file · 9 notes 빌드 실패는 제 잘못입니다. ws_ping_pong_interval 은 lws 4.x에서 제거된 필드 인데(이 노드는 4.5.8) 그걸 썼습니다. 헤더 확인도 안 하고 넣었습니다. lws 원본 헤더로 확인했습니다: 항목 결과 ws_ping_pong_interval 0건 — 제거됨 retry_and_idle_policy 존재 정식 API로 교체했고, 그 초기화자를 실제 lws 타입 정의로 따로 컴파일해 통과를 확인했습니다: c static const lws_retry_bo_t miho_retry = { .secs_since_valid_ping = 20, /* 20초 조용하면 PING */ .secs_since_valid_hangup = 40, /* 그래도 조용하면 끊음 */ }; info.retry_and_idle_policy = &miho_retry; virt_net.c 경고 4건도 잡았습니다( %s → %.31s , name 이 char[32] ). info. 로 설정하는 필드를 전부 훑어 4.x에서 사라진 API가 더 없는지도 확인했습니다. 버전은 8.7.40입니다. 8.7.36으로 낸 게 혼란을 키웠습니다 — 이전에 드린 8.7.36~39는 계보가 다르거나 빌드가 깨져 있으니 전부 버리시고 이것만 쓰시면 됩니다. sudo ./install.sh mihosrcd --version # v8.7.40 내용은 앞서와 동일합니다: 연결 생존(PING/PONG + 60초 재-HELLO + 워치독 게이트 제거), VM 삭제(플래그 폴백 + 고아 디스크 정리). 삭제 버튼 은 여전히 Next.js 대시보드 쪽이라 이 tgz에 없습니다. 그 컴포넌트 파일 주시면 붙이겠습니다. Mihosrc 8.7.40 TGZ Release 8.7.40 Document · MD 20260816_web.tgz tgz ui node.js전체 소스다... 변경해줘 Ran 16 commands, edited 5 files, read a file · 10 notes API( DELETE /api/server/virt/guest )와 에이전트는 이미 있었고 버튼만 없었습니다. page.tsx 한 파일만 고쳤습니다. 추가한 것: 삭제 버튼 — 설정 옆, 상태와 무관하게 항상 표시. 정지 상태 게스트에도 나오므로 생성 실패로 남은 VM을 치울 수 있습니다. 확인 모달 — 되돌릴 수 없는 동작이라 세 가지를 처리합니다: 디스크 삭제 체크박스 ( purge ) — 기본 꺼짐. 실수로 데이터를 날리는 것보다 디스크가 남는 쪽이 복구 가능합니다. 이름 직접 입력 — 정확히 일치해야 버튼이 활성화됩니다. 오클릭 방지(Proxmox와 같은 방식). 실행 중이면 "강제 종료 후 삭제" 경고를 띄웁니다. 결과는 기존 작업 로그에 DELETED / DELETE_FAILED 로 남고, 성공 시 15초 빠른 폴링으로 즉시 반영됩니다. 검증: tsc --noEmit (strict) 전체 통과, virt/page.tsx 오류 0건 . Next 프로덕션 빌드는 이 샌드박스가 SWC 바이너리를 받지 못해 못 돌렸습니다(네트워크 제한) — 그 부분은 배포 환경에서 npm run build 로 확인하셔야 합니다. cp page.tsx <프로젝트>/web/src/app/server/\[uuid\]/virt/page.tsx npm run build && pm2 restart <앱> 에이전트는 8.7.40 이어야 합니다. 도메인이 없고 qcow2만 남은 잔재까지 정리하는 로직이 거기 있습니다.