feat(web): add extensible command palette #2514
ci.yml
on: pull_request
Format, Lint, Typecheck, Test, Browser Test, Build
2m 49s
Release Smoke
13s
Annotations
3 errors
|
Format, Lint, Typecheck, Test, Browser Test, Build
Process completed with exit code 1.
|
|
[chromium] src/components/ChatView.browser.tsx > ChatView timeline estimator parity (full app) > searches projects by path and opens a new thread using the default env mode:
apps/web/src/components/ChatView.browser.tsx#L1377
Error: strict mode violation: getByText('Docs Portal') resolved to 2 elements:
1) <span class="flex-1 truncate text-xs font-medium text-foreground/90">Docs Portal</span> aka page.getByText('Docs Portal')
2) <span class="truncate text-sm text-foreground">Docs Portal</span> aka getByTestId('command-palette').getByText('Docs Portal')
❯ toBeInTheDocument src/components/ChatView.browser.tsx:1377:58
Caused by: Caused by: Error: Matcher did not succeed in time.
❯ src/components/ChatView.browser.tsx:1377:6
|
|
[chromium] src/components/ChatView.browser.tsx > ChatView timeline estimator parity (full app) > does not match thread actions from contextual project names:
apps/web/src/components/ChatView.browser.tsx#L1323
Error: strict mode violation: getByText('Project') resolved to 11 elements:
1) <span class="text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60">Projects</span> aka page.getByText('Projects')
2) <span class="flex-1 truncate text-xs font-medium text-foreground/90">Project</span> aka locator('button').filter({ hasText: 'Project' }).locator('span')
3) <span data-slot="badge" class="relative inline-flex items-center justify-center gap-1 whitespace-nowrap rounded-sm border font-medium outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-3.5 sm:[&_svg:not([class*='size-'])]:size-3 [&_svg]:pointer-events-none [&_svg]:shrink-0 [button&,a&]…>Project</span> aka locator('header').getByText('Project')
4) <span class="truncate text-sm text-foreground">Add project</span> aka getByText('Add project')
5) <span class="truncate text-muted-foreground/70 text-xs">Browse filesystem and add a project directory</span> aka getByText('Browse filesystem and add a')
6) <div id="base-ui-_r_144_" data-slot="command-group-label" class="px-2 py-1.5 font-medium text-muted-foreground text-xs">Projects</div> aka getByTestId('command-palette').getByText('Projects', { exact: true })
7) <span class="truncate text-sm text-foreground">Project</span> aka getByTestId('command-palette').getByText('Project', { exact: true })
8) <span class="truncate text-muted-foreground/70 text-xs">/repo/project</span> aka getByText('/repo/project')
9) <span class="truncate text-muted-foreground/70 text-xs">Project · #main · Current thread</span> aka getByText('Project · #main · Current')
10) <div role="status" aria-live="polite" aria-atomic="true" data-slot="command-empty" class="not-empty:p-2 text-center text-muted-foreground sm:text-sm not-empty:py-6 py-10 text-sm">No matching commands, projects, or threads.</div> aka getByText('No matching commands,')
...
❯ toBeInTheDocument src/components/ChatView.browser.tsx:1323:54
Caused by: Caused by: Error: Matcher did not succeed in time.
❯ src/components/ChatView.browser.tsx:1323:6
|