Skip to content

improve(ui): keep sidebar sessions inline and draggable#102558

Merged
steipete merged 2 commits into
mainfrom
codex/sidebar-all-sessions-groups
Jul 9, 2026
Merged

improve(ui): keep sidebar sessions inline and draggable#102558
steipete merged 2 commits into
mainfrom
codex/sidebar-all-sessions-groups

Conversation

@steipete

@steipete steipete commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Related: #54397

AI-assisted with Codex; implementation and behavior were reviewed against the surrounding session-management paths.

What Problem This Solves

Resolves a Control UI problem where the sidebar showed only nine unpinned sessions and sent the rest behind an All sessions footer. Existing custom groups could be named and assigned through menus, but users could not directly drop sessions into groups, collapse long groups, or drag groups into a preferred order.

Why This Change Was Made

The sidebar now renders every active session loaded for the selected agent in one continuous scroll area and removes the redundant All sessions footer. It builds on the existing session category contract: session membership remains server-persisted, while group order and collapsed state remain browser-local; explicit drag grips and before/after drop targets make every group ordering reachable.

User Impact

Users can see the full loaded session list inline, create groups from the sidebar header, drag sessions into groups or back to Ungrouped, collapse or expand sections, and reorder custom groups. Group order and collapsed state survive reloads; rename/delete and menu-based grouping remain available, including the existing behavior that deleting a group keeps its sessions.

Evidence

  • corepack pnpm test ui/src/pages/chat/chat-page.test.ts ui/src/lib/sessions/navigation.test.ts ui/src/lib/sessions/grouping.test.ts ui/src/lib/sessions/custom-groups.test.ts — 38 tests passed on Blacksmith Testbox, including the existing sidebar-to-chat split-drop contract.
  • OPENCLAW_CAPTURE_UI_PROOF=1 corepack pnpm test ui/src/e2e/session-management.e2e.test.ts — 6 Chromium scenarios passed, covering 12 inline sessions, empty-group creation, session/group drag-and-drop, before/after reorder, collapse/expand persistence, pinned-session ungrouping, rename, and delete.
  • env OPENCLAW_CHECK_CHANGED_REMOTE_CHILD=1 OPENCLAW_CHANGED_LANES_RAW_SYNC=1 corepack pnpm check:changed — type, lint, docs, and changed-test gate passed on Blacksmith Testbox.
  • Fresh Codex autoreview completed with no remaining actionable findings.
  • Chromium captured the reported before state plus full-list, grouped, collapsed, and reordered after states. The approved artifact broker was unavailable during publication; the retained local proof set is reported in the landing handoff.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation app: web-ui App: web-ui size: L maintainer Maintainer-authored PR labels Jul 9, 2026
@steipete

steipete commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Land-ready on exact head 31e71630f5d7943b9a70c042b735997bb2f95725.

  • Focused Testbox proof (tbx_01kx2x25j9qfx6pw9em3bc00k4): 38/38 unit tests passed across chat-page drag/drop, navigation, grouping, and custom groups.
  • Chromium Testbox proof on the same box: 6/6 session-management scenarios passed, including 12 inline sessions, empty groups, session/group drag-and-drop, collapse/order persistence, pinned ungrouping, rename, delete, and flat-view safety.
  • Full changed-surface Testbox gate passed: types, oxfmt/oxlint, docs/config guards, import-cycle checks, and changed tests.
  • Hosted exact-head CI passed: https://github.com/openclaw/openclaw/actions/runs/29004988483
  • Fresh Codex autoreview: no actionable findings. Behavior contract: PASS with no deviations.
  • Visual captures were generated and inspected. The approved artifact broker was unavailable, so publication is the only proof gap; local files remain under .artifacts/control-ui-e2e/sidebar-session-groups/publish/.

@steipete
steipete merged commit ecc2cff into main Jul 9, 2026
102 of 108 checks passed
@steipete
steipete deleted the codex/sidebar-all-sessions-groups branch July 9, 2026 08:40
@steipete

steipete commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Merged via squash.

github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 10, 2026
)

* feat(ui): add drag-managed sidebar session groups

* chore: keep release notes in PR body
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: web-ui App: web-ui docs Improvements or additions to documentation maintainer Maintainer-authored PR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant