From 6364e4181b40df1511655c5cd8829970967fa676 Mon Sep 17 00:00:00 2001 From: Thomas Camlong Date: Thu, 14 May 2026 18:20:19 +0200 Subject: [PATCH] fix(onboarding): add error recovery for setupIntegrations failure If setupIntegrations rejects, fall back to the select phase instead of leaving the user stuck on an infinite loading screen. Also fix OpenCollective bookmark icon to use dashboard-icons CDN SVG for consistency with other bookmark icons. --- .../init/_steps/integrations/init-integrations.tsx | 8 ++++++-- packages/definitions/src/widget-integration-map.ts | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/nextjs/src/app/[locale]/init/_steps/integrations/init-integrations.tsx b/apps/nextjs/src/app/[locale]/init/_steps/integrations/init-integrations.tsx index f57abca4e..b0caa7189 100644 --- a/apps/nextjs/src/app/[locale]/init/_steps/integrations/init-integrations.tsx +++ b/apps/nextjs/src/app/[locale]/init/_steps/integrations/init-integrations.tsx @@ -38,8 +38,12 @@ export const InitIntegrations = () => { const finishSetupAsync = async () => { setPhase("done"); - await setupIntegrations(); - router.refresh(); + try { + await setupIntegrations(); + router.refresh(); + } catch { + setPhase("select"); + } }; const advanceOrFinish = () => { diff --git a/packages/definitions/src/widget-integration-map.ts b/packages/definitions/src/widget-integration-map.ts index e2d34850c..fb0a4f9f2 100644 --- a/packages/definitions/src/widget-integration-map.ts +++ b/packages/definitions/src/widget-integration-map.ts @@ -96,6 +96,6 @@ export const defaultBookmarkApps = [ { name: "Support Homarr", href: "https://opencollective.com/homarr", - iconUrl: "https://avatars.githubusercontent.com/u/13403593?v=4", + iconUrl: "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/svg/open-collective.svg", }, ];