diff --git a/CHANGELOG.md b/CHANGELOG.md index bb9f64460e97..e3d2d903ad74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ Docs: https://docs.openclaw.ai ### Fixes +- **Control UI terminal tabs:** vertically center the new-session button in the terminal tab strip. - **Control UI composer scrollbar:** show the message-field scrollbar only when the draft actually overflows its autosized height. - **Control UI terminal cursor:** hide the browser-native contenteditable caret so the integrated terminal shows only its canvas-rendered cursor. - **macOS SSH tunnels:** resolve user-installed SSH `ProxyCommand` helpers through the app's managed PATH while preserving inherited connection environment, so remote aliases work after Finder and sanitized-script launches. diff --git a/ui/src/components/terminal/terminal-panel.test.ts b/ui/src/components/terminal/terminal-panel.test.ts index 220b5dea7df8..bfdf3d807675 100644 --- a/ui/src/components/terminal/terminal-panel.test.ts +++ b/ui/src/components/terminal/terminal-panel.test.ts @@ -71,6 +71,8 @@ describe("OpenClawTerminalPanel", () => { }); expect(createOptions?.terminalOptions?.fontFamily).toContain("MesloLGLDZ Nerd Font Mono"); expect(getComputedStyle(createOptions!.parent).caretColor).toBe("rgba(0, 0, 0, 0)"); + const styles = (OpenClawTerminalPanel.styles as { cssText: string }).cssText; + expect(styles).toMatch(/\.tp-new\s*\{[^}]*align-self:\s*center/u); await vi.waitFor(() => { expect(requests).toContainEqual({ method: "terminal.resize", diff --git a/ui/src/components/terminal/terminal-panel.ts b/ui/src/components/terminal/terminal-panel.ts index ae5f82f0ea3d..1418214b8866 100644 --- a/ui/src/components/terminal/terminal-panel.ts +++ b/ui/src/components/terminal/terminal-panel.ts @@ -930,6 +930,9 @@ export class OpenClawTerminalPanel extends LitElement { border-radius: 6px; padding: 0; } + .tp-new { + align-self: center; + } .tp-tab__close:hover, .tp-new:hover, .tp-icon:hover {