Commit Graph

668 Commits

Author SHA1 Message Date
Mathias Kresin 065805e485 disable shortcut tests for firefox
The key property isn't properly set with selenium.
2015-03-08 13:19:29 +01:00
Mathias Kresin 0c3d8c787f use keyboardevent.key if implemented
Beside other stuff the main reason for this change is the circumstance
that Firefox triggers the "Toggle RTL mode" shortcut if the user press
F11 to switch Firefox into the fullscreen mode.

Each browser sends keycodes that are used by different other keys on
the keyboard for the function keys. Firefox is the only browser which
sends the onkeypress event for the function keys.

The used keyboard event properties event.keyCode and event.which are
already marked as deprecated and has been removed from the Web standards.

The "DOM Level 3 Events" standard specifies event.key as their successor.

Right now event.key is only available for Firefox 29+ and Internet
Explorer 9+. Webkit based browser have support for the former specified
event.keyIdentifier.

The implementation of event.keyIdentifier isn't the same across
different webkit based browsers and buggy:

- the value for the z key is F11 (Chrome - Windows, Linux)
- the value for the F11 key is F11 as well on (Chrome - Windows, Linux)
- the value for latin keys is always the value of the capital letter (Chrome)
- the value for cyrillic keys depends on the shift modifier (Chrome)
- the value for the keypress event is always an empty string (Safari - Mac OS)
- the value for the keydown event matches the keyboard layout dependent character (Safari - Mac OS)
- the value for the keydown event does NOT matches the keyboard layout dependent character (Chrome - Windows, Linux)

Instead of workaround the problems, the event.which is used for every
browser that doesn't support event.key.
2015-03-07 18:23:36 +01:00
Frederic Guillot ec95d8699d Fix bug for atom items without date and add grabber rules 2015-03-02 22:31:20 -05:00
Ing. Jan Kaláb 580dd1f7b7 Update translations.php
typo
2015-03-02 16:46:41 +01:00
Ing. Jan Kaláb c83be7318f Update translations.php
Fixed plurals
2015-03-02 16:46:01 +01:00
Ing. Jan Kaláb 9fb5ef2655 Update translations.php 2015-03-02 14:11:28 +01:00
Frederic Guillot 39088b6ada Add content grabber rule for developpez.com 2015-03-01 19:02:38 -05:00
Mathias Kresin 4809f736dc implement mark-feed-as-read in javascript 2015-03-01 19:56:28 +01:00
Mathias Kresin 7f335a533d update dependencies
- fixes #336
2015-03-01 19:56:11 +01:00
Frederic Guillot 9732824a8d Merge partially #315 (add class to enclosure link) 2015-02-08 11:22:48 -05:00
Mathias Kresin 4516eb56a1 Update translation doc 2015-02-08 16:59:34 +01:00
Frederic Guillot cb02a82c56 Add Hello Flat theme link 2015-02-07 12:11:12 -05:00
Frederic Guillot 93b4d7dea7 Change Hello theme address 2015-02-07 12:09:44 -05:00
Frederic Guillot 6e13e1519a Change repo url 2015-02-07 11:49:55 -05:00
Frederic Guillot 5c8b01ac96 Move Proxy\isSecureConnection() to helpers 2015-02-07 11:19:25 -05:00
Frederic Guillot ba4aa5173d Enable logging for image proxy 2015-02-07 11:09:43 -05:00
Frederic Guillot 3a80fccbab Merge pull-request #330 2015-02-07 10:28:38 -05:00
Frederic Guillot 5f6b67098e Merge pull-request #324 2015-02-07 10:25:45 -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 e1d0de8054 Update picofeed 2015-02-05 21:16:34 -05:00
Frederic Guillot 79862f61b4 Update vendor 2015-02-01 14:48:05 -05:00
Mathias Kresin d2598bac96 improvements for multiple plural support for translations
- calculate the plural number only if the term has multiple plurals
- only numbers can be converted to absolute values
2015-01-31 08:19:47 +01:00
Mathias Kresin ddcae31d48 add multiple plural support for translations
fixes #242
2015-01-30 19:45:23 +01:00
Frederic Guillot 60d125a05e Move themes outside of the main repo 2015-01-29 21:06:54 -05: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
Mathias Kresin 5b9c330f69 update dependency check: add iconv 2015-01-30 00:13:19 +01:00
Frederic Guillot 5f92233aac Sync locales 2015-01-28 21:58:05 -05: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 59500bfeb7 update counter/rework redirect to unread on feeds page
The redirect to the unread page after a manual refresh only, if new
items could be fetched and we where redirected to the subscriptions
page because of a former nothing_to_read.

Update the unread counter after refreshing either one feed or all feeds.

Redirect to unread if nothing_to_read is set, but unread items exists.
This could be the situation with the remember me function, when new items
are fetched while the browser was closed.
2015-01-28 05:26:55 +01: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
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