From 40f3f6a515bffb05f8d1585488f5fddb19378828 Mon Sep 17 00:00:00 2001 From: hugocasa Date: Fri, 16 Oct 2026 12:41:22 +0200 Subject: [PATCH] fix: delete AppConnect's token variable when linking its account fails, so Save can be retried Co-Authored-By: Claude Opus 5.5 --- ...b14ae645076a85940cef890083a45301a7cd62.json} | 5 +++-- backend/ee-repo-ref.txt | 2 +- .../src/lib/components/AppConnectInner.svelte | 17 +++++++++++++---- 3 files changed, 17 insertions(+), 7 deletions(-) rename backend/.sqlx/{query-7aa589db3199d7f727cc69e63e1281b7ed329ff0c9d1617747f4ccd6014720cf.json => query-92d2202c8752ab24777daa5c46b14ae645076a85940cef890083a45301a7cd62.json} (71%) diff --git a/backend/.sqlx/query-7aa589db3199d7f727cc69e63e1281b7ed329ff0c9d1617747f4ccd6014720cf.json b/backend/.sqlx/query-92d2202c8752ab24777daa5c46b14ae645076a85940cef890083a45301a7cd62.json similarity index 71% rename from backend/.sqlx/query-7aa589db3199d7f727cc69e63e1281b7ed329ff0c9d1617747f4ccd6014720cf.json rename to backend/.sqlx/query-92d2202c8752ab24777daa5c46b14ae645076a85940cef890083a45301a7cd62.json index b2101cc0d4..ac011459b9 100644 --- a/backend/.sqlx/query-7aa589db3199d7f727cc69e63e1281b7ed329ff0c9d1617747f4ccd6014720cf.json +++ b/backend/.sqlx/query-92d2202c8752ab24777daa5c46b14ae645076a85940cef890083a45301a7cd62.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT EXISTS(SELECT 1 FROM variable WHERE account = $1 AND workspace_id = $2)", + "query": "SELECT EXISTS(SELECT 1 FROM variable WHERE account = $1 AND workspace_id = $2 AND path <> $3)", "describe": { "columns": [ { @@ -12,6 +12,7 @@ "parameters": { "Left": [ "Int4", + "Text", "Text" ] }, @@ -19,5 +20,5 @@ null ] }, - "hash": "7aa589db3199d7f727cc69e63e1281b7ed329ff0c9d1617747f4ccd6014720cf" + "hash": "92d2202c8752ab24777daa5c46b14ae645076a85940cef890083a45301a7cd62" } diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index 2f3bfbc43a..e970dc0a06 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -0166523d7756018c9974f30f5e493cd90e0be4a0 \ No newline at end of file +fa84be43efe17ec2f55a6026d48c48c064d97254 \ No newline at end of file diff --git a/frontend/src/lib/components/AppConnectInner.svelte b/frontend/src/lib/components/AppConnectInner.svelte index b67c76c08e..18ab67a120 100644 --- a/frontend/src/lib/components/AppConnectInner.svelte +++ b/frontend/src/lib/components/AppConnectInner.svelte @@ -1005,10 +1005,19 @@ } }) if (accountData) { - await OauthService.createAccount({ - workspace: effectiveWorkspace, - requestBody: { ...accountData, variable_path: tokenPath } - }) + try { + await OauthService.createAccount({ + workspace: effectiveWorkspace, + requestBody: { ...accountData, variable_path: tokenPath } + }) + } catch (e) { + // An unlinked token never refreshes, and its path would block a retry. + await VariableService.deleteVariable({ + workspace: effectiveWorkspace, + path: tokenPath + }).catch(() => {}) + throw e + } } resourceValue['token'] = `$var:${tokenPath}` }