Make the workspace right pane a first-class tab host (#3287)

* feat(app): add persistent workspace side panes

Keep the common review and file-browsing workflow beside the active agent without tearing down pane contents. Workspace tabs now share one compact chip language, assistant file links route into the retained right pane, and diff/file trees share stable geometry.

* fix(app): localize pull request empty state

* test(app): update explorer pane coverage

* fix(app): preserve explorer pane workflows

* test(app): make explorer tab selection idempotent

* fix(app): persist workspace review pins

* fix(app): preserve sidebar scrim drag hook

* fix(app): restore companion pane interactions

* test(app): follow selected sidebar surface
This commit is contained in:
Mohamed Boudra
2026-08-16 18:18:32 +02:00
committed by GitHub
parent 6dcf6a4b08
commit ab274d635e
81 changed files with 2900 additions and 1051 deletions
@@ -80,6 +80,19 @@ describe("working diff tab identity", () => {
});
});
describe("workspace utility panel identity", () => {
it.each(["files", "pull_request"] as const)(
"normalizes and deterministically keys %s",
(kind) => {
const target = { kind };
expect(normalizeWorkspaceTabTarget(target)).toEqual(target);
expect(buildDeterministicWorkspaceTabId(target)).toBe(kind);
expect(workspaceTabTargetsEqual(target, target)).toBe(true);
},
);
});
describe("commit diff tab identity", () => {
it("keys a commit diff tab by its sha", () => {
expect(buildDeterministicWorkspaceTabId({ kind: "commit_diff", sha: "abc123" })).toBe(