Expand workspace panel actions and keyboard navigation (#3685)
CI / changes (push) Successful in 6m6s
Docker / setup (push) Successful in 14s
Docker / publish (push) Skipped
Docker / build (push) Failing after 10m1s
CI / relay-tests (push) Canceled after 0s
CI / lint (push) Canceled after 0s
CI / typecheck (push) Canceled after 0s
CI / server-tests (ubuntu-latest) (push) Canceled after 0s
CI / server-tests (windows-latest) (push) Canceled after 0s
CI / desktop-tests (ubuntu-latest) (push) Canceled after 0s
CI / desktop-tests (windows-latest) (push) Canceled after 0s
CI / app-tests (push) Canceled after 0s
CI / sdk-tests (push) Canceled after 0s
CI / playwright (shard 1/4) (push) Canceled after 0s
CI / playwright (shard 2/4) (push) Canceled after 0s
CI / playwright (shard 3/4) (push) Canceled after 0s
CI / playwright (shard 4/4) (push) Canceled after 0s
CI / format (push) Canceled after 0s
CI / cli-tests (shard 1/3) (push) Canceled after 0s
CI / cli-tests (shard 2/3) (push) Canceled after 0s
CI / cli-tests (shard 3/3) (push) Canceled after 0s
CI / changes (push) Successful in 6m6s
Docker / setup (push) Successful in 14s
Docker / publish (push) Skipped
Docker / build (push) Failing after 10m1s
CI / relay-tests (push) Canceled after 0s
CI / lint (push) Canceled after 0s
CI / typecheck (push) Canceled after 0s
CI / server-tests (ubuntu-latest) (push) Canceled after 0s
CI / server-tests (windows-latest) (push) Canceled after 0s
CI / desktop-tests (ubuntu-latest) (push) Canceled after 0s
CI / desktop-tests (windows-latest) (push) Canceled after 0s
CI / app-tests (push) Canceled after 0s
CI / sdk-tests (push) Canceled after 0s
CI / playwright (shard 1/4) (push) Canceled after 0s
CI / playwright (shard 2/4) (push) Canceled after 0s
CI / playwright (shard 3/4) (push) Canceled after 0s
CI / playwright (shard 4/4) (push) Canceled after 0s
CI / format (push) Canceled after 0s
CI / cli-tests (shard 1/3) (push) Canceled after 0s
CI / cli-tests (shard 2/3) (push) Canceled after 0s
CI / cli-tests (shard 3/3) (push) Canceled after 0s
* fix(app): keep file navigation in place Retargeting a File tab allocated a new tab identity, causing the tab track to unmount and remount during navigation. Preserve the identity for File-to-File changes while retaining new instances for cross-kind replacements. * feat(app): expand workspace panel actions Keep the Command Center aligned with workspace tab and pane primitives. Add explicit panel placement, focused open behavior, keyboard navigation for empty panes, and a Changes pill that toggles the visible Side panel without closing its tab.
This commit is contained in:
@@ -31,6 +31,7 @@ import {
|
||||
openSupportingTab,
|
||||
showSidePanel,
|
||||
toggleSidePanel,
|
||||
toggleSupportingTab,
|
||||
} from "@/workspace-tabs/side-panel";
|
||||
|
||||
const WORKSPACE_KEY = "server-1:ws-main";
|
||||
@@ -205,6 +206,27 @@ describe("non-compact with splits", () => {
|
||||
expect(isSidePanelOpen(wide)).toBe(false);
|
||||
expect(tabKinds()).toEqual(["files"]);
|
||||
});
|
||||
|
||||
it("toggles the visible supporting target without closing its tab", () => {
|
||||
const changes = {
|
||||
...wide,
|
||||
target: { kind: "working_diff" } as const,
|
||||
openInSidePanelByDefault: true,
|
||||
};
|
||||
const tabId = toggleSupportingTab(changes);
|
||||
openSidePanelView({ ...wide, view: "files" });
|
||||
|
||||
toggleSupportingTab(changes);
|
||||
expect(isSidePanelOpen(wide)).toBe(true);
|
||||
expect(focusedPaneTabKinds()).toContain("working_diff");
|
||||
|
||||
toggleSupportingTab(changes);
|
||||
expect(isSidePanelOpen(wide)).toBe(false);
|
||||
expect(tabKinds()).toContain("working_diff");
|
||||
|
||||
expect(toggleSupportingTab(changes)).toBe(tabId);
|
||||
expect(isSidePanelOpen(wide)).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe("non-compact without splits", () => {
|
||||
|
||||
Reference in New Issue
Block a user