feat(ui): restore sidebar chrome, delete the pane workspace strip, compact native narrow header#103561
Conversation
Reverse course from #103426 on the app chrome: the left sidebar owns brand, pinned navigation + More, New session, sessions, and the footer (status dot, Settings, Docs, pairing, theme) again, and the desktop topbar is gone. What stays from that PR: the dockable workspace rail (right/bottom, drag or button), the in-flow split-pane headers, and Cmd+B now hides the sidebar entirely (no 78px icon rail) with a floating expand control. The real target of the original request: the vertical icon strip at each pane's right edge is deleted. A collapsed workspace rail renders nothing; the toggle (with a changed-file badge) lives in the split-pane header next to split/close, or floats at the top-right in single-pane chat. Shift+Cmd+B still toggles. Narrow native macOS windows (e.g. the in-app link browser splitting the window) previously stacked 50px of injected titlebar padding on top of the 58px drawer row; the web CSS now folds that into one compact 58px row beside the traffic lights, with selectors that outrank the rules shipped Mac apps inject.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6963750b5e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } | ||
| html.openclaw-native-macos .topnav-shell { | ||
| min-height: 58px; | ||
| @media (min-width: 700px) { |
There was a problem hiding this comment.
Keep native sidebar padding below 700px
In the in-app link-browser split the dashboard WKWebView can shrink to 520px (apps/macos/Sources/OpenClaw/DashboardWindow.swift:10), so this min-width: 700px guard skips the only remaining native titlebar clearance for the settings/sidebar drawer in that 520–699px range. Since this commit removed the old web-side max-width drawer padding, opening Settings/navigation there puts the drawer header controls back under the AppKit traffic-light/drag region; keep the padding active for the native narrow split as well, or move the fallback into the web CSS keyed on html.openclaw-native-macos.
Useful? React with 👍 / 👎.
…mpact native narrow header (openclaw#103561) * feat(ui): restore sidebar chrome and remove the pane workspace strip Reverse course from openclaw#103426 on the app chrome: the left sidebar owns brand, pinned navigation + More, New session, sessions, and the footer (status dot, Settings, Docs, pairing, theme) again, and the desktop topbar is gone. What stays from that PR: the dockable workspace rail (right/bottom, drag or button), the in-flow split-pane headers, and Cmd+B now hides the sidebar entirely (no 78px icon rail) with a floating expand control. The real target of the original request: the vertical icon strip at each pane's right edge is deleted. A collapsed workspace rail renders nothing; the toggle (with a changed-file badge) lives in the split-pane header next to split/close, or floats at the top-right in single-pane chat. Shift+Cmd+B still toggles. Narrow native macOS windows (e.g. the in-app link browser splitting the window) previously stacked 50px of injected titlebar padding on top of the 58px drawer row; the web CSS now folds that into one compact 58px row beside the traffic lights, with selectors that outrank the rules shipped Mac apps inject. * chore(ui): regenerate locale bundles and docs map for sidebar restore * fix(ui): bind showPaneHeader explicitly on the classic single pane * chore(ui): reconcile locale metadata after rebase onto lobster wild cards
What Problem This Solves
Course correction on #103426, from maintainer feedback: the left sidebar's chrome (Settings, Docs, pairing, the status dot bottom-left, pinned navigation + More with plugin tabs) was right where it was — the bar that should disappear is the vertical icon strip on each chat pane (the collapsed session-workspace rail), which sits mid-window in split view. Separately, narrow native macOS windows (the in-app link browser splitting the window) stacked 50px of injected titlebar padding on top of the 58px drawer header (~108px of chrome).
Fixes #103544.
Why This Change Was Made
app-topbarreturns to the narrow-viewport drawer header. This also deletes the topbar More/customize menus, making the recently landed menu-dismissal fix (fix(ui): dismiss topbar menus when their anchors disappear #103508) moot by design.!importantselectors that outrank the rules shipped Mac apps inject; the brand strip stays passive under the AppKit drag region (x 78-254) so every control remains clickable. The Mac app's injected chrome drops its narrow-width rules and keeps only the desktop sidebar padding.User Impact
Screenshots (mock gateway, deterministic):
The native-narrow shot simulates a shipped Mac app exactly: the old injected style tag + html class, with the web override measured at
.topbarheight 58px.Evidence
pnpm check:changedgreen, exit 0 (lint/type/guard lanes + Vitest shards). First attempt died to a dropped Testbox lease (infra, all lanes green up to the cut); the retry completed clean.showPaneHeader=falseexplicitly).pnpm ui:i18n:sync(keyed, real translations) +pnpm ui:i18n:checkclean, re-verified after rebasing across the lobster wild-cards locale changes;docs:map:gencommitted.showPaneHeaderfixup re-reviewed clean ("no accepted/actionable findings").