feat(web,server): unify nav naming, panel width and the update entry (#130)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yaowei ZhengandClaude Opus 5 authored and GitHub committed 2026-07-30 17:25:50 +08:00
1 parent 97852f43b8
commit 385d506e77
32 files changed
+1135 -557

No files matched your search

@@ -244,6 +244,25 @@ export class ProjectService {
});
}
/**
* Rename a Project's display name (owner): the id stays immutable — it names the directory,
* the Workspace paths and every stored reference — so only the label in project_config.toml
* changes. Returns the refreshed summary so the caller can swap it into its list without a
* reload.
*/
async renameProject(userId: string, projectId: string, name: string): Promise<ProjectSummary> {
const row = this.requireProjectOwner(userId, projectId);
await this.deps.projectConfig.setName(projectId, name);
// requireProjectOwner already established the role; it returns the plain row.
return {
projectId,
name,
role: "owner",
ownerUserId: row.ownerUserId,
createdAt: row.createdAt,
};
}
/**
* Delete a Project (owner): default_project is refused; deleting the user's
* **last accessible Project** is refused too (deleting it would leave the list