diff --git a/desktop/src/components/chat/MessageList.test.tsx b/desktop/src/components/chat/MessageList.test.tsx index 22fffacc..5755fce4 100644 --- a/desktop/src/components/chat/MessageList.test.tsx +++ b/desktop/src/components/chat/MessageList.test.tsx @@ -366,6 +366,9 @@ describe('MessageList nested tool calls', () => { expect(screen.getByText('Saved 1 memory item(s)')).toBeTruthy() expect(screen.getByText('preferences.md')).toBeTruthy() expect(screen.getByText('Tool details')).toBeTruthy() + const memoryCardClassName = screen.getByTestId('memory-tool-activity-card').className + expect(memoryCardClassName).toContain('border-[var(--color-memory-border)]') + expect(memoryCardClassName).toContain('bg-[var(--color-memory-surface)]') }) it('promotes memory file reads into collapsible memory references', () => { diff --git a/desktop/src/components/chat/ToolCallGroup.tsx b/desktop/src/components/chat/ToolCallGroup.tsx index 9239b1a4..d97f7bf0 100644 --- a/desktop/src/components/chat/ToolCallGroup.tsx +++ b/desktop/src/components/chat/ToolCallGroup.tsx @@ -195,7 +195,10 @@ function MemoryToolActivityGroup({ return (
-
+
@@ -226,7 +229,7 @@ function MemoryToolActivityGroup({ onClick={() => openMemorySettings(file.path)} className="group flex w-full items-start gap-2 rounded-md px-2 py-1.5 text-left transition-colors hover:bg-[var(--color-surface-hover)] focus:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]" > - + diff --git a/desktop/src/components/layout/Sidebar.test.tsx b/desktop/src/components/layout/Sidebar.test.tsx index 73e79ed6..085bb9f8 100644 --- a/desktop/src/components/layout/Sidebar.test.tsx +++ b/desktop/src/components/layout/Sidebar.test.tsx @@ -348,6 +348,13 @@ describe('Sidebar', () => { expect(screen.getByTestId('sidebar-session-list-section')).toHaveClass('flex', 'flex-1', 'min-h-0', 'flex-col') }) + it('keeps the settings dock opaque above the scrolling session list', () => { + render() + + expect(screen.getByTestId('sidebar-settings-dock')).toHaveClass('sidebar-settings-dock') + expect(screen.getByTestId('sidebar-settings-dock')).toHaveClass('absolute', 'bottom-0') + }) + it('keeps mobile navigation focused on chat sessions', async () => { const onRequestClose = vi.fn() createSession.mockResolvedValue('session-mobile-new') diff --git a/desktop/src/components/layout/Sidebar.tsx b/desktop/src/components/layout/Sidebar.tsx index 7c9247c5..8186e370 100644 --- a/desktop/src/components/layout/Sidebar.tsx +++ b/desktop/src/components/layout/Sidebar.tsx @@ -593,7 +593,10 @@ export function Sidebar({ isMobile = false, onRequestClose }: SidebarProps) { )} {!isMobile && ( -
+