Skip to content

[Bug]: Inconsistent title/popup styling between Button and Toggle #2692

@haydenheroux

Description

@haydenheroux

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. Open the application
  2. Hover over the "Add action" button until the title appears
  3. Hover over the "Toggle diff panel" until the popup appears

Expected behavior

On hover, the Button text should use the same style styling as TooltipPopup.

Actual behavior

The Button's title prop is rendered using the default title rendering.

Impact

Cosmetic issue

Version or commit

0.0.23

Environment

Arch Linux, 0.0.23, Node 26.1.0

Logs or stack traces

Screenshots, recordings, or supporting files

2026-05-14-074029_2880x1920_scrot.png
2026-05-14-074017_2880x1920_scrot.png

Workaround

In ProjectScriptsControl.tsx, in the branch where primaryScript is false, the rendered "Plus" button uses <Button> from ui/button, with title used to set the hover text.

        <Button size="xs" variant="outline" onClick={openAddDialog} title="Add action">
          <PlusIcon className="size-3.5" />
          <span className="sr-only @3xl/header-actions:not-sr-only @3xl/header-actions:ml-0.5">
            Add action
          </span>
        </Button>

In ChatHeader.tsx, the rendered "Diff" button uses <Toggle> from ui/toggle, with TooltipPopup used to set the hover text.

        <Tooltip>
          <TooltipTrigger
            render={
              <Toggle
                className="shrink-0"
                pressed={diffOpen}
                onPressedChange={onToggleDiff}
                aria-label="Toggle diff panel"
                variant="outline"
                size="xs"
                disabled={!isGitRepo && !diffOpen}
              >
                <DiffIcon className="size-3" />
              </Toggle>
            }
          />
          <TooltipPopup side="bottom">
            {!isGitRepo && !diffOpen
              ? "Diff panel is unavailable because this project is not a git repository."
              : diffToggleShortcutLabel
                ? `Toggle diff panel (${diffToggleShortcutLabel})`
                : "Toggle diff panel"}
          </TooltipPopup>
        </Tooltip>

A solution could be to refactor <Button> to include an optional ButtonTooltip, and porting all instances of <Button> with a set title prop. On commit ea20e800216417c8d3b5dfc54a863bbd9e0b3e20 aka v0.0.24-nightly.20260514.285, the "Add action" button is the only instance of this (not verified).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaving incorrectly.needs-triageIssue needs maintainer review and initial categorization.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions