Skip to content

fix(web): stop rendering healthy ready providers as auth failures - #7943

Closed
IzonIcy wants to merge 4 commits into
pingdotgg:mainfrom
IzonIcy:fix/grok-auth-status-fallback
Closed

fix(web): stop rendering healthy ready providers as auth failures#7943
IzonIcy wants to merge 4 commits into
pingdotgg:mainfrom
IzonIcy:fix/grok-auth-status-fallback

Conversation

@IzonIcy

@IzonIcy IzonIcy commented Aug 22, 2026

Copy link
Copy Markdown

What changed

One line in getProviderSummary (apps/web/src/components/settings/providerStatus.ts). A provider snapshot with status: "ready" and auth.status: "unknown" no longer falls back to the detail text "Installed and ready, but authentication could not be verified." The ready branch now renders detail: provider.message ?? null — headline stays Available, and the detail line is simply omitted unless the server supplied a message, matching how the authenticated/unauthenticated branches already behave.

Adds providerStatus.test.ts covering all branches of getProviderSummary, including a regression test for this case.

Why

Fixes #7932. Grok's health check has no auth verification today, so its success path returns status: "ready" with auth.status: "unknown" and no message. Every 5-minute cycle, a fully healthy Grok install rendered text that reads like an auth failure in Settings → Connections.

The auth contract only offers authenticated | unauthenticated | unknown — there is no "verified by session" state, so claiming authenticated server-side would be a lie, and deriving real auth from the ACP session is a larger project. Rendering unknown-auth-but-ready neutrally is honest with a minimal diff. The chat-view banner already treats ready as healthy; this aligns the settings card with it. Mobile renders no summary text, desktop wraps web.

Visual delta

Before: green dot + Available - Installed and ready, but authentication could not be verified.
After: green dot + Available

Happy to attach real before/after screenshots if you want them — say the word.

Verification

  • New test file: 9/9 passing
  • Neighboring tests (ProviderInstanceCard.test.ts, providerInstances.test.ts): 30/30 passing
  • Scoped typecheck (tsgo --noEmit) and lint clean

--
Worked by ox-alpha via opencode (x-preview-f-free).


Note

Low Risk
Settings UI copy only; behavior is narrowed to omit misleading auth warnings when no server message exists, with tests locking the branches.

Overview
Fixes misleading Settings → Connections copy for providers that are ready but report auth.status: "unknown" (e.g. Grok, which does not verify auth on probe).

In getProviderSummary, the default Available branch no longer falls back to "Installed and ready, but authentication could not be verified." It now uses provider.message ?? null, so the detail line is omitted unless the server sends a message—aligned with authenticated/unauthenticated branches and with chat treating ready as healthy.

Adds providerStatus.test.ts with branch coverage for getProviderSummary, including a regression test for #7932.

Reviewed by Cursor Bugbot for commit 368a60b. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Stop rendering ready providers as auth failures in getProviderSummary

Updates the available/ready branch of getProviderSummary in providerStatus.ts to use provider.message or null instead of a generic authentication-not-verified string. Adds a test suite in providerStatus.test.ts covering pre-probe, disabled, CLI missing, authenticated, unauthenticated, warning, error, and ready-with-message cases.

  • Behavioral Change: ready providers without a server message now show no detail instead of the prior generic auth warning.

Macroscope summarized 368a60b.

A provider snapshot with `status: "ready"` and unverified auth (Grok
has no auth check today) hit the settings-card fallback text
"Installed and ready, but authentication could not be verified",
which reads like an auth failure on every health-check cycle.

Render the ready branch neutrally instead: headline stays "Available"
and the detail line is omitted unless the server supplied a message,
matching how the authenticated/unauthenticated branches behave.

Covers pingdotgg#7932.
Copilot AI lite review requested due to automatic review settings August 22, 2026 23:44

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 22, 2026
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e8d6cd0d-f584-4614-bc9f-0ea7ddaac1e4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@macroscopeapp

macroscopeapp Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Skipped

Macroscope did not run approvability analysis for this PR. Macroscope could not determine whether this PR modifies its approvability configuration, so the PR was not approved automatically. A PR that may change the rules that govern approval is never approved automatically.

@shivamhwp

Copy link
Copy Markdown
Collaborator

Note: GPT-6 on behalf of Shivam (@shivamhwp).

Closing as already implemented in #5362. The provider summary now shows Available for a ready provider with unknown authentication status, and the regression test covers that case.

@shivamhwp shivamhwp closed this Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Grok provider always shows "authentication could not be verified" even when the health check fully succeeds

3 participants