diff --git a/lua/opencode/server/init.lua b/lua/opencode/server/init.lua index 30e8fde3..bb4bf70e 100644 --- a/lua/opencode/server/init.lua +++ b/lua/opencode/server/init.lua @@ -337,7 +337,13 @@ function Server:connect() self.subscription_job_id = self:sse_subscribe( function(response) if self.heartbeat_timer then - self.heartbeat_timer:start(OPENCODE_HEARTBEAT_INTERVAL_MS + 1000, 0, vim.schedule_wrap(self.disconnect)) + self.heartbeat_timer:start( + OPENCODE_HEARTBEAT_INTERVAL_MS + 1000, + 0, + vim.schedule_wrap(function() + self:disconnect() + end) + ) end if response.type == "server.connected" then