Skip to content

feat(web): support project reordering for sidebar v2, persist project order on server - #7

Open
hwanseoc wants to merge 17 commits into
mainfrom
fix/persist-manual-project-order
Open

hwanseoc wants to merge 17 commits into
mainfrom
fix/persist-manual-project-order

Conversation

@hwanseoc

@hwanseoc hwanseoc commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Sidebar v2 had no way to reorder projects, and the manual order from the legacy sidebar lived in browser-local UI state, so other clients connected to the same server never saw it.

Reordering in sidebar v2. Rows in the project filter menu drag to reorder, and the v2 project list always follows the manual order, with new projects appended to the end. Dragging is off while the menu is filtered, a drop does not select the row, and grouped projects move as one block.

Order persisted on the server. The order lives in server settings (sidebarProjectOrder, a string array defaulting to []) and reaches clients through the existing config stream, which clients already cache, so it stays visible while disconnected. The local projectOrder UI state is removed.

  • One owner: the primary server, or the environment with the lowest ID on hosted clients without a primary. Disconnected environments still count, so an outage does not switch the owner.
  • Immediate: a drop shows right away and holds until the server broadcasts the new order. A failed save reverts and shows a toast.
  • Shared hook: both sidebars, the command palette, and the new-thread selector read the order through useProjectOrder. Mobile has no manual project order and is unchanged.

Before: projects in the v2 filter menu could not be reordered.

After: drag web-dashboard to the top and atlas-api below docs-site, then reload. The order persists. Recorded with Playwright against a dev server with stub projects.

Dragging projects in the v2 sidebar project filter

Full-resolution video (mp4)

Tests cover server persistence and broadcast, owner selection, grouped moves, immediate display, and failed saves.

Model: GPT-6 (Codex) and Claude Opus 5.5 (Claude Code).

@hwanseoc hwanseoc changed the title fix(web): persist manual project order on connected servers fix(web): persist manual project order on the server Sep 23, 2026
@hwanseoc
hwanseoc force-pushed the fix/persist-manual-project-order branch from e649c75 to 28b1c81 Compare September 26, 2026 01:14
@hwanseoc hwanseoc changed the title fix(web): persist manual project order on the server fix(web): move manual project reordering from local to remote Sep 26, 2026
@hwanseoc
hwanseoc force-pushed the fix/persist-manual-project-order branch 5 times, most recently from f803524 to 1829cbd Compare September 26, 2026 02:50
@hwanseoc hwanseoc changed the title fix(web): move manual project reordering from local to remote feat(web): support project reordering for sidebar v2, persist project order on server Sep 26, 2026
@hwanseoc
hwanseoc force-pushed the fix/persist-manual-project-order branch from 1829cbd to 8992ca5 Compare September 26, 2026 02:57
@hwanseoc
hwanseoc force-pushed the fix/persist-manual-project-order branch from 114fa32 to 5ed24f5 Compare September 26, 2026 09:04
@hwanseoc
hwanseoc force-pushed the fix/persist-manual-project-order branch from 5ed24f5 to fbc1aa2 Compare September 26, 2026 09:05
t3dotgg and others added 13 commits September 26, 2026 02:50
…th failed repacks (pingdotgg#13812)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…al (pingdotgg#13491)

Co-authored-by: eshaan Sood <eshaansood@192.168.1.14>
Co-authored-by: Gabriel De Andrade <30420087+gabrielelpidio@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#13736)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
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.

8 participants