feat(cortex-settings): AI section with /orchestrate Claude/Codex toggle#1
Merged
Merged
Conversation
Adds a new "AI" section to Cortex Settings exposing the single toggle "Allow Claude Code / Codex as orchestrate child agents", which is the user-facing surface for FeatureFlag::LocalClaudeCodexChildHarnesses. Upstream gates that flag for local /orchestrate children; on this fork the whole point is to route them through the user's local Claude Code login, so the new setting defaults to on and hydrates the runtime flag at startup and on every toggle. The two existing gate sites (local_child_harnesses.rs, orchestration_controls.rs) react live via their existing is_enabled() checks — no restart needed.
lawsmd
pushed a commit
that referenced
this pull request
May 22, 2026
…v#9600) Closes warpdotdev#9196. ### Description Two `show_code_review_button` gates were dropping panel-open requests on the floor when the user had hidden the toolbar button: **1. Data-path gate at `Workspace::setup_code_review_panel` (`view.rs:7982`)** ```rust if !*TabSettings::as_ref(ctx).show_code_review_button { return; } ``` `update_right_panel_open_state` calls into this whenever the right panel is being opened (chip click, `Shift+Cmd+=` keybinding, etc.), so the early return silently swallowed every explicit user action. **2. Render-path gate at `Workspace::render_config_panel` and `render_config_panel_maximized` (`view.rs:18981` / `19040`)** ```rust if !item.is_available(app) || !item.is_panel() { return None; } … if !HeaderToolbarItemKind::CodeReview.is_available(app) { return None; } ``` `HeaderToolbarItemKind::is_available` for `CodeReview` returns `*TabSettings::as_ref(app).show_code_review_button.value()` (`header_toolbar_item.rs:89`). So even after fix #1 set `pane_group.right_panel_open = true` and `setup_code_review_panel` ran, the next render frame saw `is_available() == false` and returned `None` — the `right_panel_view` was never added to the layout. This second gate is what @moirahuang flagged when their local repro still showed nothing happening after the first fix landed. The data was correct; the panel was just never composed into the UI. ### Fix 1. **Drop the early return at `setup_code_review_panel`.** The setting is meant to gate only the toolbar button's visibility (already enforced correctly by `header_toolbar_item.rs::is_available`, which feeds `render_header_toolbar_button` at `view.rs:17276`). 2. **Switch panel-render call sites from `is_available` → `is_supported`.** `is_available`'s own doc-comment says it's specifically *"Whether this item should be shown in the **toolbar** — checks both `is_supported` and user show/hide preferences."* Using it to gate panel rendering conflates two unrelated concerns. Panel rendering should only care about whether the feature is compiled in (`is_supported`), not whether the user has hidden the toolbar button. For `CodeReview`, `is_supported` is `cfg!(feature = "local_fs")`. For the other variants in the same match (`TabsPanel`, `ToolsPanel`), `is_available` already equals `is_supported` (default `_ => true` arm in the inner match), so behaviour is unchanged. `AgentManagement` and `NotificationsMailbox` return `None` unconditionally inside `render_config_panel`, so the change is moot for them too. ### Caller audit for `setup_code_review_panel` 5 call sites in `view.rs`: 1. `view.rs:3681` — `TransferredTab` flow, only runs when the source tab already had `right_panel_open == true`. 2. `view.rs:8136` — `update_right_panel_open_state` with `should_open == true`. **The diff-button path** that warpdotdev#9196 is about. 3. `view.rs:13372` — `PaneFocused` event, gated on `right_panel_open` already true. 4. `view.rs:13490` — `RepoChanged` event, gated on `right_panel_open` already true. 5. `view.rs:14458` — session env update, gated on `right_panel_open` already true. None of these need the `show_code_review_button` gate — they're either explicit user actions or gated on `right_panel_open` already being open. The toolbar button toggle continues to do its job at `render_header_toolbar_button` independently. ### Testing Reproduced @moirahuang's test locally on macOS 26.4.1 (Apple Silicon) against `WarpOss.app` built from this branch: 1. Settings → "Show code review button" → **OFF** 2. `echo "x" >> README.md` inside a git repo 3. Click the diff stats chip on the prompt (`+1 -0`) **Result:** Code review panel opens on the right showing the diff, while the toolbar button stays hidden — exactly the expected behaviour from issue warpdotdev#9196. Inverse case (toggle ON) also verified: toolbar button visible, panel still works the same. - `cargo fmt -p warp -- --check` passes. - `cargo nextest` skipped locally — Metal toolchain unavailable on my machine, mirroring warpdotdev#9277. CI will exercise the change. ### Server API No server changes. ### Agent Mode Not applicable. ### Changelog Entries `CHANGELOG-BUG-FIX`: The diff button on the terminal prompt now opens the code review panel even when the toolbar's "Show code review button" toggle is disabled (regression from a recent release). Co-authored-by: anshul-garg27 <13553550+anshul-garg27@users.noreply.github.com>
lawsmd
added a commit
that referenced
this pull request
May 22, 2026
Customize Warp's authentication / login surfaces (three canonical views + the 7-slide agent onboarding deck) to match Cortex's aesthetic. Mapped in docs/investigations/auth-onboarding-three-views.md. Auth view changes: - View #1 (IntroSlide, `crates/onboarding/src/slides/intro_slide.rs`): swap CORTEX ASCII to `figlet ansi_shadow`, brain glyph on top (35% smaller at 146pt), centered title/brain column, outline-pink CTA buttons that invert on hover (`CortexPinkOutline` button theme), "Powered by Warp" credit under the title, Cortex version chip in the top-left corner. - View warpdotdev#2 (LoginSlideView, `app/src/auth/login_slide.rs`): all three sub-screens (SelectAuthPathway, BrowserOpen, PrivacySettings) routed through Cortex-specific centered single-column helpers; upstream two-column `layout::static_left + render_visual` path retired. - View warpdotdev#3 (AuthView / AuthViewBody, `app/src/auth/auth_view_body.rs`): Initial-variant reskin with horizontal naked-pink-brain + Welcome-to/CORTEX-figlet header, centered "Powered by Warp" credit, and three vertically-stacked pink-outline CTA buttons (Sign up / Sign in / Skip for now) with hover-invert behavior. Texts rephrased to clarify these are Warp account actions ("Sign up for a Warp account" rather than just "Sign up"). Non-Initial Warp-Drive-share-boundary variants stay upstream-shaped. Agent onboarding deck (6 slides — Intention, Customize, Agent, ThirdParty, Project, ThemePicker): each slide's render method now bypasses `layout::static_left` so the right-side Warp UI screenshot disappears; content renders centered single-column. Foundation: - Removed `SKIP_WARP_ACCOUNT_LOGIN` const and dropped `skip_firebase_anonymous_user` from `app/Cargo.toml` default features so the login surface fires as the default product experience rather than being bypassed by the personal-use posture. - New `crates/warp_core/src/cortex.rs` module hosts shared Cortex branding constants (`BRAIN_PINK`, `CORTEX_ASCII`). `Icon` enum gained a `WarpLogoWithLightTitle` variant mapped to the existing warp-logo-with-light-title.svg asset for the "Powered by Warp" wordmark rendering. Dev launcher (`scripts/launch-cortex-dev.bat`) defaults to clearing `HasCompletedOnboarding` on every launch so iteration on Views #1 / warpdotdev#2 surfaces them reliably; commented inline with the swap to flip into AuthView (View warpdotdev#3) iteration mode. Upstream-shaped helpers preserved with \`#[allow(dead_code)]\` for merge clarity wherever the Cortex path supersedes them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
lawsmd
added a commit
that referenced
this pull request
May 22, 2026
…i-kjqkm feat(cortex-settings): AI section with /orchestrate Claude/Codex toggle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a new "AI" section to Cortex Settings exposing the single toggle
"Allow Claude Code / Codex as orchestrate child agents", which is the
user-facing surface for FeatureFlag::LocalClaudeCodexChildHarnesses.
Upstream gates that flag for local /orchestrate children; on this fork
the whole point is to route them through the user's local Claude Code
login, so the new setting defaults to on and hydrates the runtime flag
at startup and on every toggle. The two existing gate sites
(local_child_harnesses.rs, orchestration_controls.rs) react live via
their existing is_enabled() checks — no restart needed.