docs: devlog #012 + known-issues 3건 + VSIX v0.4.3 빌드 아티팩트

This commit is contained in:
Variet Worker
2026-03-17 10:48:09 +09:00
parent 9523d1328e
commit 1bb54eb820
7 changed files with 54 additions and 9 deletions

View File

@@ -135,7 +135,7 @@ let activeTrajectoryId = '';
const recentDiscordSentTexts = new Map();
function writeChatSnapshot(text) {
try {
// WS route (preferred)
// WS route (preferred) — skip file write to prevent duplicate Discord delivery
if (wsBridge && wsBridge.isConnected()) {
wsBridge.sendChat({
content: text,
@@ -143,8 +143,12 @@ function writeChatSnapshot(text) {
project_name: projectName,
});
logToFile(`[SNAPSHOT-WS] sent (${text.length} chars)`);
if (activeSessionId) {
(0, step_probe_1.writeRegistration)(activeSessionId);
}
return;
}
// File route (fallback / Phase 0 dual-write)
// File route (fallback — only when WS is NOT connected)
const snapshotDir = path.join(bridgePath, 'chat_snapshots');
if (!fs.existsSync(snapshotDir)) {
fs.mkdirSync(snapshotDir, { recursive: true });
@@ -172,7 +176,7 @@ function writeChatSnapshot(text) {
}
function writeChatSnapshotWithFiles(text, files) {
try {
// WS route (preferred)
// WS route (preferred) — skip file write to prevent duplicate Discord delivery
if (wsBridge && wsBridge.isConnected()) {
wsBridge.sendChat({
content: text,
@@ -181,8 +185,12 @@ function writeChatSnapshotWithFiles(text, files) {
project_name: projectName,
});
logToFile(`[SNAPSHOT-WS] sent with ${files.length} files (${text.length} chars)`);
if (activeSessionId) {
(0, step_probe_1.writeRegistration)(activeSessionId);
}
return;
}
// File route (fallback)
// File route (fallback — only when WS is NOT connected)
const snapshotDir = path.join(bridgePath, 'chat_snapshots');
if (!fs.existsSync(snapshotDir)) {
fs.mkdirSync(snapshotDir, { recursive: true });
@@ -1141,6 +1149,8 @@ async function activate(context) {
sawRunningAfterPending,
clickTrigger,
logToFile,
workspaceUri,
diffReviewMetadata: new Map(),
recentDiscordSentTexts,
writeChatSnapshot,
writeChatSnapshotWithFiles,

File diff suppressed because one or more lines are too long

View File

@@ -1,12 +1,12 @@
{
"name": "gravity-bridge",
"version": "0.4.0",
"version": "0.4.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "gravity-bridge",
"version": "0.4.0",
"version": "0.4.3",
"dependencies": {
"ws": "^8.19.0"
},

View File

@@ -2,7 +2,7 @@
"name": "gravity-bridge",
"displayName": "Gravity Bridge",
"description": "Antigravity ↔ Discord 브리지 연동 확장",
"version": "0.4.0",
"version": "0.4.3",
"publisher": "variet",
"engines": {
"vscode": "^1.100.0"

View File

@@ -361,8 +361,11 @@ export class WSBridgeClient {
this.logFn(`[WS] Auth failed: ${reason}`);
// Clear session token if it was rejected
this.sessionToken = '';
// MUST set shouldReconnect=false BEFORE _cleanup(), because _cleanup()
// closes the WS → triggers close event → _onDisconnect() → _scheduleReconnect().
// Without this, auth failures cause infinite reconnect loops.
this.shouldReconnect = false;
this._cleanup();
// Don't reconnect on auth failure (needs manual fix)
this.handlers.onError?.(`Auth failed: ${reason}`);
break;
}