From e9f8595fbba71ca3d02325e0ee02a52ed6d9236a Mon Sep 17 00:00:00 2001 From: Cameron Ring Date: Wed, 5 Nov 2025 13:12:13 -0800 Subject: [PATCH 1/2] fix(renderer): clear permissions when resetting There currently isn't a way to fetch a pending permission so when we're resetting, reject any pending permissions. Fixes #102 --- lua/opencode/ui/renderer.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lua/opencode/ui/renderer.lua b/lua/opencode/ui/renderer.lua index 22c42ca7..132406f0 100644 --- a/lua/opencode/ui/renderer.lua +++ b/lua/opencode/ui/renderer.lua @@ -45,13 +45,17 @@ function M.reset() state.messages = {} state.last_user_message = nil - state.current_permission = nil + + if state.current_permission then + require('opencode.api').respond_to_permission('reject') + state.current_permission = nil + end trigger_on_data_rendered() end ---Set up all subscriptions, for both local and server events function M.setup_subscriptions(_) - M._subscriptions.active_session = function(_, new, _) + M._subscriptions.active_session = function(_, new, old) M.reset() if new then M.render_full_session() From 8e477b0873428f6977e2bbd16785a50e98c19a36 Mon Sep 17 00:00:00 2001 From: Cameron Ring Date: Wed, 5 Nov 2025 13:15:13 -0800 Subject: [PATCH 2/2] chore(renderer): unit test compat --- lua/opencode/ui/renderer.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/opencode/ui/renderer.lua b/lua/opencode/ui/renderer.lua index 132406f0..33bb64f1 100644 --- a/lua/opencode/ui/renderer.lua +++ b/lua/opencode/ui/renderer.lua @@ -46,7 +46,7 @@ function M.reset() state.messages = {} state.last_user_message = nil - if state.current_permission then + if state.current_permission and state.api_client then require('opencode.api').respond_to_permission('reject') state.current_permission = nil end