Skip to content

feat(sidebar): Add More tab, customization and click tracking#3412

Merged
charlesvien merged 9 commits into
mainfrom
feat/sidebar-more-customize
Jul 22, 2026
Merged

feat(sidebar): Add More tab, customization and click tracking#3412
charlesvien merged 9 commits into
mainfrom
feat/sidebar-more-customize

Conversation

@charlesvien

@charlesvien charlesvien commented Jul 14, 2026

Copy link
Copy Markdown
Member

Problem

The sidebar nav keeps growing and every item competes for attention, with no way to tune it per user. We also have no data on which nav items people actually use. (so I added event tracking as well)

BTW- we can make certain items like the Inbox non-customizable/fixed so they are always there. I'm open to feedback here or throwing this out entirely if this is not it.

Changes

  • A collapsible More row now sits at the bottom of the nav. Search lives under it by default; Inbox, Agents, Skills, MCP servers, Command Center, Contexts and Activity start at the top level. While More is collapsed and one of its items is the active page, that item takes over the More row so the current page stays visible.
  • A "Customize sidebar" entry inside More opens a dialog where all eight of those items can be promoted or demoted. Choices persist as per-item overrides in the sidebar store, so items we add later keep their intended default even for users with saved preferences, and corrupt persisted state degrades to defaults instead of crashing rehydration.
  • Every nav row fires a typed "Sidebar nav item clicked" event with an item property (and in_more for clicks inside the expanded section), and customize toggles fire "Sidebar customized", so per-item usage is measurable.
Default More expanded
Default sidebar More expanded
Customize dialog Search promoted, Inbox demoted
Customize dialog Customized sidebar

How did you test this?

  • Drove the real desktop app (dev build) end to end: More expand and collapse, the customize dialog, promoting and demoting items and persistence across reload. Screenshots above are from that session.
  • Unit tests for the per-item visibility overrides, defaults and corrupt-storage rehydration, plus component tests for the nav section (hidden items moving under More, active-item takeover, click tracking, contexts toggle) and the customize dialog. Typecheck and biome clean.

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown

React Doctor found 3 issues in 3 files · 3 warnings.

3 warnings

src/features/sidebar/components/CustomizeSidebarDialog.tsx

src/features/sidebar/components/SidebarItem.tsx

src/features/sidebar/components/SidebarNavSection.tsx

Reviewed by React Doctor for commit 9010fc4.

@greptile-apps

greptile-apps Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "add sidebar more tab, customize and trac..." | Re-trigger Greptile

Comment thread packages/ui/src/features/sidebar/sidebarStore.ts Outdated
Comment thread packages/ui/src/features/sidebar/sidebarStore.ts Outdated
@charlesvien
charlesvien changed the base branch from feat/loops to main July 14, 2026 19:05
@trunk-io

trunk-io Bot commented Jul 14, 2026

Copy link
Copy Markdown

😎 This pull request was merged.

@charlesvien
charlesvien force-pushed the feat/sidebar-more-customize branch 2 times, most recently from 4356c20 to 0762f2d Compare July 14, 2026 19:06
@charlesvien charlesvien added the Stamphog This will request an autostamp by stamphog on small changes label Jul 14, 2026
github-actions[bot]
github-actions Bot previously approved these changes Jul 14, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


@github-actions
github-actions Bot dismissed their stale review July 15, 2026 00:16

New commits pushed (delta classified non_trivial_delta) — stamphog approval dismissed; re-review running automatically.

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


@stamphog stamphog Bot removed the Stamphog This will request an autostamp by stamphog on small changes label Jul 15, 2026
@charlesvien
charlesvien force-pushed the feat/sidebar-more-customize branch 2 times, most recently from 7a1c6bc to 59c15f5 Compare July 15, 2026 02:57
@charlesvien
charlesvien enabled auto-merge (squash) July 15, 2026 07:06
@charlesvien
charlesvien force-pushed the feat/sidebar-more-customize branch from 59c15f5 to af433df Compare July 22, 2026 01:46
@charlesvien charlesvien added the Stamphog This will request an autostamp by stamphog on small changes label Jul 22, 2026

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review agent couldn't reach its LLM backend — an infrastructure or credentials issue, not a problem with this PR. The Stamphog label has been kept; the review retries automatically on the next push, or re-apply the label once the backend recovers.

@stamphog stamphog Bot removed the Stamphog This will request an autostamp by stamphog on small changes label Jul 22, 2026
@charlesvien charlesvien added the Stamphog This will request an autostamp by stamphog on small changes label Jul 22, 2026

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review agent couldn't reach its LLM backend — an infrastructure or credentials issue, not a problem with this PR. The Stamphog label has been kept; the review retries automatically on the next push, or re-apply the label once the backend recovers.

@stamphog stamphog Bot removed the Stamphog This will request an autostamp by stamphog on small changes label Jul 22, 2026
@charlesvien
charlesvien disabled auto-merge July 22, 2026 02:21

Copy link
Copy Markdown
Member Author

@charlesvien
charlesvien merged commit f3e4b42 into main Jul 22, 2026
34 checks passed
@charlesvien
charlesvien deleted the feat/sidebar-more-customize branch July 22, 2026 03:02
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