Skip to content

feat(icons): add brand icons for Codex and OpenCode launcher tiles#333

Merged
CCDevelopForFun merged 3 commits into
mainfrom
switch-picture-for-coding-agent-tile
May 20, 2026
Merged

feat(icons): add brand icons for Codex and OpenCode launcher tiles#333
CCDevelopForFun merged 3 commits into
mainfrom
switch-picture-for-coding-agent-tile

Conversation

@CCDevelopForFun
Copy link
Copy Markdown
Collaborator

@CCDevelopForFun CCDevelopForFun commented May 20, 2026

Replace generic terminal icon with the official Codex icon (blue, from lobehub) and the OpenCode frame icon (from opencode.ai) for their respective Coding Agent launcher tiles.

image

Replace generic terminal icon with the official Codex icon (blue, from
lobehub) and the OpenCode frame icon (from opencode.ai) for their
respective Coding Agent launcher tiles.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@CCDevelopForFun CCDevelopForFun added the enhancement New feature or request label May 20, 2026
@pjdoland
Copy link
Copy Markdown
Collaborator

pjdoland commented May 20, 2026

Nice addition. LGTM, but one small non-blocking thing worth considering before merge: style/icons/openai.svg hardcodes fill="#0A84FF", while the other brand icons in style/icons/ (claude.svg, copilot.svg, sparkles.svg) all use theme-aware fills like currentColor or a JupyterLab CSS variable. The hardcoded blue won't track JL's light / dark / high-contrast themes, and it isn't OpenAI's brand color either (#0A84FF is Apple's system blue). They use a gradient in there. Using that or switching to fill="currentColor" would match the rest of the icons and let theming flow through.

If you want a specific tint for the Codex tile, the existing pattern is a CSS rule in style/base.css keyed on svg[data-icon='notebook-intelligence:...-icon']. See the claude-icon block around line 3069 for precedent.

Per review feedback: use currentColor in the SVG and apply the blue tint
via a .jp-LauncherCard-icon CSS rule, matching the existing pattern for
the claude-icon. This lets JupyterLab themes flow through correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@CCDevelopForFun
Copy link
Copy Markdown
Collaborator Author

Nice addition. LGTM, but one small non-blocking thing worth considering before merge: style/icons/openai.svg hardcodes fill="#0A84FF", while the other brand icons in style/icons/ (claude.svg, copilot.svg, sparkles.svg) all use theme-aware fills like currentColor or a JupyterLab CSS variable. The hardcoded blue won't track JL's light / dark / high-contrast themes, and it isn't OpenAI's brand color either (#0A84FF is Apple's system blue). They use a gradient in there. Using that or switching to fill="currentColor" would match the rest of the icons and let theming flow through.

If you want a specific tint for the Codex tile, the existing pattern is a CSS rule in style/base.css keyed on svg[data-icon='notebook-intelligence:...-icon']. See the claude-icon block around line 3069 for precedent.

ack, updated, thanks

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@CCDevelopForFun CCDevelopForFun merged commit ba7f2a4 into main May 20, 2026
3 checks passed
pjdoland added a commit to pjdoland/notebook-intelligence that referenced this pull request May 22, 2026
Promotes the [Unreleased] CHANGELOG snapshot to [5.0.0] - 2026-05-22
and expands it to cover everything merged into upstream/main after
PR plmbr#287's docs refresh. Bumps package.json to 5.0.0.

CHANGELOG additions cover the post-plmbr#287 surface:

- Settings tabs: plugin marketplace picker (plmbr#284), plugin marketplace
  details + Update button (plmbr#303), per-workspace MCP disable (plmbr#286),
  JSON-paste path in Add MCP server (plmbr#285).
- Launchers: hide-with-policy (plmbr#288), brand icons for Codex / opencode
  (plmbr#325, plmbr#333), per-launch directory picker (plmbr#332).
- Chat sidebar and agentic UX: workspace @-mention in Claude mode
  (plmbr#327), reload-open-files-on-disk (plmbr#330), steered system prompt
  away from over-eager notebook creation (plmbr#336).
- Skills: multi-manifest support (plmbr#321), tracks-upstream for user-
  imported skills (plmbr#322), HTTP kill switch for the reconciler (plmbr#291).
- Accessibility: full sub-section covering plmbr#305-plmbr#320.
- Security: shell-tool sandbox (plmbr#290), Claude UI-bridge sandbox (plmbr#323),
  0o600 on encrypted token (plmbr#293), env-secret scrubbing (plmbr#295), MCP
  config shape validation (plmbr#299), XSS allowlist (plmbr#296), Copilot WS
  auth + origin (plmbr#301), GHE host detection (plmbr#292), fastmcp -> mcp SDK
  swap (plmbr#324).
- Fixed: session listing unification (plmbr#310), session preview unwrap
  (plmbr#331), down-area runtime throw (plmbr#330 follow-up), WS message-handler
  leak (plmbr#294).
- Removed: fastmcp dependency, history.jsonl session gate.

Adds a Migration note covering the five behavior changes operators
should review before upgrading from 4.x: fastmcp swap, path
sandboxes, history.jsonl gate removal, workspace @-mention pointer
shape, and the Copilot WebSocket auth/origin tightening.

Two reviewer rounds (six personas each) applied:
- Round 1 caught security overclaims (plmbr#293, plmbr#299, plmbr#323), the
  plmbr#284/plmbr#303 mis-attribution, missing migration note, 3 em dashes,
  and the stale `fastmcp==2.x.*` recommendation in the admin guide.
- Round 2 caught the missing plmbr#301 migration bullet, missing version-
  matrix 5.0.x row, missing README TOC entry, and a couple of style
  nits (sub-heading overpromise, orphan bullet).

Skipped (deferred to future PRs):
- README first-run tour mention.
- Admin guide HTTP kill-switch row in Failure-modes table.
- Terminal drag-drop trust-model precision update after plmbr#327.
- Cipher description nit in plmbr#293 (Fernet AES-128-CBC+HMAC, not
  AES-GCM).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants