Skip to content

feat(sidebar): add Fixed project sort order and expose sort in Settings - #10

Closed
aimen08 wants to merge 1 commit into
devfrom
feat/fixed-project-sort-order
Closed

feat(sidebar): add Fixed project sort order and expose sort in Settings#10
aimen08 wants to merge 1 commit into
devfrom
feat/fixed-project-sort-order

Conversation

@aimen08

@aimen08 aimen08 commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

Problem

The sidebar's default (and only meaningful) sort was Recent Activity, which floats the active project to the top. So selecting or switching a project reshuffled the whole list on every focus — the order was never stable.

Fix

  • Add a Fixed sort order that keeps projects in the order they were added — nothing floats on activity or selection — and make it the new default.
  • Expose the sort as a picker in Settings › Interface, kept in sync with the sidebar's existing sort menu.
  • Recent Activity and Name remain available.
image

Recent Activity was the default and only meaningful sort, so selecting or switching a project floated it to the top and reshuffled the list on every focus. Add a Fixed order that keeps projects in the order they were added, make it the default, and surface the sort as a picker in Settings › Interface (kept in sync with the sidebar's sort menu).
@vercel

vercel Bot commented Jul 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
landing Ready Ready Preview, Comment Jul 18, 2026 5:22pm

Request Review

@jiweiyuan

Copy link
Copy Markdown
Collaborator

Thanks for this @aimen08 — the problem writeup is spot on. Recent Activity floating the active project on every focus was a real annoyance and killed any spatial memory of the list.

After thinking it through I'm going to go a slightly simpler route: just change the default sort from Recent Activity to Name (#16), rather than adding a new Fixed mode. Two reasons:

  • Fixed sorts by the persisted projects array order, but our worktree/discovery reconciliation can reorder that array on focus/git changes — so Fixed could quietly reshuffle again, and Project has no createdAt to anchor it. Name is stable with zero new state.
  • Name is also more predictable — you can find a project by first letter.

The idea you're really reaching for — a stable, user-controlled order — is worth doing properly later as an explicit per-project order index + drag-to-reorder (the Xcode/Finder/Dock model), which I'd rather build as its own change than approximate with insertion order.

So I'll close this in favor of #16, but genuinely appreciate you surfacing the issue and the clean PR — hope you'll send more. 🙏

@jiweiyuan jiweiyuan closed this Jul 19, 2026
@aimen08

aimen08 commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator Author

@jiweiyuan No, I totally understand and I agree. I'd rather have something planned like you mentioned than rush for something that only patches the current issue. And don't worry, I'll send more PRs.

@jiweiyuan
jiweiyuan deleted the feat/fixed-project-sort-order branch July 27, 2026 14:45
jiweiyuan added a commit that referenced this pull request Jul 31, 2026
Review of the v0.1 POC against the Superlogical architecture Mitchell
describes: faithful on the steady-state hot path (raw tee, client-side
parse, single writer, no window manager), incomplete on synchronization.

- §C.5: authoritative-PTY-dimensions is a correctness requirement, not a
  preference — input replication is only deterministic if every client
  parses at the same width; `attached`/`S` must carry rows/cols.
- §F risk #10: unbounded per-client backlog — the shadow cost of the
  non-blocking hot path; fix pairs with the bytes::Bytes fan-out
  (shared chunk + per-client byte budget → drop/resnapshot slow client).
- §F risk #11: resize is not a barrier and TIOCSWINSZ errors are ignored.
- §F risk #9: sharper framing — the protocol does not yet cross SSH from
  a native client (ssh -t termiod attach keeps it remote-local).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
jiweiyuan added a commit that referenced this pull request Aug 3, 2026
next@16.2.12 (latest) pins postcss@8.4.31 and sharp@0.34.5, which carry
four open Dependabot alerts (postcss path traversal / file read / XSS,
sharp libvips CVEs). Override both to the patched lines until Next bumps
them upstream.

Refs: jiweiyuan/termio security alerts #10, #17, #28, #29
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.

2 participants