feat: add disable update checks setting in the general settings#1627
feat: add disable update checks setting in the general settings#1627Starz099 wants to merge 1 commit intoCapSoftware:mainfrom
Conversation
| const settings = await generalSettingsStore.get(); | ||
| const isDisabled = settings?.disableUpdateChecks ?? false; | ||
|
|
||
| if(isDisabled) { | ||
| setUpdateError("Update checks are currently disabled."); | ||
| return; | ||
| } |
There was a problem hiding this 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
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.|
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) { |
There was a problem hiding this comment.
Using updateError for the “disabled” state shows the manual download/support copy below, which reads like a failure.
| 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 } |
There was a problem hiding this comment.
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.
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
disable_update_checksinGeneralSettingsStoreToggleSettingItemupdate.tsxto skip update checks via an early return when the setting is enabledResult
Users now have full control over whether the app performs update checks.
Preview
Greptile Summary
Adds a
disableUpdateCheckssetting 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:
/updateroute manually, but does not prevent the automatic update check that runs on app startup innew-main/index.tsx:920(createUpdateCheckfunction)Minor Observations:
Confidence Score: 2/5
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.apps/desktop/src/routes/(window-chrome)/new-main/index.tsx- it needs to check the setting before running automatic update checksImportant Files Changed
disable_update_checksfield to struct and default implementation - changes look correctdisableUpdateCheckssetting, but only covers manual update page navigationdisableUpdateChecksfieldLast reviewed commit: 19106ed
(2/5) Greptile learns from your feedback when you react with thumbs up/down!