Skip to content

feat(web): sidebar settings to group threads by project and choose card density - #1

Open
Willem-Jaap wants to merge 1 commit into
mainfrom
willem-jaap/sidebar-thread-layout
Open

Willem-Jaap wants to merge 1 commit into
mainfrom
willem-jaap/sidebar-thread-layout

Conversation

@Willem-Jaap

@Willem-Jaap Willem-Jaap commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Problem

With many active threads across several projects, the sidebar's single activity-sorted inbox interleaves projects, and each active thread takes a ~78px three-line card, so about ten fit on a laptop screen. The legacy sidebar groups by project but drops the Working, Snoozed and Settled shelves and settling/snoozing.

Change

Two settings in General → Sidebar, next to Project order. Both default to today's behaviour.

  • Group threads by project (sidebarGroupThreadsByProject, default off): active threads render under collapsible project headers (icon, name, active count; on hover a chevron, project settings and new thread). Collapse state reuses projectExpandedById. Headers are drawn at render time around the active rows and don't join the drag model; dropping into the active list is disabled while grouped because rows follow project order. Pin and settle by drag still work. Project order follows the existing "Project order" setting and the project filter.
  • Thread card style (sidebarThreadCardStyle: full | compact | row, default full): adds compact (title and status on one line, meta line only when present) and row (one 32px line in every section; under a project header it leads with status or branch) variants to SidebarThreadRow. Compact and Row use a new 13px text-xs-plus theme token for titles and project headers, and 14px icons.
  • Grouped Full cards move the title onto the project line instead of repeating the project name.

Scope and approval

Prototype on my fork. Not yet discussed upstream: grouping is a product-behaviour change that needs an Ideas discussion first, and upstream this would likely split into two PRs (card style, then grouping).

Verification

Screenshots

Sidebar at 1280×860, dark mode, on the redesigned UI (rebased on bc8d02ffd). Demo instance with copied local data.

Before (defaults) Grouped + Full Grouped + Compact
Before: default sidebar Grouped by project, Full cards Grouped by project, Compact cards
Grouped + Row Compact, not grouped
Grouped by project, Row style Not grouped, Compact cards

Settings → General → Sidebar:

The two new Appearance settings rows

…rd density

Two settings in General → Sidebar:

- Group threads by project: active threads list under collapsible project
  headers (icon, name, count, settings and new-thread actions). Pinned stays
  on top; Working, Snoozed and Settled shelves are unchanged. Grouped rows
  keep project order, so dropping into the active list is disabled there.
  Under a header, Full cards put the title on the first line instead of
  repeating the project name.
- Thread card style: Full (current cards), Compact (title and status on one
  line, meta line only when there is one) or Row (one 32px line for every
  section, leading with status or branch under a project header).

Compact and Row step titles and project headers down to a new 13px
text-xs-plus token and thread icons to 14px.
@Willem-Jaap
Willem-Jaap force-pushed the willem-jaap/sidebar-thread-layout branch from 73eaac7 to 39afb60 Compare October 27, 2026 08:35
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant