fix: give each desktop Agent its own mark, and grid the Provider/Profile cards - #72
Merged
Merged
Conversation
…le cards out as a grid DesktopAppSection rendered agentId="codex" as a literal for every desktop Agent, so WorkBuddy -- a Tencent product -- displayed OpenAI's mark. That is a trademark problem rather than a styling one, and it also bypassed AgentIcon's fallback, the path that exists precisely for an Agent with no mark of its own. Passing desktopApp.id fixes it. ChatGPT Desktop keeps the OpenAI mark through a new chatgpt-desktop entry, because it is OpenAI's own app sharing Codex's configuration; WorkBuddy now falls through to the generic Lucide symbol, which needs no new asset and no NOTICE change. No licensed WorkBuddy mark was found to prefer instead. .provider-list and .profile-list declared `display: grid` with no grid-template-columns, so every card was a full-width band and both pages read as tables with rounded corners. auto-fill with a 340px floor gives two to four columns as the pane grows and collapses to one below roughly 790px without a media query; align-items: start keeps cards at their natural height, which matters because the Anthropic endpoint row only renders when that endpoint is set. Verified at 600/860/1280/1900px: column count 1/2/2/4, no card overflow, no horizontal page scroll. Closes #66 Closes #67 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes two issues found while auditing the Provider and Profile pages.
WorkBuddy displayed OpenAI's mark (#66)
DesktopAppSectionpassedagentId="codex"as a literal for every desktop Agent it renders. There are two, and only one of them is OpenAI's — so WorkBuddy, a Tencent product, showed the Codex logo. That is a trademark problem rather than a cosmetic one, in a shipped desktop app whose icon provenance is otherwise tracked asset-by-asset inasset-rights.json.The literal also bypassed
AgentIcon's fallback, which is exactly the path that handles an Agent with no mark of its own.Passing
desktopApp.idfixes it:chatgpt-desktopentry, since it is OpenAI's own app and already shares Codex's configuration. It reuses the registered asset rather than adding a second copy.NOTICEchange.I looked for a licensed WorkBuddy mark to prefer instead and found none: it is absent from lobe-icons, devicon and svgl, and absent from cc-switch. A
CodeBuddyglyph exists in lobe-icons under MIT, but CodeBuddy and WorkBuddy are sibling products, so shipping it here would be licence-clean and factually wrong. simple-icons has one but carries no per-icon licence, which does not meet the bar the other five marks are held to.Provider and Profile cards were single-column bands (#67)
.provider-listand.profile-listdeclareddisplay: gridwith nogrid-template-columns, so every card spanned the full pane and both pages read as tables with rounded corners. Every other card grid in this stylesheet declares its columns; these two were the exception, and appeared in no media query, so 900px and 1900px looked identical.repeat(auto-fill, minmax(340px, 1fr))scales the column count with the pane and collapses to one below roughly 790px without a breakpoint.align-items: startkeeps each card at its natural height, which matters because the Anthropic endpoint row only renders when that endpoint is set — stretched rows would show ragged bottoms.Verification
go test ./...,go vet ./...,pnpm run test(205 passed),pnpm run build, andscripts/check-docs.pyall pass. Rebased onto currentmain, so this sits on top of the Profile/Provider delete work in #70.Layout measured in the running app at 600 / 860 / 1280 / 1900px: column count 1 / 2 / 2 / 4, no card overflow, no horizontal page scroll, and the grid still holds with #70's new delete buttons in the cards.
Two new tests cover the icon bug at both levels:
agents.test.tsxasserts WorkBuddy resolves to the fallback and matches no licensed asset, andDesktopAppSection.test.tsxasserts two desktop Agents render different marks — the component-level regression that would have caught the original literal.Closes #66
Closes #67
🤖 Generated with Claude Code