Athou
ca8438623d
prevent access to ULA and CGNAT addresses
2026-07-05 08:48:02 +02:00
Athou
a5f84a3f6d
search now also works for starred entries ( #2217 )
2026-07-04 17:57:08 +02:00
Athou
bdf2a6a915
the Pocket service has been discontinued
2026-07-03 22:40:38 +02:00
Athou
00d7be735a
static random fields should not be used with graalvm as they are seeded at compile time and thus not random anymore
2026-06-13 12:03:50 +02:00
Athou
1388fba8e4
apply xml cleaning to opml files
2026-06-13 11:32:57 +02:00
Athou
c43644861f
use a secure algorithm to generate image urls so that only server-side generated urls can be used
2026-06-13 11:21:16 +02:00
Athou
1faba92ecc
remove unused relationships
2026-05-27 07:28:19 +02:00
Athou
03eb09c68c
limit the number of favicon retries
2026-05-23 11:17:59 +02:00
Athou
5755ff762b
Trie is thread-safe, no need to recreate one every time
2026-05-22 20:29:48 +02:00
Athou
4a8be29616
add support for declared icons in feeds ( #2048 )
2026-05-10 21:05:33 +02:00
Athou
f207bfaddd
format empty records and anonymous types as a single line
2026-05-08 17:56:26 +02:00
Athou
9452c3e74c
remove warning
2026-04-27 18:01:02 +02:00
Athou
f826f1d543
create comparator only once
2026-04-27 18:01:02 +02:00
Athou
fd13c80e5a
allow reuse of TLS connections
2026-04-27 17:52:40 +02:00
Athou
75871348d5
compile pattern once
2026-04-27 17:46:50 +02:00
Athou
6d2fb5acc2
refactor
2026-04-10 15:17:27 +02:00
Ingo Kegel
1d23907652
Use batched IN clause for GUID existence check during feed refresh
...
Instead of fetching all existing GUID hashes for a feed from the database only check the GUIDs present in the current feed XML using a SQL IN clause. GUIDs are partitioned into batches of 1000.
Also adds an integration test verifying that refreshing an up-to-date feed does not create duplicate entries.
2026-04-10 10:13:37 +02:00
Ingo Kegel
76dbbdfbf9
batch guid existence check on feed refresh
...
Instead of querying the database once per entry to check if it already
exists, fetch all existing guids for a feed in a single query upfront
and filter new entries in memory before the per-entry loop.
The per-entry findExisting call inside addEntry is kept as a safety net
for concurrent inserts, but is now only reached for new entries.
Profiling in real usage showed a ~50% reduction in guidHash queries,
with the check falling from the most expensive query to sixth in the ranking.
2026-03-18 18:56:40 +01:00
Athou
eaa5bc896e
stop the application between tests to make sure that there are no active transactions when we truncate the tables
2026-03-04 13:58:06 +01:00
Athou
78c017ddaf
wait for tasks to complete when shutting down
2026-03-04 12:49:06 +01:00
Athou
33a0568895
delay task so that it doesn't run at the same time at OrphanedContentsCleanupTask
2026-02-20 15:55:09 +01:00
Athou
721d728906
prevent SSRF by blocking redirects from public websites to local addresses
2026-02-20 15:07:11 +01:00
Athou
3fd5cfdecd
add a setting to mark entries of a feed as read after a number of days ( #2041 )
2026-02-20 13:24:40 +01:00
Athou
6fe326f052
cleanup
2026-02-19 23:21:09 +01:00
Athou
de7e4e9c69
add a button for testing push notification settings
2026-02-19 22:50:34 +01:00
Athou
ba3214bf10
remove the possibility to receive notifications when subscribing because that sends a lot of notifications, one for each entry in the feed
2026-02-19 16:08:54 +01:00
Athou
2be61e8b1c
refactor
2026-02-18 20:37:11 +01:00
Louis POIROT--HATTERMANN
e54151d2eb
feat: send notification for new entries with Gotify, ntfy or Pushover, configurable per feed.
2026-02-15 18:45:28 +01:00
Athou
d444a7080d
migrate filtering expressions to safer CEL and add a query builder
2026-02-15 16:13:10 +01:00
Athou
6fa8d4be34
keep starred entries ( #1581 )
2026-02-09 06:59:41 +01:00
Athou
a858380121
cleanup
2026-01-23 08:34:10 +01:00
Athou
a080ede15b
add a setup landing page instead of creating a default admin account
2026-01-10 17:30:22 +01:00
Athou
799e6c082c
cleanup
2026-01-06 22:53:37 +01:00
Athou
19663b0f38
Java 25+ is now required
2026-01-05 07:25:26 +01:00
Athou
3bf4a004d4
ReadKit sends the md5 hash of the password in uppercase ( #1602 )
2025-12-30 20:22:41 +01:00
Athou
1139df0637
use existing constants
2025-12-24 07:02:01 +01:00
Athou
c1810de316
use a brotli decoder that uses java and not native code
2025-12-23 17:01:19 +01:00
Athou
863ced57f8
specify explicitly what encoders we support, don't rely on httpclient5 autodetection
2025-12-23 16:21:10 +01:00
Athou
ae78e4691d
make "disable pull to refresh" a setting ( #1168 )
2025-11-17 09:02:52 +01:00
Athou
9c058cf6d6
disable xml entity expansion limits enabled in JDK24+ ( #1961 )
2025-11-17 06:43:55 +01:00
Athou
e5c271ca1c
add support for more emojis ( #1955 )
2025-11-16 09:37:36 +01:00
Athou
8871ae894f
handle invalid relative urls ( #1939 )
2025-10-17 09:04:38 +02:00
Athou
297c76006a
use more records
2025-10-02 21:54:40 +02:00
Athou
5bbe76d56e
remove log.trace calls
2025-09-28 07:36:12 +02:00
Athou
c548462eef
cleanup
2025-09-27 19:10:41 +02:00
AnasRazy /
65014d330a
Fix off-by-one bug in HttpGetter.toByteArray()
...
What this PR does:
Fixes an off-by-one error in HttpGetter.toByteArray where responses of exactly maxBytes were being rejected.
Now allows responses up to maxBytes, and only throws if the response is larger.
Why this change is needed:
Some feeds return responses exactly equal to the limit.
Current implementation incorrectly throws an exception, breaking parsing.
How it works:
Reads up to maxBytes + 1 bytes.
If actual size exceeds maxBytes, throws exception.
Otherwise returns full content.
Other notes:
No breaking API changes.
Safe for existing usage.
2025-09-27 15:32:31 +05:30
Athou
58bf86d25d
remove warnings
2025-07-30 13:30:27 +02:00
Athou
ff7aa890a6
fix build warning
2025-07-28 19:55:36 +02:00
Athou
23a91aab12
providers can now return multiple urls
2025-07-21 16:57:10 +02:00
Athou
085a3cbb50
unwanted entries are already filtered at the dao level
2025-07-21 16:57:10 +02:00