diff --git a/package.json b/package.json index 3dec0ea..fac8b41 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slot": "^1.2.3", "@tanstack/react-query": "^4.36.1", - "@useparagon/connect": "2.1.1", + "@useparagon/connect": "2.1.2-experimental.13", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", diff --git a/src/components/feature/integration/integration-modal/integration-modal.tsx b/src/components/feature/integration/integration-modal/integration-modal.tsx index 234201d..b9c38d9 100644 --- a/src/components/feature/integration/integration-modal/integration-modal.tsx +++ b/src/components/feature/integration/integration-modal/integration-modal.tsx @@ -23,6 +23,7 @@ import { ActionButton } from './components/action-button'; import { WorkflowSection } from './components/workflows'; import { IntegrationSettingsSection } from './components/integration-settings'; import { ErrorMessage } from '../error-message'; +import { Button } from '@/components/ui/button'; const globalInstallationErrors = new Set([ 'OAuthBlockedError', @@ -71,7 +72,7 @@ export function IntegrationModal(props: Props) { setInstallationError(null); setIsInstalling(true); paragon.installFlow.start(props.integration, { - oauthTimeout: 45_000, + oauthTimeout: 2 * 60 * 1000, onNext: (next) => { setShowFlowForm(!next.done); setInstallFlowStage(next); @@ -82,6 +83,10 @@ export function IntegrationModal(props: Props) { setInstallFlowStage(null); }, onError: (error, errorContext) => { + console.error('InstallFlow error:', { + integration: props.integration, + error, + }); setIsInstalling(false); setInstallationError({ stage: errorContext?.stage, @@ -106,6 +111,15 @@ export function IntegrationModal(props: Props) { }); }; + const doCancel = async () => { + await paragon.installFlow.cancel(); + setShowFlowForm(false); + setIsInstalling(false); + setInstallFlowStage(null); + setInstallationError(null); + setTab('overview'); + }; + if (isLoading) { return null; } @@ -128,12 +142,24 @@ export function IntegrationModal(props: Props) { - +
+ + {isInstalling && ( + + )} +