fix: poToken 스크립트 node:20-alpine 크래시 수정 (jsdom 25로 다운그레이드)
jsdom 30은 require('undici') 시 webidl.util.markAsUncloneable is not a function
(node:20-alpine/undici 비호환)으로 import 단계에서 크래시 → 자식 프로세스 code 1.
jsdom 25.0.1은 undici 6를 사용해 해당 경로를 타지 않으며 node:20-alpine(musl)에서
npm ci 재현 빌드 + 실제 실행으로 poToken 생성·주입(204) 검증 완료.
또한 LavalinkManager 실패 로그가 마지막 줄(=Node.js 버전 푸터)만 남겨 원인을 가리던 문제를
전체 출력 꼬리를 남기도록 수정.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -60,9 +60,14 @@ export class LavalinkManager {
|
||||
Logger.error(`[LavalinkManager] poToken 갱신 실행 실패: ${String(err)}`);
|
||||
});
|
||||
child.on("close", (code) => {
|
||||
const msg = out.trim().split("\n").pop() ?? "";
|
||||
if (code === 0) Logger.ready(`[LavalinkManager] ${msg || "poToken 주입 완료"}`);
|
||||
else Logger.error(`[LavalinkManager] poToken 갱신 실패(code ${code}): ${msg}`);
|
||||
const trimmed = out.trim();
|
||||
if (code === 0) {
|
||||
const last = trimmed.split("\n").pop() || "poToken 주입 완료";
|
||||
Logger.ready(`[LavalinkManager] ${last}`);
|
||||
} else {
|
||||
// import/로드 단계 크래시는 마지막 줄이 "Node.js vXX"뿐이므로 전체 출력 꼬리를 남긴다
|
||||
Logger.error(`[LavalinkManager] poToken 갱신 실패(code ${code}):\n${trimmed.slice(-1500)}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user