Commit graph

42 commits

Author SHA1 Message Date
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
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
privatmamtora
8f9ccc6540
Parse <category> from Feeds (RSS, Atom and JSON) 2023-02-24 20:52:45 -08:00
knrdl
fb585d0086
Allow API search for entries which are not starred 2022-04-13 21:53:06 -07:00
Jan-Lukas Else
9965abccfb Add option to hide feeds from the global Unread list 2021-08-16 19:36:05 -07:00
pennae
0bcfc81b1f add option to hide categories from the global unread list 2021-06-12 13:06:30 -07:00
James Loh
77dc6aaf27 Expose changed_at time through the API
No issue

This is already stored and updated in the DB to render the History page but is currently not exposed through the API
2021-05-27 20:13:01 -07:00
Frédéric Guillot
6e2e2d1665 Setup golangci-lint Github Action 2021-03-22 21:34:48 -07:00
Darius
9242350f0e
Add per feed cookies option 2021-03-22 20:27:58 -07:00
Shizun Ge
02a4c9db53
Create feed query builder 2021-01-18 13:22:09 -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
Ben Congdon
49feb1958c
Add created_at field for entries 2020-11-29 17:04:18 -08:00
Frédéric Guillot
de7a613098 Calculate reading time during feed processing
The goal is to speed up the user interface.

Detecting the language based on the content is pretty slow.
2020-11-18 17:43:24 -08:00
Frédéric Guillot
55fad7ea27 Avoid duplication between get feed entries and get entries API endpoints 2020-09-13 21:57:55 -07:00
Frédéric Guillot
04c4890124 API: Add the possibility to filter entries by a list of statuses 2020-09-12 21:35:18 -07:00
Sergei O. Udalov
c0e407e156
Display recent entries first in search results 2020-06-30 20:50:34 -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
59c8dac851 Display Feed URL on shared page instead of user feed entries 2020-03-17 20:28:53 -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
Frédéric Guillot
1b86913c00 Fix SQL injection in full-text search rank ordering
Introduced in commit 267b706544
2020-03-10 21:12:28 -07:00
Frédéric Guillot
e878dca3d7 Add API parameter to filter entries by category 2019-11-17 23:05:22 -08:00
Frédéric Guillot
d3883126bf Improve storage module 2019-10-29 22:59:00 -07:00
Jebbs
267b706544 Sort search results by relevance 2019-02-11 22:20:07 -08:00
Patrick
2538eea177 Add the possibility to override default user agent for each feed 2018-09-19 18:19:24 -07:00
Frédéric Guillot
dbcc5d8a97 Use canonical imports 2018-08-24 21:56:39 -07:00
Frédéric Guillot
af15412954 Add full-text search for entries and add search parameter to the API 2018-07-04 17:40:03 -07:00
Frédéric Guillot
c5373ff2bf Rewrite individual entry pagination SQL queries 2018-06-09 13:40:20 -07:00
Frédéric Guillot
bd70640794 Simplify entry query builder 2018-06-08 18:24:41 -07:00
Ben Brooks
538d08c16c Add CommentsURL to entry 2018-04-07 13:50:45 -07:00
Frédéric Guillot
0c7039de0e Entries date should contains user timezone (API) 2018-03-01 21:43:04 -08:00
Frédéric Guillot
c39f2e1a8d Rename helper packages 2018-01-02 19:15:08 -08:00
Frédéric Guillot
a63105e13b Improve timezone handling 2017-12-28 19:20:14 -08:00
Frédéric Guillot
9868f900e9 Add bookmarks 2017-12-22 11:33:01 -08:00
Frédéric Guillot
84d912c979 Rewrite imports 2017-12-12 21:48:13 -08:00
Frédéric Guillot
ef097f02fe Add the possibility to enable crawler for feeds 2017-12-12 19:19:36 -08:00
Frédéric Guillot
33445e5b68 Add the possibility to define rewrite rules for each feed 2017-12-11 22:16:32 -08:00
Frédéric Guillot
87ccad5c7f Add scraper rules 2017-12-10 20:51:04 -08:00
Frédéric Guillot
bc20e0884b Add Fever API 2017-12-03 17:44:27 -08:00
Frédéric Guillot
2f1367a8d4 Make entries sorting configurable 2017-12-02 17:04:01 -08:00
Frédéric Guillot
4fc18647ca Make sure that items marked as removed are not shown 2017-11-21 17:40:29 -08:00
Frédéric Guillot
8ffb773f43 First commit 2017-11-19 22:01:46 -08:00