From 4bcd30810119d16cac953d5776bc39608f2f6df6 Mon Sep 17 00:00:00 2001 From: AnnatarHe Date: Sun, 28 Dec 2025 15:47:25 +0800 Subject: [PATCH] fix(daemon): add acknowledgment response for heartbeat messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Send {"status":"ok"} after processing heartbeat message - Send {"status":"disabled"} when codeTracking is disabled - Fixes VS Code extension incorrectly showing "daemon not running" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- daemon/socket.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/daemon/socket.go b/daemon/socket.go index 9d3e182..a436ba8 100644 --- a/daemon/socket.go +++ b/daemon/socket.go @@ -128,6 +128,8 @@ func (p *SocketHandler) handleConnection(conn net.Conn) { // Only process heartbeat if codeTracking is enabled if p.config.CodeTracking == nil || p.config.CodeTracking.Enabled == nil || !*p.config.CodeTracking.Enabled { slog.Debug("Heartbeat message received but codeTracking is disabled, ignoring") + encoder := json.NewEncoder(conn) + encoder.Encode(map[string]string{"status": "disabled"}) return } buf, err := json.Marshal(msg) @@ -140,6 +142,10 @@ func (p *SocketHandler) handleConnection(conn net.Conn) { if err := p.channel.Publish(PubSubTopic, chMsg); err != nil { slog.Error("Error publishing heartbeat topic", slog.Any("err", err)) } + + // Send acknowledgment to client + encoder := json.NewEncoder(conn) + encoder.Encode(map[string]string{"status": "ok"}) default: slog.Error("Unknown message type:", slog.String("messageType", string(msg.Type))) }