Skip to content

fix: issue 2043, revising connector cards display and ui for better user understanding.#2105

Merged
richardz403 merged 12 commits into
mainfrom
split-connector-behavior-based-on-oauth
Jul 16, 2026
Merged

fix: issue 2043, revising connector cards display and ui for better user understanding.#2105
richardz403 merged 12 commits into
mainfrom
split-connector-behavior-based-on-oauth

Conversation

@richardz403

@richardz403 richardz403 commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Fixes issue #2043

Problem

After disconnecting a connector (Azure Blob Storage, AWS S3, etc.), the card still displayed "{Connector name} is configured." instead of showing the expected "credentials not configured yet" message.

Root Cause

The condition in connector-card.tsx was checking isConnected || connector?.available, where available indicates whether the connector is allowed for the workspace. This field remains true after disconnection, causing the incorrect message to persist.

Solution

Hide unavailable connectors and improve connector status detection

Fixes connector visibility and status detection issues.

Changes

  • Hide non OAuth connectors when available: false in frontend
  • Add requiresOAuth field to distinguish OAuth vs credential-based connectors
  • Split connector UI into OAuth and credential-based sections
  • Improve connector status detection by checking env credentials
  • Update connector card descriptions to distinguish connected vs configured states
  • Connectors now say "is configured" if credentials are in the environment and can be connected, "is connected" if connectors are actively connected and can be used to ingest knowledge, and "not configured" if not configured in the environment.

Backend

  • Added has_env_credentials check in connector status endpoint for OAuth connectors
  • Enhanced get_available_connector_types to return requiresOAuth field

Frontend

  • Filter out unavailable connectors before rendering
  • Organize connectors into OAuth and credential-based sections
  • Updated card descriptions to show appropriate status messages

Summary by CodeRabbit

  • New Features
    • OAuth and credential-based connectors are now shown in separate sections.
    • Connector cards now show a clearer state: connected, configured, or OAuth credentials not configured yet (when applicable).
    • Connector availability now reflects whether required OAuth environment credentials are present.
    • Connector metadata now includes a kind attribute for improved connector categorization.
  • Bug Fixes
    • Ensured Azurite data storage is properly declared in the container setup.
    • Azure Blob connector is now disabled by default unless explicitly enabled (according to the mode rules).

@github-actions github-actions Bot added frontend 🟨 Issues related to the UI/UX backend 🔷 Issues related to backend services (OpenSearch, Langflow, APIs) docker labels Jul 16, 2026
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e6739038-4d50-4a01-aea6-35a70910003e

📥 Commits

Reviewing files that changed from the base of the PR and between a8bc6f5 and 7df14c7.

📒 Files selected for processing (1)
  • frontend/app/settings/_components/connector-cards.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • frontend/app/settings/_components/connector-cards.tsx

Walkthrough

Connector metadata now identifies OAuth connectors, backend status responses report environment credentials, and the settings UI displays configured OAuth connectors separately from credential-based connectors. Azure Blob availability defaults off, and the Azurite data volume is declared.

Changes

Connector configuration flow

Layer / File(s) Summary
Connector metadata and status contract
src/connectors/connection_manager.py, src/api/connectors.py
Connector metadata now includes kind, and connector status responses include has_env_credentials based on OAuth client credential checks.
Connector settings presentation
frontend/app/api/queries/useGetConnectorsQuery.ts, frontend/app/settings/_components/connector-card.tsx, frontend/app/settings/_components/connector-cards.tsx
The frontend derives configured OAuth status, preserves OAuth connectors, filters unavailable credential connectors, and renders separate connector sections.

Azure Blob availability

Layer / File(s) Summary
Azure Blob feature and persistence configuration
src/config/settings.py, docker-compose.yml
Azure Blob enablement defaults off with updated gating rules, and the azurite-data volume is declared.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ConnectorSettings
  participant ConnectorQuery
  participant ConnectionManager
  participant ConnectorStatusAPI
  participant OAuthConnector
  ConnectorSettings->>ConnectorQuery: request connector metadata and status
  ConnectorQuery->>ConnectionManager: read connector kind metadata
  ConnectionManager-->>ConnectorQuery: return connector kind
  ConnectorQuery->>ConnectorStatusAPI: request connector status
  ConnectorStatusAPI->>OAuthConnector: check client ID and client secret
  OAuthConnector-->>ConnectorStatusAPI: return credential availability
  ConnectorStatusAPI-->>ConnectorQuery: return has_env_credentials
  ConnectorQuery-->>ConnectorSettings: render OAuth and credential sections
Loading

Possibly related PRs

Suggested labels: bug

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is relevant and reasonably summarizes the connector card UI and display changes, even though it is a bit broad.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch split-connector-behavior-based-on-oauth

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 95eb3cd.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/app/settings/_components/connector-card.tsx`:
- Around line 107-111: Update the connector status message conditional in the
connector card so connector?.available alone does not produce “is configured.”
Preserve that message for isConfigured connectors, while credential-based
connectors that are only enabled and not connected should use messaging
indicating they are available to connect or still require credentials.

In `@src/api/connectors.py`:
- Around line 1409-1430: Move the OAuth environment-credential detection from
the route handler into the connector_service layer, exposing a method such as
has_env_credentials(connector_type) that performs connector lookup,
instantiation, and credential checks while preserving the existing boolean and
exception behavior. Update the route handler’s has_env_credentials assignment to
call that service method, leaving the response construction unchanged.

In `@src/config/settings.py`:
- Around line 280-289: Update is_azure_blob_enabled so OSS mode requires both
OPENRAG_AZURE_BLOB_ENABLED and OPENRAG_DEV_AZURE_BLOB to be enabled, while
IBM_AUTH_ENABLED mode requires only OPENRAG_AZURE_BLOB_ENABLED. Preserve the
documented force-hide behavior when the main flag is disabled.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a10ba6ad-c1e3-45f4-a22e-8f708c0e0759

📥 Commits

Reviewing files that changed from the base of the PR and between 0e2f173 and 6dd2abc.

📒 Files selected for processing (7)
  • docker-compose.yml
  • frontend/app/api/queries/useGetConnectorsQuery.ts
  • frontend/app/settings/_components/connector-card.tsx
  • frontend/app/settings/_components/connector-cards.tsx
  • src/api/connectors.py
  • src/config/settings.py
  • src/connectors/connection_manager.py

Comment thread frontend/app/settings/_components/connector-card.tsx Outdated
Comment thread src/api/connectors.py
Comment thread src/config/settings.py
@richardz403 richardz403 changed the title fix issue 2043 fix: issue 2043, revising connector cards display and ui for better user understanding. Jul 16, 2026
@github-actions github-actions Bot added the bug 🔴 Something isn't working. label Jul 16, 2026
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 16, 2026
@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 16, 2026
@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 16, 2026
@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 16, 2026
@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 16, 2026
@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 16, 2026
@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 16, 2026

@lucaseduoli lucaseduoli left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions Bot added the lgtm label Jul 16, 2026
@richardz403
richardz403 merged commit 0d0b671 into main Jul 16, 2026
36 checks passed
@github-actions
github-actions Bot deleted the split-connector-behavior-based-on-oauth branch July 16, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend 🔷 Issues related to backend services (OpenSearch, Langflow, APIs) bug 🔴 Something isn't working. docker frontend 🟨 Issues related to the UI/UX lgtm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants