Skip to content

feat(mecatui): own configurable terminal titles - #1674

Merged
jbeda merged 15 commits into
mainfrom
impl/mecatui-terminal-title-controller
Sep 22, 2026
Merged

jbeda merged 15 commits into
mainfrom
impl/mecatui-terminal-title-controller

Conversation

@jbeda

@jbeda jbeda commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Implementation

Implements the approved terminal-title contract from Plan / Interface PR #1616.

Delivered

  • Mecatui owns title rendering and emits deduplicated OSC 0 updates for both terminal icon/tab and window-title surfaces instead of Bubble Tea OSC 2 output.
  • Adds strict user-global terminal_title.enabled and terminal_title.template settings over safe plain-text status facts, plus display-width elide.
  • Preserves explicit --terminal-title and MECATUI_NO_TERMINAL_TITLE precedence and conditional cleanup.
  • Removes session handles from default header/title presentation, preserves opt-in template access, and enables read-only /session details during active runs.
  • Keeps ordinary session handles terminal-safe and copy/paste-safe under ADR 0285: non-safe ID bytes are percent-encoded into fixed short handles; debug resolves only canonical handle operands locally and sends exact IDs to the server.
  • Excludes private workspace paths and StatusML helpers from title templates; includes race, configuration, terminal-control, and live-run regressions.

Plan / Interface PR: #1616
Approved baseline: 2a0c9cb11bedc6ef88503f504bbd4f94a6d31690
Interfaces match approved contract: Yes

Validation

  • task lint
  • task test
  • task e2e:k8s
  • task ac-trace-strict
  • task docs
  • task site:build
  • git diff --check

Fixes #1460.

Related: #1606.

jbeda and others added 12 commits September 21, 2026 13:58
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
@jbeda
jbeda force-pushed the impl/mecatui-terminal-title-controller branch from b356c77 to e1e1be3 Compare September 21, 2026 21:42
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
Co-Authored-By: mecatl <noreply@mecatl.dev>
@jbeda
jbeda merged commit 8306a8e into main Sep 22, 2026
35 checks passed
@jbeda
jbeda deleted the impl/mecatui-terminal-title-controller branch September 22, 2026 00:15
jbeda added a commit that referenced this pull request Sep 22, 2026
Co-authored-by: mecatl <noreply@mecatl.dev>
@toolhive-release-app toolhive-release-app Bot mentioned this pull request Sep 22, 2026
2 tasks
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.

mecatui: conversation title never reaches the iTerm2 tab label (OSC 2 only)

1 participant