feat(desktop): add manual "Check for Updates" button in web settings#1123
feat(desktop): add manual "Check for Updates" button in web settings#1123AriajSarkar wants to merge 6 commits intopingdotgg:mainfrom
Conversation
Add checkForUpdate IPC channel so the web renderer can trigger an update check on demand. Surface a Check for Updates button in Settings > About (desktop only) with contextual labels and error handling. - Add DesktopUpdateCheckResult type and DesktopBridge.checkForUpdate() - Wire UPDATE_CHECK_CHANNEL in preload and main process IPC handler - Add canCheckForUpdate/getCheckForUpdateButtonLabel logic helpers - Add DesktopUpdateCheckSection component in settings About section - Guard IPC handler when updater is not configured (local/dev builds) - Add 15 unit tests for new logic functions Closes pingdotgg#1107
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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. Comment Tip You can customize the high-level summary generated by CodeRabbit.Configure the |
What Changed
checkForUpdateIPC channel (DesktopUpdateCheckResulttype,DesktopBridge.checkForUpdate())UPDATE_CHECK_CHANNELin preload + main process handler (reuses existingcheckForUpdates()canCheckForUpdate/getCheckForUpdateButtonLabelpure logic helpersWhy
The desktop app checks for updates automatically and has a native menu "Check for Updates…", but there's no way to trigger a check from the web UI. Users may not discover the menu item. This adds a simple, focused entry point in Settings → About.
Closes #1107 (already closed)
UI Changes
Checklist
Local Test:
v0.0.10->v0.0.11Note
Add manual "Check for Updates" button to desktop settings page
DesktopUpdateCheckSectioncomponent in _chat.settings.tsx that renders an 'Updates' card in the About section of desktop settings, with a button whose label and enabled state reflect the current update status.checkForUpdate()onwindow.desktopBridgevia a newdesktop:update-checkIPC channel, returning{checked, state}so the UI can refresh the cached update state after each check.canCheckForUpdateandgetCheckForUpdateButtonLabelhelpers in desktopUpdate.logic.ts to derive button state fromDesktopUpdateState; the button also handles download and install actions depending on update state.onUpdateStatebridge events.Macroscope summarized e840966.