Skip to content

Add per-project settings (wip)#2567

Open
shivamhwp wants to merge 2 commits intopingdotgg:mainfrom
shivamhwp:per-project-settings
Open

Add per-project settings (wip)#2567
shivamhwp wants to merge 2 commits intopingdotgg:mainfrom
shivamhwp:per-project-settings

Conversation

@shivamhwp
Copy link
Copy Markdown
Collaborator

@shivamhwp shivamhwp commented May 6, 2026

  • add project details/settings RPCs and persistence
  • use project remote overrides for source control detection
  • add project details page and sidebar navigation

Suggested PR title: Add per-project settings and remote overrides

What Changed

Added a per-project settings page that can be opened from the project row in the sidebar.

  • Clicking the project row opens /projects/$projectId
  • Clicking the caret still expands/collapses project threads
  • Added project settings UI for:
    • display name
    • project path
    • detected Git remote
    • effective Git remote
    • Git root and branch
  • Added a manual remote override so users can configure the source control provider/remote URL when auto-detection fails, especially for self-hosted Git remotes.
  • Persisted per-project remote override settings and wired them into source control provider resolution.

Why

Git remote detection can fail for self-hosted providers where the remote URL does not clearly identify the host, such as a self-hosted GitLab instance without gitlab.com in the URL.

This gives users a project-level fallback instead of requiring the app to guess correctly. The project name change is also scoped to T3 Code metadata only; it does not rename or move the directory on disk.

UI Changes

image

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • No video needed; no animation/motion change

Note

Medium Risk
Adds new persisted per-project settings and changes source-control provider detection to honor user overrides, which could affect Git/provider resolution across workflows if mapping to the correct project/root is wrong.

Overview
Adds per-project settings persisted in server settings (ServerSettings.projectSettings) and exposes them via new WS RPCs projects.getDetails and projects.updateSettings.

Introduces a new web route /projects/$projectId for viewing/editing project name and configuring a manual Git remote/provider override, and updates the sidebar so clicking a project navigates to this page while a separate caret button controls expand/collapse.

Updates source-control provider resolution to prefer the per-project remoteOverride (with new RemoteOverride parsing/helpers) before falling back to detecting from Git remotes, and wires this into both SourceControlProviderRegistry and GitManager hosting-provider detection.

Reviewed by Cursor Bugbot for commit c5048e6. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add per-project settings with remote override configuration and project settings route

  • Adds a new /projects/$projectId settings page in the web UI where users can view detected git info (branch, remotes) and configure a manual remote override (provider, URL, web URL) and project title.
  • Adds projects.getDetails and projects.updateSettings WebSocket RPC endpoints backed by on-demand git inspection and ServerSettingsService.
  • Extends ServerSettings with a projectSettings map keyed by project ID, storing ProjectRemoteOverride and related fields.
  • Provider context detection in SourceControlProviderRegistry now checks per-project remote overrides before falling back to git remote inference.
  • Changes sidebar project item behavior: clicking a project navigates to the settings route instead of toggling thread list; expansion is now controlled by a separate chevron button.
  • Behavioral Change: project rename and copy-path options are removed from the sidebar context menu.

Macroscope summarized c5048e6.

- add project details/settings RPCs and persistence
- use project remote overrides for source control detection
- add project details page and sidebar navigation
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 7aea7f42-6d45-4ba7-a0e5-5440da7d3c1d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL 1,000+ changed lines (additions + deletions). labels May 6, 2026
Comment thread apps/server/src/ws.ts Outdated
Comment thread apps/web/src/routes/projects.$projectId.tsx
Comment thread apps/web/src/routes/projects.$projectId.tsx Outdated
Comment thread apps/server/src/ws.ts Outdated
Comment thread apps/web/src/components/Sidebar.tsx Outdated
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented May 6, 2026

Approvability

Verdict: Needs human review

2 blocking correctness issues found. This PR introduces a new per-project settings feature with a new UI page, new RPC endpoints, schema changes, and modifications to source control provider detection. New features of this scope require human review, and there are three unresolved review comments identifying potential bugs in the new code.

You can customize Macroscope's approvability policy. Learn more.

- Replace sidebar rename action with project settings access
- Show detected remotes and project path in settings
- Extract remote override parsing into shared server helper
@shivamhwp shivamhwp changed the title Add per-project settings and remote overrides Add per-project settings May 7, 2026
@shivamhwp shivamhwp changed the title Add per-project settings Add per-project settings (wip) May 7, 2026
Comment thread apps/server/src/sourceControl/RemoteOverride.ts
Comment thread apps/web/src/routes/projects.$projectId.tsx
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c5048e6. Configure here.

Comment thread apps/server/src/git/GitManager.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant