Skip to content

feat: unified project management and multi-user isolation#23

Merged
Zhang-Henry merged 5 commits intomainfrom
feat/unified-project-management
Mar 11, 2026
Merged

feat: unified project management and multi-user isolation#23
Zhang-Henry merged 5 commits intomainfrom
feat/unified-project-management

Conversation

@davidliuk
Copy link
Copy Markdown
Collaborator

Summary

This PR introduces a major overhaul of the project management system, transitioning from a folder-discovery-based model to a unified, database-backed project registry. It enables explicit project naming, multi-user workspace isolation, and a more robust creation workflow via a new Project Creation Wizard.

Key Changes

🚀 Core Features & Enhancements

  • Unified Project Registry: Projects are now primary entities in the database, allowing for persistence even when the underlying directory is not in the default Claude folder.
  • Project Creation Wizard: Replaced the "Quick Create" button with a multi-step configuration wizard.
    • Users can now explicitly set a Project Name and choose between existing or new directories.
    • Added support for GitHub repository cloning directly during project setup.
    • Automatic path generation based on the project name for new workspaces.
  • Multi-User Isolation: Implemented userId tracking for projects. Workspaces are now scoped to the user who created them, ensuring privacy and organization in shared environments.

🛠 Backend Refinement

  • Database Upsert Logic: Enhanced projectDb.upsertProject to handle display names, custom paths, and user ownership correctly.
  • Resilient Session Loading: Fixed ENOENT errors when scanning for sessions in manual projects by verifying directory accessibility before processing.
  • API Route Optimization: Reordered server middleware to prioritize filesystem browsing (/api/browse-filesystem) and folder creation routes before static file serving.
  • Path Handling: Improved ~/ expansion logic to correctly resolve relative to the user's home directory.

🌐 Internationalization (i18n)

  • Added comprehensive translation support for all new project management labels, placeholders, and tooltips in:
    • English (en)
    • Chinese (zh-CN)
    • Korean (ko)

🐞 Bug Fixes

  • Fixed a critical issue where manually added projects would disappear from the sidebar after a refresh if they weren't assigned a user ID.
  • Resolved a ReferenceError where the GitBranch icon was missing in the frontend.
  • Fixed 404 errors when browsing the default workspace root.

Impact

  • Stability: Much higher reliability in project persistence and session tracking.
  • UX: Professional project naming and path selection instead of arbitrary timestamped folders.
  • Scalability: Proper groundwork for multi-tenant usage.

@bbsngg bbsngg self-requested a review March 11, 2026 03:06
@Zhang-Henry Zhang-Henry merged commit d01091d into main Mar 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants