Skip to content

feat(web): add manual project visibility#4554

Draft
danieliser wants to merge 1 commit into
pingdotgg:mainfrom
danieliser:feat/manual-project-visibility
Draft

feat(web): add manual project visibility#4554
danieliser wants to merge 1 commit into
pingdotgg:mainfrom
danieliser:feat/manual-project-visibility

Conversation

@danieliser

@danieliser danieliser commented Jul 26, 2026

Copy link
Copy Markdown

What Changed

Adds persisted, manual project visibility controls to both sidebar implementations:

  • Right-click a visible project and choose Hide.
  • Expand the ~~~ hidden (N) ~~~ shelf at the bottom and right-click a project to Show it again.
  • Treat grouped project references as one visibility choice.
  • Temporarily promote hidden projects with running or starting chats so active work cannot disappear.
  • Keep hidden inactive projects lightweight by avoiding full project rows and per-project thread/detail subscriptions.

The V2 sidebar applies the same behavior in its project picker and filters hidden project threads before row mounting.

Why

Automatic sorting or hiding made the sidebar feel unpredictable. Explicit per-project control lets users decide what stays out of the active list while still protecting active chats from being hidden.

The collapsed shelf also reduces inactive sidebar work without pretending that all global project summary state can be removed.

UI Changes

Demo

Project visibility Hide/Show flow

Classic sidebar

Right-click to hide Expand the hidden shelf and right-click to show
Classic sidebar Hide action Classic hidden-project shelf with Show action

V2 project picker

V2 project picker with collapsed hidden shelf

Validation

  • vp test run packages/contracts/src/settings.test.ts apps/web/src/components/Sidebar.logic.test.ts — 110 tests passed
  • Contracts and web targeted typechecks
  • Targeted lint and formatting checks
  • Integrated browser verification in classic and V2 sidebars, including hidden-row suppression

Effective non-test diff: 323 changed lines (size:L, below XL).

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a GIF for the interaction flow

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

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 Plus

Run ID: e530ea97-1718-45e3-a9ee-b0d6d1c3900d

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.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jul 26, 2026
@danieliser
danieliser force-pushed the feat/manual-project-visibility branch from 9eb1e01 to 34d6a80 Compare July 26, 2026 08:15
@danieliser
danieliser force-pushed the feat/manual-project-visibility branch from 34d6a80 to 303c6ce Compare July 26, 2026 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant