feat: add desktop auto-update flow and settings controls#29
Conversation
- add UpdateManager with launch-time checks, download/apply actions, and RPC endpoints - add Settings UI + React hooks for auto-update toggle, check/download/install states - configure release asset publishing and updater base URL for GitHub-hosted artifacts
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (12)
📝 WalkthroughWalkthroughThis PR adds a comprehensive automatic update system to the desktop application. It introduces an Changes
Sequence Diagram(s)sequenceDiagram
participant React as React UI
participant RPC as RPC Handler
participant UM as UpdateManager
participant Net as Network
participant Updater as Updater API
rect rgba(100, 150, 200, 0.5)
Note over React,Updater: Check For Updates Flow
React->>RPC: checkForUpdates(autoDownload)
RPC->>UM: checkForUpdates()
UM->>UM: syncAutoUpdateSetting()
UM->>Net: HEAD request to base URL
Net-->>UM: connectivity status
UM->>Updater: checkForUpdate()
Updater-->>UM: update available?
UM->>UM: update state to "available"
opt autoDownload enabled
UM->>Updater: downloadUpdate()
Updater-->>UM: download progress/complete
UM->>UM: update state to "ready"
end
UM-->>RPC: AppUpdateState
RPC-->>React: update state
end
rect rgba(200, 150, 100, 0.5)
Note over React,Updater: Apply Update Flow
React->>RPC: applyUpdate()
RPC->>UM: applyUpdate()
UM->>Updater: updateInfo()
Updater-->>UM: confirm ready
UM->>Updater: applyUpdate()
Updater-->>UM: success
UM-->>RPC: { accepted: true }
RPC-->>React: confirmation
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
Summary by CodeRabbit
New Features