Skip to content

GLA-70: Set extension icons from provided icon pack#26

Merged
paoloanzn merged 1 commit into
mainfrom
codex/paolo/gla-70-set-extension-icons-from-provided-icon-pack
Mar 7, 2026
Merged

GLA-70: Set extension icons from provided icon pack#26
paoloanzn merged 1 commit into
mainfrom
codex/paolo/gla-70-set-extension-icons-from-provided-icon-pack

Conversation

@paoloanzn
Copy link
Copy Markdown
Member

Summary

  • add Prism icon pack files under public/icons (16, 32, 48, 128)
  • register extension manifest.icons and manifest.action.default_icon in wxt.config.ts
  • update DevTools panel icon path to icons/icon-16.png
  • remove legacy starter icons from public/icon to avoid placeholder/default icon usage

Validation

  • npm run build succeeds
  • built manifest contains:
    • icons: 16, 32, 48, 128
    • action.default_icon: 16, 32

Acceptance Criteria

  • All four icon sizes present under public/icons/
  • icons field registered in manifest
  • action.default_icon registered in manifest
  • Prism icon visible in toolbar after loading unpacked (manual check)
  • Prism icon visible on chrome://extensions management page (manual check)
  • No placeholder or default Chrome puzzle-piece icon referenced in project assets/manifest

@linear
Copy link
Copy Markdown

linear Bot commented Mar 7, 2026

GLA-70 Set extension icons from provided icon pack

Overview

Wire up the Prism icon pack across all the places Chrome requires extension icons. The icon files will be provided by the designer — this issue covers correct placement and manifest registration only.


Required Sizes

Chrome MV3 requires icons at multiple sizes for different surfaces:

Size Used for
16×16 Favicon in chrome://extensions, tab icon
32×32 Windows taskbar
48×48 Extensions management page tile
128×128 Chrome Web Store listing, install dialog

The toolbar action icon additionally supports:

Size Used for
16×16 Toolbar (default density)
32×32 Toolbar (high-DPI / Retina)

File Placement

public/
  icons/
    icon-16.png
    icon-32.png
    icon-48.png
    icon-128.png

WXT copies everything in public/ into the extension root at build time, so no extra config needed for file resolution.


wxt.config.ts

export default defineConfig({
  manifest: {
    icons: {
      16:  'icons/icon-16.png',
      32:  'icons/icon-32.png',
      48:  'icons/icon-48.png',
      128: 'icons/icon-128.png',
    },
    action: {
      default_icon: {
        16: 'icons/icon-16.png',
        32: 'icons/icon-32.png',
      },
    },
  },
})

Acceptance Criteria

  • All four icon sizes present under public/icons/
  • icons field registered in manifest
  • action.default_icon registered in manifest
  • Prism icon visible in toolbar after loading unpacked
  • Prism icon visible on chrome://extensions management page
  • No placeholder or default Chrome puzzle-piece icon anywhere

@paoloanzn paoloanzn merged commit 7a1dbaa into main Mar 7, 2026
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