Skip to content

Commit f27c9d8

Browse files
committed
fix(server_job): force job_count = 0 if requests is empty
1 parent 43a0af3 commit f27c9d8

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

lua/opencode/server_job.lua

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,20 @@ end
139139
---Forcibly reject any pending requests (they sometimes get stuck
140140
---after an api abort)
141141
function M.cancel_all_requests()
142-
for _, entry in ipairs(M.requests) do
143-
local promise = entry[2]
144-
if not promise:is_resolved() then
145-
pcall(promise.reject, promise, 'Request cancelled')
142+
if vim.deep_equal(M.requests, {}) then
143+
-- If we're canceling again and we've already cleared the requests, set the
144+
-- job_count to 0
145+
state.job_count = 0
146+
else
147+
for _, entry in ipairs(M.requests) do
148+
local promise = entry[2]
149+
if not promise:is_resolved() then
150+
pcall(promise.reject, promise, 'Request cancelled')
151+
end
146152
end
147-
end
148153

149-
M.requests = {}
154+
M.requests = {}
155+
end
150156
end
151157

152158
function M.ensure_server()

0 commit comments

Comments
 (0)