Skip to content

[Fix] Built-in integration tools stay unavailable after a failed read - #3630

Open
roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/builtin-tool-catalog-retry-3e6fs9l1l4lxa
Open

roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/builtin-tool-catalog-retry-3e6fs9l1l4lxa

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Telegram.

Related issue

Scoped product recovery work; no linked issue.

Why this PR exists

  • A maintainer explicitly invited this PR in the linked issue or discussion
  • I am a maintainer / this is internal Roomote work

What changed

A failed built-in tool catalog left Manage tools with only Close, even after connectivity returned. A compact Retry now refetches the existing query in place, retains the error/account-linking help while pending, prevents duplicate requests and scopes late completion to the integration. Success restores the ordinary catalog/approval controls.

Why this change was made

Recover a transient failure where it occurred using the existing custom-MCP pattern: one transient state record, no new API/dependency/persisted setting.

Impact

No close/reopen or page reload is needed. Initial loading, empty catalogs, read-only access and policy management retain their behavior; downstream policy recovery and server pagination remain separate.

How it was tested

  • Current-develop baseline c97173a7: actual keyless Exa catalog, controlled catalog transport abort, no Retry after removing the fault.
  • Real local desktop 1440×1000 Enter and mobile 390×844 pointer Retry restored the authenticated catalog. Repeated mobile failure remained recoverable. Exact committed-head Retry succeeded. An additional real reconnect/cached-read failure hid stale controls and recovered through Retry; that containing tRPC batch fault is disclosed.
  • 14 focused tests pass at head, including real QueryClient pending/deduplication, repeated failure, auth help, empty/cached recovery and cross-integration late completion. Web types and normal commit/pre-push gates pass. Hosted tests/build/CodeQL/static/backup/upgrade/Judgement pass or expected-skip at e00d0490cdff51c1cd51aef6bafb0ac132e6cd48; same-head automated review clean, no unresolved threads.
  • Four exact images opened/inspected and independently checked against a source-identical snapshot. Actual local app/development auth; disclosed transport abort, no fabricated response/DOM or upstream-outage claim. Stills show layout; interactions/tests establish recovery. Dark-theme/all-provider parity not claimed. No external tool or message. Documentation evaluated: no new configuration/workflow contract.

Screenshots

Controlled catalog failure, then real recovery after removing the interruption:

Desktop catalog error with Retry
Desktop catalog recovered
Mobile catalog error with Retry
Mobile catalog recovered

Related PRs

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • This PR is small and scoped to one change
  • pnpm lint and pnpm check-types pass locally
  • I added tests or included a clear manual validation note above
  • I removed secrets, tokens, private keys, and customer data from code, logs, and screenshots
  • If this change should appear in the changelog, I ran pnpm changeset

Normal fast static gates were used; formatting-inclusive full commands and a changeset were not run.

@roomote-community

roomote-community Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

No code issues found. Reviewed retry/error transitions, cached-read recovery, integration-switch isolation, authentication guidance, and existing approval controls. Current-head lint, type checking, and Knip passed; tests, Docker build, and JavaScript/TypeScript CodeQL were still running when checked. See session

Reviewed e00d049

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant