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
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
f826f1d543
create comparator only once
2026-04-27 18:01:02 +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
de7e4e9c69
add a button for testing push notification settings
2026-02-19 22:50:34 +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
799e6c082c
cleanup
2026-01-06 22:53:37 +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
297c76006a
use more records
2025-10-02 21:54:40 +02:00
Athou
c548462eef
cleanup
2025-09-27 19:10:41 +02:00
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
Athou
fb9d875c31
extract image proxying from FeedUtils
2025-07-21 16:57:10 +02:00
Athou
f7ae2e6689
add even more integration tests
2025-07-21 11:50:10 +02:00
Athou
f894fdf564
extract url utils from FeedUtils
2025-07-20 07:26:43 +02:00
Athou
d6df979d0d
remove more warnings
2025-07-19 23:47:22 +02:00
Athou
3f09e3ca64
remove warnings
2025-07-19 11:33:38 +02:00
Athou
0f2de651ff
remove more warnings
2025-07-18 23:07:40 +02:00
Athou
3b8f62ff11
fix sonar warnings
2025-07-18 21:49:00 +02:00
Athou
fb7f041454
normalize line endings
2025-03-10 08:48:26 +01:00
Athou
c1305b56e3
insert jakarta imports where javax import were positioned
2025-03-02 11:37:06 +01:00
Athou
60fdc79563
don't expose rome's FeedException
2025-02-18 08:57:24 +01:00
Athou
6729ebc6ea
throw a specific exception if we can't parse the url's content ( #1684 )
2025-02-18 07:41:02 +01:00
Athou
f519aa039f
block local addresses to prevent SSRF attacks
2025-02-14 16:20:04 +01:00
Athou
c3782bd7d2
also constrain to lower bound
2025-02-12 18:04:56 +01:00
Athou
469420b5bf
feed refresh engine previously hardcoded values are now configurable ( #1677 )
2025-02-12 17:08:20 +01:00
Athou
bde556d41f
start to back off when we repeatedly receive a 429
2025-02-12 08:00:27 +01:00
Athou
8edd6a1e2d
correctly handle 0 as a Retry-Header value ( #1671 )
2025-02-05 07:50:10 +01:00
Athou
37cf711cbc
add support for the Retry-After header sent by OpenRSS
2025-01-27 07:48:19 +01:00
Athou
62d3ed16e6
remove DOCTYPE declarations ( #1260 )
2025-01-10 16:18:49 +01:00
Athou
7a838cddad
honor Cache-Control response header ( #1615 )
2024-11-29 17:06:57 +01:00
Athou
8eefb1bcfb
add http cache to avoid fetching feeds too often ( #1431 )
2024-09-14 14:00:15 +02:00
Athou
cca2d49cc3
Revert "reduce artifact size by using a smaller library for charset detection" because juniversalchardet doesn't support as many charsets as icu4j
2024-09-13 23:40:13 +02:00
Athou
f4a43e9950
only compute rtl once by storing it in the database on fetch
2024-09-13 22:25:02 +02:00
Athou
31cf4d8bb2
use our own bidi detector to drop 10Mb from gwt
2024-09-13 16:05:21 +02:00
Athou
19bcc2c0da
reduce artifact size by using a smaller library for charset detection
2024-09-13 14:48:24 +02:00
Athou
9930bb68b2
rename variable because it now contains a duration
2024-09-10 20:47:08 +02:00
Athou
ac1a927836
remove google-api-services-youtube because it doesn't play nicely with native-image
2024-08-19 23:55:38 +02:00