Skip to content

Sandbox project picker with main project name#4612

Open
elias-ba wants to merge 1 commit intomainfrom
4510-sandbox-project-picker
Open

Sandbox project picker with main project name#4612
elias-ba wants to merge 1 commit intomainfrom
4510-sandbox-project-picker

Conversation

@elias-ba
Copy link
Copy Markdown
Contributor

@elias-ba elias-ba commented Apr 10, 2026

Description

When you're inside a sandbox, the project picker now shows both the parent project and sandbox name (e.g. ethiopia-bdr:feb-red-team) instead of just the sandbox name. The button gets the sandbox accent color and a beaker icon so you can tell at a glance that you're in a sandbox.

The sidebar and navbar no longer change color when you're in a sandbox. The accent color only lives on the picker button itself.

Inside the picker overlay, sandboxes show up as indented children under their parent project, with support for arbitrary nesting depth. Searching works across the full hierarchy path.

I also consolidated things: the picker button is now a single React component (ProjectPickerButton) shared between the standard HEEx pages and the collaborative editor, and the picker overlay is a single global_project_picker component shared across all layouts. The old ProjectTheme module and theme preview code were no longer needed so I removed them.

Closes #4510

Validation steps

  1. Hit Cmd+P to open the project picker and check that sandboxes appear nested under their parent
  2. Pick a sandbox, then pick the parent project, check the button updates correctly
  3. Check the sidebar stays in default colors when inside a sandbox
  4. Try it from different pages: workflows, settings, history, channels
  5. Open a workflow in the collaborative editor and check the picker button there too
  6. If you have nested sandboxes (sandbox of a sandbox), check the tree indentation and the truncated display name with tooltip

AI Usage

  • I have used Claude Code
  • I have used another model
  • I have not used AI

Pre-submission checklist

  • I have performed an AI review of my code (we recommend using /review with Claude Code)
  • I have implemented and tested all related authorization policies.
  • I have updated the changelog.
  • I have ticked a box in "AI usage" in this PR

@github-project-automation github-project-automation bot moved this to New Issues in Core Apr 10, 2026
@github-actions
Copy link
Copy Markdown

Security Review

⚠️ Automated security review did not complete.

Claude hit the max-turns limit or encountered an error before posting findings.
A manual review of S0 (project-scoped data access), S1 (authorization policies),
and S2 (audit trail coverage) is recommended for this PR.

See the workflow run for details.

@elias-ba elias-ba force-pushed the 4510-sandbox-project-picker branch from f8eabbf to a087e56 Compare April 10, 2026 14:50
@elias-ba elias-ba force-pushed the 4510-sandbox-project-picker branch 2 times, most recently from 5352b58 to 2013482 Compare April 10, 2026 15:05
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.62%. Comparing base (2f1a43e) to head (8800cca).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4612   +/-   ##
=======================================
  Coverage   89.61%   89.62%           
=======================================
  Files         444      443    -1     
  Lines       21505    21494   -11     
=======================================
- Hits        19272    19264    -8     
+ Misses       2233     2230    -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@elias-ba elias-ba force-pushed the 4510-sandbox-project-picker branch from 2013482 to f70a044 Compare April 10, 2026 15:20
@elias-ba elias-ba force-pushed the 4510-sandbox-project-picker branch 2 times, most recently from ee4de55 to df56201 Compare April 10, 2026 15:33
Redesign the project picker to show sandbox hierarchy and remove
global sandbox theming from the sidebar/navbar.

- Project picker button shows parent:child format with sandbox
  accent color and beaker icon, chevron-down dropdown indicator
- Project picker overlay lists sandboxes as nested children under
  their parent project with tree indentation at any depth
- Remove sandbox color theming from sidebar/navbar - only the
  picker button shows the accent color
- Unify ProjectPickerButton as single React component used by both
  HEEx layouts and the collaborative editor
- Unify global_project_picker as shared layout component
- Navigation preserves current section when switching projects
- Remove dead ProjectTheme module and theme preview code
- Clean up stale CSS selectors
@elias-ba elias-ba force-pushed the 4510-sandbox-project-picker branch from df56201 to 8800cca Compare April 10, 2026 15:35
Copy link
Copy Markdown
Collaborator

@theroinaochieng theroinaochieng left a comment

Choose a reason for hiding this comment

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

Hey Elias, this looks really good. Great job.

@theroinaochieng theroinaochieng requested review from midigofrank and removed request for brandonjackson and josephjclark April 14, 2026 16:36
@elias-ba elias-ba requested review from stuartc and removed request for midigofrank April 14, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New Issues

Development

Successfully merging this pull request may close these issues.

Sandbox Project Picker with Main Project Name

2 participants