Keep selected projects when switching hosts (#2700)
* fix(app): preserve project selection across hosts Rendered project identity and persisted equivalence were conflated after duplicate-project handling. Keep them separate so host changes resolve selectable equivalents deterministically without resetting legacy sidebar identity. * fix(app): restore selected clone after host round trip Keep manual origin and current destination placements separately so switching back restores the chosen checkout while archive gaps preserve the active host selection. * fix(app): key status icons by project view * fix(app): preserve origin during archive gaps
This commit is contained in:
@@ -14,7 +14,7 @@ function ws(
|
||||
return {
|
||||
serverId: input.serverId ?? "srv",
|
||||
workspaceId: input.workspaceId ?? input.workspaceKey.split(":")[1] ?? "ws",
|
||||
projectKey: input.projectKey ?? "proj",
|
||||
projectViewKey: input.projectViewKey ?? "proj",
|
||||
projectName: input.projectName ?? "Project",
|
||||
projectRootPath: input.projectRootPath,
|
||||
workspaceDirectory: input.workspaceDirectory,
|
||||
@@ -124,9 +124,24 @@ describe("buildStatusGroups", () => {
|
||||
]);
|
||||
|
||||
const workspaces = [
|
||||
ws({ workspaceKey: "srv:1", statusBucket: "done", projectKey: "proj-b", name: "zebra" }),
|
||||
ws({ workspaceKey: "srv:2", statusBucket: "done", projectKey: "proj-a", name: "alpha" }),
|
||||
ws({ workspaceKey: "srv:3", statusBucket: "done", projectKey: "proj-a", name: "alpha" }),
|
||||
ws({
|
||||
workspaceKey: "srv:1",
|
||||
statusBucket: "done",
|
||||
projectViewKey: "proj-b",
|
||||
name: "zebra",
|
||||
}),
|
||||
ws({
|
||||
workspaceKey: "srv:2",
|
||||
statusBucket: "done",
|
||||
projectViewKey: "proj-a",
|
||||
name: "alpha",
|
||||
}),
|
||||
ws({
|
||||
workspaceKey: "srv:3",
|
||||
statusBucket: "done",
|
||||
projectViewKey: "proj-a",
|
||||
name: "alpha",
|
||||
}),
|
||||
];
|
||||
|
||||
const groups = buildStatusGroups(workspaces, projectNames);
|
||||
|
||||
Reference in New Issue
Block a user