Show project icons in status-grouped sidebar rows (#2416)

* feat: show project icons in sidebar status view

* test(sidebar): keep status icon regression active

The ten-second mock can finish during app startup, removing the Working bucket before the icon assertion. Keep the seeded workspace active for the full scenario.

---------

Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
This commit is contained in:
nikuscs
2026-07-31 14:44:31 +02:00
committed by GitHub
co-authored by Mohamed Boudra
parent d9b72e1c76
commit 87ef631ac4
6 changed files with 207 additions and 22 deletions
+9
View File
@@ -122,6 +122,7 @@ test.describe("Model B sidebar shape", () => {
repoPrefix: "model-b-status-active-",
title: "Working workspace",
initialPrompt: "stay busy",
model: "one-minute-stream",
});
try {
@@ -152,6 +153,14 @@ test.describe("Model B sidebar shape", () => {
// the status view.
await expect(sidebar.locator('[data-testid^="workspace-tab-"]')).toHaveCount(0);
// Status mode drops the project grouping, so each row leads its subtitle
// with the project's icon to keep projects distinguishable.
for (const workspaceId of [idleProject.workspaceId, activeMock.workspaceId]) {
await expect(
page.getByTestId(`sidebar-row-project-icon-${getServerId()}:${workspaceId}`).first(),
).toBeVisible({ timeout: 60_000 });
}
// The busy workspace is grouped under Working, the idle one under Done:
// changing one workspace's status moved only that row.
const workingRows = page.getByTestId("sidebar-status-group-rows-running");