Skip to content

[Bug]: Git action dropdown remains clickable when no actions are available #13406

Closed

Description

@alanmoyano

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/desktop

Steps to reproduce

  1. Go to a new chat on a repository with no local changes
  2. Click the git actions dropdown button

Expected behavior

If there are no available Git actions, the dropdown trigger should also be disabled.

Actual behavior

The dropdown trigger remains interactive and opens a menu with no clickable options.

Impact

Cosmetic issue

Version or commit

0.0.43-nightly.20260924.2187 (78af372)

Environment

macOS 27 on desktop app

Logs or stack traces

Screenshots, recordings, or supporting files

file-5fbaf599a2c323a6726ffaf4f0ad1e81.png

Workaround

No response

Activity

  1. added
    bugSomething is broken or behaving incorrectly.
    needs-triageIssue needs maintainer review and initial categorization.
    on Sep 24, 2026
  2. juliusmarminge commented on Sep 24, 2026

    @juliusmarminge
    Member

    Confirmed on current main. A clean, up-to-date branch leaves the overflow trigger enabled and opens a menu whose actions are all disabled.

    The screenshot matches that state. The primary button reads Commit, which is the “branch is up to date” quick action (resolveQuickAction returns a disabled Commit with hint “Branch is up to date. No action needed.”). The menu is Commit, Push, and Create PR, all disabled, which is what buildMenuItems returns for a clean ref with no ahead/behind commits and no open PR (GitActionsControl.logic.ts). Those rows are rendered as disabled items with hover reasons, so the menu opens and nothing in it can be activated.

    The chevron is only disabled while a git action is already running:

                <MenuTrigger
                  render={<Button aria-label="Git action options" size="icon-xs" variant="outline" />}
                  disabled={isGitActionRunning}
                >

    The primary button next to it is already inert in this state (aria-disabled plus the “no action needed” tooltip). The narrow-header Git actions submenu uses the same condition (MenuSubTrigger is disabled only when isGitActionRunning), so the collapsed header has the same gap.

    apps/web/src/components/GitActionsControl.tsx is unchanged since 78af372cf46a (0.0.43-nightly.20260924.2187). Desktop shows this because it hosts the web client.

    A local fix is to disable that trigger (and the collapsed Git actions submenu trigger) when every menu item is disabled and Publish repository… is not offered. Keep the trigger enabled when publish is available: a repo with no origin remote still has that extra item. Hover explanations on the disabled rows would then be unreachable; the primary button already carries the summary hint for this state.

  3. added
    acceptedfeature request accepted
    via-triageFiled through npx t3 triage
    and removed
    needs-triageIssue needs maintainer review and initial categorization.
    on Sep 24, 2026
  4. MannXo commented on Oct 12, 2026

    @MannXo

    I'll work on this one , can I get assigned?

  5. juliusmarminge commented on Oct 22, 2026

    @juliusmarminge
    Member

    Reproduced in the Linux web dev app on main b5a226e49c, using isolated state: opened a new chat on a clean checkout, then clicked Git action options. The menu opens with Commit, Push, and Create PR all disabled. This also occurs with detached HEAD.

    The exact fix is already in open #18730, assigned to Julius, with tests and before/after app evidence. Leaving this issue open for that work; no duplicate PR. macOS/Electron was not verified here.

    Current main: clean checkout opens a Git menu with all actions disabled

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.good first issueGood for newcomersvia-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions