Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

liferea forgets the time of last update when the program is closed #171

Closed
redneb opened this issue Apr 4, 2015 · 4 comments
Closed

liferea forgets the time of last update when the program is closed #171

redneb opened this issue Apr 4, 2015 · 4 comments
Assignees
Labels

Comments

@redneb
Copy link

redneb commented Apr 4, 2015

Suppose that the "update all subscriptions at startup" setting is disabled and that I add a feed that I request to be updated say every 24 hours. Then I close liferea 23 hours after an update has occurred and I reopen it immediately. Then, the feed will be updated after 24 hours and not after 1 hour.

It would be nice if liferea remembered the time of last update and used that time to determine when the next update should occur.

@lwindolf lwindolf self-assigned this Apr 20, 2015
@lwindolf
Copy link
Owner

The behaviour you described was implemented in earlier versions of Liferea. As Liferea writes feed states synchronously to the database this caused huge delays on startup for power users (use cases of up to 1000 feeds) while providing close to no benefit to other users.

Given all the garbage loaded when viewing a feed (ads, tracking pixels, logos) I consider a single feed fetch (probably served from a CDN) not worth trading for a quicker start of the application.

@redneb
Copy link
Author

redneb commented Apr 21, 2015

Hi, thanks for the reply. Could you help me understand why this feature caused huge delays on startup? The way I see it, this can be implemented without requiring any additional writes. Specifically, every time the user manually initiates an update of a feed, liferea would record the current time. This would not incur an necessarily additional write: the current time could be stored in liferea.db, and it could be written there within the same sqlite transaction as the one used to write the new items of the feed.

If a feed is not updated manually, then the time does not have to be recorded; this way, if I manually update one feed at say 20:00 one day, and the update interval is 24 hours, then the feed would be updated every day at 20:00.

@asl97
Copy link
Contributor

asl97 commented May 5, 2015

@redneb you have describe different things in your two posts, both slightly contradicting each other cause they didn't take down time (ie: when liferea isn't open. when the computer is turn off) into account.

1: update (countdown) timer

Suppose that the "update all subscriptions at startup" setting is disabled and that I add a feed that I request to be updated say every 24 hours. Then I close liferea 23 hours after an update has occurred and I reopen it immediately. Then, the feed will be updated after 24 hours and not after 1 hour.

let's say you didn't use liferea in a million years (ok, maybe not that long but long enough so that every feed need updating), then you open liferea, all the feed would start updating and then it need to update (write) the 'current time' in the database for each and every single feed

edit 1: also, don't forget that it would need to read the 'current time' (last updated time) from each and every single feed in the database and check them against the current time to find out whether it need to be updated.

i think this is what caused the huge delays on startup.

2: fixed update time/date, ie: only update when it's time

if I manually update one feed at say 20:00 one day, and the update interval is 24 hours, then the feed would be updated every day at 20:00.

let's say liferea wasn't open for over 24 hours and it's 21:00, should it update or not?
i think it should, while what you said: ' updated every day at 20:00' say otherwise.

@redneb
Copy link
Author

redneb commented May 5, 2015

2: fixed update time/date, ie: only update when it's time

Basically what I would like to see, is to support updating at a fixed time. It used to be possible in the past but not anymore. With everything else I said, I was merely exploring ways this could be implemented without incurring any cost to all users (which is why this was removed in the first place).

let's say liferea wasn't open for over 24 hours and it's 21:00, should it update or not?
i think it should, while what you said: ' updated every day at 20:00' say otherwise.

I don't have a strong preference about this one. I would be happy as long as it updates everyday at 20:00 when left open for long periods of time.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants