Skip to content

feat(viewer): per-agent logos + surface count on the session title#72

Merged
benvinegar merged 2 commits into
mainfrom
feat/revive-agent-logos
Jun 19, 2026
Merged

feat(viewer): per-agent logos + surface count on the session title#72
benvinegar merged 2 commits into
mainfrom
feat/revive-agent-logos

Conversation

@benvinegar

Copy link
Copy Markdown
Member

Reviving orphaned PR #45

Per-agent sidebar logos + surface-count-on-title. The original #45 was a stacked PR — its base was feat/session-sidebar-grouping (#43), not main. When #43 squash-merged, #45's "merge" attached to the orphaned pre-squash side, so viewer/src/agentMarks.tsx and the sidebar-entry tuning never actually reached main. This recovers that work, rebased clean onto current main.

What it does

Session rows in the sidebar now show a small monochrome logo for the agent that authored the session, and the surface count moves onto the title as a quiet (N). The meta line tightens to logo · agent · time.

  • Logos (viewer/src/agentMarks.tsx): single-path Simple Icons glyphs for Claude, OpenCode, Cursor, Copilot, Gemini, … inlined as SVG with fill="currentColor" — theme-aware (light/dark) with no runtime network fetch.
  • Fallback: an unrecognized agent gets a neutral lucide terminal glyph rather than breaking.
  • Surface count: moves to a muted (N) on the title, omitted at 0 (no boxy count glyph that glowed in dark mode).

Changes vs. the original

  • Only CHANGELOG.md conflicted on recovery — resolved by dropping the hand-edited entry in favor of a proper changeset (.changeset/agent-session-logos.md), since the repo moved to changesets after feat(viewer): per-agent logos + surface count on the session title #45.
  • Code (App.tsx, styles.css, e2e spec) merged cleanly despite the intervening snippet→surface rename.

Validation

  • npm run typecheck (node + workers + viewer) ✓
  • npm run lint ✓ · npm run format:check
  • npm test — 130 passed ✓
  • npm run test:e2e — 52 passed on chromium + webkit ✓ (incl. the new logo/fallback test + updated grouping/keyboard specs)

🤖 Generated with Claude Code

benvinegar and others added 2 commits June 19, 2026 12:46
Replaces the "N surfaces" meta text with a quieter row: a small monochrome
per-agent logo (Claude, OpenCode, Cursor, Copilot, Gemini — Simple Icons single
paths, inlined with fill=currentColor so they're theme-aware and need no runtime
fetch; unknown agents get a neutral terminal glyph), and the surface count moves
onto the title as a muted "(N)" (omitted at 0). The meta line is now just
"logo · agent · time" — no boxy count glyph that glowed in dark mode.

Stacked on the recency-grouping change. Updates the grouping/keyboard e2e tests
for the new title (the count rides .sess-title) and adds a logo/fallback test.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts:
#	CHANGELOG.md
@benvinegar benvinegar merged commit 3bb4d14 into main Jun 19, 2026
9 checks passed
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.

1 participant