diff --git a/desktop/src/components/chat/MessageList.test.tsx b/desktop/src/components/chat/MessageList.test.tsx
index c7cdb5b8..26b478c3 100644
--- a/desktop/src/components/chat/MessageList.test.tsx
+++ b/desktop/src/components/chat/MessageList.test.tsx
@@ -264,6 +264,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 && (
-