Let each install pick its app icon
Settings > General gets an App icon (super admin): one of the seven stones, or an uploaded image with the picked stone as a top-left corner mark (inside a round launcher's crop, clear of the browser's badge), previewed in both launcher crops before saving. Uploads are decoded and cropped to a stored square (no SVG); the set is drawn into DATA_DIR/install-icon/<version>/ and served publicly and immutable. The manifest, head icon links and push notifications point at it; the ember stone keeps the stock icons. The generator shares the icon renderer. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -36,6 +36,7 @@ import type { BotFace, BotMessageReactionEmoji } from "../dict/bot-dict";
|
||||
import type { HarnessCallSettings, TokenUsageSummary } from "../harness/usage/types";
|
||||
import type { McpServerStatus, McpTransport } from "../dict/mcp-dict";
|
||||
import type { ExtensionProposalKind, ExtensionProposalStatus } from "../dict/extension-proposal-dict";
|
||||
import type { PwaInstallIcon } from "../data/pwa-data";
|
||||
import type {
|
||||
CustomToolHttpMethod,
|
||||
CustomToolKind,
|
||||
@@ -1443,6 +1444,11 @@ export type PagePropsType = {
|
||||
* General, and the root's head tags). Empty when never named.
|
||||
*/
|
||||
install_name?: string | null;
|
||||
/**
|
||||
* The icon the install goes by as an installed app (Settings >
|
||||
* General, and the root's icon links).
|
||||
*/
|
||||
install_icon?: PwaInstallIcon | null;
|
||||
/**
|
||||
* The release the server is running, for the General settings page.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user