Improve sidebar workspace readability and host identity (#2790)
* fix(app): align turn footer actions Keep running-turn actions in the same position as completed-turn actions and use the shared small icon size for both copy and fork controls. * feat(app): improve sidebar workspace identity Make dense sidebar workspace rows easier to scan and let each device control how connected hosts are identified. * fix(app): keep host badges readable Use a compact display menu and keep identity color on the host icon so translated controls fit and badge text retains standard contrast. * fix(app): announce selected sidebar badge mode * fix(app): retain icon-only host names for screen readers * fix(app): name hoisted workspace rows * fix(app): retain host identity in workspace labels * fix(app): retain workspace status in row labels * fix(app): defer host appearance until identity resolves * fix(app): serialize host appearance writes * fix(app): serialize host registry writes * fix(app): bound sidebar host badge labels * test(app): match workspace status labels * fix(app): consolidate sidebar identity behavior * test(app): assert status grouping behavior * fix(app): keep sidebar row actions accessible * fix(app): stabilize optimistic message layout
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import { test } from "../support/fixtures";
|
||||
import { gotoAppShell } from "../support/helpers/app";
|
||||
import { seedWorkspace } from "../support/helpers/seed-client";
|
||||
import {
|
||||
closeProjectContextMenu,
|
||||
closeWorkspaceContextMenu,
|
||||
expectProjectContextMenuActions,
|
||||
expectWorkspaceContextMenuActions,
|
||||
expectWorkspaceContextMenuOwnsAttention,
|
||||
expectWorkspaceRowHoverCleared,
|
||||
openProjectContextMenu,
|
||||
openWorkspaceContextMenu,
|
||||
showWorkspaceHoverCard,
|
||||
} from "../support/helpers/sidebar";
|
||||
|
||||
test.describe("Sidebar context menus", () => {
|
||||
test("right-clicking workspace and project rows opens their actions at the pointer", async ({
|
||||
page,
|
||||
}) => {
|
||||
const workspace = await seedWorkspace({ repoPrefix: "sidebar-context-menu-" });
|
||||
|
||||
try {
|
||||
await gotoAppShell(page);
|
||||
|
||||
await showWorkspaceHoverCard(page, workspace.workspaceId);
|
||||
await openWorkspaceContextMenu(page, workspace.workspaceId);
|
||||
await expectWorkspaceContextMenuActions(page, workspace.workspaceId);
|
||||
await expectWorkspaceContextMenuOwnsAttention(page);
|
||||
|
||||
await closeWorkspaceContextMenu(page, workspace.workspaceId);
|
||||
await expectWorkspaceRowHoverCleared(page, workspace.workspaceId);
|
||||
await openProjectContextMenu(page, workspace.projectKey);
|
||||
await expectProjectContextMenuActions(page, workspace.projectKey);
|
||||
|
||||
await closeProjectContextMenu(page, workspace.projectKey);
|
||||
} finally {
|
||||
await workspace.cleanup();
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user