plugins: a splash is part of a plugin, like its icon
assets/splash.png is discovered by presence, published by the same copy that already took the whole assets directory, and carried on DiscoveredPlugin beside icon. The platform draws no splash — a plugin has no launch. It is carried because the plugin repository is where a product's artwork lives now, and the phone app that fronts the same product needs somewhere to read it from that is not a designer's folder. The pair is the point: the icon is a reduction of the splash's world, and keeping them together is what stops them drifting. Publishing no longer gates on the icon alone, which left a plugin shipping only a splash serving nothing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -320,7 +320,9 @@ export async function installPlugin(
|
||||
// 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) {
|
||||
// Either asset is reason enough to publish — the copy takes the whole directory, and gating on
|
||||
// the icon alone left a plugin that ships only a splash serving nothing.
|
||||
if (plugin.icon || plugin.splash) {
|
||||
await publishAssets(appName, plugin.dir);
|
||||
await step(steps, onStep, `assets: published to /plugins/${appName}/`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user