Skip to content

feat: allow disabling provider update checks#3130

Merged
juliusmarminge merged 1 commit into
pingdotgg:mainfrom
repparw:disable-provider-update-notifications
Jun 19, 2026
Merged

feat: allow disabling provider update checks#3130
juliusmarminge merged 1 commit into
pingdotgg:mainfrom
repparw:disable-provider-update-notifications

Conversation

@repparw

@repparw repparw commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a persisted server setting, enableProviderUpdateChecks, to control provider CLI update checks. When disabled, provider snapshot enrichment skips latest-version resolution entirely instead of letting the checker run and hiding the resulting UI notification.

Changes

  • packages/contracts/src/settings.ts — Adds enableProviderUpdateChecks to server settings and settings patches, defaulting to true.
  • apps/web/src/components/settings/SettingsPanels.tsx — Adds a General Settings switch for provider update checks.
  • apps/server/src/provider/providerUpdateSettings.ts — Shares provider snapshot settings derived from provider config plus server settings.
  • Provider drivers — Codex, Claude, Cursor, Grok, and OpenCode now observe the setting and pass it into version advisory enrichment.
  • apps/server/src/provider/providerMaintenance.ts — Skips latest-version resolution when update checks are disabled, returning an unknown advisory without contacting the registry.
  • Removes the prior environment descriptor capability / web toast suppression path.

Motivation

Some users install providers through external package managers such as Nix/nixpkgs, where npm latest is not the source of truth. In that case T3 Code should not run the provider update checker at all, rather than only suppressing the launch notification.

Test plan

  • vp run typecheck
  • vp check
  • vp test run apps/server/src/provider/providerMaintenance.test.ts

Note: in this local shell, normal pnpm install failed because node-pty needed Python for node-gyp; dependencies were linked with pnpm install --ignore-scripts so the validation commands could run.

Note

Add enableProviderUpdateChecks setting to disable provider version advisory checks

  • Adds enableProviderUpdateChecks boolean (default true) to ServerSettings and ServerSettingsPatch in settings.ts, and exposes a toggle in the General settings panel.
  • Updates enrichProviderSnapshotWithVersionAdvisory in providerMaintenance.ts to skip network version lookups when the flag is false, preserving checkedAt without making requests.
  • All provider drivers (Claude, Codex, Cursor, Grok, OpenCode) now inject ServerSettingsService and propagate enableProviderUpdateChecks through their snapshot enrichment pipelines via the new providerUpdateSettings.ts module.
  • Behavioral Change: drivers now require ServerSettingsService at runtime; tests must include ServerSettingsService.layerTest() in their test layers.

Macroscope summarized 3e78232.


Note

Medium Risk
Touches every provider driver’s snapshot pipeline and managed-provider settings streaming; incorrect wiring could miss refreshes when the toggle changes or leave stale advisories.

Overview
Adds a persisted enableProviderUpdateChecks server setting (default on) and a General settings toggle so users can turn off provider CLI “latest version” checks—useful when installs come from Nix or other non-npm sources.

Server behavior: New providerUpdateSettings combines per-instance provider config with ServerSettingsService streams. All five drivers (Claude, Codex, Cursor, Grok, OpenCode) now depend on ServerSettingsService and pass the flag into snapshot enrichment. When checks are off, enrichProviderSnapshotWithVersionAdvisory skips registry HTTP and emits an unknown advisory (no “behind latest” toast) instead of only hiding UI.

Contracts & tests: Setting is on ServerSettings / patch schema; registry tests wire ServerSettingsService.layerTest(); providerMaintenance.test asserts no HTTP when disabled.

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

@coderabbitai

coderabbitai Bot commented Jun 17, 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

Run ID: 5737bb82-64a9-4a42-b387-89a92b307f46

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

@github-actions github-actions Bot added size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Jun 17, 2026
Comment thread apps/web/src/components/ProviderUpdateLaunchNotification.tsx Outdated
@macroscopeapp

macroscopeapp Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR introduces a new user-facing feature (toggle to disable provider update checks) with changes spanning 5 provider drivers, a new abstraction layer, schema additions, and UI controls. The cross-cutting nature of the changes and the author being new to the codebase warrant human review.

You can customize Macroscope's approvability policy. Learn more.

@repparw
repparw force-pushed the disable-provider-update-notifications branch from 9007429 to 920b058 Compare June 17, 2026 18:18
@github-actions github-actions Bot added size:S 10-29 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels Jun 17, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jun 17, 2026
@repparw
repparw force-pushed the disable-provider-update-notifications branch from 920b058 to b801730 Compare June 17, 2026 18:20
@macroscopeapp
macroscopeapp Bot dismissed their stale review June 17, 2026 18:20

Dismissing prior approval to re-evaluate b801730

@github-actions github-actions Bot added size:XS 0-9 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels Jun 17, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jun 17, 2026
@repparw
repparw force-pushed the disable-provider-update-notifications branch from b801730 to e7f9677 Compare June 17, 2026 18:37
@macroscopeapp
macroscopeapp Bot dismissed their stale review June 17, 2026 18:37

Dismissing prior approval to re-evaluate e7f9677

@github-actions github-actions Bot added size:S 10-29 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels Jun 17, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jun 17, 2026
@juliusmarminge

Copy link
Copy Markdown
Member

this feels like the wrong approach. should jsut be a setting like everythign else and it shouldn't be a UI level thing, it should block the update checker to run in the first place, not just suppress the toast

@macroscopeapp
macroscopeapp Bot dismissed their stale review June 18, 2026 03:17

Dismissing prior approval to re-evaluate 8e49a0d

@github-actions github-actions Bot added size:L 100-499 changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels Jun 18, 2026
@repparw repparw changed the title feat: allow disabling provider update notifications feat: allow disabling provider update checks Jun 18, 2026
Co-authored-by: codex <codex@users.noreply.github.com>
@juliusmarminge
juliusmarminge force-pushed the disable-provider-update-notifications branch from 8e49a0d to 3e78232 Compare June 19, 2026 06:20
@juliusmarminge
juliusmarminge merged commit 5d4e2fa into pingdotgg:main Jun 19, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 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.

2 participants