Commit graph

245 commits

Author SHA1 Message Date
Jesse Jaggars
e933fb11e9
Add Omnivore integration 2023-12-04 20:05:04 -08:00
Shizun Ge
bcb0978e9e improve scheduler tests.
Capture timeNow() before calculation next check at.
Check if the desired interval is set.
2023-12-03 15:01:19 -08:00
Shizun Ge
f3f892f448 log nb_jobs only when number of jobs is larger than 0 in scheduler. 2023-12-03 14:57:20 -08:00
Frédéric Guillot
1af1bc3460 Google Reader API: Allow rename and move feed at the same time
Fixes #2191
2023-12-01 17:50:01 -08:00
Frédéric Guillot
d0f99cee1a Regression: ensure all HTML documents are encoded in UTF-8
Fixes #2196
2023-12-01 16:52:03 -08:00
Frédéric Guillot
5de0714256 Deduplicate feed URLs when parsing HTML document during discovery process
Fixes #2232
2023-12-01 13:57:05 -08:00
Shizun Ge
bfa83cbf99 Calculate a virtual weekly count based on the average updating frequency. 2023-12-01 12:29:36 -08:00
Shizun Ge
27ec6dbd7d Setting NextCheckAt due to TTL of a feed in feed.go.
Add unit tests.
2023-12-01 12:22:30 -08:00
Sam Crang
fab423cca0 Use "starred" rather than "bookmarked"
This change replaces usages of "bookmarked" entries with "starred"
entries the latter which seems to be be used more prominently.
2023-11-29 19:54:18 -08:00
Shizun Ge
70b69ecd19 Add SCHEDULER_ROUND_ROBIN_MIN_INTERVAL
Separated from POLLING_FREQUENCY.
2023-11-29 19:52:14 -08:00
Thomas J Faughnan Jr
fe0ef8b579 Fix conditional requests regression
The recent HTTP client refactor in 14e25ab9fe
caused feed refreshes to no longer make conditional requests. Prior to
the refactor, `client.WithCacheHeaders` handled this. Now this function
is split into `fetcher.WithETag` and `fetcher.WithLastModified` but
these functions are only declared and never actually used. Fix this by
calling them inside `handler.RefreshFeed`.
2023-11-29 19:46:50 -08:00
Shizun Ge
65e2fddfb5 Use variables for the status in the entries table 2023-11-29 19:32:36 -08:00
Shizun Ge
32779f596f Update Chinese (CN & TW) translation 2023-11-23 08:39:31 +01:00
Shizun Ge
273b96bfe0 Update Chinese(TW) translation 2023-11-23 08:39:31 +01:00
Shizun Ge
4ffc073153 add github links to about page.
Add github links about release and commit.
2023-11-23 08:38:05 +01:00
mrchi
b37bb43e09 Update Chinese translation 2023-11-18 21:11:42 +01:00
Thomas J Faughnan Jr
7a03291442 Fix default User-Agent regression
The recent HTTP client refactor in 14e25ab9fe
introduced a bug in which the global default User-Agent is no longer
used for requests. Unless a per-feed User-Agent exists, the Go standard
library's default User-Agent is used, which looks something like
"Go-http-client/1.1". To fix this, make RequestBuilder.WithUserAgent
take an additional argument, the default User-Agent, which will be used
if there is no per-feed User-Agent (i.e. it is an empty string).

Fixes #2188
Fixes #2189
2023-11-18 20:57:47 +01:00
Frédéric Guillot
1bd5d57884 user/{userID}/state/com.google/read is missing in categories section for read entries 2023-11-09 12:50:42 +01:00
Frédéric Guillot
d7437f125b Improve error log message in worker 2023-11-08 19:58:56 +00:00
Frédéric Guillot
f2849ca00f Improve WebAuthn buttons layout 2023-11-08 20:23:17 +01:00
Frédéric Guillot
aa3dc574a7 Google Reader API: Take ExcludeTargets into consideration in Feed stream handler 2023-11-08 17:31:05 +01:00
Frédéric Guillot
ba65556eac Show number of visible entries instead of number of read entries in feed list 2023-11-08 16:34:27 +01:00
Nick Parker
2bc5ad53c2 Avoid long duration strings: round to nearest second
For example, seeing "Next check: 14m56.245483933s" in feeds list after force-refreshing a feed.

This rounds to the nearest second, so it'll instead be "14m56s"

Other examples from latter two test cases:
- "12.345678s" -> "12s"
- "1m27.654321s" -> "1m28s"
2023-11-08 14:19:30 +01:00
Frédéric Guillot
bc317cfcd1 OIDC: Redirect to user home page after successful authentication 2023-11-07 21:21:56 +01:00
Frédéric Guillot
ba614af82d Disable WebAuthn by default because it requires to configure the BASE_URL 2023-11-06 20:51:19 +01:00
Frédéric Guillot
2b8342fcd5 Refactor WebAuthn Javascript code 2023-11-06 19:55:32 +01:00
Frédéric Guillot
a75256bed5 Add Passkeys French translations 2023-11-05 19:00:34 +00:00
Florian Rüchel
62ef8ed57a
Add WebAuthn / Passkey integration
This is a rebase of #1618 in which @dave-atx added WebAuthn support.

Closes #1618
2023-11-05 18:57:35 +01:00
Frédéric Guillot
e3eaaea15a Update date parser to parse more invalid date formats 2023-11-01 20:55:35 +01:00
Frédéric Guillot
500c60b807 Fix error handling and logging issue after refactoring 2023-11-01 19:59:12 +01:00
James Loh
ef53bf14ae Add Category ID to webhooks
My use case for this is I want to ignore some webhooks based on the category the feed is in
2023-11-01 18:02:14 +01:00
Nicolas Martinelli
d566dea265 Fix category hide_globally property in /entries
Follow-up of 64c4c6b347
2023-10-31 16:57:03 +01:00
Nicholas Parker
257e8c4761 Allow iframes pointing to Twitch videos
Docs: https://dev.twitch.tv/docs/embed/video-and-clips/#non-interactive-inline-frames-for-live-streams-and-vods
2023-10-27 10:02:57 -07:00
Tianfeng Wang
a1537f4b0d
Filter feed entries based on url or title 2023-10-25 19:38:08 -07:00
Frédéric Guillot
eeaab72a9f Refactor feed discovery and avoid an extra HTTP request if the url provided is the feed 2023-10-22 18:05:37 -07:00
Frédéric Guillot
14e25ab9fe Refactor HTTP Client and LocalizedError packages 2023-10-22 13:09:30 -07:00
Ryan Stafford
120aabfbce
Add RSS-Bridge integration 2023-10-22 11:10:56 -07:00
Frédéric Guillot
5e6c054345 Take RSS TTL field into consideration to schedule next check date 2023-10-20 20:11:05 -07:00
Frédéric Guillot
4cc99881d8 Refactor Batch Builder and prevent accidental and excessive refreshes from the web ui 2023-10-20 16:07:18 -07:00
Frédéric Guillot
95ee1c423b Change log level to warning for failed feeds refresh in cronjob 2023-10-20 14:02:17 -07:00
Frédéric Guillot
5ac3489ee5 Do not log website without icon as warning 2023-10-19 20:36:51 -07:00
Frédéric Guillot
9fd2dfa680 Refactor icon finder
Changes:

- Continue the discovery process when the feed icon is invalid
- Search all icons from the HTML document and do not stop on the first one
2023-10-18 22:24:56 -07:00
Frédéric Guillot
7650c81ad9 Add support for SVG icons with data url without encoding 2023-10-18 20:46:46 -07:00
Frédéric Guillot
c60b3f52a5 Add new page for background feeds refresh 2023-10-18 20:26:33 -07:00
Frédéric Guillot
23d2cfe0f9 Expose next_check_at in the web ui and API 2023-10-17 21:25:41 -07:00
Frédéric Guillot
5dc44453ba Add indexes to improve performance 2023-10-17 20:18:49 -07:00
Frédéric Guillot
cc44d14722 Avoid excessive manual polling with default scheduler 2023-10-16 21:41:18 -07:00
Frédéric Guillot
0fe347c87a Show username in Fever API logs 2023-10-14 20:53:43 -07:00
jinmiaoluo
fd69012357 Correct the timestamp format for Expires response header 2023-10-13 20:21:58 -07:00
Frédéric Guillot
52cf236699 Add /v1/version endpoint 2023-10-08 15:53:24 -07:00
Frédéric Guillot
e4285c2cba Add API endpoint to update entry title and content 2023-10-06 23:27:19 -07:00
Frédéric Guillot
7b541af253 Replace github.com/rylans/getlang with github.com/abadojack/whatlanggo
github.com/rylans/getlang doesn't seems to be updated anymore
2023-10-06 22:04:31 -07:00
Frédéric Guillot
d0377d5d9d Fix Javascript error when reading time option is disabled 2023-10-06 18:35:49 -07:00
Frédéric Guillot
2002d60fbe Add new API endpoint /icons/{iconID} 2023-10-06 13:52:33 -07:00
Frédéric Guillot
5774323f2e Add API endpoint to flush history 2023-10-05 22:19:08 -07:00
Frédéric Guillot
1350f84ea4 Make the feed category optional for API clients who don't support categories 2023-10-05 21:47:04 -07:00
Frédéric Guillot
6dd090a848 Add enclosures to /v1/entries API endpoint 2023-10-05 21:39:29 -07:00
Frédéric Guillot
fccc25f7a3 Add changed_after and changed_before options to /v1/entries endpoint 2023-10-05 21:28:25 -07:00
Frédéric Guillot
67eb574fd4 Remove deprecated PreferServerCipherSuites 2023-10-05 20:27:44 -07:00
Frédéric Guillot
a96702757e Fix Apprise logic to handle feed service URLs 2023-09-30 15:32:23 -07:00
Frédéric Guillot
f98fc1e03a Add command line argument to export user feeds 2023-09-27 21:45:23 -07:00
Frédéric Guillot
39d752ca85 Telegram: replace feed HTML link with a button to avoid page preview issues 2023-09-27 21:00:17 -07:00
Jany
e0e8a99abe
Telegram: add the possibility to disable buttons
Closes #2093
2023-09-27 20:02:22 -07:00
Frédéric Guillot
c0e954f19d Implement structured logging using log/slog package 2023-09-24 22:37:33 -07:00
Adriano Di Luzio
54cb8fa028
Added new rewrite rules add_hn_links_using_hack and add_hn_links_using_opener to open HN comments with iOS apps 2023-09-23 13:54:48 -07:00
Paul W. Rankin
ace2699e79 Fix missing word in force refresh message 2023-09-22 20:29:56 -07:00
Frédéric Guillot
a73d58aad5 Status bar is unreadable when using PWA in dark mode on Firefox Android
Fixes #2055
2023-09-11 20:24:42 -07:00
Frédéric Guillot
2104eb85d7 Group settings form fields into fieldsets 2023-09-11 12:13:12 -07:00
Frédéric Guillot
9990afb722 Add webhook event for saving entry 2023-09-10 18:17:33 -07:00
Frédéric Guillot
ca6af9684a Add feed information into webhook event 2023-09-10 13:20:04 -07:00
Frédéric Guillot
cb228e73ad Improve Telegram integration
- Remove dependency on `go-telegram-bot-api`
- Add new options: optional topic ID, disable page preview, disable notifications
- Add new button to go to article
2023-09-10 12:25:39 -07:00
Andrey Voloshin
d33db40b39 Update RU translation 2023-09-10 11:03:43 -07:00
Frédéric Guillot
3d84b07532 Add builtin Matrix client and send HTML formatted messages to Matrix
- Add builtin Matrix client
- Remove dependency on `gomatrix` client
- Send HTML formatted messages to Matrix
2023-09-09 17:22:31 -07:00
Frédéric Guillot
3b94217fb7 Make sure icon URLs are always absolute
Regression introduced in #1907
2023-09-09 14:59:44 -07:00
Frédéric Guillot
48f6885f44 Add generic webhook integration 2023-09-09 13:11:42 -07:00
fuchsrot
32d33104a4 Apprise Service Urls per feed 2023-09-09 10:59:04 -07:00
Frédéric Guillot
939a91e99d Trim username and password form fields 2023-09-08 20:50:08 -07:00
Frédéric Guillot
fbce915d84 Add profile scope to OIDC integration to support accounts without email 2023-09-08 20:26:42 -07:00
Frédéric Guillot
ab0c4ec0f5 Prevent empty username when using the OIDC integration 2023-09-08 19:03:44 -07:00
Frédéric Guillot
36f013670e Strip HTML tags from DublinCore Creator tags 2023-09-08 17:39:49 -07:00
Andrew Gunnerson
344a237af8 touch_handler: Fix scroll up behavior on Firefox Android
When the touchmove listener is registered with passive: false, scrolling
up on Firefox Android only works every other attempt. When scrolling
breaks, the touchmove callback is never invoked.

The passive flag was originally set to false as part of a fix to prevent
vertical scrolling while swiping: 3f31744911.
Setting passive to true doesn't seem to negatively affect that in both
Firefox and Chrome, but fixes the scoll up behavior on Firefox.

Fixes: #2053

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2023-09-08 15:59:57 -07:00
Frédéric Guillot
5ce912beea Add missing return in fetchContent ui handler 2023-09-06 21:22:54 -07:00
Magnus Åhall
69738bce84
Add replace_title write rule to adjust entry titles 2023-09-06 20:09:54 -07:00
Frédéric Guillot
ff5d391701 Add OAuth2 PKCE support 2023-09-02 22:11:47 -07:00
Cp Dong
fa1148915e Fix Pocket integration redirect URL and Google Reader API HREF. 2023-08-31 20:37:29 -07:00
Dror Levin
bea9017b48 Add factor for entry_frequency scheduler
Allow the user to increase the frequency of the entry_frequency
scheduler by a configurable factor in order to shorten the time between
updates.
2023-08-31 20:27:09 -07:00
Yury Paraschenko
64c4c6b347 Fix feed hide_globally property to use it with third-party clients. 2023-08-31 20:22:13 -07:00
jgbresson
691f56fde9 Update rules.go for webtoons.com
Include author text
2023-08-18 16:53:14 -07:00
Frédéric Guillot
5e520ca5bf Use stdlib HTTP client for third-party integrations 2023-08-14 21:49:02 -07:00
Frédéric Guillot
e5d9f2f5a0 Rename internal url package to avoid overlap with net/url 2023-08-13 19:57:04 -07:00
Frédéric Guillot
9f465fd70d Add Shaarli integration 2023-08-13 18:51:50 -07:00
Frédéric Guillot
28df0b119e Add Shiori integration 2023-08-13 13:32:05 -07:00
Frédéric Guillot
13d9d86acd Consider base path when generating third-party services API endpoint 2023-08-12 23:07:52 -07:00
Romain de Laage
fb8737e330 feat: use podcast duration tag as reading time 2023-08-12 18:14:29 -07:00
Frédéric Guillot
168a870c02 Move internal packages to an internal folder
For reference: https://go.dev/doc/go1.4#internalpackages
2023-08-10 20:29:34 -07:00