Skip to content

tui: vertical session tabs render the working pulse only 10 columns wide #50426

Description

@le-xot

Description

With vertical session tabs (tabs.layout: "vertical"), the animated "session is running" pulse is hardcoded to 10 columns instead of the width of the tab. On a ~40-column rail it looks like a stray short dark stripe that crosses only part of the tab — both the separators above/below the tab and the sweep inside its title/detail rows. Horizontal tabs are fine, which makes the vertical rail look broken/inconsistent.

Plugins

superpowers@git+https://github.com/obra/superpowers.git, @cardinal4/opencode-quota@latest (both unrelated to this rendering issue)

OpenCode version

2.0.12

Steps to reproduce

  1. In ~/.config/opencode/cli.json: "tabs": { "layout": "vertical" } (defaults: indicators: "status", animations: true).
  2. Open a session and send a prompt so the tab stays in the running/thinking state.
  3. Watch the active tab in the vertical rail: the pulse strip above/below it and the sweep inside its title/detail rows cover only the first 10 columns.

Expected behavior

The pulse/separator strips span the full tab width, as they do in the horizontal tab layout.

Actual behavior

They are clipped to 10 columns, so on a wide rail they read as a short black line.

Additional context

Source (v2.0.12):

Suggested fix: drop the hardcoded width in VerticalSessionTabs (use the rail width, e.g. width() or "100%"), matching the horizontal layout.

Workaround (for users hitting it): "animations": false in cli.json.

Environment: Arch Linux (kernel 6.18.52-1-lts, x86_64), Alacritty, truecolor, zsh.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions