Skip to content

fix(tui): add left padding between task list border and pane output#12795

Open
SanskaarUndale21 wants to merge 1 commit into
vercel:mainfrom
SanskaarUndale21:fix/tui-border-whitespace-link-parsing
Open

fix(tui): add left padding between task list border and pane output#12795
SanskaarUndale21 wants to merge 1 commit into
vercel:mainfrom
SanskaarUndale21:fix/tui-border-whitespace-link-parsing

Conversation

@SanskaarUndale21
Copy link
Copy Markdown

Summary

  • The task list's right border character () was immediately adjacent to task output in the TUI pane.
  • Terminal emulators such as VSCode include the when auto-detecting file paths and URLs in output, breaking ctrl-click links.
  • Adds a 1-space left Padding to the terminal pane block when the sidebar is visible, putting a space between and the output.
  • Reduces pane_cols by 1 in the sidebar-visible case so the PTY dimensions stay consistent with the padded render area.
  • No change when the sidebar is hidden (no border present in that layout).

Fixes #12791

Test plan

  • Run npx turbo dev in a project with file path output (e.g. TypeScript errors, linter output)
  • Confirm there is a visible space between the border and task output text
  • Ctrl-click a file path link in the VSCode terminal -- it should open correctly
  • Press h to toggle the sidebar off and back on -- spacing should only appear when sidebar is visible
  • Run existing TUI tests: cargo test -p turborepo-ui

Adds a 1-space left padding to the terminal pane when the sidebar is
visible. The task list's right border character (│) was immediately
adjacent to task output, causing terminal emulators like VSCode to
include it when auto-detecting file paths and URLs, breaking
ctrl-click links.

Reduces pane_cols by 1 when sidebar is visible to keep the PTY
dimensions consistent with the padded render area.

Fixes vercel#12791
Copilot AI review requested due to automatic review settings May 13, 2026 21:10
@SanskaarUndale21 SanskaarUndale21 requested a review from a team as a code owner May 13, 2026 21:10
@SanskaarUndale21 SanskaarUndale21 requested review from tknickman and removed request for a team May 13, 2026 21:10
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 13, 2026

@SanskaarUndale21 is attempting to deploy a commit to the Vercel Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses a TUI UX issue where the task list’s right border character () appears immediately adjacent to pane output, which can interfere with terminal link/path detection (e.g. VSCode ctrl-click). The change introduces a 1-column left padding for the output pane when the sidebar is visible, and adjusts pane width calculations accordingly.

Changes:

  • Add conditional left padding to the terminal pane block when the sidebar is visible (pane.rs).
  • Update pane column sizing logic to account for the sidebar border plus the new padding (size.rs).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
crates/turborepo-ui/src/tui/size.rs Adjusts pane column calculations when the sidebar is visible to account for the border/padding change.
crates/turborepo-ui/src/tui/pane.rs Adds conditional left padding to visually separate the sidebar border from pane output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 47 to +52
let full_task_width = self.cols.saturating_sub(self.task_width_hint);
full_task_width
.max(ratio_pane_width)
// We need to account for the left border of the pane
.saturating_sub(1)
// Account for the task list right border (│) and the 1-space
// left padding added in pane.rs to separate it from task output.
.saturating_sub(2)
Comment on lines +86 to +91
// One space so the task list's │ border doesn't attach to paths/URLs in output.
let padding = if self.has_sidebar {
Padding::new(1, 0, 0, 0)
} else {
Padding::ZERO
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lack of whitespace after the TUI task output left border causes "stuck pipe character" in links opened from VSCode Terminal

2 participants