Skip to content

feat: Improve automatic update flow with user controls#1631

Open
Kiki-bo-zhang wants to merge 1 commit intoBoostIO:masterfrom
Kiki-bo-zhang:feat/improve-auto-update
Open

feat: Improve automatic update flow with user controls#1631
Kiki-bo-zhang wants to merge 1 commit intoBoostIO:masterfrom
Kiki-bo-zhang:feat/improve-auto-update

Conversation

@Kiki-bo-zhang
Copy link

@Kiki-bo-zhang Kiki-bo-zhang commented Mar 4, 2026

Summary

This PR implements a comprehensive improvement to the automatic update flow in BoostNote, addressing all requirements from issue #728.

Changes

User-Facing Improvements

  1. Three-Option Update Prompt

    • ✅ "Yes, Download and Install" - Proceed with update
    • ✅ "No, Skip This Update" - Skip this version entirely
    • ✅ "Remind Me Later" - Suppress for 24 hours
  2. Download Progress Display

    • Real-time progress bar with percentage
    • Download speed indicator
    • Visual feedback during download
    • Menu item shows "Downloading... 45%"
  3. User-Controlled Restart

    • Choose "Restart Now" or "Restart Later" after download
    • No forced interruption during note-taking
    • Menu updates to "Restart to Update (v0.24.0)" when ready
  4. Install Without Checking

    • New menu option to install previously found update
    • Useful for users who clicked "No" or "Remind me later"

Technical Implementation

  • New Module: src/electron/updater-improved.ts (350 lines)

    • Complete auto-updater rewrite
    • User preference persistence
    • IPC communication with renderer
    • Smart checking (24-hour delay for "remind later")
  • New Component: src/components/UpdateNotification.tsx

    • React component for update progress UI
    • Shows download status and controls
  • Modified Files:

    • src/electron/menu.ts - Dynamic update menu labels
    • src/electron/index.ts - Initialize new auto-updater

Testing

Test Scenarios

  • First launch auto-check (after 10 seconds)
  • Manual check from menu
  • Skip this version (with checkbox)
  • Remind me later (24-hour delay)
  • Download progress display
  • Restart now vs later
  • Menu label updates correctly
  • Error handling

Version Bump

Updated from 0.23.1 to 0.24.0 (minor version bump for new features)

Related Issue

Closes #728

Checklist

  • Code follows project style guidelines
  • Self-review completed
  • Changes are documented in CHANGELOG.md
  • Version number updated (0.23.1 → 0.24.0)
  • Backward compatibility maintained
  • No breaking changes

Ready for review! 🚀


IssueHunt Summary

Referenced issues

This pull request has been submitted to:


- Add 3-option update prompt: Download/Skip/Remind Later
- Add download progress bar with real-time percentage
- Allow user to control when to restart after update
- Add 'Install Update' button without checking
- Persist user preferences (skip version, remind-later)
- Add IPC communication for renderer process
- Update menu labels dynamically based on update status

Closes BoostIO#728
@CLAassistant
Copy link

CLAassistant commented Mar 4, 2026

CLA assistant check
All committers have signed the CLA.

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.

Improve automatic update flow

2 participants