fix(gui): Un-nest _render_response_panel to fix AttributeError
This commit is contained in:
+39
-39
@@ -4060,47 +4060,47 @@ def hello():
|
|||||||
self._handle_reset_session()
|
self._handle_reset_session()
|
||||||
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_message_panel")
|
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_message_panel")
|
||||||
|
|
||||||
def _render_response_panel(self) -> None:
|
def _render_response_panel(self) -> None:
|
||||||
if self.perf_profiling_enabled: self.perf_monitor.start_component("_render_response_panel")
|
if self.perf_profiling_enabled: self.perf_monitor.start_component("_render_response_panel")
|
||||||
if self._trigger_blink:
|
if self._trigger_blink:
|
||||||
self._trigger_blink = False
|
self._trigger_blink = False
|
||||||
self._is_blinking = True
|
self._is_blinking = True
|
||||||
self._blink_start_time = time.time()
|
self._blink_start_time = time.time()
|
||||||
try:
|
try:
|
||||||
imgui.set_window_focus("Response") # type: ignore[call-arg]
|
imgui.set_window_focus("Response") # type: ignore[call-arg]
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
is_blinking = False
|
is_blinking = False
|
||||||
blink_color = vec4(0, 0, 0, 0)
|
blink_color = vec4(0, 0, 0, 0)
|
||||||
if self._is_blinking:
|
if self._is_blinking:
|
||||||
elapsed = time.time() - self._blink_start_time
|
elapsed = time.time() - self._blink_start_time
|
||||||
if elapsed > 1.5:
|
if elapsed > 1.5:
|
||||||
self._is_blinking = False
|
self._is_blinking = False
|
||||||
else:
|
else:
|
||||||
is_blinking = True
|
is_blinking = True
|
||||||
val = math.sin(elapsed * 8 * math.pi)
|
val = math.sin(elapsed * 8 * math.pi)
|
||||||
alpha = 50/255 if val > 0 else 0
|
alpha = 50/255 if val > 0 else 0
|
||||||
blink_color = vec4(0, 255, 0, alpha)
|
blink_color = vec4(0, 255, 0, alpha)
|
||||||
|
|
||||||
with imscope.style_color(imgui.Col_.frame_bg, blink_color) if is_blinking else nullcontext():
|
with imscope.style_color(imgui.Col_.frame_bg, blink_color) if is_blinking else nullcontext():
|
||||||
with imscope.style_color(imgui.Col_.child_bg, blink_color) if is_blinking else nullcontext():
|
with imscope.style_color(imgui.Col_.child_bg, blink_color) if is_blinking else nullcontext():
|
||||||
with imscope.child("response_scroll_area", imgui.ImVec2(0, -40), True):
|
with imscope.child("response_scroll_area", imgui.ImVec2(0, -40), True):
|
||||||
is_nerv = theme.is_nerv_active()
|
is_nerv = theme.is_nerv_active()
|
||||||
with imscope.style_color(imgui.Col_.text, vec4(80, 255, 80)) if is_nerv else nullcontext():
|
with imscope.style_color(imgui.Col_.text, vec4(80, 255, 80)) if is_nerv else nullcontext():
|
||||||
segments, parsed_response = thinking_parser.parse_thinking_trace(self.ai_response)
|
segments, parsed_response = thinking_parser.parse_thinking_trace(self.ai_response)
|
||||||
if segments:
|
if segments:
|
||||||
self._render_thinking_trace([{"content": s.content, "marker": s.marker} for s in segments], 9999)
|
self._render_thinking_trace([{"content": s.content, "marker": s.marker} for s in segments], 9999)
|
||||||
markdown_helper.render(parsed_response, context_id="response")
|
markdown_helper.render(parsed_response, context_id="response")
|
||||||
|
|
||||||
imgui.separator()
|
imgui.separator()
|
||||||
if imgui.button("-> History"):
|
if imgui.button("-> History"):
|
||||||
if self.ai_response:
|
if self.ai_response:
|
||||||
segments, response = thinking_parser.parse_thinking_trace(self.ai_response)
|
segments, response = thinking_parser.parse_thinking_trace(self.ai_response)
|
||||||
entry = {"role": "AI", "content": response, "collapsed": True, "ts": project_manager.now_ts()}
|
entry = {"role": "AI", "content": response, "collapsed": True, "ts": project_manager.now_ts()}
|
||||||
if segments:
|
if segments:
|
||||||
entry["thinking_segments"] = [{"content": s.content, "marker": s.marker} for s in segments]
|
entry["thinking_segments"] = [{"content": s.content, "marker": s.marker} for s in segments]
|
||||||
self.disc_entries.append(entry)
|
self.disc_entries.append(entry)
|
||||||
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_response_panel")
|
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_response_panel")
|
||||||
|
|
||||||
def _render_external_tools_panel(self) -> None:
|
def _render_external_tools_panel(self) -> None:
|
||||||
if self.perf_profiling_enabled: self.perf_monitor.start_component("_render_external_tools_panel")
|
if self.perf_profiling_enabled: self.perf_monitor.start_component("_render_external_tools_panel")
|
||||||
|
|||||||
Reference in New Issue
Block a user