Commit graph

300 commits

Author SHA1 Message Date
Frédéric Guillot
f286c3c1c9 Keep styling backward compatible 2023-07-07 15:44:44 -07:00
Tuukka Ojala
e16870a638 Fix incorrect return value comparisons 2023-07-07 15:44:44 -07:00
Tuukka Ojala
f0eb6b2688 Fix code formatting 2023-07-07 15:44:44 -07:00
Tuukka Ojala
29a06511a9 Fix accessibility issues in modal component
* Fix modal aria role
* Trap focusing with tab / shift+tab inside the modal
* Restore keyboard focus when closing modal
* Automatically move keyboard focus to first focusable element unless specified otherwise
* Keyboard shortcut help modal: move keyboard focus to modal title
* Keyboard shortcut help modal: change close control from link to button
2023-07-07 15:44:44 -07:00
Jean Khawand
bfb4fc1c36
Add Notion integration 2023-07-07 15:20:14 -07:00
mrtnvgr
70b3061946 fix(css): improve responsive design 2023-06-30 17:37:51 -07:00
xl
356d32c6fe Add user setting for marking entry as read on view 2023-06-29 21:03:05 -07:00
privatmamtora
fffa74f782
Display tags when viewing entries 2023-06-24 17:44:37 -07:00
Frédéric Guillot
b552c293ca Add unique index enclosures_user_entry_url_idx 2023-06-24 11:59:58 -07:00
movd
736fb7320e Add mark as unread for Linkding integration 2023-06-24 10:38:07 -07:00
fred
8646d61182 Replace copyright header with SPDX identifier 2023-06-19 15:00:45 -07:00
fred
28775f5e10 Refactor entry/feed query builder sorting to match SQL semantic 2023-06-19 14:13:19 -07:00
Naïm Favier
7d1609bd93 Order history by changed_at, published_at
When a bunch of entries are marked as read at once, they should have the
same `changed_at`; fall back to sorting them chronologically by
publication date.
2023-06-04 15:03:57 -07:00
Ztec
228bb62df4 Add Media Player and resume to last playback position
In order to ease podcast listening, the player can be put on top of the feed entry as main content.
Use the `Use podcast player` option to enable that. It works on audio and video.

Also, when playing audio or video, progression will be saved in order to be able to resume listening later.
This position saving is done using the original attachement/enclosures player AND podcast player and do not rely on
the podcast player option ti be enabled.

Additionally, I made the player fill the width with the entry container to ease seeking and have a bigger video.

updateEnclosures now keep existing enclosures based on URL

When feeds get updated, enclosures entries are always wiped and re-created. This cause two issue
 - enclosure progression get lost in the process
 - enclosure ID changes

I used the URL as identifier of an enclosure. Not perfect but hopefully should work.
When an enclosure already exist, I simply do nothing and leave the entry as is in the database.
If anyone is listening/watching to this enclosure during the refresh, the id stay coherent and progression saving still works.

The updateEnclosures function got a bit more complex. I tried to make it the more clear I could.
Some optimisation are possible but would make the function harder to read in my opinion.

I'm not sure if this is often the case, but some feeds may include tracking or simply change the url each
time we update the feed. In those situation, enclosures ids and progression will be lost.

I have no idea how to handle this last situation. Use the size instead/alongside url to define the identity of an enclosure ?

Translation: english as placeholder for every language except French

Aside, I tested a video feed and fixed a few things for it. In fact, the MimeType was not working
at all on my side, and found a pretty old stackoverflow discussion that suggest to use an Apple non-standard MimeType for
m4v video format. I only did one substitution because I only have one feed to test. Any new video feed can make this go away
or evolve depending on the situation. Real video feeds does not tend to be easy to find and test extensively this.

Co-authored-by: toastal
2023-06-04 14:49:46 -07:00
Ryan Cao
c4e2eaa609 Add default tag names for Linkding integration 2023-05-30 21:02:27 -07:00
Romain de Laage
118e18190d Mark only globally visible entries when marking all entries from UI 2023-05-30 20:29:44 -07:00
Frédéric Guillot
3987a2ce8a Reading time is not aligned correctly with the latest Safari
Fixes #1873
2023-05-10 20:38:18 -07:00
Pontus Jensen Karlsson
9fdbd180df Added maskable versions of the PWA icon.
Recent versions of Android allows the user to choose their own
homescreen icons shape. This introduces the concept of maskable PWA
icons, which without the "purpose" tag and properly padded icons makes
the homescreen icon look really boxy and weird.

This adds a new version of the icon with more padding in three sizes, as
well as the "purpose" attribute in the manifest.json file. The three old
icons are retained for compatibility with desktop and iOS.
2023-05-08 16:35:37 -07:00
rook1e
acc9186a59 fix: extra-long title overflow 2023-04-02 17:37:25 -07:00
dzaikos
7d252ea45b Add swipe as option for gesture navigation between entries.
* Refactor `TouchHandler` to handle double-tap and swipe gestures.
  * Renamed existing `onTouch` JavaScript methods to `onItemTouch` and
    added `onContentTouch` methods for swipe gesture.
  * Refactor double-tap. It's now a method in `TouchHandler` versus
    anonymous functions in `listen()` method.
* Updated CSS classes.
  * Added `touch-action` CSS for `.entry-content`.
  * Renamed CSS classes for adding events in `TouchHandler`.
* Updated users settings to replace checkbox for double tap with select
  for none, double tap, or swipe.
* Added database migrations for new gesture_nav option.
  * Rename `users.double_tap` to `users.gesture_nav` and migrate
    existing user settings.
* Updated translation files. (Non-English updated with Google
  Translate.)

Resolves #1449, closes #1495
2023-03-28 18:00:57 -07:00
Frédéric Guillot
9ae6922bdc Fix null reference in toggle entry attachments shortcut
Fixes #1723
2023-03-13 20:20:35 -07:00
Frédéric Guillot
eb9508502c Avoid XSS when opening a broken image due to unescaped ServerError in proxy handler
Creating an RSS feed item with the inline description containing an `<img>` tag
with a `srcset` attribute pointing to an invalid URL like
`http:a<script>alert(1)</script>`, we can coerce the proxy handler into an error
condition where the invalid URL is returned unescaped and in full.

This results in JavaScript execution on the Miniflux instance as soon as the
user is convinced to open the broken image.
2023-03-12 22:36:03 -07:00
Romain de Laage
2c2700a31d Proxy support for several media types
closes #615
closes #635
2023-02-25 15:57:59 -08:00
Ryan Cao
8d51fd8ff5
fix: add color-scheme to themes 2023-02-05 20:58:23 -08:00
Martin Vietz
a44ba4abcb
Add toggle open/close entry attachments shortcut 2023-02-05 20:51:51 -08:00
Davide Masserut
65febebd40 Fix header items wrapping 2023-01-17 20:00:13 -08:00
Frédéric Guillot
2e047dff98 Add option to enable or disable double tap 2023-01-14 16:59:52 -08:00
Frédéric Guillot
6612e42668 Improve PWA display mode label in settings page 2023-01-14 15:39:09 -08:00
Davide Masserut
c0ee3ed375 Update reading time HTML element after fetching the original web page 2022-12-14 19:53:04 -08:00
Davide Masserut
ce35b46fee Add category feeds refresh 2022-12-12 19:41:30 -08:00
nyanpasu64
b6c368c39c Disable double-tap mobile gesture if swipe gesture is disabled
Fixes #441.
2022-12-06 20:34:15 -08:00
Romain de Laage
efa8bfcf0e Use custom home page in PWA 2022-11-12 20:12:39 -08:00
Romain de Laage
550e7d0415 Add matrix bot support 2022-10-27 17:53:19 -07:00
Romain de Laage
3f14d08095 Proxify images in API responses 2022-10-27 17:33:18 -07:00
Frédéric Guillot
206be5ba15 Rename column to CategoriesSortingOrder 2022-10-25 20:06:28 -07:00
Romain de Laage
83e1f154b5 Add optional sort option in category page
closes #1552
2022-10-25 20:06:28 -07:00
Romain de Laage
ec47106c26 Remove dependency to go-server-timing
fix #1586
2022-10-23 16:59:05 -07:00
Frédéric Guillot
e8fe4ed881 Log feed URL when submitting a subscription that returns an error 2022-09-18 17:37:53 -07:00
jtagcat
3f64e4b943
Add option to send only the URL to Wallabag 2022-09-18 16:52:28 -07:00
Frédéric Guillot
cecab91298 Fix some linter issues 2022-08-08 22:06:38 -07:00
Romain de Laage
03a1cfcd5e Make default home page configurable 2022-07-26 22:03:03 -07:00
Frédéric Guillot
45a9fd5af6 Revert "Don't word-wrap in article titles"
This reverts commit 15268ef4f6.

Unfortunately, it's not really usable on a mobile phone because most
titles are truncated.
2022-07-23 21:46:32 -07:00
Frédéric Guillot
5f29af30b0 Add missing CSS after merging PR 1506 2022-07-23 18:09:37 -07:00
ltdk
15268ef4f6 Don't word-wrap in article titles 2022-07-23 17:28:24 -07:00
Romain de Laage
3ac5095776 Highlight categories with unread entries 2022-07-23 17:18:35 -07:00
Gabriel Augendre
6e50ce3293 Make reading speed user-configurable 2022-07-17 19:35:24 -07:00
Carsten
2659883ce5
Add rewrite rules for article URL before fetching content 2022-07-11 21:12:26 -07:00
Pk11
a904c634b8 request_builder.js: Fix syntax error 2022-06-06 10:22:41 +02:00
kencx
1658db7f10 Add Linkding integration 2022-05-24 20:14:07 -07:00
Berk Özkütük
ab3fdf509f
Add Espial integration 2022-04-20 19:44:47 -07:00