Skip to content

Complete sidebar hierarchy, menus, and row alignment - #2501

Open
brsbl wants to merge 16 commits into
bb/sidebar-top-region-item-toggles-thr_2e2gbjx943from
bb/sidebar-final-polish-thr_2e2gbjx943
Open

Complete sidebar hierarchy, menus, and row alignment#2501
brsbl wants to merge 16 commits into
bb/sidebar-top-region-item-toggles-thr_2e2gbjx943from
bb/sidebar-final-polish-thr_2e2gbjx943

Conversation

@brsbl

@brsbl brsbl commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

What was wrong

The composed sidebar stack still had inconsistent ownership at its integration edge. Plugin rows did not expose the complete host-owned action set, the major sidebar regions could not be reordered together, thread-list controls and labels changed structure between organization modes, and row status, caret, and hover-action slots did not stay aligned across collapsible row families.

The integration pass also left two state-semantics defects: Organize behaved like three independent toggles, and a sort-only change incorrectly made the Filter button look active.

What changed

  • gives traditional plugin rows one icon-labelled action model across the options button and right-click menu: Open in split, Detail page, Move to top, Move to overflow, and Disable
  • adds persisted ordering for the BB controls, Plugins, and Threads regions through Customize while preserving the existing fixed-row visibility and ordering controls
  • renders Organize as one exclusive choice that closes after selection
  • keeps lifecycle filters open while tuning, adds explicit sort direction, and fills/presses the normal Filter icon only when the lifecycle selection differs from Active-only; sort-only changes remain neutral
  • restores stable Projects, Sections, Machines, Threads, Pinned, and loose-thread hierarchy across project, machine, and custom organization modes, including empty and unorganized states
  • adds consistent thread movement into manual sections across dropdown, context-menu, and compact drawer surfaces
  • aligns status, disclosure, and transient-action slots across collapsible sidebar rows and applies the shared typography, icon, spacing, and theme-token treatments
  • expands the production sidebar story and focused interaction coverage for the composed states

Compatibility correction

Commit 6e2e61ab502ca4eb79b8a52e5763a095ef40484a restores the Plugin SDK version files to the parent layer's 0.4.24. The cumulative PR diff no longer changes packages/domain/src/plugin-sdk-version.ts or packages/plugin-sdk/package.json.

Visual evidence

All pairs compare exact parent head 66cf39b68e813c195e39ecdb022cb5ffbf0292c5 with exact PR head 75ae227eaf74329716387e5b57c4ef0c5caf953b. They use the same copied SQLite, auth, and populated Docs-plugin fixture, route, light theme, 1440×900 viewport, and 320×900 sidebar crop.

Project organization

Before — parent head: the populated Plugins region is present, but the thread list has no Projects label row or persistent controls.

Before — Docs plugin visible without Projects label or persistent controls

After — PR head: Plugins remains populated, and Projects now owns the persistent Organize, Filter and sort, New thread, and overflow controls.

After — Docs plugin visible with Projects label and persistent controls

Custom sections

Before — parent head: the Docs plugin page, manual section, and loose threads are visible, but there is no Sections label row or persistent control cluster.

Before — Docs plugin and section content without Sections label or persistent controls

After — PR head: Sections owns the persistent controls; the manual section and loose threads remain below it without a misleading extra top-level label.

After — Docs plugin visible with Sections label and persistent controls

Machine organization

Before — parent head: the Docs plugin page and machine group are visible, but there is no Machines label row or persistent controls.

Before — Docs plugin and machine group without Machines label or persistent controls

After — PR head: Machines owns the same persistent Organize, Filter and sort, New thread, and overflow control cluster.

After — Docs plugin visible with Machines label and persistent controls

How you verified

  • launched exact parent and head revisions with scripts/bb-dev-app current
  • ran one cumulative real-product pass in Google Chrome for Testing 151.0.7922.71 at 1440×900, plus the affected compact sidebar flow at 700px
  • exercised project, custom-section, and machine modes; populated and empty plugin regions; plugin ordering and actions; Customize visibility and keyboard reordering; lifecycle filters and sorting; thread movement; collapsed/expanded, unread, hover, and compact long-press row states
  • exercised drafts and split opening, archived-thread quick unarchive, the Command-K root and nested thread search, keyboard scrolling through all root commands, thread-state filtering, query-match highlighting, and Cmd+Enter split opening
  • reverified the corrected Organize radio semantics and close behavior, Active-only/non-default/sort-only/reset filter states, custom Sections labelling, and dark-theme token treatment at the exact PR head
  • confirmed the cumulative diff leaves both Plugin SDK version files identical to the parent layer; both GitHub Version Lockstep checks pass at the current head

Known coverage limits: the shipped fixture exposes five traditional non-Automations plugin pages, so the six-page overflow threshold is regression-test-covered rather than reproduced in the app. Draft deletion, archived pagination sentinel loading, and draft-destination persistence were not explicitly completed in this pass. Later command-palette visual work (including empty-query Backspace, empty Plugins-heading suppression, and scroll fade) is not part of this registered stack.

Fixes: N/A — Updated Sidebar final integration layer.

BB-Thread-ID: thr_2e2gbjx943

AGENT GENERATED

@brsbl brsbl changed the title Polish sidebar hierarchy and section actions Complete sidebar hierarchy, menus, and row alignment Aug 31, 2026
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