feat(updater): add background update indicator - #29
Conversation
📝 WalkthroughWalkthroughAdds persisted update-check state, background updater scheduling, and settings-page update indicators. The About navigation displays unseen updates, acknowledges them when opened, and receives state changes from background checks. ChangesUpdate Indicator Flow
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant MainProcess
participant TauriUpdater
participant SettingsPage
participant AboutTab
MainProcess->>TauriUpdater: check for available update
TauriUpdater-->>MainProcess: return update result
MainProcess-->>SettingsPage: emit UPDATE_STATE_EVENT
SettingsPage->>SettingsPage: refresh update indicator
SettingsPage-->>AboutTab: display update dot
AboutTab->>SettingsPage: acknowledge known update
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/styles.css`:
- Line 119: Update the fill and stroke color value in the .settings-nav-icon svg
rule from currentColor to lowercase currentcolor to satisfy Stylelint's
value-keyword-case rule.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 9a7d1e6f-d45a-491d-a85e-b06f31fb656b
⛔ Files ignored due to path filters (1)
src-tauri/gen/schemas/capabilities.jsonis excluded by!**/gen/**
📒 Files selected for processing (8)
e2e/settings.e2e.tssrc-tauri/capabilities/update-check.jsonsrc/main.tssrc/settings.htmlsrc/settings.tssrc/styles.csssrc/update-indicator.test.tssrc/update-indicator.ts
| .settings-nav-item strong { font-size: 13px; } | ||
| .settings-nav-item small { margin-top: 2px; overflow: hidden; color: #879395; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; } | ||
| .settings-nav-icon { display: grid; flex: 0 0 28px; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: #66787a; background: #dfe8e5; } | ||
| .settings-nav-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Fix the configured Stylelint violation.
currentColor fails value-keyword-case; use currentcolor so Stylelint passes.
Proposed fix
-.settings-nav-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
+.settings-nav-icon svg { width: 17px; height: 17px; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| .settings-nav-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } | |
| .settings-nav-icon svg { width: 17px; height: 17px; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } |
🧰 Tools
🪛 Stylelint (17.14.1)
[error] 119-119: Expected "currentColor" to be "currentcolor" (value-keyword-case)
(value-keyword-case)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/styles.css` at line 119, Update the fill and stroke color value in the
.settings-nav-icon svg rule from currentColor to lowercase currentcolor to
satisfy Stylelint's value-keyword-case rule.
Source: Linters/SAST tools
Summary
Validation
Summary by CodeRabbit
New Features
Bug Fixes
Tests