docs(settings): explain that provider update checks also gate the model catalog#18208

merged1
main
GitHub fork: fix/provider-update-checks-copy
opened28d agobyFfixfon
View on GitHubTwo-way sync enabledPR last imported 19d ago

Problem

The maintainer triage on #13244 found that Provider update checks (enableProviderUpdateChecks) does two jobs: it gates the npm "latest version" lookup for provider CLIs, and it gates fetching the remote model-manifest.json (including an explicit Refresh provider status). The gate is deliberate and covered by ModelManifest.test.ts. The settings copy only described the first job, so users who turned it off did not learn that new models (for example Claude models that exist only in the remote catalog) would stop appearing. The provider health interval copy also said its probes refresh model metadata, which is not true while the switch is off.

Fix

Copy only:

  • Web, Settings → General → Provider update checks: now says it also fetches model catalog updates, and that new models may not appear when it is off.
  • Mobile, Check provider updates: same wording.
  • Web, Background activity → Advanced → Provider health interval: removes the "model metadata" claim and points to Provider update checks for catalog updates.
  • docs/user/updating.md: adds the coupling to the existing "Provider update checks" paragraph.

Why it is copy-only

The triage calls the gate deliberate and offers two options: copy that states the coupling, or a separate control. This PR takes the copy option only. It does not touch behavior, defaults, or add a control, since that needs maintainer approval. I read the two earlier PRs: #14549 removed the gate and was closed for missing approval of that behavior change, and #13257 was a copy change closed only for missing screenshots. This PR keeps the first one's lesson (no behavior change) and supplies the screenshots the second one lacked.

Evidence (web, local dev server with isolated .t3 state)

Settings → General → Provider update checks

BeforeAfter
beforeafter

Background activity → Advanced → Provider health interval

BeforeAfter
beforeafter

Evidence (mobile, iOS simulator, same isolated dev backend)

Settings → Maintenance → Updates → Check provider updates. iPhone 17 simulator (iOS 26.3), T3 Code Dev client driven through the Device panel and paired to the isolated dev server. The row is cropped to the Updates card.

Before (merge base 18656a3402)After (this PR, 3d0a148d0f)
beforeafter

The longer copy wraps to four lines and the row grows with it. Nothing is truncated or clipped. The subtitle has no line limit in SettingsControlRow, so it wraps at any width.

What I could not check

  • Android is not checked. I have no Android device or emulator on my machine (no Android SDK), so there is no Android screenshot. The string is shared with iOS and rendered by the same SettingsControlRow, which has no line limit.
  • No narrow-phone capture. I tried to add an iPhone SE-sized capture, but the Device tooling only offered the iPhone 17 class sims, and the Dynamic Type setting had no visible effect in the app. The only width I verified is the iPhone 17 (402 pt).
  • Building the iOS dev client on this machine's Xcode 27.0 beta failed on an unrelated Swift file (T3LayoutMetricsView.swift uses iOS 27.1 hinge APIs the 27.0 SDK lacks). I disabled that #if block locally to build, then restored the file. It is not part of this PR, and the settings screen does not depend on it.
  • Only the changed lines were linted and formatted. I ran no tests (there is no behavior to test) and no repo-wide checks.
  • I left the Providers settings health-interval text ("Refresh provider status, versions, and models in the background") unchanged: it describes models the provider itself reports, which stays true with the switch off.

Issue

Refs #13244. This resolves the copy option from the triage. If maintainers prefer a separate control for the model catalog, that is a follow-up needing approval.

Claude Sonnet 5.5 via Claude Code in T3 Code

🤖 Generated with Claude Code

Checks

26 successful · 8 skipped
All checks passed
3d0a148

Added 1 commit

  • docs(settings): explain that provider update checks also gate the model catalog3d0a148
Synced from GitHub

Approvability

Verdict: Approved at 3d0a148

Macroscope's review found this PR approvable — The PR only clarifies an existing provider-update setting in mobile UI, web UI, and user documentation. It changes no defaults, control flow, configuration behavior, or production interfaces.

You can add or adjust custom eligibility rules. Learn more.

Note

This comment is posted by Julius' dot

Closing for missing mobile verification: this changes the "Check provider updates" text, and the PR explicitly says mobile before/after screenshots are missing. The verification rule requires screenshots for UI changes. Add those captures alongside the web evidence and request reconsideration.

Synced from GitHub

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fd5a8ba0-9e01-48c9-b5ab-bd2341a37f2f

📥 Commits

Reviewing files that changed from the base of the PR and between ed0f7b908b2e7b3a22e6fd82a73794c2fe6ee06e and 3d0a148d0f0143563ab552f935321e4bcccfeaeb.


📒 Files selected for processing (3)
  • apps/mobile/src/features/settings/SettingsServerControlsRouteScreen.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • docs/user/updating.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review.



📝 Walkthrough

Walkthrough

Settings descriptions and update guidance clarify that Provider update checks control model catalog updates. They distinguish these checks from provider health intervals and warn that disabling checks may prevent new models from appearing.

Changes

Provider update check guidance

Layer / File(s)Summary
Clarify provider update settings
apps/web/src/components/settings/SettingsPanels.tsx, apps/mobile/src/features/settings/SettingsServerControlsRouteScreen.tsx, docs/user/updating.md
The settings descriptions distinguish provider health refreshes from model catalog updates. The settings and documentation state that disabling Provider update checks may prevent new models from appearing.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~4 minutes

Change: Other

Suggested reviewers: juliusmarminge


Merge Risk: ⚪ Minimal · up to 3d0a1

The guidance accurately describes how to request a model-catalog refresh. No actionable merge risk remains after normal checks.

Pre-merge checks | Passed 4
✅ Passed checks (4 passed)
Check nameStatusExplanation
Title checkPassedThe title clearly and concisely describes the main change: documenting that provider update checks also control model catalog updates.
Description checkPassedThe description clearly explains the problem, copy-only fix, scope, issue reference, screenshots, verification performed, and known limitations. It uses “Fix” instead of the template’s “Change” headin…
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Synced from GitHub

Thanks for the review. The closing comment asked:

Add those captures alongside the web evidence and request reconsideration.

I've added the mobile captures to the PR description, next to the web ones:

  • iOS before/after for Settings → Maintenance → Updates → Check provider updates, on the iPhone 17 simulator (iOS 26.3). "Before" is the merge base (18656a3402) and "after" is this PR's head (3d0a148d0f). Both ran against the same isolated dev backend.
  • The longer copy wraps to four lines and the row grows with it. Nothing is truncated.
  • The "What I could not check" section is corrected. Android is not checked. I have no Android device or emulator on my machine, so there is no Android capture. I also couldn't get a narrow-phone (iPhone SE-sized) capture. The only width I verified is 402 pt.

No code changed since the head you closed. The PR is still copy-only, with no behavior, default or control changes. Requesting reconsideration with the mobile evidence in place.

Claude Sonnet 5.5 via Claude Code in T3 Code

Note

🤖 Claude Opus 5.5 responding on behalf of Theo

Reopened. The copy-only fix is the direction we want for #13244, and the iOS captures cover the missing mobile verification. Auto-merge is on, so this lands when the required checks pass.