@@ -54,10 +54,14 @@ function M.reset()
5454 trigger_on_data_rendered ()
5555end
5656
57+ M .on_session_idle = function ()
58+ vim .notify (' Session is idle, no-op' )
59+ end
60+
5761--- Set up event subscriptions
5862--- @param subscribe ? boolean false to unsubscribe
5963function M .setup_subscriptions (subscribe )
60- subscribe = subscribe or true
64+ subscribe = subscribe == nil and true or subscribe
6165
6266 if subscribe then
6367 state .subscribe (' is_opencode_focused' , M .on_focus_changed )
@@ -75,6 +79,7 @@ function M.setup_subscriptions(subscribe)
7579 { ' session.updated' , M .on_session_updated },
7680 { ' session.compacted' , M .on_session_compacted },
7781 { ' session.error' , M .on_session_error },
82+ { ' session.idle' , M .on_session_idle },
7883 { ' message.updated' , M .on_message_updated },
7984 { ' message.removed' , M .on_message_removed },
8085 { ' message.part.updated' , M .on_part_updated },
@@ -132,8 +137,6 @@ function M._render_full_session_data(session_data)
132137
133138 local revert_index = nil
134139
135- -- local event_manager = state.event_manager
136-
137140 -- if we're loading a session and there's no currently selected model, set it
138141 -- from the messages
139142 local set_mode_from_messages = not state .current_model
@@ -143,11 +146,9 @@ function M._render_full_session_data(session_data)
143146 revert_index = i
144147 end
145148
146- -- table.insert(event_manager.captured_events, { type = 'message.updated', properties = { info = msg.info } })
147149 M .on_message_updated ({ info = msg .info }, revert_index )
148150
149151 for _ , part in ipairs (msg .parts or {}) do
150- -- table.insert(event_manager.captured_events, { type = 'message.part.updated', properties = { part = part } })
151152 M .on_part_updated ({ part = part }, revert_index )
152153 end
153154 end
0 commit comments