Skip to content

feat(web,mobile): tool calls show monochrome brand marks instead of favicon squares - #480

Merged
adampeterhiggins merged 1 commit into
mainfrom
ah/monochrome-tool-icons
Oct 22, 2026
Merged

adampeterhiggins merged 1 commit into
mainfrom
ah/monochrome-tool-icons

Conversation

@adampeterhiggins

Copy link
Copy Markdown
Owner

Tool calls, grouped activity summaries and inline message links showed provider logos as coloured favicon images on a square tile, which looked out of place beside the other single-colour symbols.

Each provider now gets its own logo as a monochrome SVG drawn in the text colour. packages/shared/src/brandMarks.ts holds about 60 marks and the rules for picking one:

  • Connectors and sites match by domain, and the most specific domain wins, so calendar.google.com is Calendar rather than Google. Favicon-service URLs are read too: ?domain= for Google s2, ?url= for gstatic.
  • Native apps from Codex computer use match by bundle ID or display name (Chrome, Safari, Edge, Finder, Arc, VS Code, Xcode, iTerm and others).
  • Local development pages (localhost, 127.0.0.1, [::1], *.localhost) get a monitor mark.
  • Anything else falls back to the action symbol, or a globe for links.

Most marks are from Simple Icons (CC0). Edge is from Simple Icons v11, Granola from thesvg (MIT) and Finder from Material Design Icons (Apache 2.0). Safari and localhost are drawn in-house because Simple Icons' compass is too detailed to read at 14px.

The same marks are used on web, desktop and mobile, in inline links and in the DOM context menu. Dropping the image path also removes the favicon and native app icon downloads and their loading states. Screenshot setup's permission rows use monochrome symbols instead of the coloured macOS-style tiles.

Screenshots

Before After

Every mark at 14px, light and dark:

Verification

  • brandMarks.test.ts covers domain and favicon-service matching, most-specific-domain wins, native apps and localhost.
  • @t3tools/shared, web and mobile typecheck. Format, lint and the tests next to the changes pass.
  • check:changed still fails knip (112 unused exports) and typecheck (apps/server/src/provider/ProviderInstanceRegistry.test.ts). Neither touches files in this PR.
  • The tool row was captured in an isolated dev client. Mobile and the screenshot setup dialog were not captured.

Opus 5.5 via Claude Code in T3 Code.

🤖 Generated with Claude Code

…avicon squares

Tool rows, grouped summaries and inline links drew provider logos as colored
favicon images on a square tile. They now draw the provider's own mark as a
single-colour SVG in the text colour: about 60 brands chosen by connector or
page domain, or by the native app Codex computer use drives. Safari and
localhost marks are drawn in-house, Finder comes from Material Design Icons.
Unknown sources fall back to the action symbol.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adampeterhiggins
adampeterhiggins force-pushed the ah/monochrome-tool-icons branch from 35f23d0 to c5605ae Compare October 22, 2026 18:44
@adampeterhiggins
adampeterhiggins merged commit 9daa1b2 into main Oct 22, 2026
@adampeterhiggins
adampeterhiggins deleted the ah/monochrome-tool-icons branch October 22, 2026 18:45
adampeterhiggins added a commit that referenced this pull request Oct 29, 2026
…bels

Two upstream ChatMarkdown browser tests assumed behaviour the fork changed:
links now draw in-app SVG icons instead of Google favicon images (#480), and
chips are labelled "Skill, Review" through the shared registry (#369).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
adampeterhiggins added a commit that referenced this pull request Oct 29, 2026
…bels

Two upstream ChatMarkdown browser tests assumed behaviour the fork changed:
links now draw in-app SVG icons instead of Google favicon images (#480), and
chips are labelled "Skill, Review" through the shared registry (#369).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
adampeterhiggins added a commit that referenced this pull request Oct 29, 2026
…bels (#514)

Two upstream ChatMarkdown browser tests assumed behaviour the fork changed:
links now draw in-app SVG icons instead of Google favicon images (#480), and
chips are labelled "Skill, Review" through the shared registry (#369).

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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