From e002e40dff449617ee500201ecc54ef14c59567c Mon Sep 17 00:00:00 2001 From: Personal Stack Agent Date: Sun, 7 Jun 2026 12:07:20 +0000 Subject: [PATCH 1/3] assistant-ui: compact agent picker for header --- .../features/workspaces/components/AgentKindPicker.vue | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/services/assistant-ui/src/features/workspaces/components/AgentKindPicker.vue b/services/assistant-ui/src/features/workspaces/components/AgentKindPicker.vue index cae90e57..1d9b50f7 100644 --- a/services/assistant-ui/src/features/workspaces/components/AgentKindPicker.vue +++ b/services/assistant-ui/src/features/workspaces/components/AgentKindPicker.vue @@ -16,7 +16,7 @@ const options: { value: AgentKind; label: string; description: string }[] = [ From 6c6a9753692e830b6d83bfeb938b6ba1edf8b58e Mon Sep 17 00:00:00 2001 From: Personal Stack Agent Date: Sun, 7 Jun 2026 12:07:36 +0000 Subject: [PATCH 2/3] assistant-ui: make session tabs scroll horizontally --- .../workspaces/__tests__/SessionTabs.test.ts | 10 +++++++ .../workspaces/components/SessionTabs.vue | 27 +++++++++++-------- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/services/assistant-ui/src/features/workspaces/__tests__/SessionTabs.test.ts b/services/assistant-ui/src/features/workspaces/__tests__/SessionTabs.test.ts index 5bc639ae..9c77fbaf 100644 --- a/services/assistant-ui/src/features/workspaces/__tests__/SessionTabs.test.ts +++ b/services/assistant-ui/src/features/workspaces/__tests__/SessionTabs.test.ts @@ -89,4 +89,14 @@ describe('sessionTabs', () => { expect(wrapper.emitted('select')).toEqual([[session.id]]) expect(wrapper.emitted('stop')).toEqual([[session.id]]) }) + + it('keeps horizontal session tabs scrollable with stable tab widths', () => { + const sessions = Array.from({ length: 12 }, (_, i) => fakeSession({ id: `session-${String(i).padStart(2, '0')}` })) + const wrapper = mount(SessionTabs, { + props: { sessions, activeId: sessions[0]?.id ?? null }, + }) + + expect(wrapper.get('[data-testid="session-tabs-list"]').classes()).toContain('overflow-x-auto') + expect(wrapper.findAll('li').every((li) => li.classes().includes('shrink-0'))).toBe(true) + }) }) diff --git a/services/assistant-ui/src/features/workspaces/components/SessionTabs.vue b/services/assistant-ui/src/features/workspaces/components/SessionTabs.vue index 3941e4a4..8d326c69 100644 --- a/services/assistant-ui/src/features/workspaces/components/SessionTabs.vue +++ b/services/assistant-ui/src/features/workspaces/components/SessionTabs.vue @@ -81,23 +81,28 @@ function sessionShellClasses(s: AgentSession): string[] { return [ base, - 'flex border-b-2 px-3 py-2', + 'flex rounded-t-md border-b-2 px-3 py-2.5', active - ? 'border-[var(--color-accent-light)] text-[var(--color-text-primary)]' - : 'border-transparent text-[var(--color-text-muted)] hover:text-[var(--color-text-primary)]', + ? 'border-[var(--color-accent-light)] bg-[var(--color-surface-elevated)] text-[var(--color-text-primary)]' + : 'border-transparent text-[var(--color-text-muted)] hover:bg-[var(--color-surface-card)] hover:text-[var(--color-text-primary)]', ] }