Make status messages more informative by showing refresh progress (feeds checked out of total) #62

Closed
opened 2026-07-22 13:59:24 -07:00 by serrebi · 1 comment
Owner

During feed updates, BlindRSS shows status messages that indicate the current action but do not convey the progress of the operation. This makes it hard for users to estimate how long the refresh will take or how much is left.

Current behavior

  • In the status bar of the expanded window: "Checked: {title}" — shows the title of the last checked feed. This becomes outdated quickly and doesn’t reflect overall progress.
  • In the tray icon title: "Refreshing feeds..." — indicates that the process is ongoing but provides no quantitative information.

Desired behavior

Replace or augment these messages with progress information in the format: "Checked X out of Y", where:

  • X = number of feeds already checked.
  • Y = total number of feeds to be checked in this operation.

Example: "Checked 25 out of 150".

Scenarios

  1. Refresh all feeds (triggered by F5): Y should be the total number of all feeds in BlindRSS.
  2. Refresh a specific category (“Refresh Category” in the context menu): Y should be the total number of feeds in the selected category and all its subcategories.

Acceptance criteria

  • Status bar shows progress message Checked X out of Y instead of or in addition to the current message.
  • Tray icon title shows progress message Refreshing: X out of Y or similar.
  • Y is correctly calculated for both “refresh all” and “refresh category” scenarios.
  • Progress updates in real time as each feed is checked.
During feed updates, BlindRSS shows status messages that indicate the current action but do not convey the progress of the operation. This makes it hard for users to estimate how long the refresh will take or how much is left. #### Current behavior * In the status bar of the expanded window: "Checked: {title}" — shows the title of the last checked feed. This becomes outdated quickly and doesn’t reflect overall progress. * In the tray icon title: "Refreshing feeds..." — indicates that the process is ongoing but provides no quantitative information. #### Desired behavior Replace or augment these messages with progress information in the format: "Checked X out of Y", where: * X = number of feeds already checked. * Y = total number of feeds to be checked in this operation. Example: "Checked 25 out of 150". #### Scenarios 1. Refresh all feeds (triggered by F5): Y should be the total number of all feeds in BlindRSS. 2. Refresh a specific category (“Refresh Category” in the context menu): Y should be the total number of feeds in the selected category and all its subcategories. #### Acceptance criteria * Status bar shows progress message Checked X out of Y instead of or in addition to the current message. * Tray icon title shows progress message Refreshing: X out of Y or similar. * Y is correctly calculated for both “refresh all” and “refresh category” scenarios. * Progress updates in real time as each feed is checked. <!-- forgejo-github-sync: issue github=serrebidev/BlindRSS#85 -->
Author
Owner

Shipped in v1.114.0.

  • Status bar: Checked 25 out of 150. A feed that fails keeps its name so the error is still identifiable: Error checking: Broken Feed (26 out of 150).
  • Tray title: Refreshing: 25 out of 150. It updates once per UI batch rather than once per feed — a native tray icon redraw is expensive, and doing it per feed in a 150-feed refresh was worth avoiding.

The total is taken from whichever refresh started the batch: every feed for F5, the selected category plus all its subcategories for Refresh Category, and the newly imported feeds after an OPML import. A single-feed refresh still names the feed — "1 out of 1" would say less.

Two counting details worth stating: feeds are counted by id, so a provider that reports the same feed twice (a Miniflux per-feed retry) doesn't advance the count twice; and if a provider reports more feeds than were predicted, the total grows instead of showing "27 out of 25".

While in there I also fixed something adjacent: the targeted-refresh messages ("Refreshing category: Tech...") were built from an untranslated English fragment, so they stayed English in every translated UI. They're now translatable, and all 15 catalogs are complete.

Shipped in [v1.114.0](https://github.com/serrebidev/BlindRSS/releases/tag/v1.114.0). - **Status bar:** `Checked 25 out of 150`. A feed that fails keeps its name so the error is still identifiable: `Error checking: Broken Feed (26 out of 150)`. - **Tray title:** `Refreshing: 25 out of 150`. It updates once per UI batch rather than once per feed — a native tray icon redraw is expensive, and doing it per feed in a 150-feed refresh was worth avoiding. The total is taken from whichever refresh started the batch: every feed for F5, the selected category plus all its subcategories for Refresh Category, and the newly imported feeds after an OPML import. A single-feed refresh still names the feed — "1 out of 1" would say less. Two counting details worth stating: feeds are counted by id, so a provider that reports the same feed twice (a Miniflux per-feed retry) doesn't advance the count twice; and if a provider reports more feeds than were predicted, the total grows instead of showing "27 out of 25". While in there I also fixed something adjacent: the targeted-refresh messages ("Refreshing category: Tech...") were built from an untranslated English fragment, so they stayed English in every translated UI. They're now translatable, and all 15 catalogs are complete. <!-- forgejo-github-sync: comment github=serrebidev/BlindRSS#85/5051921441 -->
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
serrebi/BlindRSS#62
No description provided.