Skip to content

feat: add configurable MCP/Skills badges visibility for session rows#160

Merged
vakovalskii merged 1 commit intovakovalskii:mainfrom
akolotov:feat/configured-badges-in-lists
Apr 10, 2026
Merged

feat: add configurable MCP/Skills badges visibility for session rows#160
vakovalskii merged 1 commit intovakovalskii:mainfrom
akolotov:feat/configured-badges-in-lists

Conversation

@akolotov
Copy link
Copy Markdown
Contributor

@akolotov akolotov commented Apr 9, 2026

Why

MCP and Skill badges are useful context, but in list-based session rows they compete directly with the most important piece of information: the session title or first message.

In practice, sessions that use multiple MCP servers or skills can accumulate enough badges to consume a large part of the row width. When that happens, the text preview becomes heavily truncated or harder to scan, which makes the list view less effective as a dense overview of sessions.

This is mainly a list-view problem:

  1. List rows are horizontally constrained and rely on a single line of text for fast scanning.
  2. Grid cards have more room, so badges are much less likely to hide the useful session summary.

Because of that, users need a way to reduce visual noise in list rows without losing badges everywhere else.

What changed

Added a new setting in Settings to control MCP/Skills badge visibility in list-based session rows.

  • New setting: Session List Badges
  • Default: enabled
  • When enabled: list rows render MCP and Skill badges as before
  • When disabled: list rows hide MCP and Skill badges
  • Grid cards are unchanged

The setting is persisted in localStorage, so the preference survives reloads.

Scope

The setting applies to session views that reuse the shared list-row renderer, not just the plain All Sessions screen.

That includes:

  • All Sessions when shown in list layout
  • tool-filtered session views that route through the same list renderer
  • other session-list contexts that reuse the same list row component

It does not affect:

  • grid layout
  • project cards
  • running sessions view
  • any backend parsing or session metadata extraction

Why this does not break anything

This change is intentionally safe and backward-compatible.

  • The default remains the current behavior: badges are visible unless the user explicitly turns them off.
  • The underlying session data is unchanged. We still extract and keep mcp_servers and skills; the setting only changes whether those badges are rendered in list rows.
  • Grid view is untouched, so the richer card layout keeps the existing badge behavior.
  • The change is presentation-only. It does not alter filtering, grouping, sorting, search, or detail views.
  • Because the same shared list-row renderer is used across multiple session-list contexts, the behavior stays consistent instead of introducing a one-off exception for a single screen.

In short, this adds a user-controlled display preference rather than changing session semantics or removing metadata.

User-facing result

Users who rely on badges can keep the current experience.

Users who prefer denser text scanning can disable list-row badges and recover horizontal space for session names and first-message previews, while still keeping badges visible in grid view.

Testing

  1. Open Settings and confirm Session List Badges is enabled by default.
  2. Switch to list layout in All Sessions and verify MCP/Skills badges are visible.
  3. Disable Session List Badges and verify MCP/Skills badges disappear from list-based session rows.
  4. Verify the session title / first message gets more usable horizontal space in list rows.
  5. Switch to grid layout and verify MCP/Skills badges still render there.
  6. Check another session-list context that reuses the list row renderer and verify the setting behaves consistently there.

@akolotov akolotov changed the title feat: add configurable MCP/Skills badges visibility for list-based session rows feat: add configurable MCP/Skills badges visibility for session rows Apr 9, 2026
@vakovalskii vakovalskii merged commit 1d021dc into vakovalskii:main Apr 10, 2026
6 checks passed
vakovalskii added a commit that referenced this pull request Apr 10, 2026
Merged: #156 (star sync), #155 (clipboard fallback), #159 (bind URL fix),
#157 (session name vs first prompt), #160 (MCP badges toggle), #100 (Warp launch API)
Closed: #128 (dup), #148 (banned), #161 (bad diff)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@akolotov akolotov deleted the feat/configured-badges-in-lists branch April 10, 2026 12:17
apstenku123 added a commit to apstenku123/codedash that referenced this pull request Apr 11, 2026
- vakovalskii#155 clipboard copy fallback on non-secure origins (execCommand shim)
- vakovalskii#156 star button sync in detail panel (already applied earlier)
- vakovalskii#159 bind address vs browser URL separation (execFile, safer)
- ca70fd2 dual metrics: user_messages (real) + total_interactions (all)
- d3f4326 Node >= 18 version check at startup with clear error

Skipped: vakovalskii#100 Warp launch config (non-iTerm2), vakovalskii#157 session name refactor
(too many touches), vakovalskii#160 badge display config (non-critical),
analytics totalSessionsAll (already have similar in createCostAggregator).
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