fix(approval): _from_ws 파일 60초 TTL 자동 삭제 — stale SKIP 스팸 방지 (v0.5.85)
This commit is contained in:
@@ -212,6 +212,14 @@ async function processResponseFile(filePath: string) {
|
||||
// Without this skip, the watcher deletes the file before Observer can poll it
|
||||
// (since no pending file exists for the isDomObserver check).
|
||||
if (resp._from_ws) {
|
||||
// v26: TTL — delete stale _from_ws files after 60s to prevent infinite SKIP spam
|
||||
const wsRidTs = parseInt((resp.request_id || '').split('_')[0], 10);
|
||||
const wsAge = isNaN(wsRidTs) ? 999999 : Date.now() - wsRidTs;
|
||||
if (wsAge > 60_000) {
|
||||
ctx.logToFile(`[RESPONSE] CLEANUP stale _from_ws file: ${resp.request_id} age=${Math.round(wsAge / 1000)}s`);
|
||||
try { fs.unlinkSync(filePath); } catch { }
|
||||
return;
|
||||
}
|
||||
ctx.logToFile(`[RESPONSE] SKIP _from_ws file (for Observer pollResponseGroup): ${resp.request_id}`);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user