You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: project switcher in left sidebar disappear #12066
Confirmed on current main (ccf220be2) and on shipping 0.0.42. This is not a missing control and not a Windows desktop bug. Desktop embeds the same ThreadSidebar as web (AppSidebarLayout.tsx). The screenshot is the post-#11315 header, working as designed.
The circled empty band is the second header row #11315 removed. The project switcher is still there: the folder icon immediately to the right of Search (folder-plus = new project, pen = new thread). Tooltip: “Filter threads by project”. While a project is scoped, that icon becomes the project favicon.
Command Palette → another thread does not change the sidebar project. That is also designed. Scope is an independent persisted filter (sidebarProjectScopeKey), not “the project of the open thread.”
What the code does
Until 2026-09-12 the default sidebar spent two rows on this: Search + new thread, then a labeled All projects combobox + new project. #11315 (d1d15c67f, in 0.0.42) folded scope into the search row on purpose:
Search now owns a single row. The project scope collapses to an icon (folder, or the project favicon while scoped) grouped with new project and new thread.
SidebarThreadHeader still takes projectScope and renders it whenever hasProjects (projectGroups.length > 0). The reporter’s list is full of BulletproofVault rows, so that gate is true. The crop shows the folder icon. ComboboxTrigger is that 28px button; the popup anchors under the search field, same searchable list as before, All projects first.
The crop shows FolderIcon, not a favicon, so scope is All projects. Thread rows then print the project name themselves. That is why every row says BulletproofVault and there is no project title in the gap under Search.
setSidebarProjectScopeKey has three callers: the combobox, a stale-key reset after catalogs are ready, and the store. Command Palette never writes it. #9416 (fixes #9379) moved the key into the persisted UI store so Settings / reload would stop resetting scope. Following the open thread would undo that.
The old “sidebar project follows the thread” tree is LegacySidebar, gated by legacySidebarEnabled (default false). Settings → General → Legacy features → Sidebar (legacy): “Restore per-project thread trees instead of the default flat sidebar.” Search “legacy sidebar” unfolds that section.
Draft-hero’s underlined project name only retargets the open draft. It is not the sidebar filter.
If product wants a visible list again, that is already #12059 (opt-in, default off). Review that PR; do not file a second one. Do not make the list default without a product call — feat(sidebar): fold the project scope into the search row #11315 removed the row because it duplicated names the thread rows already show.
Do not default legacySidebarEnabled back on. That is the full per-project tree, not the labeled filter row.
Workaround
Click the folder icon next to Search (hover: “Filter threads by project”). Pick a project or All projects.
Per-project trees: Settings search legacy sidebar, or Settings → General → Legacy features → Sidebar (legacy).
New thread in another project: New thread (pen) / Command Palette New thread in…. That does not change the filter; use the folder icon if the list should match.
Classification: not-a-bug · working-as-designed (web/desktop default sidebar; #11315 compact picker is in the screenshot; palette does not retarget scope after #9416) Labels: remove bug, needs-triage; add question, via-triage (product input for #12059, not a regression) Discord tags: skip (not actionable as a bug)
Activity
[-][Bug]:[/-][+][Bug]: project switcher in left sidebar disappear[/+]juliusmarminge commentedon Sep 16, 2026
Triage
Confirmed on current
main(ccf220be2) and on shipping0.0.42. This is not a missing control and not a Windows desktop bug. Desktop embeds the sameThreadSidebaras web (AppSidebarLayout.tsx). The screenshot is the post-#11315 header, working as designed.The circled empty band is the second header row #11315 removed. The project switcher is still there: the folder icon immediately to the right of Search (folder-plus = new project, pen = new thread). Tooltip: “Filter threads by project”. While a project is scoped, that icon becomes the project favicon.
Command Palette → another thread does not change the sidebar project. That is also designed. Scope is an independent persisted filter (
sidebarProjectScopeKey), not “the project of the open thread.”What the code does
Until 2026-09-12 the default sidebar spent two rows on this: Search + new thread, then a labeled All projects combobox + new project. #11315 (
d1d15c67f, in0.0.42) folded scope into the search row on purpose:SidebarThreadHeaderstill takesprojectScopeand renders it wheneverhasProjects(projectGroups.length > 0). The reporter’s list is full of BulletproofVault rows, so that gate is true. The crop shows the folder icon.ComboboxTriggeris that 28px button; the popup anchors under the search field, same searchable list as before, All projects first.The crop shows
FolderIcon, not a favicon, so scope is All projects. Thread rows then print the project name themselves. That is why every row says BulletproofVault and there is no project title in the gap under Search.setSidebarProjectScopeKeyhas three callers: the combobox, a stale-key reset after catalogs are ready, and the store. Command Palette never writes it. #9416 (fixes #9379) moved the key into the persisted UI store so Settings / reload would stop resetting scope. Following the open thread would undo that.The old “sidebar project follows the thread” tree is
LegacySidebar, gated bylegacySidebarEnabled(defaultfalse). Settings → General → Legacy features → Sidebar (legacy): “Restore per-project thread trees instead of the default flat sidebar.” Search “legacy sidebar” unfolds that section.Draft-hero’s underlined project name only retargets the open draft. It is not the sidebar filter.
Related, not duplicates
No open issue is a duplicate of “the labeled row vanished.” No merged PR after #11315 puts that row back on by default.
Suggested fix
Do not treat this as a disappearance bugfix. Do not revert #11315 to “fix” one crop that still shows the icon.
sidebarProjectScopeKey. That reopens [Bug]: Thread filter reseting #9379.legacySidebarEnabledback on. That is the full per-project tree, not the labeled filter row.Workaround
Classification: not-a-bug · working-as-designed (web/desktop default sidebar; #11315 compact picker is in the screenshot; palette does not retarget scope after #9416)
Labels: remove
bug,needs-triage; addquestion,via-triage(product input for #12059, not a regression)Discord tags: skip (not actionable as a bug)