Commit graph

234 commits

Author SHA1 Message Date
Frédéric Guillot
806b9545a9 Refactor feed validator 2021-01-04 14:47:25 -08:00
Frédéric Guillot
4468ef1410 Refactor category validation 2021-01-03 22:50:24 -08:00
Frédéric Guillot
e45cc2d2aa Refactor user validation
Validate each user field for creation/modification via API and web UI
2021-01-03 21:36:35 -08:00
Frédéric Guillot
f0610bdd9c Refactor feed creation to allow setting most fields via API
Allow API clients to create disabled feeds or define field like "ignore_http_cache".
2021-01-02 16:48:22 -08:00
Ilya Mateyko
ab82c4b300 Subscribe to feeds with the Android Share menu 2021-01-02 11:48:07 -08:00
Bogdan Brinza
9a6c80f562
Updating read/star icons to SVGs 2020-12-29 20:47:18 -08:00
Frédéric Guillot
60a7362327 Use SQL transaction when creating user sessions 2020-12-22 20:28:34 -08:00
Frédéric Guillot
651ee02c11 Allow regular users to change settings via API 2020-12-22 15:20:36 -08:00
Frédéric Guillot
83f3ccab0e Remove extra column from users table (HSTORE field)
Migrated key/value pairs to specific columns.
2020-12-21 21:35:03 -08:00
Frédéric Guillot
989ca163a3 Add styles for <abbr> HTML tag 2020-12-20 20:24:01 -08:00
Clément Joly
f88e93a0b9
Add Server-Timing header to unread page 2020-12-18 15:08:17 -08:00
Frédéric Guillot
2cf9bde1af Show correct User Agent in input placeholders 2020-12-16 21:30:22 -08:00
Frédéric Guillot
d70b4d39ab Show Git commit in about page 2020-10-28 21:22:23 -07:00
Frédéric Guillot
99f20868ad go mod tidy + go generate 2020-10-19 22:19:48 -07:00
Richard Schneider
cc8eb89ce0
Add keyboard shortcut to scroll current item to the top 2020-10-16 15:44:03 -07:00
Manuel Garrido
84b83fc3c8
Add feed filters (Keeplist and Blocklist) 2020-10-16 14:40:56 -07:00
Frédéric Guillot
6117a2f3cd Proxify articles crawled manually 2020-10-07 22:26:52 -07:00
Tony Wang
37bc451741
Remove plaintext Fever password from database 2020-10-06 21:22:24 -07:00
Richard Schneider
93f90dae68
Add keyboard shortcut to jump to an item's feed page 2020-10-06 18:06:12 -07:00
Philipp Rempe
7da72cf89a Add setting for swipe gesture on entries on mobile 2020-10-04 17:45:18 -07:00
Frédéric Guillot
c394a61a4e Add Prometheus exporter 2020-09-27 20:04:48 -07:00
Frédéric Guillot
16b7b3bc3e http client: remove dependency on global config options 2020-09-27 14:37:46 -07:00
Dave Z
6d25fb715b
Various CSS tweaks and optimizations
Prevent sub and sup from affecting line-height.

Set touch-action on .items to prevent browser navigation.

Move font-family specific CSS to the appropriate file.

Update primary font-family for UI to be even more
compatible with various operating systems.

Make .entry-content font-weight variable depending
on font-family used.
2020-09-26 18:21:26 -07:00
Frédéric Guillot
b015887b02 Avoid Javascript minifier to break keyboard shortcuts 2020-09-23 21:01:58 -07:00
Frédéric Guillot
75b11d5744 Rename service worker script to avoid being blocked by uBlock 2020-09-23 20:40:06 -07:00
Frédéric Guillot
debbf5a5b0 Enable strict slash to avoid 404 when using trailing slash 2020-09-13 18:02:08 -07:00
Frédéric Guillot
a8de067810 go mod tidy + go generate 2020-09-09 23:31:25 -07:00
Kebin Liu
cf7712acea
Add HTTP proxy option for subscriptions 2020-09-09 23:28:54 -07:00
Pedro Lucas Porcellis
e1c9e6ccb4
Add link to mark a feed as read 2020-08-19 22:17:33 -07:00
Frédéric Guillot
eaf1fc896f Redirect to login page if CSRF token is expired
This will force the form to be populated with a valid token.
2020-08-09 13:16:57 -07:00
Frédéric Guillot
943e7a7317 Align entry actions to the left
- Attempt to avoid awkward alignment on smartphone screens
- Keep the read/star actions aligned to the left
- Remove css flex to allow easier override with custom CSS
2020-07-28 22:26:32 -07:00
Frédéric Guillot
8fb71366f8 API: Delete users asynchronously
Deleting large users might lock the tables in the hosted offering
2020-07-28 20:39:10 -07:00
Maxime Bailleul
ee5a8a05c9 Add reading time for entries 2020-07-16 19:47:41 -07:00
logan
5f266319a3 Add option to change the number of entries per page (fixes #40) 2020-07-08 20:14:31 -07:00
Frédéric Guillot
8304666261 Use stdlib constants for HTTP methods instead of strings 2020-06-21 21:21:10 -07:00
Frédéric Guillot
43bf6696d5 Revert "Always align action items to the right even when the window is small "
This reverts commit c9618458cb.
2020-06-17 21:48:07 -07:00
Frédéric Guillot
5e5615a2d1 Add icons to feeds and categories list 2020-06-14 19:22:31 -07:00
Shizun Ge
fe8347f32a
Change feed title to a link to original website 2020-06-11 21:07:13 -07:00
Shizun Ge
c9618458cb
Always align action items to the right even when the window is small 2020-06-10 20:24:11 -07:00
Frédéric Guillot
6c6ca69141 Add feed option to ignore HTTP cache 2020-06-05 22:04:52 -07:00
Vitor Pellegrino
7fb0bdc9a5
Adds keyboard shortcut for refreshing all feeds
- Binds the 'R' key to trigger a refresh in the background for all
feeds.
- Updates the locale, using the same description as the link in the
feeds page.

Co-authored-by: Vitor Pellegrino <pellegrino@linux.com>
2020-05-26 21:35:44 -07:00
Frédéric Guillot
c920a8607c Add CSS styles for textarea 2020-04-25 20:35:29 -07:00
Alex McGrath
7accdc4416 Add the ability to use custom css 2020-04-22 20:53:09 -07:00
Frédéric Guillot
9871e4f5d0 Add page to list and remove shared entries 2020-03-22 19:53:44 -07:00
Frédéric Guillot
84229f1af9 Add some CSS tweaks for mobile devices 2020-03-22 16:33:35 -07:00
Frédéric Guillot
3c3241f93c Add SVG icons to entry actions 2020-03-22 15:37:13 -07:00
Frédéric Guillot
05b88c8add Change share uri 2020-03-19 20:56:23 -07:00
Lesterpig
41a2b7e58e Add "Share article" feature
A new "shareCode" field is generated for each entry, and allows
unlogged users to access the entry through the /shared endpoint.
This feature is particularly useful to share articles from miniflux
to third-party users without having them to visit the original source.

The image proxy is disabled and special cache headers are proposed in
the shared page to avoid denial of service.
2020-03-17 20:09:46 -07:00
Patrick
3e1e0b604f
Add generic OpenID Connect provider (OAuth2)
This adds the oauth2 provider `oidc`. It needs an additional argument, the OIDC discovery endpoint to figure out where the auth and token URLs are.

Configuration is similar to setting up the Google Authentication with these changes:

 * `OAUTH2_PROVIDER = oidc`
 * `OAUTH2_OIDC_DISCOVERY_ENDPOINT = https://auth.exampe.org/discovery`
2020-03-07 18:45:19 -08:00
Frédéric Guillot
25cc0d2447 Add per-application API Keys 2020-03-01 18:22:45 -08:00
Pavel Borzenkov
7389c79c52 Implement support for authentication via Auth Proxy
Auth Proxy allows to authenticate a user using an HTTP header provided
by an external authentication service. This provides a way to
authenticate users in miniflux using authentication schemes not
supported by miniflux itself (LDAP, non-Google OAuth2 providers, etc.)
and to implement SSO for multiple applications behind single
authentication service.

Auth Proxy header is checked for the '/' endpoint only, as the rest are
protected by the miniflux user/app sessions.

Closes #534

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
2020-02-24 19:43:45 -08:00
Peter De Wachter
2570c3410b
History: show entries in the order in which they were read
Add a changed_at timestamp to the entries table. This field is updated
whenever the entry's metadata changes.
2020-02-10 20:20:03 -08:00
Frédéric Guillot
dc4240e702 Add button to add to Home screen 2020-02-09 11:57:34 -08:00
somini
078f886f39 Align Info and Actionable items separately
Align the information to the left side, and the actionable buttons to
the right.

See https://github.com/miniflux/miniflux/pull/531#issuecomment-578547488
2020-01-28 20:25:10 -08:00
Vincent Bernat
15727f716a Redirect to /unread when getting a 404 for an unread expired entry
Hosted miniflux don't keep read entries for long. If I leave my PC at
home on an unread entry, read everything pending at work and get back
to home later, when I click "next", I get a bare 404 error. I have to
go back to /unread myself. I think it would be more user friendly (but
maybe a bit suprising) to go directly to /unread in this case.
2020-01-24 20:27:50 -08:00
Richard Schneider
476898b1d4 Do not advance to the next item when using the 'v' shortcut on the list of starred items 2020-01-14 11:54:21 -08:00
Richard Schneider
1a78e3a5bc Wrap around when navigating with keyboard shortcuts on a list view 2020-01-10 19:26:45 -08:00
Richard Schneider
6ebb29cd22 Add comments link keyboard shortcut 2020-01-06 22:02:02 -08:00
Frédéric Guillot
08fc32b0e1 Use white background for favicon
Improve legibility when using a dark theme.
2019-12-30 15:51:52 -08:00
Frédéric Guillot
6291b59849 Use V to open original link in current tab
- To avoid a breaking change, keep v to open the original link in new tab.
- People who prefers to open the link in the current tab should use V.
2019-11-29 13:58:47 -08:00
Frédéric Guillot
69aa650203 Add the possibility to add rules during feed creation 2019-11-29 11:27:58 -08:00
Frédéric Guillot
8028cc764f Wrap attachments into <details> disclosure element 2019-11-29 10:59:05 -08:00
Frédéric Guillot
fad9ad2be4 Display list of feeds per category 2019-11-17 20:10:44 -08:00
Frédéric Guillot
63a549f0e3 Remove fixed table-layout for entry content 2019-11-17 17:08:20 -08:00
Vincent Bernat
881c0f406b Do not lighten blockquote font color
It is confusing to have blockquote content displayed with a lighter
font color. Usually, quotes are important to the text while reducing
the contrast may hint a user it is not. In my case, I usually skip the
content of the blockquote as it was some additional note in the text.

Without the color change, the blockquote is still indented
differently, with the vertical bar. It should be enough for a user to
identify it as a quote.
2019-11-15 19:52:40 -08:00
Maxim Baz
21f8b03483 Make "v" open link in the current tab on entry page 2019-10-30 20:19:48 -07:00
Maxim Baz
e38333e272 Show unread counters on feeds page 2019-10-29 21:44:35 -07:00
Jebbs
bf357a0e2d Add toast message for some keyboard shortcuts
Add notification message when using keyboard shortcuts: f, s, and m.
2019-10-06 20:55:15 -07:00
Adam Hess
02dbe3ef2e call preventDefault() when the user is trying to enter a keyboard shortcut
Keyboard shortcuts might conflict with Firefox’s "Find as you type" feature.
2019-10-06 16:24:39 -07:00
Frédéric Guillot
e0b600b651 Add CSS tweak and fix typo in variable name 2019-09-25 19:55:55 -07:00
Frédéric Guillot
3379429329 Log image proxy URL in debug mode 2019-09-22 11:38:45 -07:00
Frédéric Guillot
bdca3372f9 Add few CSS teaks 2019-09-22 10:50:10 -07:00
Frédéric Guillot
afe1faf214 Add theme variants
- Use CSS variables instead of inherence
- Rename default theme to "Light - Serif"
- Rename Black theme to "Dark - Serif"
- Rename "Sans-Serif" theme to "Light - Sans Serif"
- Add "System" theme that use system preferences: Dark or Light
- Add Serif and Sans-Serif variants for each color theme
2019-09-21 20:04:42 -07:00
Peter De Wachter
937492f6f5 Do not buffer responses in the image proxy
The image proxy buffered the whole image before sending it to the
browser. If the image is large and/or hosted on a slow server, this
caused a long delay before the user's browser could display anything.
2019-09-10 20:43:44 -07:00
Frédéric Guillot
b94160df72 Update dependencies 2019-09-05 21:53:12 -07:00
Frédéric Guillot
2d27f53941 Replace link border by outline to avoid slight content shift 2019-09-05 21:22:58 -07:00
Frédéric Guillot
77125f45cc Improve import form 2019-08-15 22:21:18 -07:00
Peter De Wachter
d882bbca85 Import OPML from URL 2019-08-15 21:58:01 -07:00
Frédéric Guillot
3d19313a7f Add option to disable feeds 2019-07-26 21:24:15 -07:00
Jebbs
17aae72583 Fix regressions introduced in previous JS refactoring 2019-07-25 19:02:39 -07:00
Frédéric Guillot
a634839678 Ask for confirmation before clicking on mark all as read 2019-07-17 22:00:00 -07:00
Frédéric Guillot
ac3693562b Ask for confirmation before flushing history 2019-07-17 21:40:03 -07:00
Frédéric Guillot
99149d9f2a Refactor confirmation handler 2019-07-17 21:15:30 -07:00
Frédéric Guillot
2b6e17c1ef Refactoring of Javascript code 2019-07-17 20:34:11 -07:00
Matías Lang
34421dcd49 Require confirmation for marking pages as read 2019-07-17 17:44:32 -07:00
Frode Aannevik
48abf57218 Add .search margin-right 2019-07-13 13:11:39 +02:00
Frédéric Guillot
228862fefa Refactor config package
- Parse configuration only once during startup time
- Store configuration values in a global variable
2019-06-02 06:30:08 -07:00
Ben Cohen
04d85b3c63 Flip behavior of j and k keyboard shortcuts 2019-05-26 20:02:52 +02:00
Frédéric Guillot
4295a86e55 Add option to enable/disable keyboard shortcuts 2019-04-28 18:35:58 -07:00
Diego Agulló
a6068aae1d Improve page reload when showing unread/all entries
- Show only unread entries = refresh current page
- Show all entries = go to next page
2019-04-04 18:59:04 -07:00
3ddysan
fc473f1d11 Add double tap detection for next/previous page navigation 2019-03-11 20:23:19 -07:00
Frédéric Guillot
1634e267b8 Fix typo in stylesheet 2019-02-19 17:57:40 -08:00
Jebbs
267b706544 Sort search results by relevance 2019-02-11 22:20:07 -08:00
Frédéric Guillot
04b6eb509c Rename session cookies 2019-01-21 20:26:46 -08:00
Frédéric Guillot
7897d8a8ad Handle the case when application session is expired and not user session 2019-01-21 20:21:05 -08:00
Peter De Wachter
6f5ef10553 Only attempt to change password if the confirmation field is filled in
Firefox autocompletes the password field (but not the password
confirmation field) for me. This makes it annoying to use the settings
page, because miniflux thinks I'm trying to change my password and
complains that the fields don't match.
2019-01-07 18:25:59 -08:00
Frédéric Guillot
a9fad093e6 Move healthcheck endpoint from ui package to httpd service 2018-12-28 13:41:26 -08:00
Frédéric Guillot
078cd0050a Make sure that <strong> elements are bold 2018-12-19 22:30:05 -08:00
Frédéric Guillot
e367f4ca21 Show scrollbars only when necessary for <pre> elements 2018-12-16 20:12:26 -08:00
Diego Agulló
cf25efb4d9 Allow to switch between unread only and all entries on category/feed views 2018-12-16 16:58:48 -08:00