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
Even when it succeeds, settled favicons render dimmed and grayscaled at rest (opacity-40 grayscale), by design, so history recedes.
The result is that a settled tail spanning several projects reads as one flat list of thread titles. Since the tail is exactly where you go looking for something finished a while ago — when you remember the project but not the thread title — that is where the label is most useful and where it is currently absent.
Proposed solution
Render the project label on slim rows too, using the same projectTitle value card rows already receive, at text-xs. It shrinks and truncates before the thread title does, since the title is what identifies the row.
Why this matters
It closes a gap between the two row variants in the same list, and it makes the settled shelf scannable by project without needing icon resolution to work.
Smallest useful scope
Exactly the above: one label on the slim row. No new props, no new settings, no layout restructuring.
Alternatives considered
Restore the favicon at full opacity on settled rows. Rejected: the dimming is deliberate, and it does not help the fallback-glyph case at all.
Group the settled shelf by project. Much larger change, and it fights the flat-list model Sidebar V2 chose.
Risks or tradeoffs
Slim rows are dense, so the label competes for width with the thread title. Handled by letting the label shrink first.
Worth noting: projectTitle is the group display name (SidebarV2.tsx builds projectDisplayNameByKey from group.displayName), so for nested repositories it can read as a long path. That is pre-existing behavior shared with card rows and this change does not alter it, but it is more noticeable on a dense row. Happy to follow up separately if you'd rather that showed the project's own title.
This discussion was converted from issue #5083 on August 15, 2026 09:47.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/web
Problem or use case
In Sidebar V2, card rows show the project name under the favicon. Slim rows — the settled shelf and snoozed threads — show only the favicon.
The favicon alone does not identify the project:
MessageSquareIcon. Every project without a resolvable icon gets the same glyph, so those rows are indistinguishable from each other. This is common outside React-shaped repos ([Feature]: Pick up project icons more reliably outside React apps #4304, monorepo projects do not resolve nested app favicons #1020, Where does this icon for a folder/project come from? #4935).opacity-40 grayscale), by design, so history recedes.The result is that a settled tail spanning several projects reads as one flat list of thread titles. Since the tail is exactly where you go looking for something finished a while ago — when you remember the project but not the thread title — that is where the label is most useful and where it is currently absent.
Proposed solution
Render the project label on slim rows too, using the same
projectTitlevalue card rows already receive, attext-xs. It shrinks and truncates before the thread title does, since the title is what identifies the row.Why this matters
It closes a gap between the two row variants in the same list, and it makes the settled shelf scannable by project without needing icon resolution to work.
Smallest useful scope
Exactly the above: one label on the slim row. No new props, no new settings, no layout restructuring.
Alternatives considered
Risks or tradeoffs
Slim rows are dense, so the label competes for width with the thread title. Handled by letting the label shrink first.
Worth noting:
projectTitleis the group display name (SidebarV2.tsxbuildsprojectDisplayNameByKeyfromgroup.displayName), so for nested repositories it can read as a long path. That is pre-existing behavior shared with card rows and this change does not alter it, but it is more noticeable on a dense row. Happy to follow up separately if you'd rather that showed the project's own title.Examples or references
apps/web/src/components/SidebarV2.tsx— slim row branch (data-testid="sidebar-v2-row-slim") vs card row branch (data-testid="sidebar-v2-row-card").Contribution
All reactions