feat(ui): Revert Diagnostics to standalone panel and simplify Log Management

This commit is contained in:
2026-03-08 21:42:58 -04:00
parent 08958ed8d4
commit 4bcc9dda06

View File

@@ -89,6 +89,7 @@ class App:
if not hasattr(self.controller, 'PROVIDERS'):
self.controller.PROVIDERS = PROVIDERS
self.controller.init_state()
self.show_windows.setdefault("Diagnostics", False)
self.controller.start_services(self)
# Aliases for controller-owned locks
self._send_thread_lock = self.controller._send_thread_lock
@@ -511,6 +512,9 @@ class App:
self._render_log_management()
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_log_management")
if self.show_windows.get("Diagnostics", False):
self._render_diagnostics_panel()
self.perf_monitor.end_frame()
# ---- Modals / Popups
with self._pending_dialog_lock:
@@ -999,8 +1003,6 @@ class App:
imgui.end()
return
if imgui.begin_tab_bar("log_mgmt_tabs"):
if imgui.begin_tab_item("Sessions")[0]:
if self._log_registry is None:
self._log_registry = log_registry.LogRegistry(str(paths.get_logs_dir() / "log_registry.toml"))
else:
@@ -1068,9 +1070,19 @@ class App:
reason="Manually whitelisted"
)
imgui.end_table()
imgui.end_tab_item()
if imgui.begin_tab_item("System Diagnostics")[0]:
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_log_management")
imgui.end()
def _render_diagnostics_panel(self) -> None:
if self.perf_profiling_enabled: self.perf_monitor.start_component("_render_diagnostics_panel")
exp, opened = imgui.begin("Diagnostics", self.show_windows.get("Diagnostics", False))
self.show_windows["Diagnostics"] = bool(opened)
if not exp:
imgui.end()
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_diagnostics_panel")
return
metrics = self.perf_monitor.get_metrics()
imgui.text("Performance Telemetry")
imgui.same_line()
@@ -1157,12 +1169,10 @@ class App:
imgui.text_wrapped(entry.get("message", ""))
imgui.end_table()
imgui.end_tab_item()
imgui.end_tab_bar()
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_log_management")
if self.perf_profiling_enabled: self.perf_monitor.end_component("_render_diagnostics_panel")
imgui.end()
def _render_files_panel(self) -> None:
if self.perf_profiling_enabled: self.perf_monitor.start_component("_render_files_panel")
imgui.text("Paths")