Skip to content

Enhance conversation sidebar with pinned section and grouped organization#1143

Closed
FraterCCCLXIII wants to merge 7 commits into
OpenHands:mainfrom
FraterCCCLXIII:feature/conversation-list-enhancements
Closed

Enhance conversation sidebar with pinned section and grouped organization#1143
FraterCCCLXIII wants to merge 7 commits into
OpenHands:mainfrom
FraterCCCLXIII:feature/conversation-list-enhancements

Conversation

@FraterCCCLXIII

Copy link
Copy Markdown
Contributor

Summary

  • Add a richer conversation sidebar organization model with a dedicated pinned section, workspace/repository grouped folders, and persisted folder order + collapsed state preferences.
  • Improve interaction and discoverability in the sidebar: drag-and-drop folder reordering with polished drag previews/placeholders, hover metadata popovers for conversation rows, and stronger pinned preview behavior.
  • Harden list rendering behavior by fixing load-more reliability under pagination/refetch overlap and ensuring pinned conversations render only in the pinned section (no duplicate rows in grouped/chronological lists).
  • Add/refresh i18n strings and update tests to cover pinning workflows, grouped folder interactions, preview truncation/expansion, and duplicate-prevention regressions.

Features and additions included

  • Pinned conversations section
    • Introduce a dedicated pinned block rendered above the main list.
    • Preserve user pin ordering and support preview truncation with More/Less behavior.
    • Keep pin affordances visible where appropriate and support unpin directly from the pinned section.
  • Grouped conversation folders
    • Group by selected workspace (local) or repository (cloud) with stable IDs and labels.
    • Support drag-and-drop folder reordering and persist custom order in sidebar preferences.
    • Add folder-level launch affordances for creating a new conversation in the group context.
    • Include expand/collapse state and per-group preview truncation controls.
  • Conversation row UX polish
    • Add hover metadata popover support for conversation cards.
    • Improve folder drag visuals with surfaced drag image and in-list placeholder behavior.
  • List correctness and resilience
    • Dedupe overlapping paginated results by conversation id.
    • Strengthen load-more behavior so one click consistently yields visible growth when pages are available.
    • Exclude pinned conversations from grouped/chronological lists so each pinned item appears exactly once in the sidebar.
  • i18n and settings updates
    • Add the missing SETTINGS$UPGRADE_BUTTON translation key and migrate usage to typed I18nKey reference.
    • Extend sidebar/conversation-panel translation coverage for new folder/pin controls.

Test plan

  • npx vitest run "__tests__/components/features/conversation-panel/conversation-panel.test.tsx"
  • npm run typecheck
  • Added regression tests verifying pinned items appear only in the pinned section in both chronological and grouped modes.

Made with Cursor

FraterCCCLXIII and others added 7 commits May 28, 2026 16:48
…ebar.

Persist pins per backend with a capped pinned section, pin-on-hover cards that keep the icon aligned with hover actions via an invisible ellipsis spacer, and drag-and-drop folder ordering stored in panel preferences.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the grip and chevron controls, remove selection highlight and layout animation, and drag or click the folder label directly while keeping row hover feedback.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drag the whole folder (and contents) as the drag image, show an accent drop
line between folders with position-aware reordering, and animate sibling
folders into place only around a reorder. Swap the folder icon to its open or
closed counterpart on hover, add a chronological-view divider plus an outline
pin icon to the pinned section header, and render that header in normal weight.

Co-authored-by: Cursor <cursoragent@cursor.com>
Show a modal-styled popover on conversation hover with the full title, status
dot, and repo/branch-or-directory, model, and created-date rows. Reserve the
action overlay width so titles truncate instead of colliding with the pin,
drop the small status tooltip, and gate the popover behind a new "Hover
metadata" toggle in the filter dropdown (persisted, on by default).

Co-authored-by: Cursor <cursoragent@cursor.com>
Show a rounded, surfaced drag image anchored to the grab point and blank the
original row (preserving its height) via opacity so Chrome does not cancel the
native drag.

Co-authored-by: Cursor <cursoragent@cursor.com>
Dedupe loaded conversations by id and keep fetching pages until the
visible list actually grows, so a single "Load more" click reliably
surfaces new rows despite the 10s background refetch dropping in-flight
fetchNextPage calls or pages yielding zero visible rows. Show the
skeleton throughout. Also drop the native title tooltip on card titles
and record the still-intermittent double-click symptom as a KNOWN ISSUE.

Co-authored-by: Cursor <cursoragent@cursor.com>
Filter pinned threads out of grouped/chronological lists to prevent duplicates, add regression coverage for both list modes, and add the missing upgrade-button translation key with typed i18n usage.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Jun 4, 2026

Copy link
Copy Markdown

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

A member of the Team first needs to authorize it.

@FraterCCCLXIII

Copy link
Copy Markdown
Contributor Author
Screenshot 2026-06-04 at 9 55 21 AM Screenshot 2026-06-04 at 9 55 44 AM Screenshot 2026-06-04 at 9 57 56 AM

@FraterCCCLXIII

Copy link
Copy Markdown
Contributor Author

Superseded by #1144 to reflect branch rename from to . Closing this PR and continuing review on #1144.

@FraterCCCLXIII FraterCCCLXIII deleted the feature/conversation-list-enhancements branch June 4, 2026 17:05
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.

1 participant