Only the unread counter is updated right know.
The AutoUpdate Feature is designed on the premise of don't wasting resources. A
distinction is made between updates when Miniflux is visible or hidden.
To determine the visibility status, the Page Visibility API is used. The API is
available starting with Chrome 33, Firefox 18 and IE10. [https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API]
As IE9 returns an undefined, it doesn't break the compatibility at least.
If Miniflux is visible, the unread counter on the web page is updated as soon as
a mismatch between the counter and the number of unread articles in the database
is found.
If Miniflux is hidden, the timestamp of the most recent article from each feed
is compared with the value from the last run. We have an update If the timestamp
of the latest article is greater than the stored one and the latest article is
unread. The web page title is updated with a ? symbol to notify the user and the
update check pauses till Miniflux gets visible again. If Miniflux gets visible
again, the number of unread articles is queried from the database, the unread
counter on the web page is updated and finally the ? symbol is removed from the
web page title.
This way I can use my fever API client to read new articles (or at least the
latest article) while Miniflux is hidden and as I've seen the new articles
already a new articles notification is prevented.
It's intentionally that the page does not reload automatically as long as
articles are visible. If I'm in hurry, I only scroll through the articles to
spot something interesting. Most of the time I don't reach the last article.
If the page is reloaded while I'm away, I would have to scan from the top again.
If we're on a nothing_to_read page and have unread articles in the database, a
redirect to the unread page will be done.
The default update check interval is 10 minutes and can be changed on the
settings page. A zero value disables the update check entirely.
fixes#213
Show feeds with errors always at the top and highlight them
Changes the feed order to:
1. failed
2. enabled
3. disabled
Order alphabetical within each group.
Show a warning message with a hin to the console if feeds have issues
Fixes#300, #303
Don't hide the active element, it annoying to use the navigation if the
menu items changing there position with every click. Indicate the active
menu item instead, similar to the header navigation.
May I've worked to long with windows systems, but help and about have to
be the last menu items :-). I've reorderd the menu items to what I think
user need more often.
A sub-navigation should not change its parent heading. Changed that as
well.
- enable debug logging for image proxy
- show enclosure image only if no article content exists
- do not store empty favicons
- fix typo in get_item_favicons (worked anyway since get_favicons
returned all known favicons instead)
This prevents UI glitches with RTL feeds.
Use the unicode LTR marker character to hint the rending engine which
part of a RTL/LTR mixed string is LTR. This prevents UI glitches with
RTL feeds like http://www.ynet.co.il/Integration/StoryRss544.xml.
The entity has to be outside of the span tag to prevent flickering when
the counter is update via javascript.
I've dropped it accidentally with my last commit. Furthermore I moved
the data-feed-id definition to the article element and dropped multiple
references of the feed id. That's similar to what I've done before with
the data-item-id in 3dae99ac.
The article element holds the information whether a feed is disabled now.
Now it is shown if a feed had errors while updating.
Use CSS3 Animation for the "loading icon" blinking and move the definition of
the loading icon to CSS as well.
CSS3 Animations are supported by IE10, Firefox and using the -webkit prefix by
Chrome and Safari.
I've dropped the usage of element.classList in favour of supporting refreshing/
article downloading in IE9 (again). The classList stuff isn't necessarily
needed, as the elements in question only get one or no class assigned.
I've dropped no longer supported css options like:
the appearance option isn't supported by any browser, the -webkit-appearance
doesn't change anything visible.
-webkit-font-smoothing support was dropped in chrome 22 and font-smoothing
isn't specified anywhere.
The item id exists as data attribute or as element.id postfix on multiple
elements in an article.
The basic idea is to traverse the DOM tree - starting from the event firing
element - in reverse order till an article element is found.
This article element is passed to the JavaScript functions. These JavaScript
functions are getting the elements which they want to manipulate starting from
the article utilizing the JavaScript querySelector function.
The bootstrap themes had a conflicting and unused class style definied, which is
removed by now.
Unified the page-counters before.
This makes processing of counters in javascript way more easier. The minimum
required browser versions for the needed CSS3 selectors are IE9, Firefox 3.5
and Chrome 5. Confirmed working with IE9, Firefox 24.6, Chrome 36, Mobile Safari
on iOS6.
An unintended side effect of CSS brackets is that theme designers are able to
implement there idea of brackets.