Feature: Per feed refresh frequency - #245
Conversation
|
Added translations to languages I speak. |
| if params.RefreshInterval != nil { | ||
| if *params.RefreshInterval == -1 { | ||
| setClauses = append(setClauses, "refresh_interval = NULL") | ||
| } else { | ||
| setClauses = append(setClauses, "refresh_interval = :refresh_interval") | ||
| args = append(args, sql.Named("refresh_interval", *params.RefreshInterval)) | ||
| } | ||
| } |
There was a problem hiding this comment.
Changing an interval should also reschedule the feed. This code updates refresh_interval but leaves next_check_at unchanged. For example, changing a feed from 24 hours to 15 minutes can leave it skipped for the remainder of the old schedule.
There was a problem hiding this comment.
Good catch, addressed on the latest commit.
| "feed.add.refreshFrequencyLabel": "Aktualisierungsfrequenz", | ||
| "feed.add.refreshFrequencyDefault": "Standard ({interval})", | ||
| "feed.add.refreshFrequency.900": "Alle 15 minutes", | ||
| "feed.add.refreshFrequency.1800": "Alle 30 minutes", | ||
| "feed.add.refreshFrequency.3600": "Alle 1 hour", | ||
| "feed.add.refreshFrequency.7200": "Alle 2 hours", | ||
| "feed.add.refreshFrequency.21600": "Alle 6 hours", | ||
| "feed.add.refreshFrequency.43200": "Alle 12 hours", | ||
| "feed.add.refreshFrequency.86400": "Alle 24 hours", |
There was a problem hiding this comment.
This sounds really nitpicky but my agent keeps complaining that the German translation is using English time units. Is it normal for German translations to do that?
There was a problem hiding this comment.
No not normal, I just didn't look at my German translations after I wrote them 🫣.
|
This PR will fail on CI because it's missing translations for |
|
Another pet peeve, time stored as number often mean UNIX timestamp or millisecond interval so I recommend adding |
- rename refresh_interval to refresh_interval_seconds across backend, frontend API types, and the feeds table migration for clarity - reschedule feed when its refresh interval changes by resetting next_check_at so the new schedule takes effect immediately - fix German refresh frequency labels to use native time units - add missing zh/fr/es/ru/sv translations
I don't speak these languages, so I just had AI do the translations.
fixed. |
Reason for feature
Some feeds I'm subscribed to are either throttling or outright blocking me because of the high refresh frequency. I have raised the refresh frequency, but I'd still like some of my feeds to refresh more often, thus a per feed refresh frequency setting.
Summary
Adds the ability to override the global refresh interval (FUSION_PULL_INTERVAL) on a per-feed basis via a dropdown in the edit/add feed dialogues.
Screenshots



Edit feed
Add feed
Refresh frequency dropdown
Currently, these are the refresh frequency options, but I'm open to adding more options or even leaving it up to the user. I just figured having pre-set options would be more convenient.
Changes
Testing
AI-written, human-supervised.