From a0e26db1dc340fa84f1e0f6751868b5762779bea Mon Sep 17 00:00:00 2001 From: Aamer Akhter Date: Fri, 3 Jul 2026 23:31:33 -0400 Subject: [PATCH] feat: COD-192 add "Browse all sessions" escape hatch to command palette MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pins a "Browse all sessions…" item at the bottom of the command palette list (after "New session"). Activating it closes the palette and opens the Session Manager modal, bridging the gap between the fast in-memory switcher and the full server-side history browser. The item gets a distinct visual treatment (≡ icon, muted title/icon color, 4px top gap) so it reads as a secondary action separate from the primary session rows. Co-Authored-By: Claude Sonnet 4.6 --- src/web/public/panels-ui.js | 10 ++++++++-- src/web/public/styles.css | 13 +++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/web/public/panels-ui.js b/src/web/public/panels-ui.js index b5fc3cd2..2a22c2af 100644 --- a/src/web/public/panels-ui.js +++ b/src/web/public/panels-ui.js @@ -375,6 +375,7 @@ Object.assign(CodemanApp.prototype, { } sessionItems.push(this._buildCommandPaletteNewSessionItem(query)); + sessionItems.push({ id: 'browse-sessions', type: 'browse-sessions', title: 'Browse all sessions…', subtitle: 'Open Session Manager' }); return sessionItems; }, @@ -442,9 +443,10 @@ Object.assign(CodemanApp.prototype, { list.innerHTML = items .map((item, index) => { const active = index === this.commandPaletteActiveIndex ? ' active' : ''; - const icon = item.type === 'new-session' ? '+' : '›'; + const icon = item.type === 'new-session' ? '+' : item.type === 'browse-sessions' ? '≡' : '›'; + const browse = item.type === 'browse-sessions' ? ' command-palette-item--browse' : ''; return ` -