Skip to content

Commit 9ed4cef

Browse files
committed
fix(event_manager): deepcopy events
Save a clean copy when capturing events as event (particularly messages) get modified in the event handler.
1 parent 7b88522 commit 9ed4cef

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

lua/opencode/event_manager.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,9 @@ function EventManager:_subscribe_to_server_events(server)
278278
if require('opencode.config').debug.capture_streamed_events then
279279
local _emitter = emitter
280280
emitter = function(event)
281-
table.insert(self.captured_events, event)
281+
-- make a deepcopy to make sure we're saving a clean copy
282+
-- (we modify event in renderer)
283+
table.insert(self.captured_events, vim.deepcopy(event))
282284
_emitter(event)
283285
end
284286
end

0 commit comments

Comments
 (0)