You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 937fde8
Browse filesBrowse the repository at this point in the historyBrowse files
feat(tui): reorder session sidebar sections by dragging their headers
Dragging a sidebar section by its header onto another section moves it
there. The resulting order is saved in kv (`sidebar_order`) and wins
over `sidebar.order` from tui.json until "Reset sidebar order" in the
command palette clears it. Reordering applies live through the slot
registry's `updateOrder`, for built-in and plugin sections alike.
Every `sidebar_content` contribution is now wrapped in a host box that
handles the drag. The box is hidden while the section renders nothing,
so empty sections still take no space. Only a press on the section's
first line, its header, starts a drag; a drag that starts anywhere below
it never moves the section. opentui captures the renderable under the
pointer at the first drag event, which may be a gap between sections,
so the dragged section is the one pressed on mouse down and a drag is
recognized from `over` events that carry a drag source.
A press on selectable text starts a text selection instead, so the drag
handle is the header's section name and arrow, which are non-selectable,
plus its blank cells. Everything else stays selectable text as before,
including the collapsed MCP summary, which moves into its own text so
"(N active, M errors)" can be copied. Collapsible headers toggle only
when pressed and released on the same cell, so a click still collapses
while a drag, or a drop onto a header, does not; this also keeps the
collapsed summary on screen while it is being selected.
AI-Tool: opencode 1.18.33-vt-60-2fa3363c92
AI-Model: anthropic/claude-opus-5-5
AI-Variant: max
AI-Platform: linux
AI-Harness: Vibeterm b2921b0
AI-Session-ID: ses_ef81ad30fffeo7m3HoZisuJdli
0 commit comments