diff --git a/apps/ui/playwright.config.ts b/apps/ui/playwright.config.ts
index 5a56289f..f530a93f 100644
--- a/apps/ui/playwright.config.ts
+++ b/apps/ui/playwright.config.ts
@@ -59,6 +59,10 @@ export default defineConfig({
ALLOWED_ROOT_DIRECTORY: '',
// Simulate containerized environment to skip sandbox confirmation dialogs
IS_CONTAINERIZED: 'true',
+ // Increase Node.js memory limit to prevent OOM during tests
+ NODE_OPTIONS: [process.env.NODE_OPTIONS, '--max-old-space-size=4096']
+ .filter(Boolean)
+ .join(' '),
},
},
]),
diff --git a/apps/ui/src/components/ui/header-actions-panel.tsx b/apps/ui/src/components/ui/header-actions-panel.tsx
index 708652b6..1795dcb5 100644
--- a/apps/ui/src/components/ui/header-actions-panel.tsx
+++ b/apps/ui/src/components/ui/header-actions-panel.tsx
@@ -98,6 +98,7 @@ export function HeaderActionsPanelTrigger({
onClick={onToggle}
className={cn('h-8 w-8 p-0 text-muted-foreground hover:text-foreground lg:hidden', className)}
aria-label={isOpen ? 'Close actions menu' : 'Open actions menu'}
+ data-testid="header-actions-panel-trigger"
>
{isOpen ?