fix(approval): _from_ws 파일 60초 TTL 자동 삭제 — stale SKIP 스팸 방지 (v0.5.85)
This commit is contained in:
4
extension/package-lock.json
generated
4
extension/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "gravity-bridge",
|
||||
"version": "0.5.84",
|
||||
"version": "0.5.85",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "gravity-bridge",
|
||||
"version": "0.5.84",
|
||||
"version": "0.5.85",
|
||||
"dependencies": {
|
||||
"cheerio": "^1.2.0",
|
||||
"ws": "^8.19.0"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "gravity-bridge",
|
||||
"displayName": "Gravity Bridge",
|
||||
"description": "Discord-based unified approval system for Antigravity AI interactions.",
|
||||
"version": "0.5.84",
|
||||
"version": "0.5.85",
|
||||
"publisher": "variet",
|
||||
"engines": {
|
||||
"vscode": "^1.100.0"
|
||||
|
||||
@@ -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