Go to file
Mathias Kresin cd13efeabf implement frontend autoupdate
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
2015-01-28 05:26:55 +01:00
assets implement frontend autoupdate 2015-01-28 05:26:55 +01:00
controllers implement frontend autoupdate 2015-01-28 05:26:55 +01:00
data Add Miniflux auto-update feature 2014-03-30 15:59:26 -04:00
docs introduce integration tests 2015-01-04 18:47:59 +01:00
fever switch config table to key/value store 2015-01-28 05:26:36 +01:00
lib use radio buttons to select the login database 2015-01-18 13:25:38 +01:00
locales implement frontend autoupdate 2015-01-28 05:26:55 +01:00
models implement frontend autoupdate 2015-01-28 05:26:55 +01:00
scripts use javascript advanced optimizations, improve make-js script 2015-01-28 05:26:55 +01:00
templates implement frontend autoupdate 2015-01-28 05:26:55 +01:00
tests/integration update integration tests 2015-01-19 22:52:50 +01:00
themes Update hello theme 2015-01-19 19:20:29 -05:00
vendor Update vendor 2015-01-27 20:13:16 -05:00
.gitattributes introduce release script 2015-01-10 09:37:52 +01:00
.gitignore Move to Composer and update to the last version of PicoFeed 2014-12-23 21:28:26 -05:00
.htaccess_ovh Update OVH .htaccess 2014-10-30 20:36:48 -04:00
check_setup.php Move to Composer and update to the last version of PicoFeed 2014-12-23 21:28:26 -05:00
common.php Update dependencies, enable temporary PicoFeed debug logs 2015-01-19 20:00:16 -05:00
composer.json Update vendor 2015-01-27 20:13:16 -05:00
config.default.php Update default config 2014-10-30 22:01:17 -04:00
cronjob.php Fix database hijacking 2015-01-17 21:14:44 +01:00
Dockerfile Move Docker files 2014-11-01 12:14:33 -04:00
favicon.ico Move everything to the top-level directory 2013-05-21 12:34:39 +02:00
index.php Fix helper include 2015-01-11 11:26:55 -05:00
jsonrpc.php Move to Composer and update to the last version of PicoFeed 2014-12-23 21:28:26 -05:00
LICENSE Add license 2013-03-17 18:30:07 -04:00
phpunit.xml update integration tests 2015-01-19 22:52:50 +01:00
README.markdown Add contributor 2015-01-12 20:20:51 -05:00
robots.txt Add a robots.txt to disallow all search bots 2014-01-05 13:31:06 -05:00

Miniflux - Minimalist News Reader

Miniflux is a minimalist and web-based RSS reader.

Features

Host almost anywhere

  • Your Raspberry Pi, a shared web-hosting, a virtual machine or localhost
  • Easy setup => copy and paste the source code and you are done!
  • Use a lightweight Sqlite database instead of Mysql or Postgresql

Readability

  • CSS optimized for readability
  • Responsive design

Privacy and security

  • Remove Feedburner Ads and analytics trackers (1x1 pixels)
  • Open external links inside a new tab with a rel="noreferrer" attribute
  • Use secure HTTP headers (only external images and Youtube/Vimeo/Dailymotion videos are allowed)
  • Article content is filtered before being displayed

Polyglot

  • Translated in English, French, German, Italian, Czech, Spanish, Portuguese and Simplified Chinese
  • RTL languages support

Awesome features

  • Keyboard shortcuts
  • Full article download for feeds that display only a summary
  • Bookmarks
  • Send your favorite articles to Pinboard and Instapaper
  • Enclosure support (videos and podcasts)
  • Feed updates via a cronjob or with the user interface with one click

More

  • Keeps history of read items
  • Import/Export of OPML feeds
  • Themes
  • Auto-update from the user interface
  • Multiple databases (each user has his own database)
  • Image proxy to avoid mixed content warnings with HTTPS

Requirements

  • Recent version of libxml2 >= 2.7.x (version 2.6.32 on Debian Lenny is not supported anymore)
  • PHP >= 5.3.3
  • PHP XML extensions (SimpleXML and DOM)
  • PHP Sqlite extension
  • cURL extension for PHP or Stream Context with allow_url_fopen=On

Documentation

External projects build around Miniflux:

Todo and known bugs

License

Authors

Original author: Frédéric Guillot

Contributors

People who sent a pull-request, report a bug, make a new theme or share a super cool idea:

Many people also sent bug reports and feature requests.