From a9067050f23bfbec84d8cec6e238fdf017126235 Mon Sep 17 00:00:00 2001 From: dev_Hakaze Date: Sun, 19 Jul 2026 19:00:33 +0700 Subject: [PATCH] Fix: dashboard "Last Execution" panel stuck on "Loading..." when no execution exists (#1714) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit loadLastExecution()'s success handler only called displayLastExecution() when the backend returned a non-null last_execution, so on a fresh server (no tool run yet) the initial "Loading..." placeholder was never replaced. displayLastExecution(null) already renders the correct empty state ("No executions yet.") — it just wasn't being called. Add the missing else branch, mirroring how the Tool Usage and Executions Queue panels already handle their empty states. Fixes #1713 Co-authored-by: arimu1 <19286898+arimu1@users.noreply.github.com> --- CHANGELOG.md | 6 ++++++ src/serena/resources/dashboard/dashboard.js | 2 ++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e085a414..6f86e376 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,12 @@ Status of the `main` branch. Changes prior to the next official version change w - used in `JetBrainsFindDeclarationTool` when using plugin version 2023.3.3+ +* Dashboard: + - Fix: the "Last Execution" panel stayed on "Loading..." forever when there was no logged execution + (e.g. a fresh server / no tool run yet), because `loadLastExecution()` only rendered the panel when + the backend returned a non-null execution; the empty state is now rendered via the existing + `displayLastExecution(null)` path, mirroring the other panels #1713 + * Dependencies: - Bump mcp from 1.27.0 to 1.28.1 diff --git a/src/serena/resources/dashboard/dashboard.js b/src/serena/resources/dashboard/dashboard.js index 43987b58..571df521 100644 --- a/src/serena/resources/dashboard/dashboard.js +++ b/src/serena/resources/dashboard/dashboard.js @@ -913,6 +913,8 @@ class Dashboard { if (response.status === 'success') { if (response.last_execution !== null && response.last_execution.logged) { self.displayLastExecution(response.last_execution); + } else { + self.displayLastExecution(null); } } else { console.error('Error loading last execution:', response.message);