fix: refine sidebar and home onboarding layout#340
Merged
Conversation
Remove the legacy settings submenu from the left sidebar, move key actions into sticky footer controls, and add a dedicated settings-page left rail so navigation matches the new layout and interaction flow. Co-authored-by: Cursor <cursoragent@cursor.com>
Make the collapsed rail open reliably from empty-space clicks and hover by swapping the logo area to an explicit expand control. Also update the OpenHands logo asset to use white/transparent fills for the requested visual treatment. Co-authored-by: Cursor <cursoragent@cursor.com>
This aligns the conversation list behavior with the new older-conversation filter/menu flow and adds a clear desktop divider for the left navigation rail to improve layout clarity. Co-authored-by: Cursor <cursoragent@cursor.com>
This makes repo/branch metadata rows shrink and truncate correctly and enforces horizontal clipping in the conversation list scroller so long labels never introduce sideways scrolling. Co-authored-by: Cursor <cursoragent@cursor.com>
This updates the left-nav conversation list styling/spacing and keeps the older-conversations controls fixed above the scroll region, while tightening dropdown/timestamp behavior to match the intended hover and layering UX. Co-authored-by: Cursor <cursoragent@cursor.com>
This temporarily hides the standalone New Conversation button and reuses the first sidebar nav item as a compact "New" entry with a plus icon to streamline the left rail. Co-authored-by: Cursor <cursoragent@cursor.com>
This tightens the conversation summary indent to align with the nav icon column and makes the + New sidebar link active only on the base conversations route. Co-authored-by: Cursor <cursoragent@cursor.com>
Unify sidebar and conversation-list horizontal padding at 2px offsets so nav items and rows align consistently, and reduce extra empty row spacing by only rendering metadata footers when shown. Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse the existing dropdown menu implementation for the collapsed sidebar backend switcher so it matches the primary backend selector behavior and opens upward with the expected menu layout. Co-authored-by: Cursor <cursoragent@cursor.com>
Surface the active backend health indicator on the collapsed server button so connectivity status remains visible even when the full backend selector is hidden. Co-authored-by: Cursor <cursoragent@cursor.com>
Stop rendering the compact conversation row list when the sidebar is collapsed so the left rail only shows the intended navigation controls. Co-authored-by: Cursor <cursoragent@cursor.com>
Apply the shared dropdown menu treatment to the older-conversations filter and add a checkmark indicator for repo/branch metadata visibility. Co-authored-by: Cursor <cursoragent@cursor.com>
Align the older-conversations and backend selector menus with the shared context-menu visual tokens so dropdown surfaces and separators match the conversation view styling. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove default border and fill from the backend selector footer controls so they match sidebar button behavior with hover-only emphasis. Co-authored-by: Cursor <cursoragent@cursor.com>
Restore an explicit active style for the backend settings button and remove the default underline from the conversation list load-more action. Co-authored-by: Cursor <cursoragent@cursor.com>
Stop using the indented sidebar link variant in desktop settings navigation so tab items align with the rest of the sidebar. Co-authored-by: Cursor <cursoragent@cursor.com>
Apply the same responsive left inset as the right side in the chat interface wrapper so content alignment is balanced on desktop. Co-authored-by: Cursor <cursoragent@cursor.com>
Move the guide banner to the top, center the main onboarding content, and remove the recent conversations/tasks section from the home screen to simplify first-run focus. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@FraterCCCLXIII is attempting to deploy a commit to the openhands Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Member
Screen.Recording.2026-05-11.at.4.55.05.PM.movClicking on the icons for managing BE servers doesn't seem to do anything unless the side pane is already open |
Member
|
LGTM! |
Wire the collapsed settings control to navigation context and add coverage to prevent regressions when the sidebar is collapsed. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
Author
|
@malhotra5 fixed the issue with the settings not working unless open. |
…xpanded states Co-authored-by: Cursor <cursoragent@cursor.com>
…dismisses Co-authored-by: Cursor <cursoragent@cursor.com>
…s don't get swallowed Co-authored-by: Cursor <cursoragent@cursor.com>
…from collapsed popover Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Two distinct bugs prevented users from interacting with the backend popover
when the sidebar was collapsed:
1. Selecting a backend option silently expanded the sidebar instead of
switching backends. The aside's rail-collapse handler only bails on
`a, button, input, [role='button'], [role='link']`, but dropdown options
are `<li role='option'>`. The click bubbled up and `setCollapsed(false)`
ran before the backend switch completed, unmounting the popover mid-flight.
Fix: stop click propagation at the popover wrapper so the rail handler
never sees clicks from inside it.
2. Clicking Add Backend / Manage Backends opened the modal but it
immediately disappeared. The modal state lived inside `BackendSelector`,
which was mounted inside the popover. Once the cursor moved toward the
centred modal, the popover's onMouseLeave timer fired -> the popover
closed -> `BackendSelector` unmounted -> the modal state was destroyed.
Fix: lift the modal state into `Sidebar` and render the modals there.
`BackendSelector` accepts new optional `onOpenAddBackend` and
`onOpenManageBackends` callbacks; when provided it skips its internal
modal rendering.
Also restores the expanded sidebar's hover-close behavior on the shared
Dropdown (had been left as `onMouseLeave={undefined}`).
Adds focused regression tests covering all three behaviors.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
Author
|
Update pushed in b4634a0:
|
Contributor
|
Hello @FraterCCCLXIII, Thank you for submitting this pull request! If you need any assistance with resolving merge conflicts, please don't hesitate to reach out. I'm happy to help. Thank you very much! 🙏 |
malhotra5
added a commit
that referenced
this pull request
May 14, 2026
* fix: restore data-testid="chat-interface" removed by #340 PR #340 added left padding to the ChatInterface wrapper div but accidentally dropped the data-testid attribute in the same edit. This broke both the collapsible-thinking snapshot tests and the live e2e test, which both use getByTestId('chat-interface') as the load signal and screenshot target. Co-authored-by: openhands <openhands@all-hands.dev> * chore: update baseline snapshots [skip ci] * ci: trigger re-run after snapshot baseline update --------- Co-authored-by: openhands <openhands@all-hands.dev> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Product note
New Conversationbutton in the replicated home/recent-conversations area was hidden and is now treated as deprecated to reduce UI replication of that feature.Test plan
npx vitest run __tests__/components/features/settings/settings-navigation.test.tsxnpm test -- __tests__/components/backends/backend-selector.test.tsx __tests__/components/features/sidebar/sidebar.test.tsxnpm test -- __tests__/components/features/conversation-panel/conversation-panel.test.tsxMade with Cursor