From 10c4902ffcd8840d7b571843819793205ee8dd9c Mon Sep 17 00:00:00 2001 From: Dotta <34892728+cryppadotta@users.noreply.github.com> Date: Sat, 29 Aug 2026 12:08:33 -0500 Subject: [PATCH] feat(apps): add local connection brand assets (#12343) ## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work. > - The app store needs stable provider marks that do not depend on remote image hosts. > - The connector layer adds many recognizable services. > - Local assets must work in light and dark themes and follow the design token gate. > - This pull request adds the provider asset set and its rendering support. > - The benefit is fast and consistent app identification across the UI. ## Linked Issues or Issue Description Refs #11965 This is stack 5 of 11. It depends on stack 4 and replaces another reviewable part of #11965. ## What Changed - Add local provider logos for the connection catalog. - Add light and dark asset selection where providers need it. - Add deterministic fallback behavior and UI tests. - Document the fixed brand-color allowlist in the token gate. ## Verification - `pnpm -r typecheck` - `pnpm check:token-gates` - `pnpm --filter @paperclipai/ui exec vitest run src/pages/apps/AppLogo.test.tsx` - `pnpm build` ## Risks - A missing asset path can show the deterministic letter fallback. - Brand SVG colors use the documented asset allowlist because provider marks cannot use product theme tokens. - The change does not add a database migration. > I checked `ROADMAP.md`. This stack continues the existing app connection work from #11965 and does not duplicate another planned item. ## Model Used OpenAI Codex, GPT-5. The runtime model ID and context window were not exposed. The model used reasoning, tool use, and code execution. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have searched GitHub for duplicate or related PRs and linked them above - [x] I have either (a) linked existing issues with `Refs #` or (b) described the issue in this pull request - [x] I have not referenced internal or instance-local Paperclip issues or links - [x] My branch name describes the change and contains no internal Paperclip ticket id or instance-derived details - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] All Paperclip CI gates are green - [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups - [x] I will address all Greptile and reviewer comments before requesting merge --------- Co-authored-by: Paperclip --- ui/public/brands/apps/airtable.svg | 1 + ui/public/brands/apps/anthropic-dark.svg | 1 + ui/public/brands/apps/anthropic.svg | 1 + ui/public/brands/apps/api-key-generic.svg | 1 + ui/public/brands/apps/asana.svg | 1 + ui/public/brands/apps/beehiiv.png | Bin 0 -> 180975 bytes ui/public/brands/apps/bitly.svg | 1 + ui/public/brands/apps/box.svg | 1 + ui/public/brands/apps/brex-dark.svg | 1 + ui/public/brands/apps/brex.svg | 1 + ui/public/brands/apps/candid.png | Bin 0 -> 23236 bytes ui/public/brands/apps/clickhouse.svg | 1 + ui/public/brands/apps/cloudflare.svg | 1 + ui/public/brands/apps/cloudinary-dark.svg | 1 + ui/public/brands/apps/cloudinary.svg | 1 + ui/public/brands/apps/coda.svg | 1 + ui/public/brands/apps/composio-dark.svg | 11 + ui/public/brands/apps/composio.svg | 16 + ui/public/brands/apps/context7-dark.svg | 8 + ui/public/brands/apps/context7.svg | 8 + ui/public/brands/apps/egnyte.svg | 1 + ui/public/brands/apps/embat.svg | 1 + ui/public/brands/apps/github-dark.svg | 1 + ui/public/brands/apps/github.svg | 1 + ui/public/brands/apps/gmail.svg | 1 + ui/public/brands/apps/google-calendar.svg | 1 + ui/public/brands/apps/google-chat.svg | 1 + ui/public/brands/apps/google-docs.svg | 1 + ui/public/brands/apps/google-drive.svg | 1 + ui/public/brands/apps/google-people.svg | 1 + ui/public/brands/apps/google-sheets.svg | 1 + ui/public/brands/apps/google-slides.svg | 1 + .../brands/apps/google-workspace-search.svg | 1 + ui/public/brands/apps/hugging-face.svg | 1 + ui/public/brands/apps/jira-dark.svg | 1 + ui/public/brands/apps/jira.svg | 1 + ui/public/brands/apps/kernel.svg | 3 + ui/public/brands/apps/linear.svg | 1 + ui/public/brands/apps/local-falcon.png | Bin 0 -> 16077 bytes ui/public/brands/apps/make-dark.svg | 1 + ui/public/brands/apps/make.svg | 1 + ui/public/brands/apps/manifest.json | 598 ++++++++++++++++++ ui/public/brands/apps/manufact.svg | 26 + ui/public/brands/apps/mem0.svg | 1 + ui/public/brands/apps/miro-dark.svg | 1 + ui/public/brands/apps/miro.svg | 1 + ui/public/brands/apps/mixpanel.svg | 1 + ui/public/brands/apps/netlify.svg | 1 + ui/public/brands/apps/notion-dark.svg | 1 + ui/public/brands/apps/notion.svg | 1 + ui/public/brands/apps/oauth-generic.svg | 1 + ui/public/brands/apps/oreilly.svg | 1 + ui/public/brands/apps/pagerduty.svg | 1 + ui/public/brands/apps/planetscale-dark.svg | 1 + ui/public/brands/apps/planetscale.svg | 1 + ui/public/brands/apps/posthog-dark.svg | 1 + ui/public/brands/apps/posthog.svg | 1 + ui/public/brands/apps/postman.svg | 1 + ui/public/brands/apps/razorpay-dark.svg | 1 + ui/public/brands/apps/razorpay.svg | 1 + ui/public/brands/apps/resend-dark.svg | 1 + ui/public/brands/apps/resend.svg | 1 + ui/public/brands/apps/sanity-dark.svg | 1 + ui/public/brands/apps/sanity.svg | 1 + ui/public/brands/apps/sentry-dark.svg | 1 + ui/public/brands/apps/sentry.svg | 1 + ui/public/brands/apps/shopify.svg | 5 + ui/public/brands/apps/similarweb-dark.svg | 1 + ui/public/brands/apps/similarweb.svg | 1 + ui/public/brands/apps/slack.png | Bin 0 -> 5253 bytes ui/public/brands/apps/stripe.svg | 1 + ui/public/brands/apps/supabase.svg | 1 + ui/public/brands/apps/ticket-tailor-dark.svg | 1 + ui/public/brands/apps/ticket-tailor.svg | 1 + ui/public/brands/apps/ticktick.svg | 1 + ui/public/brands/apps/todoist.svg | 1 + ui/public/brands/apps/vercel-dark.svg | 1 + ui/public/brands/apps/vercel.svg | 1 + ui/public/brands/apps/webflow.svg | 1 + ui/public/brands/apps/wix.svg | 1 + ui/public/brands/apps/xero.svg | 1 + ui/public/brands/apps/zapier.svg | 1 + .../components/AppConnectionSidebar.test.tsx | 79 +++ ui/src/components/AppConnectionSidebar.tsx | 25 +- ui/src/lib/app-brand-assets.test.ts | 52 ++ ui/src/lib/app-brand-assets.ts | 74 +++ ui/src/pages/apps/AppDetail.test.tsx | 52 ++ ui/src/pages/apps/AppDetail.tsx | 38 +- .../pages/apps/AppLogo.brand-assets.test.tsx | 227 +++++++ ui/src/pages/apps/AppLogo.tsx | 125 +++- ui/src/pages/apps/Connections.tsx | 12 +- ui/src/pages/apps/app-definition-display.ts | 8 +- 92 files changed, 1411 insertions(+), 26 deletions(-) create mode 100644 ui/public/brands/apps/airtable.svg create mode 100644 ui/public/brands/apps/anthropic-dark.svg create mode 100644 ui/public/brands/apps/anthropic.svg create mode 100644 ui/public/brands/apps/api-key-generic.svg create mode 100644 ui/public/brands/apps/asana.svg create mode 100644 ui/public/brands/apps/beehiiv.png create mode 100644 ui/public/brands/apps/bitly.svg create mode 100644 ui/public/brands/apps/box.svg create mode 100644 ui/public/brands/apps/brex-dark.svg create mode 100644 ui/public/brands/apps/brex.svg create mode 100644 ui/public/brands/apps/candid.png create mode 100644 ui/public/brands/apps/clickhouse.svg create mode 100644 ui/public/brands/apps/cloudflare.svg create mode 100644 ui/public/brands/apps/cloudinary-dark.svg create mode 100644 ui/public/brands/apps/cloudinary.svg create mode 100644 ui/public/brands/apps/coda.svg create mode 100644 ui/public/brands/apps/composio-dark.svg create mode 100644 ui/public/brands/apps/composio.svg create mode 100644 ui/public/brands/apps/context7-dark.svg create mode 100644 ui/public/brands/apps/context7.svg create mode 100644 ui/public/brands/apps/egnyte.svg create mode 100644 ui/public/brands/apps/embat.svg create mode 100644 ui/public/brands/apps/github-dark.svg create mode 100644 ui/public/brands/apps/github.svg create mode 100644 ui/public/brands/apps/gmail.svg create mode 100644 ui/public/brands/apps/google-calendar.svg create mode 100644 ui/public/brands/apps/google-chat.svg create mode 100644 ui/public/brands/apps/google-docs.svg create mode 100644 ui/public/brands/apps/google-drive.svg create mode 100644 ui/public/brands/apps/google-people.svg create mode 100644 ui/public/brands/apps/google-sheets.svg create mode 100644 ui/public/brands/apps/google-slides.svg create mode 100644 ui/public/brands/apps/google-workspace-search.svg create mode 100644 ui/public/brands/apps/hugging-face.svg create mode 100644 ui/public/brands/apps/jira-dark.svg create mode 100644 ui/public/brands/apps/jira.svg create mode 100644 ui/public/brands/apps/kernel.svg create mode 100644 ui/public/brands/apps/linear.svg create mode 100644 ui/public/brands/apps/local-falcon.png create mode 100644 ui/public/brands/apps/make-dark.svg create mode 100644 ui/public/brands/apps/make.svg create mode 100644 ui/public/brands/apps/manifest.json create mode 100644 ui/public/brands/apps/manufact.svg create mode 100644 ui/public/brands/apps/mem0.svg create mode 100644 ui/public/brands/apps/miro-dark.svg create mode 100644 ui/public/brands/apps/miro.svg create mode 100644 ui/public/brands/apps/mixpanel.svg create mode 100644 ui/public/brands/apps/netlify.svg create mode 100644 ui/public/brands/apps/notion-dark.svg create mode 100644 ui/public/brands/apps/notion.svg create mode 100644 ui/public/brands/apps/oauth-generic.svg create mode 100644 ui/public/brands/apps/oreilly.svg create mode 100644 ui/public/brands/apps/pagerduty.svg create mode 100644 ui/public/brands/apps/planetscale-dark.svg create mode 100644 ui/public/brands/apps/planetscale.svg create mode 100644 ui/public/brands/apps/posthog-dark.svg create mode 100644 ui/public/brands/apps/posthog.svg create mode 100644 ui/public/brands/apps/postman.svg create mode 100644 ui/public/brands/apps/razorpay-dark.svg create mode 100644 ui/public/brands/apps/razorpay.svg create mode 100644 ui/public/brands/apps/resend-dark.svg create mode 100644 ui/public/brands/apps/resend.svg create mode 100644 ui/public/brands/apps/sanity-dark.svg create mode 100644 ui/public/brands/apps/sanity.svg create mode 100644 ui/public/brands/apps/sentry-dark.svg create mode 100644 ui/public/brands/apps/sentry.svg create mode 100644 ui/public/brands/apps/shopify.svg create mode 100644 ui/public/brands/apps/similarweb-dark.svg create mode 100644 ui/public/brands/apps/similarweb.svg create mode 100644 ui/public/brands/apps/slack.png create mode 100644 ui/public/brands/apps/stripe.svg create mode 100644 ui/public/brands/apps/supabase.svg create mode 100644 ui/public/brands/apps/ticket-tailor-dark.svg create mode 100644 ui/public/brands/apps/ticket-tailor.svg create mode 100644 ui/public/brands/apps/ticktick.svg create mode 100644 ui/public/brands/apps/todoist.svg create mode 100644 ui/public/brands/apps/vercel-dark.svg create mode 100644 ui/public/brands/apps/vercel.svg create mode 100644 ui/public/brands/apps/webflow.svg create mode 100644 ui/public/brands/apps/wix.svg create mode 100644 ui/public/brands/apps/xero.svg create mode 100644 ui/public/brands/apps/zapier.svg create mode 100644 ui/src/lib/app-brand-assets.test.ts create mode 100644 ui/src/lib/app-brand-assets.ts create mode 100644 ui/src/pages/apps/AppLogo.brand-assets.test.tsx diff --git a/ui/public/brands/apps/airtable.svg b/ui/public/brands/apps/airtable.svg new file mode 100644 index 00000000000..90b5fda6945 --- /dev/null +++ b/ui/public/brands/apps/airtable.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/anthropic-dark.svg b/ui/public/brands/apps/anthropic-dark.svg new file mode 100644 index 00000000000..ab29cdd45eb --- /dev/null +++ b/ui/public/brands/apps/anthropic-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/anthropic.svg b/ui/public/brands/apps/anthropic.svg new file mode 100644 index 00000000000..1005c507d5c --- /dev/null +++ b/ui/public/brands/apps/anthropic.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/api-key-generic.svg b/ui/public/brands/apps/api-key-generic.svg new file mode 100644 index 00000000000..a45770d032a --- /dev/null +++ b/ui/public/brands/apps/api-key-generic.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/asana.svg b/ui/public/brands/apps/asana.svg new file mode 100644 index 00000000000..00986826191 --- /dev/null +++ b/ui/public/brands/apps/asana.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/beehiiv.png b/ui/public/brands/apps/beehiiv.png new file mode 100644 index 0000000000000000000000000000000000000000..e0cc05ddc8cbb7cfa1a608e56f2e21cadb3bbae1 GIT binary patch literal 180975 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

n^u}zh5egxWT-9Pk8Z0gxpQ@J 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 I diff --git a/ui/public/brands/apps/box.svg b/ui/public/brands/apps/box.svg new file mode 100644 index 00000000000..6dcd67bc0ce --- /dev/null +++ b/ui/public/brands/apps/box.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/brex-dark.svg b/ui/public/brands/apps/brex-dark.svg new file mode 100644 index 00000000000..0a022276214 --- /dev/null +++ b/ui/public/brands/apps/brex-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/brex.svg b/ui/public/brands/apps/brex.svg new file mode 100644 index 00000000000..81c87e4417a --- /dev/null +++ b/ui/public/brands/apps/brex.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/candid.png b/ui/public/brands/apps/candid.png new file mode 100644 index 0000000000000000000000000000000000000000..496d5363a17f24d3ee3393d61ea5cf030e23a017 GIT binary patch literal 23236 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 bF7B-N+9T%#t&Cv6Edm8um3sx!PyPNMf!#P) literal 0 HcmV?d00001 diff --git a/ui/public/brands/apps/clickhouse.svg b/ui/public/brands/apps/clickhouse.svg new file mode 100644 index 00000000000..c7482e7d266 --- /dev/null +++ b/ui/public/brands/apps/clickhouse.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/cloudflare.svg b/ui/public/brands/apps/cloudflare.svg new file mode 100644 index 00000000000..529f2825e7d --- /dev/null +++ b/ui/public/brands/apps/cloudflare.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/cloudinary-dark.svg b/ui/public/brands/apps/cloudinary-dark.svg new file mode 100644 index 00000000000..eeea7a390e6 --- /dev/null +++ b/ui/public/brands/apps/cloudinary-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/cloudinary.svg b/ui/public/brands/apps/cloudinary.svg new file mode 100644 index 00000000000..39ec51487fb --- /dev/null +++ b/ui/public/brands/apps/cloudinary.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/coda.svg b/ui/public/brands/apps/coda.svg new file mode 100644 index 00000000000..b5c2589b986 --- /dev/null +++ b/ui/public/brands/apps/coda.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/composio-dark.svg b/ui/public/brands/apps/composio-dark.svg new file mode 100644 index 00000000000..e3c8f00fc22 --- /dev/null +++ b/ui/public/brands/apps/composio-dark.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/ui/public/brands/apps/composio.svg b/ui/public/brands/apps/composio.svg new file mode 100644 index 00000000000..b87146ce636 --- /dev/null +++ b/ui/public/brands/apps/composio.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/ui/public/brands/apps/context7-dark.svg b/ui/public/brands/apps/context7-dark.svg new file mode 100644 index 00000000000..75c17baaeab --- /dev/null +++ b/ui/public/brands/apps/context7-dark.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/public/brands/apps/context7.svg b/ui/public/brands/apps/context7.svg new file mode 100644 index 00000000000..6d3ab948df7 --- /dev/null +++ b/ui/public/brands/apps/context7.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/public/brands/apps/egnyte.svg b/ui/public/brands/apps/egnyte.svg new file mode 100644 index 00000000000..d4e76a40700 --- /dev/null +++ b/ui/public/brands/apps/egnyte.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/embat.svg b/ui/public/brands/apps/embat.svg new file mode 100644 index 00000000000..9b7bd79b96a --- /dev/null +++ b/ui/public/brands/apps/embat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ui/public/brands/apps/github-dark.svg b/ui/public/brands/apps/github-dark.svg new file mode 100644 index 00000000000..2de8618d6f3 --- /dev/null +++ b/ui/public/brands/apps/github-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/github.svg b/ui/public/brands/apps/github.svg new file mode 100644 index 00000000000..437afbdfae7 --- /dev/null +++ b/ui/public/brands/apps/github.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/gmail.svg b/ui/public/brands/apps/gmail.svg new file mode 100644 index 00000000000..64649f7fdbe --- /dev/null +++ b/ui/public/brands/apps/gmail.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/google-calendar.svg b/ui/public/brands/apps/google-calendar.svg new file mode 100644 index 00000000000..40e1c882acb --- /dev/null +++ b/ui/public/brands/apps/google-calendar.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/google-chat.svg b/ui/public/brands/apps/google-chat.svg new file mode 100644 index 00000000000..fab3734f8dc --- /dev/null +++ b/ui/public/brands/apps/google-chat.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/google-docs.svg b/ui/public/brands/apps/google-docs.svg new file mode 100644 index 00000000000..1f387c3f117 --- /dev/null +++ b/ui/public/brands/apps/google-docs.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/google-drive.svg b/ui/public/brands/apps/google-drive.svg new file mode 100644 index 00000000000..ee7efc43acb --- /dev/null +++ b/ui/public/brands/apps/google-drive.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/google-people.svg b/ui/public/brands/apps/google-people.svg new file mode 100644 index 00000000000..78dbb3b3713 --- /dev/null +++ b/ui/public/brands/apps/google-people.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/google-sheets.svg b/ui/public/brands/apps/google-sheets.svg new file mode 100644 index 00000000000..23eb2c183bf --- /dev/null +++ b/ui/public/brands/apps/google-sheets.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/google-slides.svg b/ui/public/brands/apps/google-slides.svg new file mode 100644 index 00000000000..3938167c286 --- /dev/null +++ b/ui/public/brands/apps/google-slides.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/google-workspace-search.svg b/ui/public/brands/apps/google-workspace-search.svg new file mode 100644 index 00000000000..c085f1d3702 --- /dev/null +++ b/ui/public/brands/apps/google-workspace-search.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/hugging-face.svg b/ui/public/brands/apps/hugging-face.svg new file mode 100644 index 00000000000..cfd184ec0eb --- /dev/null +++ b/ui/public/brands/apps/hugging-face.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/jira-dark.svg b/ui/public/brands/apps/jira-dark.svg new file mode 100644 index 00000000000..35d5f3b627f --- /dev/null +++ b/ui/public/brands/apps/jira-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/jira.svg b/ui/public/brands/apps/jira.svg new file mode 100644 index 00000000000..ae1f9fb153c --- /dev/null +++ b/ui/public/brands/apps/jira.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/kernel.svg b/ui/public/brands/apps/kernel.svg new file mode 100644 index 00000000000..41188c4c1ac --- /dev/null +++ b/ui/public/brands/apps/kernel.svg @@ -0,0 +1,3 @@ + + + diff --git a/ui/public/brands/apps/linear.svg b/ui/public/brands/apps/linear.svg new file mode 100644 index 00000000000..0cf3aa7a44f --- /dev/null +++ b/ui/public/brands/apps/linear.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/local-falcon.png b/ui/public/brands/apps/local-falcon.png new file mode 100644 index 0000000000000000000000000000000000000000..293e58272e5ad39fedb73fea9e0b4e21d3328d13 GIT binary patch literal 16077 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 diff --git a/ui/public/brands/apps/make.svg b/ui/public/brands/apps/make.svg new file mode 100644 index 00000000000..b3e20989efd --- /dev/null +++ b/ui/public/brands/apps/make.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/manifest.json b/ui/public/brands/apps/manifest.json new file mode 100644 index 00000000000..9d2a6adc864 --- /dev/null +++ b/ui/public/brands/apps/manifest.json @@ -0,0 +1,598 @@ +{ + "schemaVersion": 1, + "verifiedAt": "2026-08-26", + "simpleIconsVersion": "16.28.0", + "providers": [ + { + "slug": "airtable", + "provider": "Airtable", + "catalogVisible": true, + "localAsset": "/brands/apps/airtable.svg", + "officialSourceUrl": "https://airtable.com/newsroom", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/airtable.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "anthropic", + "provider": "Anthropic", + "catalogVisible": false, + "localAsset": "/brands/apps/anthropic.svg", + "darkAsset": "/brands/apps/anthropic-dark.svg", + "officialSourceUrl": "https://www.anthropic.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/anthropic.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "asana", + "provider": "Asana", + "catalogVisible": true, + "localAsset": "/brands/apps/asana.svg", + "officialSourceUrl": "https://asana.com/brand", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/asana.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "beehiiv", + "provider": "beehiiv", + "catalogVisible": false, + "localAsset": "/brands/apps/beehiiv.png", + "officialSourceUrl": "https://www.beehiiv.com", + "upstreamAssetUrl": "https://beehiiv-marketing-images.s3.amazonaws.com/Redesign2023/favicon.png", + "assetType": "png", + "darkVariantRequired": false + }, + { + "slug": "bitly", + "provider": "Bitly", + "catalogVisible": false, + "localAsset": "/brands/apps/bitly.svg", + "officialSourceUrl": "https://bitly.com/pages/press", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/bitly.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "box", + "provider": "Box", + "catalogVisible": true, + "localAsset": "/brands/apps/box.svg", + "officialSourceUrl": "https://www.box.com/en-gb/about-us/press", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/box.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "brex", + "provider": "Brex", + "catalogVisible": false, + "localAsset": "/brands/apps/brex.svg", + "darkAsset": "/brands/apps/brex-dark.svg", + "officialSourceUrl": "https://www.brex.com/journal/press", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/brex.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "candid", + "provider": "Candid", + "catalogVisible": false, + "localAsset": "/brands/apps/candid.png", + "officialSourceUrl": "https://candid.org", + "upstreamAssetUrl": "https://cdn.candid.org/images/candid-logo/candid-logo-square.png", + "assetType": "png", + "darkVariantRequired": false + }, + { + "slug": "clickhouse", + "provider": "ClickHouse", + "catalogVisible": true, + "localAsset": "/brands/apps/clickhouse.svg", + "officialSourceUrl": "https://github.com/ClickHouse/ClickHouse/blob/12bd453a43819176d25ecf247033f6cb1af54beb/website/images/logo-clickhouse.svg", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/clickhouse.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "cloudflare", + "provider": "Cloudflare", + "catalogVisible": true, + "localAsset": "/brands/apps/cloudflare.svg", + "officialSourceUrl": "https://www.cloudflare.com/logo/", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/cloudflare.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "cloudinary", + "provider": "Cloudinary", + "catalogVisible": true, + "localAsset": "/brands/apps/cloudinary.svg", + "darkAsset": "/brands/apps/cloudinary-dark.svg", + "officialSourceUrl": "https://cloudinary.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/cloudinary.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "coda", + "provider": "Coda", + "catalogVisible": false, + "localAsset": "/brands/apps/coda.svg", + "officialSourceUrl": "https://coda.io", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/coda.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "composio", + "provider": "Composio", + "catalogVisible": false, + "localAsset": "/brands/apps/composio.svg", + "darkAsset": "/brands/apps/composio-dark.svg", + "officialSourceUrl": "https://composio.dev", + "upstreamAssetUrl": "https://composio.dev/logos/composio-black.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "context7", + "provider": "Context7", + "catalogVisible": false, + "localAsset": "/brands/apps/context7.svg", + "darkAsset": "/brands/apps/context7-dark.svg", + "officialSourceUrl": "https://context7.com", + "upstreamAssetUrl": "https://context7.com/_next/static/media/context7-logo-dark.2bd29d7e.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "egnyte", + "provider": "Egnyte", + "catalogVisible": false, + "localAsset": "/brands/apps/egnyte.svg", + "officialSourceUrl": "https://www.egnyte.com/presskit.html", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/egnyte.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "embat", + "provider": "Embat", + "catalogVisible": false, + "localAsset": "/brands/apps/embat.svg", + "officialSourceUrl": "https://www.embat.io", + "upstreamAssetUrl": "https://www.embat.io/favicon.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "github", + "provider": "GitHub", + "catalogVisible": false, + "localAsset": "/brands/apps/github.svg", + "darkAsset": "/brands/apps/github-dark.svg", + "officialSourceUrl": "https://github.com/logos", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/github.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "gmail", + "provider": "Gmail", + "catalogVisible": true, + "localAsset": "/brands/apps/gmail.svg", + "officialSourceUrl": "https://fonts.gstatic.com/s/i/productlogos/gmail_2020q4/v8/192px.svg", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/gmail.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "google-sheets", + "provider": "Google Sheets", + "catalogVisible": true, + "localAsset": "/brands/apps/google-sheets.svg", + "officialSourceUrl": "https://sheets.google.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/googlesheets.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "google-drive", "provider": "Google Drive", "catalogVisible": true, + "localAsset": "/brands/apps/google-drive.svg", "officialSourceUrl": "https://drive.google.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/googledrive.svg", + "assetType": "svg", "darkVariantRequired": false + }, + { + "slug": "google-docs", "provider": "Google Docs", "catalogVisible": true, + "localAsset": "/brands/apps/google-docs.svg", "officialSourceUrl": "https://docs.google.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/googledocs.svg", + "assetType": "svg", "darkVariantRequired": false + }, + { + "slug": "google-slides", "provider": "Google Slides", "catalogVisible": true, + "localAsset": "/brands/apps/google-slides.svg", "officialSourceUrl": "https://slides.google.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/googleslides.svg", + "assetType": "svg", "darkVariantRequired": false + }, + { + "slug": "google-calendar", "provider": "Google Calendar", "catalogVisible": true, + "localAsset": "/brands/apps/google-calendar.svg", "officialSourceUrl": "https://calendar.google.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/googlecalendar.svg", + "assetType": "svg", "darkVariantRequired": false + }, + { + "slug": "google-chat", "provider": "Google Chat", "catalogVisible": true, + "localAsset": "/brands/apps/google-chat.svg", "officialSourceUrl": "https://chat.google.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/googlechat.svg", + "assetType": "svg", "darkVariantRequired": false + }, + { + "slug": "google-people", "provider": "Google People", "catalogVisible": true, + "localAsset": "/brands/apps/google-people.svg", "officialSourceUrl": "https://contacts.google.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/googlecontacts.svg", + "assetType": "svg", "darkVariantRequired": false + }, + { + "slug": "google-workspace-search", "provider": "Google Workspace Search", "catalogVisible": true, + "localAsset": "/brands/apps/google-workspace-search.svg", "officialSourceUrl": "https://workspace.google.com", + "upstreamAssetUrl": "https://fonts.google.com/icons?selected=Material+Symbols+Outlined:search:FILL@0;wght@400;GRAD@0;opsz@24", + "assetType": "svg", "darkVariantRequired": false + }, + { + "slug": "hugging-face", + "provider": "Hugging Face", + "catalogVisible": true, + "localAsset": "/brands/apps/hugging-face.svg", + "officialSourceUrl": "https://huggingface.co/brand", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/huggingface.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "jira", + "provider": "Jira", + "catalogVisible": true, + "localAsset": "/brands/apps/jira.svg", + "darkAsset": "/brands/apps/jira-dark.svg", + "officialSourceUrl": "https://atlassian.design/resources/logo-library", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/jira.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "kernel", + "provider": "Kernel", + "catalogVisible": false, + "localAsset": "/brands/apps/kernel.svg", + "officialSourceUrl": "https://www.kernel.sh", + "upstreamAssetUrl": "https://www.kernel.sh/rebrand/logos/logo-kernel-square.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "linear", + "provider": "Linear", + "catalogVisible": true, + "localAsset": "/brands/apps/linear.svg", + "officialSourceUrl": "https://linear.app", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/linear.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "local-falcon", + "provider": "Local Falcon", + "catalogVisible": false, + "localAsset": "/brands/apps/local-falcon.png", + "officialSourceUrl": "https://www.localfalcon.com", + "upstreamAssetUrl": "https://www.localfalcon.com/uploads/ico/android-chrome-192x192.png", + "assetType": "png", + "darkVariantRequired": false + }, + { + "slug": "make", + "provider": "Make", + "catalogVisible": false, + "localAsset": "/brands/apps/make.svg", + "darkAsset": "/brands/apps/make-dark.svg", + "officialSourceUrl": "https://www.make.com/en/press", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/make.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "manufact", + "provider": "Manufact", + "catalogVisible": false, + "localAsset": "/brands/apps/manufact.svg", + "officialSourceUrl": "https://manufact.com", + "upstreamAssetUrl": "https://manufact.com/favicon.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "mem0", + "provider": "Mem0", + "catalogVisible": true, + "localAsset": "/brands/apps/mem0.svg", + "officialSourceUrl": "https://mem0.ai", + "upstreamAssetUrl": "https://framerusercontent.com/images/2ys67ADJdvcyGmQnhp8vKWSq8.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "miro", + "provider": "Miro", + "catalogVisible": true, + "localAsset": "/brands/apps/miro.svg", + "darkAsset": "/brands/apps/miro-dark.svg", + "officialSourceUrl": "https://miro.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/miro.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "mixpanel", + "provider": "Mixpanel", + "catalogVisible": true, + "localAsset": "/brands/apps/mixpanel.svg", + "officialSourceUrl": "https://mixpanel.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/mixpanel.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "netlify", + "provider": "Netlify", + "catalogVisible": true, + "localAsset": "/brands/apps/netlify.svg", + "officialSourceUrl": "https://www.netlify.com/press/", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/netlify.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "notion", + "provider": "Notion", + "catalogVisible": true, + "localAsset": "/brands/apps/notion.svg", + "darkAsset": "/brands/apps/notion-dark.svg", + "officialSourceUrl": "https://www.notion.so", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/notion.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "oreilly", + "provider": "O'Reilly", + "catalogVisible": false, + "localAsset": "/brands/apps/oreilly.svg", + "officialSourceUrl": "https://www.oreilly.com/about/logos/", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/oreilly.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "pagerduty", + "provider": "PagerDuty", + "catalogVisible": true, + "localAsset": "/brands/apps/pagerduty.svg", + "officialSourceUrl": "https://www.pagerduty.com/brand/", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/pagerduty.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "planetscale", + "provider": "PlanetScale", + "catalogVisible": false, + "localAsset": "/brands/apps/planetscale.svg", + "darkAsset": "/brands/apps/planetscale-dark.svg", + "officialSourceUrl": "https://planetscale.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/planetscale.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "posthog", + "provider": "PostHog", + "catalogVisible": true, + "localAsset": "/brands/apps/posthog.svg", + "darkAsset": "/brands/apps/posthog-dark.svg", + "officialSourceUrl": "https://posthog.com/handbook/company/brand-assets", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/posthog.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "postman", + "provider": "Postman", + "catalogVisible": true, + "localAsset": "/brands/apps/postman.svg", + "officialSourceUrl": "https://www.getpostman.com/resources/media-assets/", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/postman.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "razorpay", + "provider": "Razorpay", + "catalogVisible": false, + "localAsset": "/brands/apps/razorpay.svg", + "darkAsset": "/brands/apps/razorpay-dark.svg", + "officialSourceUrl": "https://razorpay.com/newsroom/brand-assets/", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/razorpay.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "resend", + "provider": "Resend", + "catalogVisible": true, + "localAsset": "/brands/apps/resend.svg", + "darkAsset": "/brands/apps/resend-dark.svg", + "officialSourceUrl": "https://resend.com/brand", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/resend.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "sanity", + "provider": "Sanity", + "catalogVisible": false, + "localAsset": "/brands/apps/sanity.svg", + "darkAsset": "/brands/apps/sanity-dark.svg", + "officialSourceUrl": "https://github.com/sanity-io/logos/blob/e298a1ac2757c83910fe08b496a115bc9aef06bd/src/sanityMonogram.tsx", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/sanity.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "sentry", + "provider": "Sentry", + "catalogVisible": true, + "localAsset": "/brands/apps/sentry.svg", + "darkAsset": "/brands/apps/sentry-dark.svg", + "officialSourceUrl": "https://sentry.io/branding/", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/sentry.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "shopify", + "provider": "Shopify", + "catalogVisible": true, + "localAsset": "/brands/apps/shopify.svg", + "officialSourceUrl": "https://www.shopify.com/brand-assets", + "upstreamAssetUrl": "https://cdn.shopify.com/static/brand-assets/shopify-shopping-bag.zip", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "similarweb", + "provider": "Similarweb", + "catalogVisible": false, + "localAsset": "/brands/apps/similarweb.svg", + "darkAsset": "/brands/apps/similarweb-dark.svg", + "officialSourceUrl": "https://www.similarweb.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/similarweb.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "slack", + "provider": "Slack", + "catalogVisible": false, + "localAsset": "/brands/apps/slack.png", + "officialSourceUrl": "https://slack.com/brand-guidelines", + "upstreamAssetUrl": "https://a.slack-edge.com/80588/marketing/img/meta/slack_hash_256.png", + "assetType": "png", + "darkVariantRequired": false + }, + { + "slug": "stripe", + "provider": "Stripe", + "catalogVisible": true, + "localAsset": "/brands/apps/stripe.svg", + "officialSourceUrl": "https://stripe.com/newsroom/information", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/stripe.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "supabase", + "provider": "Supabase", + "catalogVisible": true, + "localAsset": "/brands/apps/supabase.svg", + "officialSourceUrl": "https://github.com/supabase/supabase/blob/4031a7549f5d46da7bc79c01d56be4177dc7c114/packages/common/assets/images/supabase-logo-wordmark--light.svg", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/supabase.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "ticket-tailor", + "provider": "Ticket Tailor", + "catalogVisible": false, + "localAsset": "/brands/apps/ticket-tailor.svg", + "darkAsset": "/brands/apps/ticket-tailor-dark.svg", + "officialSourceUrl": "https://www.tickettailor.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/tickettailor.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "ticktick", + "provider": "TickTick", + "catalogVisible": false, + "localAsset": "/brands/apps/ticktick.svg", + "officialSourceUrl": "https://ticktick.com", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/ticktick.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "todoist", + "provider": "Todoist", + "catalogVisible": true, + "localAsset": "/brands/apps/todoist.svg", + "officialSourceUrl": "https://doist.com/press", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/todoist.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "vercel", + "provider": "Vercel", + "catalogVisible": false, + "localAsset": "/brands/apps/vercel.svg", + "darkAsset": "/brands/apps/vercel-dark.svg", + "officialSourceUrl": "https://vercel.com/geist/brands", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/vercel.svg", + "assetType": "svg", + "darkVariantRequired": true + }, + { + "slug": "webflow", + "provider": "Webflow", + "catalogVisible": true, + "localAsset": "/brands/apps/webflow.svg", + "officialSourceUrl": "https://brand-at.webflow.io/resources#logos", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/webflow.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "wix", + "provider": "Wix", + "catalogVisible": true, + "localAsset": "/brands/apps/wix.svg", + "officialSourceUrl": "https://www.wix.com/about/design-assets", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/wix.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "xero", + "provider": "Xero", + "catalogVisible": false, + "localAsset": "/brands/apps/xero.svg", + "officialSourceUrl": "https://www.xero.com/uk/about/media/downloads", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/xero.svg", + "assetType": "svg", + "darkVariantRequired": false + }, + { + "slug": "zapier", + "provider": "Zapier", + "catalogVisible": true, + "localAsset": "/brands/apps/zapier.svg", + "officialSourceUrl": "https://www.figma.com/file/NQFxTCE5pGR3dHZt0DkOyy/Zapier-Brand-Guidelines-%5BExternal%5D?type=design&node-id=101-9701&mode=design", + "upstreamAssetUrl": "https://github.com/simple-icons/simple-icons/blob/16.28.0/icons/zapier.svg", + "assetType": "svg", + "darkVariantRequired": false + } + ] +} diff --git a/ui/public/brands/apps/manufact.svg b/ui/public/brands/apps/manufact.svg new file mode 100644 index 00000000000..9213e86db48 --- /dev/null +++ b/ui/public/brands/apps/manufact.svg @@ -0,0 +1,26 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ui/public/brands/apps/mem0.svg b/ui/public/brands/apps/mem0.svg new file mode 100644 index 00000000000..9a3a9aa247e --- /dev/null +++ b/ui/public/brands/apps/mem0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ui/public/brands/apps/miro-dark.svg b/ui/public/brands/apps/miro-dark.svg new file mode 100644 index 00000000000..7d688980793 --- /dev/null +++ b/ui/public/brands/apps/miro-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/miro.svg b/ui/public/brands/apps/miro.svg new file mode 100644 index 00000000000..bbcc06076c8 --- /dev/null +++ b/ui/public/brands/apps/miro.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/mixpanel.svg b/ui/public/brands/apps/mixpanel.svg new file mode 100644 index 00000000000..a844f19d480 --- /dev/null +++ b/ui/public/brands/apps/mixpanel.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/netlify.svg b/ui/public/brands/apps/netlify.svg new file mode 100644 index 00000000000..2712f080a20 --- /dev/null +++ b/ui/public/brands/apps/netlify.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/notion-dark.svg b/ui/public/brands/apps/notion-dark.svg new file mode 100644 index 00000000000..33a78c382f6 --- /dev/null +++ b/ui/public/brands/apps/notion-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/notion.svg b/ui/public/brands/apps/notion.svg new file mode 100644 index 00000000000..89a61bad41c --- /dev/null +++ b/ui/public/brands/apps/notion.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/oauth-generic.svg b/ui/public/brands/apps/oauth-generic.svg new file mode 100644 index 00000000000..169b2f8b9a4 --- /dev/null +++ b/ui/public/brands/apps/oauth-generic.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/oreilly.svg b/ui/public/brands/apps/oreilly.svg new file mode 100644 index 00000000000..63defbc36ea --- /dev/null +++ b/ui/public/brands/apps/oreilly.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/pagerduty.svg b/ui/public/brands/apps/pagerduty.svg new file mode 100644 index 00000000000..b121330ef32 --- /dev/null +++ b/ui/public/brands/apps/pagerduty.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/planetscale-dark.svg b/ui/public/brands/apps/planetscale-dark.svg new file mode 100644 index 00000000000..1d4dd3b81ec --- /dev/null +++ b/ui/public/brands/apps/planetscale-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/planetscale.svg b/ui/public/brands/apps/planetscale.svg new file mode 100644 index 00000000000..b9ca6f28964 --- /dev/null +++ b/ui/public/brands/apps/planetscale.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/posthog-dark.svg b/ui/public/brands/apps/posthog-dark.svg new file mode 100644 index 00000000000..4601419c2be --- /dev/null +++ b/ui/public/brands/apps/posthog-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/posthog.svg b/ui/public/brands/apps/posthog.svg new file mode 100644 index 00000000000..905bebb92bd --- /dev/null +++ b/ui/public/brands/apps/posthog.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/postman.svg b/ui/public/brands/apps/postman.svg new file mode 100644 index 00000000000..4586aec24b9 --- /dev/null +++ b/ui/public/brands/apps/postman.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/razorpay-dark.svg b/ui/public/brands/apps/razorpay-dark.svg new file mode 100644 index 00000000000..3d779a50c8f --- /dev/null +++ b/ui/public/brands/apps/razorpay-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/razorpay.svg b/ui/public/brands/apps/razorpay.svg new file mode 100644 index 00000000000..fa429869025 --- /dev/null +++ b/ui/public/brands/apps/razorpay.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/resend-dark.svg b/ui/public/brands/apps/resend-dark.svg new file mode 100644 index 00000000000..24e46f97418 --- /dev/null +++ b/ui/public/brands/apps/resend-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/resend.svg b/ui/public/brands/apps/resend.svg new file mode 100644 index 00000000000..8e56beafdc0 --- /dev/null +++ b/ui/public/brands/apps/resend.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/sanity-dark.svg b/ui/public/brands/apps/sanity-dark.svg new file mode 100644 index 00000000000..1d2130c06a7 --- /dev/null +++ b/ui/public/brands/apps/sanity-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/sanity.svg b/ui/public/brands/apps/sanity.svg new file mode 100644 index 00000000000..90ebbb84067 --- /dev/null +++ b/ui/public/brands/apps/sanity.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/sentry-dark.svg b/ui/public/brands/apps/sentry-dark.svg new file mode 100644 index 00000000000..b1b01b5ee71 --- /dev/null +++ b/ui/public/brands/apps/sentry-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/sentry.svg b/ui/public/brands/apps/sentry.svg new file mode 100644 index 00000000000..c1089a106e2 --- /dev/null +++ b/ui/public/brands/apps/sentry.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/shopify.svg b/ui/public/brands/apps/shopify.svg new file mode 100644 index 00000000000..93bb6553ee3 --- /dev/null +++ b/ui/public/brands/apps/shopify.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/public/brands/apps/similarweb-dark.svg b/ui/public/brands/apps/similarweb-dark.svg new file mode 100644 index 00000000000..1088266f79f --- /dev/null +++ b/ui/public/brands/apps/similarweb-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/similarweb.svg b/ui/public/brands/apps/similarweb.svg new file mode 100644 index 00000000000..1ad6287c689 --- /dev/null +++ b/ui/public/brands/apps/similarweb.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/slack.png b/ui/public/brands/apps/slack.png new file mode 100644 index 0000000000000000000000000000000000000000..a045a159f712568ed197bc781ad0bc7ad2129b8d GIT binary patch literal 5253 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 BTY&%o literal 0 HcmV?d00001 diff --git a/ui/public/brands/apps/stripe.svg b/ui/public/brands/apps/stripe.svg new file mode 100644 index 00000000000..61b97007ff2 --- /dev/null +++ b/ui/public/brands/apps/stripe.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/supabase.svg b/ui/public/brands/apps/supabase.svg new file mode 100644 index 00000000000..f3e85e9a435 --- /dev/null +++ b/ui/public/brands/apps/supabase.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/ticket-tailor-dark.svg b/ui/public/brands/apps/ticket-tailor-dark.svg new file mode 100644 index 00000000000..d1ea0a846f9 --- /dev/null +++ b/ui/public/brands/apps/ticket-tailor-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/ticket-tailor.svg b/ui/public/brands/apps/ticket-tailor.svg new file mode 100644 index 00000000000..d89f50105e1 --- /dev/null +++ b/ui/public/brands/apps/ticket-tailor.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/ticktick.svg b/ui/public/brands/apps/ticktick.svg new file mode 100644 index 00000000000..ecb416de19d --- /dev/null +++ b/ui/public/brands/apps/ticktick.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/todoist.svg b/ui/public/brands/apps/todoist.svg new file mode 100644 index 00000000000..79bf5e3c7e6 --- /dev/null +++ b/ui/public/brands/apps/todoist.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/vercel-dark.svg b/ui/public/brands/apps/vercel-dark.svg new file mode 100644 index 00000000000..7db29537ca2 --- /dev/null +++ b/ui/public/brands/apps/vercel-dark.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/vercel.svg b/ui/public/brands/apps/vercel.svg new file mode 100644 index 00000000000..28526d84560 --- /dev/null +++ b/ui/public/brands/apps/vercel.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/webflow.svg b/ui/public/brands/apps/webflow.svg new file mode 100644 index 00000000000..5a49553b0dc --- /dev/null +++ b/ui/public/brands/apps/webflow.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/wix.svg b/ui/public/brands/apps/wix.svg new file mode 100644 index 00000000000..a1f53bce053 --- /dev/null +++ b/ui/public/brands/apps/wix.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/xero.svg b/ui/public/brands/apps/xero.svg new file mode 100644 index 00000000000..54c3620478c --- /dev/null +++ b/ui/public/brands/apps/xero.svg @@ -0,0 +1 @@ + diff --git a/ui/public/brands/apps/zapier.svg b/ui/public/brands/apps/zapier.svg new file mode 100644 index 00000000000..368875a42e7 --- /dev/null +++ b/ui/public/brands/apps/zapier.svg @@ -0,0 +1 @@ + diff --git a/ui/src/components/AppConnectionSidebar.test.tsx b/ui/src/components/AppConnectionSidebar.test.tsx index bf3a44a59df..e243a70ddef 100644 --- a/ui/src/components/AppConnectionSidebar.test.tsx +++ b/ui/src/components/AppConnectionSidebar.test.tsx @@ -51,6 +51,27 @@ vi.mock("@/api/tools", () => ({ toolsApi: mockToolsApi, })); +vi.mock("@/pages/apps/AppLogo", () => ({ + AppLogo: ({ + name, + brandKey, + logoUrl, + allowRemoteFallback, + }: { + name: string; + brandKey?: string | null; + logoUrl?: string | null; + allowRemoteFallback?: boolean; + }) => ( + + ), +})); + vi.mock("./SidebarNavItem", () => ({ SidebarNavItem: (props: { to: string; @@ -93,6 +114,7 @@ async function flushReact() { function connection(overrides: Record = {}) { return { id: "conn-1", + applicationId: "app-1", name: "GitHub", transport: "mcp_remote", status: "active", @@ -185,6 +207,63 @@ describe("AppConnectionSidebar", () => { expect(container.querySelector('[data-to="/apps/conn-1/setup"]')?.getAttribute("data-active")).toBe("false"); }); + it("uses the application key for a customized connection display name", async () => { + mockToolsApi.getConnection.mockResolvedValue(connection({ name: "Dotta's GitHub" })); + + await renderSidebar(); + + expect(container.querySelector("[data-app-logo]")?.getAttribute("data-brand-key")).toBe("github"); + expect(container.querySelector("[data-app-logo]")?.getAttribute("data-allow-remote-fallback")).toBe("true"); + }); + + it("keeps remote fallback disabled until the stable application key resolves", async () => { + let resolveApplications!: (value: { + applications: Array<{ id: string; applicationKey: string; name: string; status: string }>; + }) => void; + mockToolsApi.getConnection.mockResolvedValue(connection({ name: "Dotta's source control" })); + mockToolsApi.listApplications.mockReturnValueOnce(new Promise((resolve) => { + resolveApplications = resolve; + })); + + await renderSidebar(); + + expect(container.querySelector("[data-app-logo]")?.getAttribute("data-brand-key")).toBe(""); + expect(container.querySelector("[data-app-logo]")?.getAttribute("data-allow-remote-fallback")).toBe("false"); + + await act(async () => { + resolveApplications({ + applications: [{ id: "app-1", applicationKey: "github", name: "GitHub", status: "active" }], + }); + }); + await flushReact(); + + expect(container.querySelector("[data-app-logo]")?.getAttribute("data-brand-key")).toBe("github"); + expect(container.querySelector("[data-app-logo]")?.getAttribute("data-allow-remote-fallback")).toBe("true"); + }); + + it("allows remote fallback after application identity lookup fails", async () => { + mockToolsApi.listApplications.mockRejectedValueOnce(new Error("Application lookup unavailable")); + + await renderSidebar(); + + expect(container.querySelector("[data-app-logo]")?.getAttribute("data-allow-remote-fallback")).toBe("true"); + }); + + it("keeps a customized connection logo when application identity lookup fails", async () => { + mockToolsApi.getConnection.mockResolvedValue(connection({ + name: "Dotta's source control", + config: { sourceTemplateKey: "github" }, + })); + mockToolsApi.listApplications.mockRejectedValueOnce(new Error("Application lookup unavailable")); + + await renderSidebar(); + + const logo = container.querySelector("[data-app-logo]"); + expect(logo?.getAttribute("data-brand-key")).toBe("github"); + expect(logo?.getAttribute("data-logo-url")).toBe("https://example.test/github.png"); + expect(logo?.getAttribute("data-allow-remote-fallback")).toBe("true"); + }); + it("renders application-mode tabs under the not-connected app route", async () => { currentPath.value = "/apps/app/app-1/review"; diff --git a/ui/src/components/AppConnectionSidebar.tsx b/ui/src/components/AppConnectionSidebar.tsx index dddb6fc9002..5189f7a2ddf 100644 --- a/ui/src/components/AppConnectionSidebar.tsx +++ b/ui/src/components/AppConnectionSidebar.tsx @@ -18,6 +18,8 @@ import { import { isComposioBrokerConnection } from "@/pages/apps/composio-services"; import { AppLogo } from "@/pages/apps/AppLogo"; import { + appApplicationSourceSlug, + appConnectionSourceSlug, appDefinitionLogoUrl, appDefinitionName, appDefinitionSlug, @@ -41,7 +43,7 @@ export function AppDetailSidebar(props: AppDetailSidebarProps) { const applicationsQuery = useQuery({ queryKey: queryKeys.tools.applications(selectedCompanyId ?? "__none__"), queryFn: () => toolsApi.listApplications(selectedCompanyId!), - enabled: props.kind === "application" && !!selectedCompanyId, + enabled: !!selectedCompanyId, }); const connectionsQuery = useQuery({ queryKey: queryKeys.tools.connections(selectedCompanyId ?? "__none__"), @@ -62,9 +64,8 @@ export function AppDetailSidebar(props: AppDetailSidebarProps) { const connection = connectionQuery.data; const isBroker = isComposioBrokerConnection(connection); - const application = props.kind === "application" - ? (applicationsQuery.data?.applications ?? []).find((app) => app.id === props.applicationId) - : null; + const applicationId = props.kind === "application" ? props.applicationId : connection?.applicationId; + const application = (applicationsQuery.data?.applications ?? []).find((app) => app.id === applicationId) ?? null; const appConnections = props.kind === "application" ? (connectionsQuery.data?.connections ?? []).filter((candidate) => candidate.applicationId === props.applicationId) : []; @@ -75,6 +76,9 @@ export function AppDetailSidebar(props: AppDetailSidebarProps) { connection, application ?? undefined, ); + const brandKey = appApplicationSourceSlug(application) + ?? appConnectionSourceSlug(connection) + ?? (logoEntry ? appDefinitionSlug(logoEntry) : null); const reviewConnectionId = connection?.id ?? previousConnection?.id ?? null; const attentionItem = reviewConnectionId ? attentionQuery.data?.apps.find((app) => app.connection.id === reviewConnectionId) @@ -97,7 +101,13 @@ export function AppDetailSidebar(props: AppDetailSidebarProps) { All apps

- + {appName}
@@ -142,8 +152,9 @@ function galleryEntryFor( connection: ToolConnection | undefined, application: ToolApplication | undefined, ): AppGalleryDisplayEntry | null { - if (application?.applicationKey) { - const keyed = apps.find((app) => appDefinitionSlug(app) === application.applicationKey); + const sourceSlug = appApplicationSourceSlug(application) ?? appConnectionSourceSlug(connection); + if (sourceSlug) { + const keyed = apps.find((app) => appDefinitionSlug(app) === sourceSlug); if (keyed) return keyed; } const name = (connection?.name ?? application?.name)?.toLowerCase(); diff --git a/ui/src/lib/app-brand-assets.test.ts b/ui/src/lib/app-brand-assets.test.ts new file mode 100644 index 00000000000..0944ed54e98 --- /dev/null +++ b/ui/src/lib/app-brand-assets.test.ts @@ -0,0 +1,52 @@ +import { existsSync, readFileSync, statSync } from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import { describe, expect, it } from "vitest"; + +type BrandProvider = { + slug: string; + localAsset: string; + darkAsset?: string; + assetType: "svg" | "png"; + darkVariantRequired: boolean; +}; + +type BrandManifest = { + schemaVersion: number; + providers: BrandProvider[]; +}; + +const uiRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../.."); +const manifestPath = path.join(uiRoot, "public", "brands", "apps", "manifest.json"); +const manifest = JSON.parse(readFileSync(manifestPath, "utf8")) as BrandManifest; + +function publicAssetPath(asset: string): string { + expect(asset).toMatch(/^\/brands\/apps\/[a-z0-9-]+\.(svg|png)$/); + return path.join(uiRoot, "public", asset.slice(1)); +} + +describe("local app brand assets", () => { + it("maps every provider to a unique local asset that exists", () => { + expect(manifest.schemaVersion).toBe(1); + expect(manifest.providers.length).toBeGreaterThan(50); + expect(new Set(manifest.providers.map((provider) => provider.slug)).size).toBe( + manifest.providers.length, + ); + + for (const provider of manifest.providers) { + const assetPath = publicAssetPath(provider.localAsset); + expect(existsSync(assetPath), `${provider.slug} local asset should exist`).toBe(true); + expect(statSync(assetPath).isFile(), `${provider.slug} local asset should be a file`).toBe(true); + expect(path.extname(assetPath)).toBe(`.${provider.assetType}`); + } + }); + + it("ships each required dark-theme variant", () => { + for (const provider of manifest.providers.filter((entry) => entry.darkVariantRequired)) { + expect(provider.darkAsset, `${provider.slug} should declare a dark asset`).toBeTruthy(); + const assetPath = publicAssetPath(provider.darkAsset!); + expect(existsSync(assetPath), `${provider.slug} dark asset should exist`).toBe(true); + expect(statSync(assetPath).isFile(), `${provider.slug} dark asset should be a file`).toBe(true); + } + }); +}); diff --git a/ui/src/lib/app-brand-assets.ts b/ui/src/lib/app-brand-assets.ts new file mode 100644 index 00000000000..3e967b64e49 --- /dev/null +++ b/ui/src/lib/app-brand-assets.ts @@ -0,0 +1,74 @@ +export type AppBrandManifestProvider = { + slug: string; + provider: string; + localAsset: string; + darkAsset?: string; +}; + +export type AppBrandManifest = { + schemaVersion: number; + providers: AppBrandManifestProvider[]; +}; + +export type LocalAppBrandAssets = { + light: string; + dark?: string; +}; + +let manifestPromise: Promise | null = null; + +function normalizedProviderKey(value: string): string { + return value + .trim() + .toLowerCase() + .replace(/&/g, "and") + .replace(/[^a-z0-9]+/g, "-") + .replace(/^-+|-+$/g, ""); +} + +function isManifest(value: unknown): value is AppBrandManifest { + if (!value || typeof value !== "object") return false; + const candidate = value as Partial; + return candidate.schemaVersion === 1 && Array.isArray(candidate.providers); +} + +async function loadManifest(): Promise { + if (!manifestPromise) { + manifestPromise = fetch("/brands/apps/manifest.json", { credentials: "same-origin" }) + .then(async (response) => { + if (!response.ok) throw new Error(`App brand manifest request failed (${response.status})`); + const value: unknown = await response.json(); + if (!isManifest(value)) throw new Error("App brand manifest is invalid"); + return value; + }) + .catch((error) => { + manifestPromise = null; + throw error; + }); + } + return manifestPromise; +} + +export function resolveLocalAppBrandAssets( + manifest: AppBrandManifest, + providerName: string, +): LocalAppBrandAssets | null { + const key = normalizedProviderKey(providerName); + if (!key) return null; + const provider = manifest.providers.find((candidate) => + candidate.slug === key || normalizedProviderKey(candidate.provider) === key, + ); + if (!provider || typeof provider.localAsset !== "string" || !provider.localAsset) return null; + return { + light: provider.localAsset, + ...(typeof provider.darkAsset === "string" && provider.darkAsset ? { dark: provider.darkAsset } : {}), + }; +} + +export async function loadLocalAppBrandAssets(providerName: string): Promise { + return resolveLocalAppBrandAssets(await loadManifest(), providerName); +} + +export function resetAppBrandManifestCacheForTests() { + manifestPromise = null; +} diff --git a/ui/src/pages/apps/AppDetail.test.tsx b/ui/src/pages/apps/AppDetail.test.tsx index e1d8bebf1ac..b02d113bbe9 100644 --- a/ui/src/pages/apps/AppDetail.test.tsx +++ b/ui/src/pages/apps/AppDetail.test.tsx @@ -10,6 +10,7 @@ import { APP_TABS } from "./app-tabs"; const getConnectionMock = vi.hoisted(() => vi.fn()); const getConnectionInstallsMock = vi.hoisted(() => vi.fn()); +const listApplicationsMock = vi.hoisted(() => vi.fn()); const listGalleryMock = vi.hoisted(() => vi.fn()); const listConnectionsMock = vi.hoisted(() => vi.fn()); const listCatalogMock = vi.hoisted(() => vi.fn()); @@ -40,6 +41,7 @@ vi.mock("@/api/tools", () => ({ toolsApi: { getConnection: (connectionId: string) => getConnectionMock(connectionId), getConnectionInstalls: (connectionId: string) => getConnectionInstallsMock(connectionId), + listApplications: (companyId: string) => listApplicationsMock(companyId), listGallery: (companyId: string) => listGalleryMock(companyId), listConnections: (companyId: string) => listConnectionsMock(companyId), listCatalog: (connectionId: string) => listCatalogMock(connectionId), @@ -76,6 +78,27 @@ vi.mock("@/api/tools", () => ({ }, })); +vi.mock("./AppLogo", () => ({ + AppLogo: ({ + name, + brandKey, + logoUrl, + allowRemoteFallback, + }: { + name: string; + brandKey?: string | null; + logoUrl?: string | null; + allowRemoteFallback?: boolean; + }) => ( + + ), +})); + vi.mock("@/api/access", () => ({ accessApi: { listUserDirectory: (companyId: string) => listUserDirectoryMock(companyId), @@ -267,6 +290,9 @@ describe("AppDetail", () => { mockSearchParams.value = new URLSearchParams(); getConnectionMock.mockResolvedValue(connection()); getConnectionInstallsMock.mockResolvedValue({ connectionId: "conn-1", installs: [] }); + listApplicationsMock.mockResolvedValue({ + applications: [{ id: "app-1", applicationKey: "github", name: "GitHub", status: "active" }], + }); listConnectionsMock.mockResolvedValue({ connections: [] }); listConnectionGrantsMock.mockResolvedValue({ connection: { id: "conn-1", uid: "conn-1" }, @@ -408,6 +434,32 @@ describe("AppDetail", () => { expect(updateConnectionMock).toHaveBeenCalledWith("conn-1", { enabled: false }); }); + it("allows the gallery logo fallback after application identity lookup fails", async () => { + listApplicationsMock.mockRejectedValueOnce(new Error("Application lookup unavailable")); + + await renderAppDetail(); + + expect(container.querySelector("[data-app-logo]")?.getAttribute("data-allow-remote-fallback")).toBe("true"); + }); + + it("keeps a customized connection logo after application identity lookup fails", async () => { + getConnectionMock.mockResolvedValue(connection({ + name: "Dotta's source control", + config: { + url: "https://github.example/mcp", + sourceTemplateKey: "github", + }, + })); + listApplicationsMock.mockRejectedValueOnce(new Error("Application lookup unavailable")); + + await renderAppDetail(); + + const logo = container.querySelector("[data-app-logo]"); + expect(logo?.getAttribute("data-brand-key")).toBe("github"); + expect(logo?.getAttribute("data-logo-url")).toBe("https://example.com/github.png"); + expect(logo?.getAttribute("data-allow-remote-fallback")).toBe("true"); + }); + it("keeps the unverified-server marker on URL-only connection details", async () => { getConnectionMock.mockResolvedValue( connection({ diff --git a/ui/src/pages/apps/AppDetail.tsx b/ui/src/pages/apps/AppDetail.tsx index d0f569cc26d..ab5c7b25d1a 100644 --- a/ui/src/pages/apps/AppDetail.tsx +++ b/ui/src/pages/apps/AppDetail.tsx @@ -2,6 +2,7 @@ import { useEffect, useMemo, useRef, useState } from "react"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { Check, Loader2, Pencil } from "lucide-react"; import type { + ToolApplication, ToolConnection, ToolPolicy, ToolProfileWithDetails, @@ -31,6 +32,8 @@ import { cn } from "@/lib/utils"; import { AppLogo } from "./AppLogo"; import { UnverifiedServerBadge } from "./UnverifiedServerBadge"; import { + appApplicationSourceSlug, + appConnectionSourceSlug, appDefinitionLogoUrl, appDefinitionName, appDefinitionSlug, @@ -85,6 +88,11 @@ export function AppDetail() { queryFn: () => toolsApi.listConnections(selectedCompanyId!), enabled: !!selectedCompanyId && activeTab === "setup", }); + const applicationsQuery = useQuery({ + queryKey: queryKeys.tools.applications(selectedCompanyId ?? "__none__"), + queryFn: () => toolsApi.listApplications(selectedCompanyId!), + enabled: !!selectedCompanyId && !!activeTab, + }); const installsQuery = useQuery({ queryKey: queryKeys.tools.connectionInstalls(connectionId), queryFn: () => toolsApi.getConnectionInstalls(connectionId), @@ -143,15 +151,21 @@ export function AppDetail() { }); const connection = connectionQuery.data; + const application = connection + ? (applicationsQuery.data?.applications ?? []).find((candidate) => candidate.id === connection.applicationId) + : undefined; const composioChildConnectionCount = (connectionsQuery.data?.connections ?? []).filter( (candidate) => candidate.status !== "archived" && candidate.config?.provider === "composio" && candidate.config?.parentConnectionId === connectionId, ).length; const logoEntry = useMemo( - () => galleryEntryFor((galleryQuery.data?.apps ?? []) as AppGalleryDisplayEntry[], connection), - [galleryQuery.data, connection], + () => galleryEntryFor((galleryQuery.data?.apps ?? []) as AppGalleryDisplayEntry[], connection, application), + [galleryQuery.data, connection, application], ); + const brandKey = appApplicationSourceSlug(application) + ?? appConnectionSourceSlug(connection) + ?? (logoEntry ? appDefinitionSlug(logoEntry) : null); const userProfileById = useMemo( () => buildCompanyUserProfileMap(userDirectoryQuery.data?.users), [userDirectoryQuery.data], @@ -579,6 +593,8 @@ export function AppDetail() { appName={appName} connection={connection} logoEntry={logoEntry} + brandKey={brandKey} + allowRemoteLogo={!applicationsQuery.isPending} status={status} actionCount={actionCount} owner={owner} @@ -750,6 +766,8 @@ function AppDetailHeader({ appName, connection, logoEntry, + brandKey, + allowRemoteLogo, status, actionCount, owner, @@ -764,6 +782,8 @@ function AppDetailHeader({ appName: string; connection: ToolConnection; logoEntry: AppGalleryDisplayEntry | null; + brandKey: string | null; + allowRemoteLogo: boolean; status: StatusInfo; actionCount: number | null; owner: ConnectionOwnerProfile | null; @@ -781,7 +801,13 @@ function AppDetailHeader({ return (
- +
{renaming ? (
appDefinitionSlug(app) === sourceSlug); + if (keyed) return keyed; + } const name = connection.name.toLowerCase(); return apps.find((app) => appDefinitionName(app).toLowerCase() === name) ?? apps.find((app) => appDefinitionSlug(app) === name) ?? diff --git a/ui/src/pages/apps/AppLogo.brand-assets.test.tsx b/ui/src/pages/apps/AppLogo.brand-assets.test.tsx new file mode 100644 index 00000000000..09ea0f6f899 --- /dev/null +++ b/ui/src/pages/apps/AppLogo.brand-assets.test.tsx @@ -0,0 +1,227 @@ +// @vitest-environment jsdom + +import { act } from "react"; +import { createRoot } from "react-dom/client"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { resetAppBrandManifestCacheForTests } from "@/lib/app-brand-assets"; +import { AppLogo } from "./AppLogo"; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +(globalThis as any).IS_REACT_ACT_ENVIRONMENT = true; + +describe("AppLogo local brand assets", () => { + let container: HTMLDivElement; + let root: ReturnType; + + beforeEach(() => { + container = document.createElement("div"); + document.body.appendChild(container); + resetAppBrandManifestCacheForTests(); + }); + + afterEach(() => { + act(() => root?.unmount()); + container.remove(); + vi.unstubAllGlobals(); + }); + + it("loads the manifest and renders its light and dark provider assets", async () => { + const fetchMock = vi.fn().mockResolvedValue({ + ok: true, + json: async () => ({ + schemaVersion: 1, + providers: [{ + slug: "github", + provider: "GitHub", + localAsset: "/brands/apps/github.svg", + darkAsset: "/brands/apps/github-dark.svg", + }], + }), + }); + vi.stubGlobal("fetch", fetchMock); + root = createRoot(container); + + await act(async () => { + root.render(); + await Promise.resolve(); + await Promise.resolve(); + }); + + expect(fetchMock).toHaveBeenCalledWith("/brands/apps/manifest.json", { credentials: "same-origin" }); + const images = Array.from(container.querySelectorAll("img")); + expect(images.map((image) => image.getAttribute("src"))).toEqual([ + "/brands/apps/github.svg", + "/brands/apps/github-dark.svg", + ]); + expect(images[0]?.className).toContain("dark:hidden"); + expect(images[1]?.className).toContain("dark:block"); + }); + + it.each([ + { failedIndex: 0, survivingAsset: "/brands/apps/github-dark.svg", survivingClass: "dark:block", fallbackClass: "dark:hidden" }, + { failedIndex: 1, survivingAsset: "/brands/apps/github.svg", survivingClass: "dark:hidden", fallbackClass: "dark:flex" }, + ])("keeps the valid theme asset when image $failedIndex fails", async ({ + failedIndex, + survivingAsset, + survivingClass, + fallbackClass, + }) => { + vi.stubGlobal("fetch", vi.fn().mockResolvedValue({ + ok: true, + json: async () => ({ + schemaVersion: 1, + providers: [{ + slug: "github", + provider: "GitHub", + localAsset: "/brands/apps/github.svg", + darkAsset: "/brands/apps/github-dark.svg", + }], + }), + })); + root = createRoot(container); + + await act(async () => { + root.render(); + await Promise.resolve(); + await Promise.resolve(); + }); + const failedImage = container.querySelectorAll("img")[failedIndex]; + expect(failedImage).toBeTruthy(); + + await act(async () => { + failedImage!.dispatchEvent(new Event("error", { bubbles: true })); + }); + + const remainingImages = Array.from(container.querySelectorAll("img")); + expect(remainingImages).toHaveLength(1); + expect(remainingImages[0]?.getAttribute("src")).toBe(survivingAsset); + expect(remainingImages[0]?.className).toContain(survivingClass); + const fallback = container.querySelector("span > span"); + expect(fallback?.textContent).toBe("G"); + expect(fallback?.className).toContain(fallbackClass); + }); + + it("does not request a remote logo while the local manifest lookup is pending", async () => { + let resolveResponse!: (value: { + ok: boolean; + json: () => Promise; + }) => void; + vi.stubGlobal("fetch", vi.fn().mockImplementation(() => new Promise((resolve) => { + resolveResponse = resolve; + }))); + root = createRoot(container); + + act(() => { + root.render(); + }); + + expect(container.querySelector("img")).toBeNull(); + + await act(async () => { + resolveResponse({ + ok: true, + json: async () => ({ + schemaVersion: 1, + providers: [{ + slug: "github", + provider: "GitHub", + localAsset: "/brands/apps/github.svg", + }], + }), + }); + await Promise.resolve(); + await Promise.resolve(); + }); + + expect(container.querySelector("img")?.getAttribute("src")).toBe("/brands/apps/github.svg"); + }); + + it("uses a stable provider key for owner-qualified display names", async () => { + vi.stubGlobal("fetch", vi.fn().mockResolvedValue({ + ok: true, + json: async () => ({ + schemaVersion: 1, + providers: [{ + slug: "github", + provider: "GitHub", + localAsset: "/brands/apps/github.svg", + }], + }), + })); + root = createRoot(container); + + await act(async () => { + root.render( + , + ); + await Promise.resolve(); + await Promise.resolve(); + }); + + expect(container.querySelector("img")?.getAttribute("src")).toBe("/brands/apps/github.svg"); + }); + + it("does not expose a remote logo before a stable provider key arrives", async () => { + vi.stubGlobal("fetch", vi.fn().mockResolvedValue({ + ok: true, + json: async () => ({ + schemaVersion: 1, + providers: [{ + slug: "github", + provider: "GitHub", + localAsset: "/brands/apps/github.svg", + }], + }), + })); + root = createRoot(container); + + await act(async () => { + root.render( + , + ); + await Promise.resolve(); + await Promise.resolve(); + }); + + expect(container.querySelector("img")).toBeNull(); + + await act(async () => { + root.render( + , + ); + await Promise.resolve(); + await Promise.resolve(); + }); + + expect(container.querySelector("img")?.getAttribute("src")).toBe("/brands/apps/github.svg"); + }); + + it("keeps the caller logo when the manifest has no matching provider", async () => { + vi.stubGlobal("fetch", vi.fn().mockResolvedValue({ + ok: true, + json: async () => ({ schemaVersion: 1, providers: [] }), + })); + root = createRoot(container); + + await act(async () => { + root.render(); + await Promise.resolve(); + await Promise.resolve(); + }); + + expect(container.querySelector("img")?.getAttribute("src")).toBe("https://remote.example/custom.svg"); + }); +}); diff --git a/ui/src/pages/apps/AppLogo.tsx b/ui/src/pages/apps/AppLogo.tsx index 3a570175736..199e264a931 100644 --- a/ui/src/pages/apps/AppLogo.tsx +++ b/ui/src/pages/apps/AppLogo.tsx @@ -1,4 +1,5 @@ -import { useState } from "react"; +import { useEffect, useState } from "react"; +import { loadLocalAppBrandAssets, type LocalAppBrandAssets } from "@/lib/app-brand-assets"; import { cn } from "@/lib/utils"; const TILE_COLORS = [ @@ -20,7 +21,9 @@ function colorFor(seed: string): string { interface AppLogoProps { name: string; + brandKey?: string | null; logoUrl?: string | null; + allowRemoteFallback?: boolean; size?: number; className?: string; } @@ -30,25 +33,123 @@ interface AppLogoProps { * favicon when available, falling back to a coloured letter tile (deterministic * colour per app name) when the image is missing or fails to load. */ -export function AppLogo({ name, logoUrl, size = 36, className }: AppLogoProps) { - const [failed, setFailed] = useState(false); +export function AppLogo({ + name, + brandKey, + logoUrl, + allowRemoteFallback = true, + size = 36, + className, +}: AppLogoProps) { + const [failedLogoUrls, setFailedLogoUrls] = useState>(() => new Set()); + const lookupKey = brandKey?.trim() || name; + const [localAssetResult, setLocalAssetResult] = useState<{ + lookupKey: string; + assets: LocalAppBrandAssets | null; + } | null>(null); + const localLookupComplete = localAssetResult?.lookupKey === lookupKey; + const localAssets = localLookupComplete ? localAssetResult.assets : null; const letter = (name.trim()[0] ?? "?").toUpperCase(); const dimension = { width: size, height: size }; + // Do not expose a remote caller URL until the local manifest has had a + // chance to resolve this provider. Otherwise the browser requests the + // remote asset during the first render even when a bundled mark exists. + const resolvedLogoUrl = localLookupComplete + ? localAssets?.light ?? (allowRemoteFallback ? logoUrl : null) + : null; + const lightLogoUrl = resolvedLogoUrl && !failedLogoUrls.has(resolvedLogoUrl) + ? resolvedLogoUrl + : null; + const requestedDarkLogoUrl = localAssets?.dark ?? null; + const darkLogoUrl = requestedDarkLogoUrl && !failedLogoUrls.has(requestedDarkLogoUrl) + ? requestedDarkLogoUrl + : null; + const hasDistinctThemeLogos = Boolean( + resolvedLogoUrl && requestedDarkLogoUrl && resolvedLogoUrl !== requestedDarkLogoUrl, + ); + const fallbackLogoUrl = lightLogoUrl ?? darkLogoUrl; - if (logoUrl && !failed) { + useEffect(() => { + let active = true; + void loadLocalAppBrandAssets(lookupKey) + .then((assets) => { + if (active) setLocalAssetResult({ lookupKey, assets }); + }) + .catch(() => { + if (active) setLocalAssetResult({ lookupKey, assets: null }); + }); + return () => { + active = false; + }; + }, [lookupKey]); + + useEffect(() => { + setFailedLogoUrls(new Set()); + }, [resolvedLogoUrl, localAssets?.dark]); + + const markLogoFailed = (url: string) => { + setFailedLogoUrls((current) => new Set(current).add(url)); + }; + + if (fallbackLogoUrl) { return ( - setFailed(true)} - /> + {hasDistinctThemeLogos ? ( + <> + {lightLogoUrl ? ( + markLogoFailed(lightLogoUrl)} + /> + ) : ( + + )} + {darkLogoUrl ? ( + markLogoFailed(darkLogoUrl)} + /> + ) : ( + + )} + + ) : ( + markLogoFailed(fallbackLogoUrl)} + /> + )} ); } diff --git a/ui/src/pages/apps/Connections.tsx b/ui/src/pages/apps/Connections.tsx index ffa5c205237..1460e796df7 100644 --- a/ui/src/pages/apps/Connections.tsx +++ b/ui/src/pages/apps/Connections.tsx @@ -64,6 +64,7 @@ type AppRow = { application: ToolApplication; connection: ToolConnection | null; displayName: string; + brandKey: string; owner: ConnectionOwnerProfile | null; remainingAgentAvailableConnectionCount: number; status: AppStatus; @@ -230,9 +231,11 @@ export function Connections() { const rows = useMemo(() => { return applications.flatMap((application): AppRow[] => { const appConnections = connectionsByApplication.get(application.id) ?? []; - const galleryEntry = logoByKey.get(appApplicationSourceSlug(application) ?? ""); - const logoUrl = appDefinitionLogoUrl(galleryEntry) ?? - appDefinitionLogoUrl(logoByName.get(application.name.toLowerCase())); + const appSourceSlug = appApplicationSourceSlug(application); + const galleryEntry = logoByKey.get(appSourceSlug ?? "") ?? + logoByName.get(application.name.toLowerCase()); + const logoUrl = appDefinitionLogoUrl(galleryEntry); + const brandKey = appSourceSlug ?? application.name; const agentAvailableConnectionCount = appConnections.filter( (connection) => connection.status === "active" && connection.enabled, ).length; @@ -241,6 +244,7 @@ export function Connections() { application, connection: null, displayName: application.name, + brandKey, owner: null, remainingAgentAvailableConnectionCount: 0, status: statusFor(application, []), @@ -255,6 +259,7 @@ export function Connections() { application, connection, displayName: connectionDisplayNameForOwner(connection, application.name, owner), + brandKey, owner, remainingAgentAvailableConnectionCount: Math.max( 0, @@ -401,6 +406,7 @@ export function Connections() {
diff --git a/ui/src/pages/apps/app-definition-display.ts b/ui/src/pages/apps/app-definition-display.ts index 7abeb929ee4..44cf627e635 100644 --- a/ui/src/pages/apps/app-definition-display.ts +++ b/ui/src/pages/apps/app-definition-display.ts @@ -1,4 +1,4 @@ -import type { AppDefinition, ToolApplication } from "@paperclipai/shared"; +import type { AppDefinition, ToolApplication, ToolConnection } from "@paperclipai/shared"; export type AppGalleryDisplayEntry = AppDefinition & { key?: string; @@ -40,3 +40,9 @@ export function appApplicationSourceSlug(application: ToolApplication | null | u } return key; } + +export function appConnectionSourceSlug(connection: ToolConnection | null | undefined): string | null { + if (!connection) return null; + const source = connection.config?.sourceTemplateKey ?? connection.transportConfig?.sourceTemplateKey; + return typeof source === "string" && source.trim() ? source.trim() : null; +}