History

Route preset vendor favicons through integrations.sh/logo

Preset icons that pointed at vendor favicon.ico paths (brittle: vendors move or serve HTML) now use the same /logo proxy the derived favicon path uses. Deliberate keeps: svgl.app and fonts.gstatic.com product logos (per-product marks for Google/Microsoft sub-products the domain-keyed proxy can't distinguish), bundled marketing assets, and the app's own favicon links.

Rhys Sullivan committed 4 months ago

Commit ed09aac1 parent 63605aa4 files · +28 −28Browse files

Unified · Split

4 files
  1. packages/plugins/graphql/src/sdk/presets.ts +4 −4
  2. packages/plugins/mcp/src/sdk/presets.ts +10 −10
  3. packages/plugins/microsoft/src/sdk/presets.ts +1 −1
  4. packages/plugins/openapi/src/sdk/presets.ts +13 −13
packages/plugins/graphql/src/sdk/presets.ts+4−4
@@ -24,7 +24,7 @@ export const graphqlPresets: readonly GraphqlPreset[] = [ · 23 unmodified lines
2424 summary: "Projects, merge requests, pipelines, and users.",
2525 url: "https://gitlab.com/api/graphql",
2626 endpoint: "https://gitlab.com/api/graphql",
27− icon: "https://gitlab.com/favicon.ico",
27+ icon: "https://integrations.sh/logo/gitlab.com",
2828 featured: true,
2929 },
3030 {
@@ -33,7 +33,7 @@ export const graphqlPresets: readonly GraphqlPreset[] = [ · 2 unmodified lines
3333 summary: "Issues, projects, teams, and cycles.",
3434 url: "https://api.linear.app/graphql",
3535 endpoint: "https://api.linear.app/graphql",
36− icon: "https://linear.app/favicon.ico",
36+ icon: "https://integrations.sh/logo/linear.app",
3737 featured: true,
3838 },
3939 {
@@ -42,7 +42,7 @@ export const graphqlPresets: readonly GraphqlPreset[] = [ · 2 unmodified lines
4242 summary: "Boards, items, columns, and workspace automation.",
4343 url: "https://api.monday.com/v2",
4444 endpoint: "https://api.monday.com/v2",
45− icon: "https://monday.com/favicon.ico",
45+ icon: "https://integrations.sh/logo/monday.com",
4646 },
4747 {
4848 id: "anilist",
@@ -50,6 +50,6 @@ export const graphqlPresets: readonly GraphqlPreset[] = [ · 1 unmodified line
5050 summary: "Anime and manga database — no auth required.",
5151 url: "https://graphql.anilist.co",
5252 endpoint: "https://graphql.anilist.co",
53− icon: "https://anilist.co/img/icons/favicon-32x32.png",
53+ icon: "https://integrations.sh/logo/anilist.co",
5454 },
5555 ];
packages/plugins/mcp/src/sdk/presets.ts+10−10
@@ -38,7 +38,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 37 unmodified lines
3838 summary: "Search and read documentation from any GitHub repo.",
3939 url: "https://mcp.deepwiki.com/mcp",
4040 endpoint: "https://mcp.deepwiki.com/mcp",
41− icon: "https://deepwiki.com/favicon.ico",
41+ icon: "https://integrations.sh/logo/deepwiki.com",
4242 featured: true,
4343 },
4444 {
@@ -47,7 +47,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 2 unmodified lines
4747 summary: "Up-to-date docs and code examples for any library.",
4848 url: "https://mcp.context7.com/mcp",
4949 endpoint: "https://mcp.context7.com/mcp",
50− icon: "https://context7.com/favicon.ico",
50+ icon: "https://integrations.sh/logo/context7.com",
5151 featured: true,
5252 },
5353 {
@@ -56,7 +56,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 2 unmodified lines
5656 summary: "Cloud browser sessions for web scraping and automation.",
5757 url: "https://mcp.browserbase.com/mcp",
5858 endpoint: "https://mcp.browserbase.com/mcp",
59− icon: "https://www.browserbase.com/favicon.ico",
59+ icon: "https://integrations.sh/logo/browserbase.com",
6060 featured: true,
6161 },
6262 {
@@ -65,7 +65,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 2 unmodified lines
6565 summary: "Crawl and scrape websites into structured data.",
6666 url: "https://mcp.firecrawl.dev/mcp",
6767 endpoint: "https://mcp.firecrawl.dev/mcp",
68− icon: "https://www.firecrawl.dev/favicon.ico",
68+ icon: "https://integrations.sh/logo/firecrawl.dev",
6969 featured: true,
7070 },
7171 {
@@ -74,7 +74,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 2 unmodified lines
7474 summary: "Serverless Postgres — branches, queries, and management.",
7575 url: "https://mcp.neon.tech/mcp",
7676 endpoint: "https://mcp.neon.tech/mcp",
77− icon: "https://neon.tech/favicon/favicon.ico",
77+ icon: "https://integrations.sh/logo/neon.tech",
7878 featured: true,
7979 },
8080 {
@@ -83,7 +83,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 2 unmodified lines
8383 summary: "Query, analyze, and monitor your logs and event data.",
8484 url: "https://mcp.axiom.co/mcp",
8585 endpoint: "https://mcp.axiom.co/mcp",
86− icon: "https://axiom.co/favicon.ico",
86+ icon: "https://integrations.sh/logo/axiom.co",
8787 featured: true,
8888 },
8989 {
@@ -92,7 +92,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 2 unmodified lines
9292 summary: "Manage payments, subscriptions, and billing via MCP.",
9393 url: "https://mcp.stripe.com",
9494 endpoint: "https://mcp.stripe.com",
95− icon: "https://stripe.com/favicon.ico",
95+ icon: "https://integrations.sh/logo/stripe.com",
9696 featured: true,
9797 },
9898 {
@@ -101,7 +101,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 2 unmodified lines
101101 summary: "Issues, projects, teams, and cycles via MCP.",
102102 url: "https://mcp.linear.app/mcp",
103103 endpoint: "https://mcp.linear.app/mcp",
104− icon: "https://linear.app/favicon.ico",
104+ icon: "https://integrations.sh/logo/linear.app",
105105 featured: true,
106106 },
107107 {
@@ -110,7 +110,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 2 unmodified lines
110110 summary: "Databases, pages, blocks, and search via MCP.",
111111 url: "https://mcp.notion.com/mcp",
112112 endpoint: "https://mcp.notion.com/mcp",
113− icon: "https://www.notion.com/front-static/favicon.ico",
113+ icon: "https://integrations.sh/logo/notion.com",
114114 featured: true,
115115 },
116116 {
@@ -127,7 +127,7 @@ export const mcpPresets: readonly McpPreset[] = [ · 10 unmodified lines
127127 summary: "Workers, KV, D1, R2, and DNS management via MCP.",
128128 url: "https://mcp.cloudflare.com/mcp",
129129 endpoint: "https://mcp.cloudflare.com/mcp",
130− icon: "https://cloudflare.com/favicon.ico",
130+ icon: "https://integrations.sh/logo/cloudflare.com",
131131 },
132132 {
133133 id: "chrome-devtools",
packages/plugins/microsoft/src/sdk/presets.ts+1−1
@@ -27,7 +27,7 @@ export interface MicrosoftGraphScopePreset { · 26 unmodified lines
2727 readonly audience: MicrosoftGraphScopeAudience;
2828 }
2929
30−const MICROSOFT_ICON = "https://www.microsoft.com/favicon.ico";
30+const MICROSOFT_ICON = "https://integrations.sh/logo/microsoft.com";
3131 const svglIcon = (name: string) => `https://svgl.app/library/${name}.svg`;
3232
3333 export const MICROSOFT_GRAPH_OPENAPI_URL =
packages/plugins/openapi/src/sdk/presets.ts+13−13
@@ -13,7 +13,7 @@ const openApiOnlyPresets: readonly OpenApiPreset[] = [ · 12 unmodified lines
1313 name: "Stripe",
1414 summary: "Payments, subscriptions, customers, and invoices.",
1515 url: "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json",
16− icon: "https://stripe.com/favicon.ico",
16+ icon: "https://integrations.sh/logo/stripe.com",
1717 featured: true,
1818 },
1919 {
@@ -29,7 +29,7 @@ const openApiOnlyPresets: readonly OpenApiPreset[] = [ · 9 unmodified lines
2929 name: "Vercel",
3030 summary: "Deployments, domains, projects, and edge config.",
3131 url: "https://openapi.vercel.sh",
32− icon: "https://vercel.com/favicon.ico",
32+ icon: "https://integrations.sh/logo/vercel.com",
3333 featured: true,
3434 },
3535 {
@@ -37,7 +37,7 @@ const openApiOnlyPresets: readonly OpenApiPreset[] = [ · 1 unmodified line
3737 name: "Cloudflare",
3838 summary: "DNS, workers, pages, R2, and security rules.",
3939 url: "https://raw.githubusercontent.com/cloudflare/api-schemas/main/openapi.json",
40− icon: "https://cloudflare.com/favicon.ico",
40+ icon: "https://integrations.sh/logo/cloudflare.com",
4141 featured: true,
4242 },
4343 {
@@ -45,7 +45,7 @@ const openApiOnlyPresets: readonly OpenApiPreset[] = [ · 1 unmodified line
4545 name: "Neon",
4646 summary: "Serverless Postgres: projects, branches, and endpoints.",
4747 url: "https://neon.tech/api_spec/release/v2.json",
48− icon: "https://neon.tech/favicon/favicon.ico",
48+ icon: "https://integrations.sh/logo/neon.tech",
4949 featured: true,
5050 },
5151 {
@@ -77,7 +77,7 @@ const openApiOnlyPresets: readonly OpenApiPreset[] = [ · 25 unmodified lines
7777 name: "Exa",
7878 summary: "Web search, similar links, content retrieval, and answers.",
7979 url: "https://raw.githubusercontent.com/exa-labs/openapi-spec/refs/heads/master/exa-openapi-spec.yaml",
80− icon: "https://exa.ai/images/favicon-32x32.png",
80+ icon: "https://integrations.sh/logo/exa.ai",
8181 featured: true,
8282 },
8383 {
@@ -85,7 +85,7 @@ const openApiOnlyPresets: readonly OpenApiPreset[] = [ · 1 unmodified line
8585 name: "Exa Websets",
8686 summary: "Websets, enrichments, webhooks, and monitors.",
8787 url: "https://raw.githubusercontent.com/exa-labs/openapi-spec/refs/heads/master/exa-websets-spec.yaml",
88− icon: "https://exa.ai/images/favicon-32x32.png",
88+ icon: "https://integrations.sh/logo/exa.ai",
8989 featured: true,
9090 },
9191 {
@@ -93,49 +93,49 @@ const openApiOnlyPresets: readonly OpenApiPreset[] = [ · 1 unmodified line
9393 name: "Axiom",
9494 summary: "Log ingestion, querying, datasets, and monitors.",
9595 url: "https://axiom.co/docs/restapi/versions/v2.json",
96− icon: "https://axiom.co/favicon.ico",
96+ icon: "https://integrations.sh/logo/axiom.co",
9797 },
9898 {
9999 id: "asana",
100100 name: "Asana",
101101 summary: "Tasks, projects, teams, and workspace management.",
102102 url: "https://raw.githubusercontent.com/APIs-guru/openapi-directory/main/APIs/asana.com/1.0/openapi.yaml",
103− icon: "https://asana.com/favicon.ico",
103+ icon: "https://integrations.sh/logo/asana.com",
104104 },
105105 {
106106 id: "twilio",
107107 name: "Twilio",
108108 summary: "SMS, voice, video, and messaging APIs.",
109109 url: "https://raw.githubusercontent.com/twilio/twilio-oai/main/spec/json/twilio_api_v2010.json",
110− icon: "https://twilio.com/favicon.ico",
110+ icon: "https://integrations.sh/logo/twilio.com",
111111 },
112112 {
113113 id: "digitalocean",
114114 name: "DigitalOcean",
115115 summary: "Droplets, Kubernetes, databases, and networking.",
116116 url: "https://raw.githubusercontent.com/digitalocean/openapi/main/specification/DigitalOcean-public.v2.yaml",
117− icon: "https://assets.digitalocean.com/favicon.ico",
117+ icon: "https://integrations.sh/logo/digitalocean.com",
118118 },
119119 {
120120 id: "petstore",
121121 name: "Petstore",
122122 summary: "Classic OpenAPI demo, no auth required.",
123123 url: "https://petstore3.swagger.io/api/v3/openapi.json",
124− icon: "https://petstore3.swagger.io/favicon-32x32.png",
124+ icon: "https://integrations.sh/logo/petstore3.swagger.io",
125125 },
126126 {
127127 id: "val-town",
128128 name: "Val Town",
129129 summary: "Vals, runs, blobs, and email/web endpoints.",
130130 url: "https://api.val.town/openapi.json",
131− icon: "https://www.val.town/favicon.svg",
131+ icon: "https://integrations.sh/logo/val.town",
132132 },
133133 {
134134 id: "resend",
135135 name: "Resend",
136136 summary: "Transactional email sending and domain management.",
137137 url: "https://raw.githubusercontent.com/resend/resend-openapi/main/resend.yaml",
138− icon: "https://resend.com/static/favicons/favicon.ico",
138+ icon: "https://integrations.sh/logo/resend.com",
139139 },
140140 {
141141 id: "spotify",