Unify thread-list header actions and nested view controls - #3402
Merged
Conversation
brsbl
force-pushed
the
bb/thread-list-direction-main-thr_ccffp4w2p2
branch
from
September 10, 2026 19:12
0d8422c to
cde7aec
Compare
brsbl
added a commit
that referenced
this pull request
Sep 10, 2026
## Human comments ## What was wrong - Custom-organized sidebar threads could be moved by drag and drop, but their row actions offered no destination picker. ## What changed - Adds **Move to section** with `MoveTo` to active root-thread actions in **Custom** view: desktop dropdown/right-click submenus and a compact long-press step with **Back**. - Follows saved sidebar order, including **Threads**, and omits **Pinned**. The current destination is disabled for unpinned threads. Existing mutations preserve move persistence; moving a pinned thread unpins it, and choosing its stored section only unpins it. - Integrates with the shared sidebar header controls from #3402. The focused diff remains 12 files; main's bundle limits are unchanged. ## How you verified - Remote [CI](https://github.com/get-bb/bb/actions/runs/34524003966) for `d334e6953963fd5891a1fdb7eb75f020cd604d0f`: **14 passed, 2 skipped**, including checks, app/server/package/integration tests, and macOS/Ubuntu package smoke. Optional Node compatibility and native iOS jobs were skipped. The app fits unchanged bundle limits: **1681.7 KB raw / 410.9 KB brotli** against **1683.2 KB / 419.0 KB**. - Menu and mutation tests cover desktop/context parity, eligibility, compact Back/reset, destination no-op, section moves, and both pinned transitions. Existing optimistic-update and serialized-unpin coverage remains. - Final-head Chrome for Testing **153.0.8010.36**: shared header **By project → Custom** eligibility; desktop dropdown and right-click moves to a section and **Threads**; hard-reload persistence and disabled current destination; compact touch long-press, **Back**, close/reopen reset, and saved moves. No captured runtime errors or compact app-root `inert`/`aria-hidden` changes. All six synthetic threads and sidebar settings were restored. The unchanged pinned transitions were exercised before this rebase and retain passing remote mutation coverage. - Native iOS is unverified: the local Xcode/CoreSimulator setup is incompatible and cannot resolve `simctl`; remote iOS coverage was skipped. Phone-width Chrome does not establish native iOS or Safari behavior. | Surface | Before — merge base `de9361268088` | After — head `d334e6953963` | | --- | --- | --- | | Desktop web · 1440 × 900 |  |  | | Phone web · 390 × 844 |  |  | - Both revisions use `scripts/bb-dev-app current` under **Node 22.19.0**, sequentially in the same managed worktree. Captures match the synthetic **Release notes** thread in **Follow-ups**, `/threads/thr_move_release`, **Custom** organization, light theme, scale 1, and viewport per row. Images were inspected directly. BB-Thread-ID: thr_ccffp4w2p2 > AGENT GENERATED
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Human comments
What was wrong
What changed
sidebar.sortDirectionpreference uses the existing persistence, SDK, and CLI paths;defaultpreserves prior ordering.How you verified
cde7aeceeeb00958b82badfecd03437b04059f2d: build/typecheck/lint, all app/server/package/integration tests, and Linux/macOS package smoke. All 14 reported checks passed; native iOS and Node compatibility were workflow-skipped. No local CI-equivalent checks were run.main@e02f6e64cc7afdf490e70a662c6445b5b8dee407, retaining the prior merge resolutions. Tree comparison confirms the result is exactly the previous implementation plus upstream changes; the PR remains 27 files. Main's touch-visibility regression exercises the actual shared project controls through closed, open, and reclosed states.aria-hiddenwarning also occurred during close/reopen; the app root remained non-inert and exposed. The warning is not claimed fixed by this rebase.git diff --checkpassed./, project view, Updated at sorting, light theme, and open Atlas project menu. Before: exact merge basee02f6e64cc7afdf490e70a662c6445b5b8dee407. After: exact headcde7aeceeeb00958b82badfecd03437b04059f2d. Desktop images are matching 460×844 crops of a 1440×900 viewport; phone images are full 390×844 captures.BB-Thread-ID: thr_ccffp4w2p2