Skip to content

Commit 5750eb0

Browse files
committed
adjust
1 parent 2168145 commit 5750eb0

2 files changed

Lines changed: 5 additions & 97 deletions

File tree

lua/opencode/ui/renderer.lua

Lines changed: 5 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ local RenderState = require('opencode.ui.render_state')
99
local M = {
1010
_prev_line_count = 0,
1111
_render_state = RenderState.new(),
12-
_full_render_in_flight = nil,
13-
_full_render_pending_opts = nil,
1412
_last_part_formatted = {
1513
part_id = nil,
1614
formatted_data = nil --[[@as Output|nil]],
@@ -41,7 +39,6 @@ end, config.ui.output.rendering.markdown_debounce_ms or 250)
4139
function M.reset()
4240
M._prev_line_count = 0
4341
M._render_state:reset()
44-
M._full_render_pending_opts = nil
4542
M._last_part_formatted = { part_id = nil, formatted_data = nil }
4643

4744
output_window.clear()
@@ -125,50 +122,17 @@ local function fetch_session()
125122
return require('opencode.session').get_messages(session)
126123
end
127124

128-
---@param opts? {force_scroll?: boolean}
125+
---Request all of the session data from the opencode server and render it
129126
---@return Promise<OpencodeMessage[]>
130-
function M.render_full_session(opts)
131-
opts = opts or {}
132-
127+
function M.render_full_session()
133128
if not output_window.mounted() or not state.api_client then
134129
return Promise.new():resolve(nil)
135130
end
136131

137-
if M._full_render_in_flight then
138-
M._full_render_pending_opts = M._full_render_pending_opts or {}
139-
M._full_render_pending_opts.force_scroll = M._full_render_pending_opts.force_scroll
140-
or (opts.force_scroll == true)
141-
return M._full_render_in_flight
142-
end
143-
144-
local render_promise = fetch_session():and_then(function(session_data)
145-
return M._render_full_session_data(session_data, opts)
146-
end)
147-
148-
M._full_render_in_flight = render_promise
149-
150-
render_promise:finally(function()
151-
M._full_render_in_flight = nil
152-
153-
local pending_opts = M._full_render_pending_opts
154-
if pending_opts then
155-
M._full_render_pending_opts = nil
156-
vim.schedule(function()
157-
if output_window.mounted() and state.api_client then
158-
M.render_full_session(pending_opts)
159-
end
160-
end)
161-
end
162-
end)
163-
164-
return render_promise
132+
return fetch_session():and_then(M._render_full_session_data)
165133
end
166134

167-
---@param session_data table
168-
---@param opts? {force_scroll?: boolean}
169-
function M._render_full_session_data(session_data, opts)
170-
opts = opts or {}
171-
session_data = session_data or {}
135+
function M._render_full_session_data(session_data, prev_revert, revert)
172136
M.reset()
173137

174138
if not state.active_session or not state.messages then
@@ -200,7 +164,7 @@ function M._render_full_session_data(session_data, opts)
200164
if set_mode_from_messages then
201165
M._set_model_and_mode_from_messages()
202166
end
203-
M.scroll_to_bottom(opts.force_scroll == true)
167+
M.scroll_to_bottom(true)
204168

205169
if config.hooks and config.hooks.on_session_loaded then
206170
pcall(config.hooks.on_session_loaded, state.active_session)

tests/unit/renderer_spec.lua

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)