Skip to content

Let chat and one-click installs wait for address variables - #1450

Merged
helpcodeai merged 1 commit into
mainfrom
fix/post-approve-picker-drafts
Nov 2, 2026
Merged

helpcodeai merged 1 commit into
mainfrom
fix/post-approve-picker-drafts

Conversation

@helpcodeai

Copy link
Copy Markdown
Contributor

What

The post-approve app picker (#1441) and the chat tool setup_install_connector failed for every app whose API address contains a variable:

  • telegram-bot: the bot token is in the path, and secrets are never taken from the chat.
  • shopify, odoo and woocommerce: the store or instance address.

importAdapter refused these installs with "X is required to install … part of the API address". Telegram is the picker's default example, so most picks failed.

Change

  • importAdapter takes a new option, addressMayWait. With it, the connector is created even when an address variable is missing:
    • its setup state is needs_input and names the missing variable;
    • the setup link (/connectors/setup/<slug>?connector=…) asks for it;
    • saving it through PUT /connectors/:id/env-vars rebuilds the address from the catalog template;
    • the install probe and the MCP tool discovery are skipped, because there is no address to call yet.
  • Only ConnectorSetupService.install passes the option. That covers both chat installs and the post-approve picker. The dashboard install form keeps the refusal, so it still names the missing variable while the user is on the form.
  • The "whole URL pasted into an address part" refusal still applies with the option.

Cloud and self-hosted

The behaviour is the same in both modes. The picker exists only on Cloud; chat setup exists in both.

Tests

Run in packages/backend:

  • npx jest --maxWorkers=4 src/adapters/connector-setup.service.spec.ts src/adapters/adapters.service.spec.ts src/auth/login.controller.spec.ts: 3 suites, 192 tests passed.
    • New: Telegram and Shopify chat installs come back as needs_input with a setup link.
    • New: the default importAdapter still refuses.
    • New: with addressMayWait, the connector is created with no probe call, and a pasted full URL is still refused.
  • npx tsc --noEmit -p tsconfig.json: passed.
  • npx eslint on the four changed files: clean.

The post-approve picker and setup_install_connector send no secrets, so
Telegram (bot token in the path), Shopify, Odoo and WooCommerce were
refused with "... is required to install". Create the connector waiting
for those values instead; the setup link asks for them and saving them
rebuilds the address from the catalog template. Other installs keep the
refusal.
@helpcodeai
helpcodeai requested a review from D3nisty as a code owner November 2, 2026 15:42
@helpcodeai
helpcodeai enabled auto-merge (squash) November 2, 2026 15:42
@helpcodeai
helpcodeai merged commit a7b216c into main Nov 2, 2026
15 checks passed
@helpcodeai
helpcodeai deleted the fix/post-approve-picker-drafts branch November 2, 2026 15:56
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant