Skip to content

Clarify sidebar navigation above the thread list - #2915

Merged
brsbl merged 9 commits into
mainfrom
bb/customizable-sidebar-navigation-v1-thr_ccffp4w2p2
Sep 3, 2026
Merged

Clarify sidebar navigation above the thread list#2915
brsbl merged 9 commits into
mainfrom
bb/customizable-sidebar-navigation-v1-thr_ccffp4w2p2

Conversation

@brsbl

@brsbl brsbl commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Human comments

What was wrong

Search threads was visually reduced to a detached icon, so it did not read as a primary sidebar destination. The navigation and thread-list regions also ran together without a quiet boundary.

What changed

  • Restores Search threads as a full-width navigation row without changing its action or accessibility contract.
  • Keeps the existing ⌘K hint in a stable trailing slot, but reveals it only when the row is hovered or keyboard-focused. Compact touch layouts omit the hint.
  • Adds a subtle inset divider between navigation and the thread list.
  • Does not add sidebar customization, plugin ordering, or plugin-row menu changes; those remain separate stack layers.

Screenshots

The before revision is the PR merge base. The after images are from exact head 150e60aef, using the same dev fixture and viewport.

Before — main at eeaaa3e8d After at rest — #2915 at 150e60aef
Before: Search threads is a detached icon above the thread list After: Search threads is a full-width row separated from the thread list
At rest Hover or keyboard focus
Search row at rest with the shortcut hint hidden Search row hovered with Command-K revealed in its stable trailing slot
Mobile before — main at eeaaa3e8d Mobile after — #2915 at 150e60aef
Mobile before: detached Search threads control Mobile after: full-width Search threads row without a keyboard hint

How you verified

  • Drove exact head 150e60aef in Chrome for Testing 151.0.7922.71.
  • Verified desktop at 1440×900 and compact touch at 390×844.
  • Confirmed the shortcut is hidden at rest, appears on pointer hover and keyboard focus, and is omitted on compact touch.
  • Confirmed revealing the shortcut does not move or resize the Search threads row.
  • Confirmed Search threads still opens the command palette and keeps its existing accessible label and keyboard shortcut metadata.
  • Confirmed the inset divider renders in desktop and compact layouts.
  • Remote CI passed on the exact head. Per repository policy, CI-equivalent checks were not run locally.

BB-Thread-ID: thr_ccffp4w2p2

AGENT GENERATED

@brsbl brsbl changed the title Unify customizable sidebar navigation Clarify sidebar navigation above the thread list Sep 3, 2026
@brsbl
brsbl merged commit 2c57aa3 into main Sep 3, 2026
15 checks passed
@brsbl
brsbl deleted the bb/customizable-sidebar-navigation-v1-thr_ccffp4w2p2 branch September 3, 2026 05:05
brsbl added a commit that referenced this pull request Sep 3, 2026
## Human comments

## What was wrong

Built-in navigation and plugin pages were owned by separate sidebar
regions. Users could not choose which destinations stayed visible or
arrange them as one coherent navigation list, and compact layouts had no
matching customization flow.

## What changed

- Uses one persisted order for built-in navigation and plugin pages.
- Adds a quiet Customize entry point on the New thread row.
- Opens `Customize sidebar` as a desktop popover and an in-place compact
mode with Back.
- Lists every destination with the shared multi-select checkbox and a
drag grip.
- Applies visibility and order immediately. Hidden plugin pages remain
launchable from Customize.
- Keeps every destination's existing behavior, including modifier-click
opening in a split.
- Keeps all built-ins visible by default and shows the first three
optional plugin pages for users without saved preferences.
- Migrates legacy visibility preferences without overriding explicit
choices.
- Preserves compact thread-list state while Customize is open.
- Leaves plugin-row action-menu cleanup to the next stack layer.

## Screenshots

The before revision is parent PR #2915 at exact head `150e60aef`. The
after revision is this PR at exact head `9f5e741aa`. Each comparison
uses the same dev fixture and rendered viewport.

| Before — parent #2915 | After — unified navigation at rest |
|---|---|
| ![Before: fixed built-in and plugin navigation with no Customize entry
point](https://github.com/user-attachments/assets/61a8b9c3-bdfa-45c1-8d41-acddaa48b873)
| ![After: unified sidebar navigation at
rest](https://github.com/user-attachments/assets/6fa38d61-3e5e-4b95-afc4-9cfa02db8e7a)
|

| Desktop Customize — exact PR head |
|---|
| ![After: desktop Customize sidebar
popover](https://github.com/user-attachments/assets/980cb4cf-efa6-4faa-9ae1-981b6095624e)
|

| Mobile before — parent #2915 | Mobile after — in-place Customize mode
|
|---|---|
| ![Mobile before: fixed navigation
rows](https://github.com/user-attachments/assets/3d8876cc-f816-4a9c-80b6-2e2f3c74fd6e)
| ![After: compact in-place Customize sidebar
mode](https://github.com/user-attachments/assets/89c042ae-0fd6-44e9-8ec3-b033538854ee)
|

## How you verified

- Drove exact head `9f5e741aa` in Chrome for Testing 151.0.7922.71
against the branch dev app.
- Verified the complete desktop flow at 1440×1000 and the compact flow
at 390×500; captured comparable evidence at 340×900 and 390×844.
- Confirmed all built-ins remain visible when the saved order
interleaves built-ins and plugins, while exactly three optional plugins
are shown by default.
- Confirmed first-use reorder preserves checked membership and that
visibility and order persist across reloads.
- Confirmed New thread, plugin pages, and Automations preserve
modifier-click split behavior from Customize.
- Confirmed Automations retains its plugin-row options and accessory
behavior.
- Confirmed compact Customize retains the same thread-list DOM node,
scroll position, accessibility state, and focus when entering and
returning with Back.
- Confirmed compact plugin launch navigates and closes the sidebar.
- Observed no browser exceptions, console errors, stale frames, or
layout shifts in the changed flow.
- Remote CI passed on the exact head. Per repository policy,
CI-equivalent checks were not run locally.

BB-Thread-ID: thr_ccffp4w2p2

> AGENT GENERATED
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