Commit Graph

1137 Commits

Author SHA1 Message Date
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
Mathias Kresin
e0fd734c64 use javascript advanced optimizations, improve make-js script
Major benefit, beside a smaller file size, is the possibility to remove debug informations from the minified javascript.

make-js script:
- take care of any warnings and errors
- raise warning level to verbose

js/*
- switch to Array-Access Property Notation for external data (prevents renaming by the closure compiler)
2015-01-28 05:26:55 +01:00
Mathias Kresin
8241177556 switch config table to key/value store 2015-01-28 05:26:36 +01:00
Mathias Kresin
525048bbb2 code cleanup
Add feeds only once to the feed_ids array (feed model), drop now unused select-db action.

Use $_SESSION['loggedin'] in favour of $_SESSION['user'] to reflect which information we do
expect from this session variable. Add nothing else than a flag, which indicates a logged in
user, to $_SESSION['loggedin'].

It's not necessary to know the current user name, since we do only have one user
per database. Same for the language setting. The database defines the front-end language.

Resolves bug where the password gets stored in the $_SESSION['user'] after a remember_me
login.
2015-01-28 05:24:17 +01:00
Frederic Guillot
d2cfc7fd15 Update vendor 2015-01-27 20:13:16 -05:00
Frederic Guillot
b0c1f57213 Update dependencies, enable temporary PicoFeed debug logs 2015-01-19 20:00:16 -05:00
Frederic Guillot
e09133f004 Don't show an empty item-content-enclosure div 2015-01-19 19:43:15 -05:00
Frederic Guillot
bb570ecd3e Merge pull-request #312 2015-01-19 19:30:11 -05:00
Frederic Guillot
8718798d80 Update hello theme 2015-01-19 19:20:29 -05:00
Mathias Kresin
972fa86357 update integration tests
- more flexibility and explicitly with the expected dataset
- use radio button to select unittest.db
- add tests:
    - previous/next article with arrow key left/right
    - no alerts are displayed by default
    - alert is displayed on first feed page if feed has parsing error
    - keyboard shortcuts are disabled with modifier keys shift, alt and control (except IE)
    - display logic on subscription page
2015-01-19 22:52:50 +01:00
Mathias Kresin
21ac0a5fd9 fix compatibility for php < 5.5 2015-01-18 18:40:00 +01:00
Mathias Kresin
7c31b9fff0 update picoFeed to f3ed9fe and use icon from atom feeds as favicon 2015-01-18 15:23:11 +01:00
Mathias Kresin
1c68dd4727 remove html tags from translations 2015-01-18 14:33:19 +01:00
Mathias Kresin
76825cb673 use radio buttons to select the login database
allows one click logins to not default databases using passwordmanagers
like keefox.
2015-01-18 13:25:38 +01:00
Mathias Kresin
816b793e4c re-enable help shortcut for Firefox, fix javascript errors 2015-01-18 01:26:28 +01:00
Mathias Kresin
f602ff50e2 adjust alert css classes to the message severity
Use panel classes for styling and leave error class for errors.
2015-01-18 01:26:28 +01:00
Frederic Guillot
e08ba7771d Change session lifetime and do not use the image proxy for https urls 2015-01-17 19:17:44 -05:00
Frederic Guillot
cd1a0115c2 Minor cleanups 2015-01-17 18:53:40 -05:00
Mathias Kresin
cfd03efc01 Fix database hijacking
Check if a requested database can be selected. Error out if not.
This prevents automatic fallbacks to the default database.

Remove the authorized information from the session if a new database
gets selected.

Factor out logout function to reuse existing code.
2015-01-17 21:14:44 +01:00
Frederic Guillot
32393d17af Change the color of the feed errors box and update the french translation 2015-01-14 20:27:38 -05:00
Frederic Guillot
b04b2104f1 Merge branch 'upstream' of https://github.com/mkresin/miniflux 2015-01-14 20:20:56 -05:00
Frederic Guillot
215cf3f881 Change navigation for feeds sub-menus 2015-01-14 20:18:24 -05:00
Mathias Kresin
db94d94de3 Improve user notice about failed feeds
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
2015-01-15 02:04:35 +01:00
Mathias Kresin
360fc9076e improve sub navigation on config page
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.
2015-01-13 22:50:59 +01:00
Mathias Kresin
cfaa25f667 minor improvements
- 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)
2015-01-13 20:27:33 +01:00
Frederic Guillot
9c58f2235c Add contributor 2015-01-12 20:20:51 -05:00
Frederic Guillot
888c2c90cf Merge pull-request #305 2015-01-12 20:13:16 -05:00
Frederic Guillot
bea3c7a29a Minor css improvements 2015-01-12 19:59:17 -05:00
Frederic Guillot
84078bb2a5 Add left/right arrow as keyboard shortcuts 2015-01-12 19:46:21 -05:00
Kordian Bruck
cbc7a72065 Added some rules for comics and Austrian press 2015-01-13 00:49:03 +01:00
Frederic Guillot
6a1515c0cc Fix english typo 2015-01-12 18:07:09 -05:00
Frederic Guillot
16945c3649 Fix helper include 2015-01-11 11:26:55 -05:00
Frederic Guillot
0f62f81d9e Merge branch 'master' of https://github.com/Silvus/miniflux 2015-01-10 20:39:56 -05:00
Frederic Guillot
c2cbc00f22 Move condition 2015-01-10 19:51:27 -05:00
silvus
d3a275616e Fix favicons height 2015-01-11 01:48:25 +01:00
Frederic Guillot
8f9c957f2f Update hello theme with the patched version 2015-01-10 18:42:47 -05:00
Frederic Guillot
67d3beb5cc Improve release script 2015-01-10 18:16:03 -05:00
Mathias Kresin
8e78c77fc1 introduce release script
This script replaces make-archive.sh and make-tag.sh.

Switch to 'git archive' to create a ZIP file from the repo. Its way
more faster, automates a lot things and works with the GitHub download
HEAD/Release/Tag as ZIP functionality as well.

git archive reads the file .gitattributes to determine which files has
to be excluded from the zip file.

It replaces the following placeholders in common.php:

$Format:%d$": with the output of git log --pretty=format:%d which
contains the tag of the last commit (if tagged).

$Format:%H$": with the hash of the latest included commit.

If no tag can be found the hash is appended to "master" and shown as
version number.

The approach is kind of hackish since no distinct format option for the
tag exists.

Fixes #231, https://github.com/fguillot/miniflux/issues/213#issuecomment-65631765
2015-01-10 09:37:52 +01:00
Mathias Kresin
ad7d1ae7bc Add script to find missing locales
from fguillot/kanboard#393 and adjusted for miniflux usage
2015-01-08 23:54:24 +01:00
Mathias Kresin
cd15eeb92a make-js: use https 2015-01-08 23:54:24 +01:00
Frederic Guillot
a45d69dee4 Update Hello skin 2015-01-06 22:59:56 -05:00
Frederic Guillot
34def70106 Add relaed projects seection to the readme 2015-01-06 21:25:14 -05:00
Frederic Guillot
75b7511f5f Add grabber rule for allgemeine-zeitung.de 2015-01-06 20:56:52 -05:00
Frederic Guillot
0da3a8dfa3 Fix bug proxy (bad url encoding) + update depencies 2015-01-06 19:08:10 -05:00
Frederic Guillot
9f3d19bfc2 Update README 2015-01-04 16:36:56 -05:00
Mathias Kresin
bb51368f3a Tests: Fix PHP strict standards warnings 2015-01-04 22:26:14 +01:00
Mathias Kresin
71275eac2c display & update the number of unread items on every page with an "unread items" menu 2015-01-04 18:48:01 +01:00
Mathias Kresin
3b33544cae introduce integration tests 2015-01-04 18:47:59 +01:00
Mathias Kresin
f3f0881758 Move token regeneration to the advanced config section
And make clear which services get a new token.
2015-01-03 23:43:49 +01:00
Mathias Kresin
e349921322 remove orphaned functions
the functions are unused since f4efaad.
2015-01-03 23:17:13 +01:00