Skip to content

Commit 4a60264

Browse files
committed
fix(api): clean up reset calls
streaming_renderer subscribes to state.active_session so we don't need these manual calls
1 parent 476b804 commit 4a60264

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

lua/opencode/api.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ function M.close()
3434
if state.display_route then
3535
state.display_route = nil
3636
ui.clear_output()
37-
require('opencode.ui.streaming_renderer').reset_and_render()
3837
ui.scroll_to_bottom()
3938
return
4039
end
@@ -343,7 +342,6 @@ function M.initialize()
343342
return
344343
end
345344
state.active_session = new_session
346-
require('opencode.ui.streaming_renderer').reset()
347345
M.open_input()
348346
state.api_client:init_session(state.active_session.id, {
349347
providerID = providerId,
@@ -354,11 +352,13 @@ end
354352

355353
function M.agent_plan()
356354
state.current_mode = 'plan'
355+
-- TODO: topbar subscribe to current_mode
357356
require('opencode.ui.topbar').render()
358357
end
359358

360359
function M.agent_build()
361360
state.current_mode = 'build'
361+
-- TODO: topbar subscribe to current_mode
362362
require('opencode.ui.topbar').render()
363363
end
364364

@@ -371,6 +371,7 @@ function M.select_agent()
371371
return
372372
end
373373

374+
-- TODO: topbar subscribe to current_mode
374375
state.current_mode = selection
375376
require('opencode.ui.topbar').render()
376377
end)
@@ -389,6 +390,7 @@ function M.switch_mode()
389390
local next_index = (current_index % #modes) + 1
390391

391392
state.current_mode = modes[next_index]
393+
-- TODO: topbar subscribe to current_mode
392394
require('opencode.ui.topbar').render()
393395
end
394396

@@ -505,7 +507,6 @@ function M.compact_session(current_session)
505507
return
506508
end
507509

508-
ui.render_output(true)
509510
local providerId, modelId = state.current_model:match('^(.-)/(.+)$')
510511
state.api_client
511512
:summarize_session(current_session.id, {
@@ -715,7 +716,6 @@ M.commands = {
715716
return
716717
end
717718
state.active_session = new_session
718-
require('opencode.ui.streaming_renderer').reset()
719719
M.open_input()
720720
else
721721
vim.notify('Session title cannot be empty', vim.log.levels.ERROR)

lua/opencode/ui/ui.lua

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
local M = {}
22
local config = require('opencode.config')
33
local state = require('opencode.state')
4-
local renderer = require('opencode.ui.output_renderer')
4+
local output_renderer = require('opencode.ui.output_renderer')
55
local streaming_renderer = require('opencode.ui.streaming_renderer')
66
local output_window = require('opencode.ui.output_window')
77
local input_window = require('opencode.ui.input_window')
@@ -21,7 +21,7 @@ function M.scroll_to_bottom()
2121
-- TODO: shouldn't have hardcoded calls to render_markdown,
2222
-- should support user callbacks
2323
vim.defer_fn(function()
24-
renderer.render_markdown()
24+
output_renderer.render_markdown()
2525
end, 200)
2626
end
2727

@@ -35,7 +35,7 @@ function M.close_windows(windows)
3535
M.return_to_last_code_win()
3636
end
3737

38-
renderer.teardown()
38+
output_renderer.teardown()
3939
streaming_renderer.teardown()
4040

4141
pcall(vim.api.nvim_del_augroup_by_name, 'OpencodeResize')
@@ -117,7 +117,7 @@ function M.create_windows()
117117
footer.setup(windows)
118118
topbar.setup()
119119

120-
renderer.setup_subscriptions(windows)
120+
output_renderer.setup_subscriptions(windows)
121121
streaming_renderer.setup_subscriptions(windows)
122122

123123
autocmds.setup_autocmds(windows)
@@ -187,18 +187,19 @@ function M.is_output_empty()
187187
end
188188

189189
function M.clear_output()
190-
renderer.stop()
190+
output_renderer.stop()
191+
streaming_renderer.reset()
191192
output_window.clear()
192193
footer.clear()
193194
topbar.render()
194-
renderer.render_markdown()
195+
output_renderer.render_markdown()
195196
-- state.restore_points = {}
196197
end
197198

198199
function M.render_output(force)
199200
force = force or false
200201
-- vim.notify('render_output, force: ' .. vim.inspect(force) .. '\n' .. debug.traceback())
201-
renderer.render(state.windows, force)
202+
output_renderer.render(state.windows, force)
202203
end
203204

204205
-- function M.render_incremental_output(message)

0 commit comments

Comments
 (0)