From f78abbe05affbff12c35161827a5ed09a8f8cabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Sat, 15 Aug 2026 15:10:17 +0000 Subject: [PATCH] a plugin ships its own dock icon as a file, not a lucide name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The manifest's `icon` was a lucide NAME, resolved by `resolveIcon` — which knows 106 glyphs out of lucide's ~1,500. A plugin naming one outside that set silently rendered a neutral box, and a plugin from a marketplace had no way to see the ceiling coming. So the icon is a FILE now: `plugins//assets/icon.png`, discovered by presence like everything else here. `manifest.icon` stays as an optional fallback for a plugin with no artwork — example and offscale still use it — and the file wins when both exist. No new mechanism was needed. The app store already published sidecar assets: `/assets/` → `public/plugins//`, served by a dynamic `/plugins/*` route, with `DockItem.image` rendering an . `pluginDockManifests()` simply never emitted `image`. Install now publishes and uninstall unpublishes — the one thing uninstall is allowed to delete, because these are copies whose originals are still in the plugin's source. Base64 in the manifest was considered and dropped. It would ride in every /api/user/capabilities response for every user on every page load, can't be cached separately, and puts a 5KB string literal in a source file — against the rule this manifest keeps: what a directory listing can say, it says. It also needs no support: `image` goes straight into , so a data: URL already works for anyone who wants one. Music ships OffMusic.png, resized 1254² → 256² (1.6MB → 108KB) with alpha intact, sized for 3× DPI at the dock's 32px render. It also drops `icon` — the artwork is a voxel duck in headphones, not a glyph. The plugins page showed a generic Puzzle for every plugin; the list and detail header now show the plugin's own icon when it has one. Two bugs found while testing. Dock.tsx imported 26 lucide icons and used 14. The twelve dead ones — Music, Bitcoin, Receipt, Images, CalendarDays, Contact, Clapperboard, Mail, Network, ArrowDownUp, FileText, FolderKanban, MonitorSmartphone — were residue from when every feature had a hardcoded tile. Deleted. And uninstalling a plugin left its icon URL answering 500, not 404. server.tsx globs ./public at BOOT into one exact route per file, each holding a Bun.file handle, spread into the route table AHEAD of the /plugins/* wildcard. So an icon present at boot got an exact route that outlived the file, returning ENOENT on every dock render with the error logged each time — exactly what the wildcard's own comment says it exists to prevent. The comment covered the ADD case; this is its mirror. `plugins/` is now excluded from the boot glob, so the wildcard owns that prefix alone. Verified: 200 installed, 404 uninstalled, 200 reinstalled. [open] A plugin's icon cannot be seen BEFORE installing it, which is the one place an app store most wants to — assets are published at install by design, and an authenticated icon route is no use to an . --- plugins/music/assets/icon.png | Bin 0 -> 108612 bytes plugins/music/manifest.ts | 5 ++++- .../Screens/Dashboard/Layout/Dock.tsx | 12 ------------ src/server.tsx | 14 ++++++++++++++ src/servers/api/plugins/router.ts | 11 +++++++++++ src/servers/plugins/discover.ts | 6 ++++++ src/servers/plugins/install.ts | 16 +++++++++++++++- src/servers/plugins/manifest.ts | 17 ++++++++++++++--- src/servers/plugins/mount.ts | 7 ++++++- .../src/apps/Plugins/PluginDetail.tsx | 9 +++++++-- .../src/apps/Plugins/PluginsList.tsx | 8 +++++++- .../officerdev/src/apps/Plugins/usePlugins.ts | 5 ++++- 12 files changed, 88 insertions(+), 22 deletions(-) create mode 100644 plugins/music/assets/icon.png diff --git a/plugins/music/assets/icon.png b/plugins/music/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..659812848654f296a26c56ef256cb768065aa1a9 GIT binary patch literal 108612 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
%dj1jX2;6@F-SaR)bHTB^tw-t>iY_PXA$6;6DR^ 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 literal 0 HcmV?d00001 diff --git a/plugins/music/manifest.ts b/plugins/music/manifest.ts index 5f2a41de..4fac7be4 100644 --- a/plugins/music/manifest.ts +++ b/plugins/music/manifest.ts @@ -10,6 +10,7 @@ import type { PluginManifest } from '@@/plugins/manifest'; // api/router.ts the sidecar proxy, built here — thin, and it must never grow music knowledge // cliamp/ the second playback path, parked // widgets/ the dashboard widget, parked +// assets/icon.png the dock tile, published to /plugins/music/ on install // sidecar/ the whole /api/music contract: indexing, streaming, per-user state // db/ music_favorites, _playlists, _playlist_items, _now_playing // web/ the library panels; the shell renders the Workspace @@ -44,7 +45,9 @@ export const manifest: PluginManifest = { label: 'Music', summary: 'The music library — browse, play, favourites and playlists', - icon: 'Music', + // No `icon` field: this plugin ships `assets/icon.png` and the file wins. A lucide name could only + // ever pick from the 106 glyphs the platform happens to bundle, which is a ceiling a plugin from a + // marketplace cannot see coming — and this one's artwork is a voxel duck in headphones, not a glyph. color: '#22c55e', // One permission gating the whole surface, grantable per role at read or write like every other. diff --git a/src/apps/officer-web/Screens/Dashboard/Layout/Dock.tsx b/src/apps/officer-web/Screens/Dashboard/Layout/Dock.tsx index 71a7d899..d9ee1cf7 100644 --- a/src/apps/officer-web/Screens/Dashboard/Layout/Dock.tsx +++ b/src/apps/officer-web/Screens/Dashboard/Layout/Dock.tsx @@ -126,27 +126,15 @@ export const Dock = ({ items, className, boundaryRef }: DockProps) => { import { Home, MessageCircle, - FileText, FolderOpen, Code, LayoutGrid, - FolderKanban, Monitor, - Mail, Globe, - MonitorSmartphone, Workflow, Music, Activity, Radio, - Network, - ArrowDownUp, - Bitcoin, - Receipt, - Images, - CalendarDays, - Contact, - Clapperboard, GitBranch, Store, Puzzle, diff --git a/src/server.tsx b/src/server.tsx index ddffddaf..e15c2aa3 100644 --- a/src/server.tsx +++ b/src/server.tsx @@ -27,8 +27,22 @@ import type { SidecarRegistration } from './servers/sidecar/registration-protoco import { toShellUsername } from './servers/data-path'; // Build static file routes from public/ +// A snapshot of ./public, taken once at boot: one exact route per file, each holding a `Bun.file` +// handle opened now. +// +// `plugins/` is EXCLUDED, and that is not an optimisation. Everything under it is published and removed +// at runtime by the plugin installer, and this map is spread into the route table ahead of the +// `/plugins/*` wildcard — so an exact entry here WINS over the dynamic handler that knows how to say +// 404. A plugin whose icon existed at boot and was then uninstalled left a route pointing at a deleted +// file, which answered `500 ENOENT` on every dock render until the next restart, with the error in the +// log each time. Precisely what the wildcard's own comment says it exists to avoid. +// +// The add case was already known and is why the wildcard exists at all. This is its mirror: a snapshot +// cannot describe a directory that changes while the server runs, in either direction. So it does not +// try — `/plugins/*` owns that prefix alone. const publicRoutes: Record Response> = {}; for await (const file of new Bun.Glob('**').scan({ cwd: './public' })) { + if (file.startsWith('plugins/')) continue; const bunFile = Bun.file(`./public/${file}`); publicRoutes[`/${file}`] = () => new Response(bunFile); } diff --git a/src/servers/api/plugins/router.ts b/src/servers/api/plugins/router.ts index 9106153a..9473d29a 100644 --- a/src/servers/api/plugins/router.ts +++ b/src/servers/api/plugins/router.ts @@ -4,6 +4,7 @@ import { isSuperAdmin } from '../../super-admin'; import { mountPrefix } from '../../plugins/manifest'; import { snapshotPlugins } from '../../plugins/mount'; import { manualInstallHint, reportDependencies } from '../../plugins/os-deps'; +import { iconUrl } from '../../app-store/assets'; import { installPlugin, pluginProcessStatus, @@ -65,6 +66,16 @@ pluginsRouter.get('/', async (ctx) => { label: plugin.manifest.label, summary: plugin.manifest.summary, icon: plugin.manifest.icon, + // The plugin's own artwork, once published. Only while INSTALLED: `publishAssets` copies + // `assets/` into `public/plugins//` at install and `unpublishAssets` removes it, so a + // plugin that has never been installed has nothing at that URL and an would 404. The list + // falls back to a generic glyph, which is what it drew for everything until now. + // + // `[open]` That means you cannot see a plugin's icon BEFORE installing it, which is the one place + // an app store most wants to. Fixing it means either publishing on discovery rather than install — + // which breaks "assets are a property of the install" — or an authenticated icon route, which an + // cannot use because it sends no Authorization header. + ...(plugin.icon && install ? { image: iconUrl(plugin.appName) } : {}), color: plugin.manifest.color, publisher: plugin.manifest.publisher, version: plugin.manifest.version, diff --git a/src/servers/plugins/discover.ts b/src/servers/plugins/discover.ts index f45ee69d..fbdee19c 100644 --- a/src/servers/plugins/discover.ts +++ b/src/servers/plugins/discover.ts @@ -21,6 +21,7 @@ import { manifestProblems, type DiscoveredPlugin, type PluginManifest } from './ // sidecar/index.ts a process (`.mjs` instead means node — see below) // web/panels.ts panel apps — REQUIRED with web/ // web/layout.ts how they are arranged — REQUIRED with web/ +// assets/icon.png the dock tile's image, published to public/plugins// on install // // Nothing here reads the database. This answers "what is on disk", which is a different question from // "what is installed" — the install table answers that, and the two disagreeing is a state the app store @@ -100,6 +101,11 @@ export async function loadPlugin(dir: string, appName: string): Promise/assets/` → `public/plugins//` — because it already solves the parts that are not + // obvious: the `/plugins/*` route is dynamic precisely so a first install does not show a broken + // image until the next restart, and uninstall is allowed to delete these because they are copies of + // files that still exist in the plugin's source. + if (plugin.icon) { + await publishAssets(appName, plugin.dir); + await step(steps, onStep, `assets: published to /plugins/${appName}/`); + } + // MOUNT BEFORE STARTING THE SIDECAR, and the order is not cosmetic. // // `createSidecarProxy` learns its sidecar's port from a one-shot event (`:server`), and it @@ -229,7 +240,10 @@ export async function uninstallPlugin(appName: string, onStep?: OnStep): Promise await step(steps, onStep, 'sidecar: stopped, deleted, ecosystem entry removed'); } - await step(steps, onStep, 'tables and data: untouched'); + // The one thing uninstall IS allowed to delete: published assets are copies, and the originals are + // still in the plugin's own directory. Nothing a user made is in there. + await unpublishAssets(appName); + await step(steps, onStep, 'tables and data: untouched (published assets removed)'); return { ok: true, appName, steps }; } diff --git a/src/servers/plugins/manifest.ts b/src/servers/plugins/manifest.ts index aeca7f3a..c57927b0 100644 --- a/src/servers/plugins/manifest.ts +++ b/src/servers/plugins/manifest.ts @@ -97,8 +97,11 @@ export type PluginManifest = { label: string; summary: string; - /** A lucide icon name, resolved at render. */ - icon: string; + /** + * A lucide icon name, resolved at render — the FALLBACK, used only when the plugin ships no + * `assets/icon.png`. Optional for that reason: a plugin with its own artwork has nothing to say here. + */ + icon?: string; /** Tile colour. */ color: string; @@ -128,6 +131,14 @@ export type DiscoveredPlugin = { dir: string; manifest: PluginManifest; + /** + * `assets/icon.png` — the dock tile's image, published to `public/plugins//` on install. + * + * Null means the plugin ships none and falls back to `manifest.icon`, a lucide NAME. The file wins + * because it has no ceiling: `resolveIcon` knows 106 glyphs out of lucide's ~1,500, and a plugin + * naming one outside that set silently renders a neutral box. + */ + icon: string | null; /** `api/router.ts` — a backend router, mounted at `mountPrefix`. */ api: string | null; /** `db/schema.ts` — tables, pushed on install. Every name must be prefixed `_`. */ @@ -250,7 +261,7 @@ export function manifestProblems(appName: string, manifest: Partial and `icon` through `resolveIcon`, + // and it already preferred the image — this is the first thing to give it one. + ...(plugin.icon ? { image: iconUrl(plugin.appName) } : { icon: plugin.manifest.icon }), color: plugin.manifest.color, rootRoute: prefix, routes: [prefix], diff --git a/src/workspaces/officerdev/src/apps/Plugins/PluginDetail.tsx b/src/workspaces/officerdev/src/apps/Plugins/PluginDetail.tsx index 0b26b47e..acde9ad9 100644 --- a/src/workspaces/officerdev/src/apps/Plugins/PluginDetail.tsx +++ b/src/workspaces/officerdev/src/apps/Plugins/PluginDetail.tsx @@ -120,8 +120,13 @@ export const PluginDetail = () => { return (
-

{plugin.label}

-

{plugin.summary}

+
+ {plugin.image ? : null} +
+

{plugin.label}

+

{plugin.summary}

+
+
diff --git a/src/workspaces/officerdev/src/apps/Plugins/PluginsList.tsx b/src/workspaces/officerdev/src/apps/Plugins/PluginsList.tsx index 57d17daf..41d9d4ab 100644 --- a/src/workspaces/officerdev/src/apps/Plugins/PluginsList.tsx +++ b/src/workspaces/officerdev/src/apps/Plugins/PluginsList.tsx @@ -38,7 +38,13 @@ export const PluginsList = () => { selected === plugin.appName ? 'bg-duck-teal/10' : 'hover:bg-duck-dark/5' }`} > - + {/* The plugin's own artwork when it ships some and is installed; otherwise the generic glyph + this drew for everything before plugins could carry an icon. */} + {plugin.image ? ( + + ) : ( + + )}
{plugin.label}
{plugin.prefix}
diff --git a/src/workspaces/officerdev/src/apps/Plugins/usePlugins.ts b/src/workspaces/officerdev/src/apps/Plugins/usePlugins.ts index be09b677..4ec14d2e 100644 --- a/src/workspaces/officerdev/src/apps/Plugins/usePlugins.ts +++ b/src/workspaces/officerdev/src/apps/Plugins/usePlugins.ts @@ -46,7 +46,10 @@ export type PluginItem = { prefix: string; label: string; summary: string; - icon: string; + /** A lucide NAME, and only when the plugin ships no artwork of its own. */ + icon?: string; + /** The plugin's own `assets/icon.png`, served from `/plugins//`. Present only while installed. */ + image?: string; color: string; publisher: string; version: string;