Skip to content

Sidebar and tiling strip disagree on task order; add a task quick-switcher #203

Description

@johannesjo

Problem

The two primary navigation surfaces disagree about task order, and there's no quick way to reach a specific task once you have more than nine.

  • The tiling strip, Cmd+1..9 (src/store/navigation.ts:64-74), and the titlebar dot strip (FocusModeTaskIndicators.tsx:5-9) all use flat store.taskOrder.
  • The sidebar regroups those same tasks by project and nests coordinator children (src/store/sidebar-order.ts computeGroupedTasks, rendered via nested <For> in Sidebar.tsx:717-766). With 2+ projects whose tasks interleave in taskOrder, sidebar top-to-bottom order no longer matches strip left-to-right order — the user holds two mental maps of "where task 3 is".
  • jumpToTask is capped at 9 (App.tsx:641-643); past that, sidebar scroll + strip scroll are the only ways to reach a task.
  • Inconsistent confirm keys: sidebar Enter activates the highlighted task (Sidebar.tsx:685-706) but always enters the leftmost task regardless of highlight (focus.ts:359-376).

Proposed fix

  • Pick one canonical order: either group the strip by project too (project colors already exist), or make the sidebar a flat taskOrder list with a project chip per row. If grouping stays, Cmd+N should follow the sidebar's visible order (the surface that displays positions).
  • from the sidebar should enter the highlighted task's panel (same target as Enter); reserve "leftmost" for when nothing is highlighted.
  • Add a Cmd+K-style task quick-switcher (fuzzy match on task name/project) — this also resolves the >9 tasks gap and softens the ordering tension.

From a full design/UX audit (2026-07-07); adversarially verified. Line numbers as of b342bbd (v1.12.0).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestuxUX / design improvements

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions