Commit Graph

229 Commits

Author SHA1 Message Date
Mathias Kresin
46d69b15f6 minor feed edit dialog improvments
- redirect to feed edit dialog if the changed feed settings couldn't be saved
- add default values and drop isset (similar to the feed add dialog)
2015-04-11 23:26:28 +02:00
Frederic Guillot
fa1ddb486a Normalize helper functions 2015-04-10 20:57:44 -04:00
Mathias Kresin
f346af2f38 keep selected options on feed adding error 2015-04-10 23:09:19 +02:00
Mathias Kresin
ee98a62519 mark items on page 2+ read as well, update tests
Update integration tests, to ensure that all articles are marked read,
instead of only visible.
2015-04-07 22:46:50 +02:00
Frederic Guillot
c81b728d69 Merge Arabic translation #348 and improve user interface for RTL languages 2015-03-20 18:53:15 -04:00
Frederic Guillot
9732824a8d Merge partially #315 (add class to enclosure link) 2015-02-08 11:22:48 -05:00
Mathias Kresin
f3e9b4d9b5 improve image-proxy
- use passthrough mode for image proxy (fixes #295)
- add image proxy when rendering an article (fixes #314)
- add referrer cloaking option to feed options (fixes #319)
2015-02-06 07:11:21 +01:00
Frederic Guillot
34aca5bc6f Update french translation 2015-01-29 19:54:40 -05:00
Mathias Kresin
a2686ae21d add option to disable mark as read for original link
fixes #196
2015-01-30 00:14:01 +01:00
Frederic Guillot
33a6e50c96 Add debug_mode config option and update vendor 2015-01-28 21:57:34 -05:00
Frederic Guillot
fa9dc3ab8f Change label for frontend update check and minor changes 2015-01-28 20:17:02 -05:00
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
Frederic Guillot
e09133f004 Don't show an empty item-content-enclosure div 2015-01-19 19:43:15 -05: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
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
cd1a0115c2 Minor cleanups 2015-01-17 18:53:40 -05: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
84078bb2a5 Add left/right arrow as keyboard shortcuts 2015-01-12 19:46:21 -05:00
Frederic Guillot
c2cbc00f22 Move condition 2015-01-10 19:51:27 -05: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
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
Frédéric Guillot
da174a10cc Display the bookmarklet in a text box to be easy to copy and paste 2015-01-02 12:43:17 -05:00
Frédéric Guillot
aa18c0d86f Merge pull-request #285, (pt_BR translations) 2015-01-02 12:10:43 -05:00
Kaminary
8b571fee48 Fixed little typo in feed list 2015-01-02 14:56:01 -02:00
Mathias Kresin
49a905db4c RTL/LTR rendering engine hinting
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.
2014-12-31 17:15:51 +01:00
Mathias Kresin
9d31eb1a01 Fix feed-last-checked update after refresh-all
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.
2014-12-31 17:14:19 +01:00
Mathias Kresin
0aa5252c85 remove multiple definition of data-item-page 2014-12-26 23:01:05 +01:00
Mathias Kresin
a4d8abb631 Move update icon and update icon blinking to css
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.
2014-12-26 23:01:05 +01:00
Frédéric Guillot
bb21b9aa02 Change css for the bookmarklet link 2014-12-26 10:43:27 -05:00
Frédéric Guillot
feb25c7552 Add favicons on the feeds page 2014-12-24 18:12:41 -05:00
Frédéric Guillot
c1d74b8332 Add favicon support 2014-12-24 17:54:27 -05:00
Frédéric Guillot
7d4d4e0193 Add image proxy to avoid https mixed content warnings 2014-12-24 15:58:24 -05:00
Frédéric Guillot
b2e3116350 Add Instapaper support 2014-12-24 13:50:20 -05:00
Frédéric Guillot
635e3bb813 Add Pinboard bookmark sync 2014-12-24 10:47:24 -05:00
Frédéric Guillot
5690f91fb7 Add keyboard shortcut to toggle RTL mode 2014-12-23 22:13:23 -05:00
Frédéric Guillot
4313909052 Add option to flush all unread items after X days, default 45 days (avoid very large database) 2014-12-15 20:38:35 -05:00
Frédéric Guillot
5e0e079afa Add refresh link to the feed page items 2014-12-10 21:26:07 -05:00
Frédéric Guillot
04749a4aba Replace mark as read link by an icon 2014-12-10 21:12:42 -05:00
Mathias Kresin
0455d14d73 Update Bookmark Icon title within the article view when toggling bookmark status 2014-12-10 17:08:07 +01:00
Mathias Kresin
b62fb332b5 Translations: Remove unused, dedup and add missing entries 2014-11-20 18:49:23 +01:00
Mathias Kresin
3dae99ac27 remove multiple definition of item id
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.
2014-11-20 10:43:29 +01:00
Mathias Kresin
e9762e7ea0 Move bookmark/read/unread display style completely to CSS 2014-11-19 20:19:45 +01:00
Mathias Kresin
8424b9bfb1 add brackets to unread, page and feed items counter via CSS
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.
2014-11-19 20:19:45 +01:00
Frédéric Guillot
fa5bda49db Add a database page 2014-11-18 19:16:14 -05:00
Frédéric Guillot
ca72433299 Improve layout (always show prev/next) 2014-11-08 12:55:30 -05:00
Frédéric Guillot
d8c0d9dc4c Remove useless file 2014-11-08 10:24:53 -05:00
Frédéric Guillot
d17b418328 Add confirmation box for auto-update 2014-11-08 10:07:24 -05:00
Frédéric Guillot
e5947db7f1 Add CSRF protections 2014-11-07 21:44:20 -05:00
Frédéric Guillot
f4efaadad1 Remove Google auth (openid is deprecated) and Persona auth (useless) 2014-11-07 20:53:50 -05:00
Frédéric Guillot
1ac40097ed Split settings page into mutliple pages 2014-11-07 20:37:12 -05:00
Mathias Kresin
b0ca5e8aa0 remove abandoned file
The file confirm_disable_feed isn't used anymore and the action disable-feed
does't exists.
2014-11-05 14:45:42 +01:00
Mathias Kresin
c18ddc3ddc HTML Cleanup
Remove line breaks and indentation around links text: At least Chrome/Firefox on
Windows add the white space(s) from the HTML Code to the link text, which
results in "jumping" labels. The behaviour can be observed with the Hello Theme
while toggling the bookmark status.
2014-11-05 14:45:10 +01:00
Frédéric Guillot
5801258ace Add Fever API support 2014-10-29 21:28:23 -04:00
Frédéric Guillot
85d4e9231d Allow the translation of the application name 2014-10-19 19:22:22 -04:00
Frédéric Guillot
53b94d8f7b Add option to force RTL mode per feed and improve feed modification 2014-10-19 19:14:33 -04:00
Frédéric Guillot
8d93fbc48c Remove items via ajax requests (merge pull-request #227) 2014-07-26 08:01:25 -04:00
Frédéric Guillot
3453a9f1d4 Improve usability (merge pull-request #226) 2014-07-26 07:33:15 -04:00
Frédéric Guillot
0069cc3792 Add new theme: Cards (pull-request #224) 2014-07-26 07:20:51 -04:00
silvus
655e8fda68 Add option to select display mode on lists (summaries or full contents) 2014-05-29 16:57:23 +02:00
Frédéric Guillot
3e1229a4d1 Add token for the bookmarklet 2014-05-28 16:44:25 -04:00
Frédéric Guillot
7e553f72fd Add RememberMe authentication 2014-05-26 20:47:40 -04:00
Frédéric Guillot
c6f5606070 Bug fixes: charset encoding/decoding 2014-05-25 08:47:03 -04:00
Frédéric Guillot
58cb6979a8 Remove apple-mobile-web-app-capable 2014-05-18 11:30:14 -04:00
Frédéric Guillot
59ba6bbed4 Add meta tag apple-mobile-web-app-capable 2014-05-18 10:40:59 -04:00
Frédéric Guillot
71f391ed7a Add 'mark as unread' link on item (merge pull-request #200) 2014-05-17 09:42:24 -04:00
Frédéric Guillot
eab942537f Add support for multiple users/databases 2014-04-05 20:24:13 -04:00
Frédéric Guillot
555fd9279d Fix bug: open original link doesn't mark item as read 2014-04-04 18:41:24 -04:00
Frédéric Guillot
c1221de62c Add Miniflux auto-update feature 2014-03-30 15:59:26 -04:00
Frédéric Guillot
44e69d2414 Fix Mozilla Persona authentication 2014-03-19 18:21:59 -04:00
Frédéric Guillot
b74b8dd784 Remove PicoTools 2014-03-16 21:56:43 -04:00
Frédéric Guillot
e6e6db71f8 Add RTL language support 2014-03-16 21:35:57 -04:00
Frédéric Guillot
0a89af853e Bug fix: translation/escape (php notice) 2014-03-03 20:39:48 -05:00
Ing. Jan Kaláb
cca4916c88 mobile-web-app-capable
https://developers.google.com/chrome/mobile/docs/installtohomescreen
2014-02-28 12:18:43 +01:00
Ing. Jan Kaláb
3668c87373 mobile-web-app-capable
https://developers.google.com/chrome/mobile/docs/installtohomescreen
2014-02-28 12:17:09 +01:00
Frédéric Guillot
b5c20b93e5 Restore date/time in feeds page to fix translation 2014-02-25 20:02:55 -05:00
Frédéric Guillot
3bc7f019c5 Add timezone configuration option 2014-02-25 19:03:46 -05:00
Frédéric Guillot
01c3175c1b Merge pull-request and improve relative_time() to support translations 2014-02-25 18:49:38 -05:00
Frédéric Guillot
99c933e283 Improve HTML escaping for translations 2014-02-25 18:00:36 -05:00
chrislemonier
e554be6d22 Add relative date support
Changed Date display to be relative.  If the relative date is hovered over it shows the actual date and time.
2014-02-25 12:14:25 -08:00
chrislemonier
1c224eb08a Add relative date support
Changed Date display to be relative.  If the relative date is hovered over it shows the actual date and time.
2014-02-25 12:12:57 -08:00
chrislemonier
c242998e29 Add relative date support
Changed Date display to be relative.  If the relative date is hovered over it shows the actual date and time.
2014-02-25 12:11:29 -08:00
Frédéric Guillot
6ed3ec788a Change loading icon to use an utf8 symbol 2014-02-22 21:50:54 -05:00
Frédéric Guillot
754dcdd274 Improve pull-request for unread count for each feed 2014-02-22 19:45:02 -05:00
Philip Walden
8422e62abc Fulfills enhnacement request fguillot/miniflux #155
Inserts a (unread/total)" items count in front of each subcription
on the feeds page.

models/feed.php adds two functions: get_feed_unread_counts(), get_all_w_counts().
get_feed_unread_counts - returns either an array of (unread/total) counts indexed
by feed id or a singl (unread/total) for a specific id.
get_all_w_counts() returns the same as get_all() but appends items_unread and
items_total columns.

controller/feed.php modifies Router\post_action('refresh-feed',function() to
retrun the (unread/total) count in the retruned ajax json array.
Router\get_action('feeds',function() was modified to call get_all_w_counts().

templates/feeds.php was modified to insert the (unread/total) count into the
span id="loading-feed-" such that is can be updated after a refresh.

assets/js/feed.js was modified to to have the Update and hideRefreshIcon
update the returned (unread/total) amounts in the "loading-feed" span.
2014-02-22 11:00:49 -08:00
Frédéric Guillot
74d8d361ee Improve enclosure support 2014-02-17 22:04:49 -05:00
Philip Walden
2874d16a5d Provides enahncement fguillot/miniflux #162 "Provide original link to any audio/video enclosures".
Essentially, if an enclosure tag exists in the item, then the item menu will contain
a link 'multimedia [speaker symbol]' to the media url. Otherwise, if there is no
enclosure tag, there is no menu item shown.

This feature required adding an enclosure column to the items table (models/schema.php)
and bumping the DB version to 21 (models/config.php). I also added enclosure tag logic
to the Rss20 parser, the model/item.php and template/item.php files.
2014-02-17 10:41:22 -08:00
Frédéric Guillot
da61d38249 Improve mobile layout (Android phones) 2014-02-14 21:21:14 -05:00
Frédéric Guillot
2509de7f76 Improve others themes 2014-02-09 12:32:46 -05:00
Frédéric Guillot
49583f381f Improve files organization 2014-02-08 14:13:14 -05:00
Frédéric Guillot
fdc0298caf Change item nav 2014-02-04 22:12:27 -05:00
Frédéric Guillot
4a17f614fe Improve mobile layout 2014-02-04 21:47:59 -05:00
Frédéric Guillot
541e9e5afb Fix text typo 2014-01-12 18:35:46 -05:00
Frédéric Guillot
9a021ba43e Add an option to choose where to be redirected when there is nothing to read 2013-12-23 13:33:16 -05:00
Frédéric Guillot
282c1cb5ad Display a message next to a feed when there is a parsing error 2013-12-15 19:24:51 -05:00