Skip to content

Comments

feat: add disable update checks setting in the general settings#1627

Open
Starz099 wants to merge 1 commit intoCapSoftware:mainfrom
Starz099:fix/issue-1607
Open

feat: add disable update checks setting in the general settings#1627
Starz099 wants to merge 1 commit intoCapSoftware:mainfrom
Starz099:fix/issue-1607

Conversation

@Starz099
Copy link

@Starz099 Starz099 commented Feb 21, 2026

Fixes #1607 Add a setting to always ignore updates.

Summary

This PR introduces a user setting that allows disabling automatic update checks.
When enabled, the application will skip checking for updates entirely.

Changes

  • Added a new boolean field disable_update_checks in GeneralSettingsStore
  • Implemented a toggle in the General Settings menu using ToggleSettingItem
  • Updated update.tsx to skip update checks via an early return when the setting is enabled

Result

Users now have full control over whether the app performs update checks.

Preview

image

Greptile Summary

Adds a disableUpdateChecks setting to allow users to opt out of automatic update checks. The setting is properly integrated into the Rust backend (GeneralSettingsStore) and frontend UI (Settings page toggle).

Critical Issue Found:

  • The setting only prevents updates when navigating to /update route manually, but does not prevent the automatic update check that runs on app startup in new-main/index.tsx:920 (createUpdateCheck function)
  • Users who enable this setting will still see update prompts on launch

Minor Observations:

  • Code follows established patterns and conventions
  • Type generation is correct
  • UI implementation is consistent with other settings

Confidence Score: 2/5

  • Feature is incomplete - does not fully disable update checks as intended
  • The implementation has a critical logic bug where the automatic update check in the main window (new-main/index.tsx) completely ignores the new setting, meaning users who disable update checks will still receive update prompts on app launch. This defeats the primary purpose of the feature.
  • Pay close attention to apps/desktop/src/routes/(window-chrome)/new-main/index.tsx - it needs to check the setting before running automatic update checks

Important Files Changed

Filename Overview
apps/desktop/src-tauri/src/general_settings.rs Added disable_update_checks field to struct and default implementation - changes look correct
apps/desktop/src/routes/(window-chrome)/settings/general.tsx Added UI toggle for disabling update checks - properly integrated with settings store
apps/desktop/src/routes/(window-chrome)/update.tsx Added check for disableUpdateChecks setting, but only covers manual update page navigation
apps/desktop/src/utils/tauri.ts Auto-generated type definitions updated correctly - includes new disableUpdateChecks field

Last reviewed commit: 19106ed

(2/5) Greptile learns from your feedback when you react with thumbs up/down!

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

4 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Comment on lines +15 to +21
const settings = await generalSettingsStore.get();
const isDisabled = settings?.disableUpdateChecks ?? false;

if(isDisabled) {
setUpdateError("Update checks are currently disabled.");
return;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Setting only checked in update.tsx, but automatic update check in new-main/index.tsx:920 (createUpdateCheck) ignores this setting - updates will still be checked on app launch

Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/desktop/src/routes/(window-chrome)/update.tsx
Line: 15-21

Comment:
Setting only checked in `update.tsx`, but automatic update check in `new-main/index.tsx:920` (`createUpdateCheck`) ignores this setting - updates will still be checked on app launch

How can I resolve this? If you propose a fix, please make it concise.

@richiemcilroy
Copy link
Member

Hey! Thanks so much for the contribution. Will make a proper review soon. Just checking why you need this option? When releasing new updates our goal is to fix important bugs (sometimes critical) etc - would love to hear your thoughts here 😄

const settings = await generalSettingsStore.get();
const isDisabled = settings?.disableUpdateChecks ?? false;

if(isDisabled) {
Copy link

Choose a reason for hiding this comment

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

Using updateError for the “disabled” state shows the manual download/support copy below, which reads like a failure.

Suggested change
if(isDisabled) {
if (isDisabled) {
setUpdateError(
"Automatic update checks are disabled. Re-enable them in Settings, or download the latest version from cap.so/download.",
);
return;
}

export type StudioRecordingMeta = { segment: SingleSegment } | { inner: MultipleSegments }
export type StudioRecordingStatus = { status: "InProgress" } | { status: "NeedsRemux" } | { status: "Failed"; error: string } | { status: "Complete" }
export type SystemDiagnostics = { macosVersion: MacOSVersionInfo | null; availableEncoders: string[]; screenCaptureSupported: boolean; metalSupported: boolean; gpuName: string | null }
export type SystemDiagnostics = { windowsVersion: WindowsVersionInfo | null; gpuInfo: GpuInfoDiag | null; allGpus: AllGpusInfo | null; renderingStatus: RenderingStatus; availableEncoders: string[]; graphicsCaptureSupported: boolean; d3D11VideoProcessorAvailable: boolean }
Copy link

Choose a reason for hiding this comment

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

This file looks generated, and this SystemDiagnostics shape change (macOS → Windows + GPU diagnostics) feels unrelated to the update-setting change. Worth double-checking this was intentionally regenerated from the canonical source and isn’t platform-specific output (e.g. generated on Windows) that could break other builds.

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.

Setting to always ignore updates

2 participants