diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b6bc11..2c7e671 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), - Upgraded Git Changes into an Orca-inspired Source Control panel with filtering, collapsible conflict-aware groups, rich status metadata, safe stage/unstage/discard actions, and per-worktree commit drafts. - Refined the workbench with quieter neutral chrome, a narrower Chat reading column, accessible icon tooltips, and a System appearance option that follows the operating system theme. +### Fixed + +- Widened Chat history and kept delete actions visible when session titles are too long for the popover row. + ### Removed - **Breaking:** SpireCode no longer depends on or bundles packages from `github:klioen/pi-extensions`. Web access, subagents, memory, todo, plan, goal, and SDLC resources must now be installed and declared by users through standard Pi settings. diff --git a/src/styles/index.css b/src/styles/index.css index 30b4199..23fceba 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -2614,7 +2614,7 @@ details[open] > summary > .chat-disclosure-icon { z-index: 5; top: 8px; right: 8px; - width: min(360px, calc(100% - 16px)); + width: min(420px, calc(100% - 16px)); max-height: calc(100% - 16px); display: flex; } @@ -2717,7 +2717,8 @@ details[open] > summary > .chat-disclosure-icon { align-items: center; } .chat-history-item { - width: 100%; + flex: 1; + min-width: 0; min-height: 38px; padding: 9px 10px; display: flex; diff --git a/src/styles/themeTokens.test.ts b/src/styles/themeTokens.test.ts index fe466ef..9c55b6a 100644 --- a/src/styles/themeTokens.test.ts +++ b/src/styles/themeTokens.test.ts @@ -116,6 +116,17 @@ describe("theme tokens", () => { ]); }); + it("keeps long chat history titles from displacing row actions", () => { + expectDeclarations(".chat-history-popover", [ + "width: min(420px, calc(100% - 16px))", + ]); + const item = declarationBlock(".chat-history-item"); + expect(item).toContain("flex: 1"); + expect(item).toContain("min-width: 0"); + expect(item).not.toContain("width: 100%"); + expectDeclarations(".chat-history-delete", ["flex-shrink: 0"]); + }); + it("aligns Projects dialogs with the Files confirmation surface", () => { const dialogSurface = [ "width: min(360px, calc(100vw - 32px))",