diff --git a/CHANGELOG.md b/CHANGELOG.md index b9e39143..65828f65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ### Added +- **PR #2339** by @Michaelyklam (refs #2211) — The workspace panel now has a small desktop edge toggle that remains clickable after the right panel is hidden, making it possible to reopen the workspace browser without returning to Settings. The existing panel close button and composer workspace button remain unchanged; the new affordance only appears when the workspace panel is closed on desktop widths. + - **PR #2332** by @Michaelyklam (refs #2290) — Cron run history/output cards now surface token/cost metadata when the underlying cron output markdown includes it. The backend parses optional model/token/cost/duration frontmatter from cron output files and returns it from `/api/crons/history` and `/api/crons/run`; the Tasks panel renders a compact usage strip beside run rows and below expanded output without affecting older outputs that lack usage metadata. ### Fixed diff --git a/static/boot.js b/static/boot.js index 601a760e..492b87e0 100644 --- a/static/boot.js +++ b/static/boot.js @@ -82,6 +82,7 @@ function _workspacePanelEls(){ layout: document.querySelector('.layout'), panel: document.querySelector('.rightpanel'), toggleBtn: $('btnWorkspacePanelToggle'), + edgeToggleBtn: $('btnWorkspacePanelEdgeToggle'), collapseBtn: $('btnCollapseWorkspacePanel'), }; } @@ -176,7 +177,7 @@ function _setButtonTooltip(btn, text){ } function syncWorkspacePanelUI(){ - const {layout,panel,toggleBtn,collapseBtn}= _workspacePanelEls(); + const {layout,panel,toggleBtn,edgeToggleBtn,collapseBtn}= _workspacePanelEls(); if(!layout||!panel)return; const desktopOpen=_workspacePanelMode!=='closed'; const mobileOpen=panel.classList.contains('mobile-open'); @@ -190,6 +191,12 @@ function syncWorkspacePanelUI(){ _setButtonTooltip(toggleBtn, isOpen?'Hide workspace panel':'Show workspace panel'); toggleBtn.disabled=!canBrowse; } + if(edgeToggleBtn){ + edgeToggleBtn.classList.toggle('active',isOpen); + edgeToggleBtn.setAttribute('aria-expanded',isOpen?'true':'false'); + _setButtonTooltip(edgeToggleBtn, isOpen?'Hide workspace panel':'Show workspace panel'); + edgeToggleBtn.disabled=!canBrowse; + } if(collapseBtn){ _setButtonTooltip(collapseBtn, isCompact?'Close workspace panel':'Hide workspace panel'); } diff --git a/static/index.html b/static/index.html index 592e6243..af1c017e 100644 --- a/static/index.html +++ b/static/index.html @@ -1178,6 +1178,9 @@ +