Skip to content

footer: Replace refresh button with countdown timer#41

Merged
robinebers merged 2 commits intomainfrom
feat/uptime-timer
Feb 2, 2026
Merged

footer: Replace refresh button with countdown timer#41
robinebers merged 2 commits intomainfrom
feat/uptime-timer

Conversation

@robinebers
Copy link
Owner

@robinebers robinebers commented Feb 2, 2026

Replace the "Refresh All" button in the footer with a countdown timer showing when the next auto-update will occur.

Changes

  • Removed "Refresh All" button and replaced with "Next update in Xm/Xs" countdown display
  • Moved countdown from settings page to footer; settings now only shows interval selector
  • Added aria-labels to nav buttons and retry button for accessibility
  • Fixed pre-existing test failures in use-app-update.test.ts

Made with Cursor


Note

Medium Risk
Moderate risk: changes UI affordances for refreshing and shifts updater behavior to auto-download on startup, which can affect update flow and user expectations. Most changes are covered by updated unit tests, but timer/interval behavior and updater edge cases could still regress.

Overview
Replaces the footer "Refresh all" control with a live auto-update countdown (Next update in Xm/Xs or Paused), moving/removing the countdown from SettingsPage and simplifying the Auto Update section copy.

Removes the App-level manual refresh/cooldown enablement logic and updates PanelFooter to tick once per second when scheduled.

Improves accessibility by adding aria-labels to SideNav buttons and the provider card retry icon button, and updates the app updater flow/tests so useAppUpdate auto-downloads when an update is found and surfaces clearer downloading/ready/error states in the footer.

Written by Cursor Bugbot for commit 659507d. This will update automatically on new commits. Configure here.


Summary by cubic

Replaced the footer’s “Refresh All” button with a live countdown showing when the next auto-update will run. Moved the countdown from Settings to the footer and improved accessibility and update status UX.

  • New Features

    • Footer shows “Next update in Xm/Xs” (or “Paused” when unscheduled).
    • Footer displays update states: downloading progress and a “Restart to update” button when ready; shows errors clearly.
    • Settings now only shows the auto-update interval; helper text updated (“How often we update your usage”).
    • Added aria-labels for SideNav buttons (Home, Settings, plugin names) and the provider “Retry” button.
  • Refactors

    • Removed manual refresh and cooldown logic from App.
    • Auto-downloads updates when available; updated tests and fixed pre-existing failures in use-app-update.

Written for commit 659507d. Summary will update on new commits.

- Removed the "Refresh All" button from the footer, replacing it with a countdown timer that displays minutes or seconds until the next update.
- Moved the countdown display from the settings page to the footer.
- Added aria-labels to SideNav buttons for improved accessibility, including Home, Settings, and plugin names.
- Included an aria-label for the retry button in the provider card.
- Updated tests to reflect changes in the footer and button interactions.
@macroscopeapp
Copy link

macroscopeapp bot commented Feb 2, 2026

Replace the footer Refresh All control with a live auto‑update countdown and move the countdown display from Settings to the footer

Remove manual refresh and cooldown logic from App, update PanelFooter to render a 1s-ticking countdown or “Paused”, and strip the countdown from Settings. Adjust tests to reflect auto-download behavior and new accessible names for nav and retry buttons.

📍Where to Start

Start with PanelFooter props and countdown logic in panel-footer.tsx, then review the removal of refresh/cooldown handling in App.tsx.


Macroscope summarized 659507d.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f251a0a200

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

"$schema": "https://schema.tauri.app/config/2",
"productName": "OpenUsage",
"version": "0.0.2",
"version": "0.0.1",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Avoid downgrading app version in tauri config

The app version is lowered to 0.0.1 in src-tauri/tauri.conf.json. For users already on 0.0.2, Tauri’s updater will compare versions and consider this build older, so they will not receive updates until the version is bumped above 0.0.2. This effectively strands existing installs on newer versions. Restore or bump the version instead of downgrading.

Useful? React with 👍 / 👎.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@robinebers robinebers merged commit 2d1c367 into main Feb 2, 2026
2 checks passed
@robinebers robinebers deleted the feat/uptime-timer branch February 2, 2026 15:01
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 12 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="src-tauri/tauri.conf.json">

<violation number="1" location="src-tauri/tauri.conf.json:4">
P2: Version number was decremented. This makes the new build appear older than the previous release, which can block users on 0.0.2 from receiving updates and breaks expected release ordering. Keep versions monotonic (restore 0.0.2 or bump to the next version).</violation>

<violation number="2" location="src-tauri/tauri.conf.json:4">
P2: The Tauri config version now diverges from Cargo.toml. Keep these in sync to avoid inconsistent app versioning and updater behavior.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

"$schema": "https://schema.tauri.app/config/2",
"productName": "OpenUsage",
"version": "0.0.2",
"version": "0.0.1",
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Version number was decremented. This makes the new build appear older than the previous release, which can block users on 0.0.2 from receiving updates and breaks expected release ordering. Keep versions monotonic (restore 0.0.2 or bump to the next version).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src-tauri/tauri.conf.json, line 4:

<comment>Version number was decremented. This makes the new build appear older than the previous release, which can block users on 0.0.2 from receiving updates and breaks expected release ordering. Keep versions monotonic (restore 0.0.2 or bump to the next version).</comment>

<file context>
@@ -1,7 +1,7 @@
   "$schema": "https://schema.tauri.app/config/2",
   "productName": "OpenUsage",
-  "version": "0.0.2",
+  "version": "0.0.1",
   "identifier": "com.sunstory.openusage",
   "build": {
</file context>
Suggested change
"version": "0.0.1",
"version": "0.0.2",
Fix with Cubic

"$schema": "https://schema.tauri.app/config/2",
"productName": "OpenUsage",
"version": "0.0.2",
"version": "0.0.1",
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The Tauri config version now diverges from Cargo.toml. Keep these in sync to avoid inconsistent app versioning and updater behavior.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src-tauri/tauri.conf.json, line 4:

<comment>The Tauri config version now diverges from Cargo.toml. Keep these in sync to avoid inconsistent app versioning and updater behavior.</comment>

<file context>
@@ -1,7 +1,7 @@
   "$schema": "https://schema.tauri.app/config/2",
   "productName": "OpenUsage",
-  "version": "0.0.2",
+  "version": "0.0.1",
   "identifier": "com.sunstory.openusage",
   "build": {
</file context>
Fix with Cubic

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.

1 participant