Athou
6d2fb5acc2
refactor
2026-04-10 15:17:27 +02:00
Athou
ec35d846cf
Merge branch 'perf/batch-guid-check-on-feed-refresh' of https://github.com/ingokegel/commafeed into ingokegel-perf/batch-guid-check-on-feed-refresh
2026-04-10 14:22:32 +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
renovate[bot]
47a8ad5244
chore(deps): update debian:13.4 docker digest to 3352c2e
2026-04-07 06:43:23 +00:00
Athou
3d5bc9ef0e
adapt to passay 2.0 api
2026-04-07 02:11: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
renovate[bot]
5d8c09ccda
chore(deps): update debian docker tag to v13.4
2026-03-17 00:35:37 +00:00
Athou
7b2e0fffbd
reduce timeout for tests to speed up shutdown
2026-03-04 14:19:56 +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
renovate[bot]
b951ed1fcd
chore(deps): update debian:13.3 docker digest to 3615a74
2026-02-24 21:53:17 +00:00
Athou
8fe2d0bc0e
fix typo
2026-02-21 23:58:49 +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
5906173de7
Merge branch 'lpoirothattermann-master'
2026-02-18 20:53:50 +01:00
Athou
a81de48cfb
change the default value of blockLocalAddresses
2026-02-18 20:53:23 +01:00
Athou
2be61e8b1c
refactor
2026-02-18 20:37:11 +01:00
renovate[bot]
cc0348b113
chore(deps): update ibm-semeru-runtimes:open-jdk-25.0.2_10-jre docker digest to b02e4cd
2026-02-18 01:48:45 +00: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
renovate[bot]
15c8289a01
chore(deps): update ibm-semeru-runtimes docker tag to open-jdk-25.0.2_10-jre
2026-02-10 00:25:53 +00:00
Athou
6fa8d4be34
keep starred entries ( #1581 )
2026-02-09 06:59:41 +01:00
renovate[bot]
6cd3b70201
chore(deps): update debian:13.3 docker digest to 2c91e48
2026-02-03 14:08:51 +00:00
Athou
bca23db213
remvoe unused jacoco plugin
2026-01-26 13:39:50 +01:00
Athou
6c68fda572
make "disable pull to refresh" false by default ( #2030 )
2026-01-25 10:49:11 +01:00
Athou
a858380121
cleanup
2026-01-23 08:34:10 +01:00
Athou
afe957ba59
create a dedicated password reset page ( #2023 )
2026-01-19 20:55:26 +01:00
Athou
714681bc50
don't set "en" as the default language, use the preferred language of the browser ( #2018 )
2026-01-17 20:09:23 +01:00
renovate[bot]
3c819066fd
chore(deps): update ibm-semeru-runtimes:open-jdk-25.0.1_8-jre docker digest to e12d5f2
2026-01-16 02:15:00 +00:00
Athou
5a95b95801
validate password in the frontend too ( #2017 )
2026-01-15 21:36:00 +01:00
renovate[bot]
2c3105b526
chore(deps): update debian:13.3 docker digest to 5cf544f
2026-01-13 14:11:28 +00:00
renovate[bot]
5bdda42239
chore(deps): update debian docker tag to v13.3
2026-01-13 04:51:00 +00:00
Athou
d711cbab49
requiring an email address for users is now configurable ( #1914 )
2026-01-10 18:11:35 +01:00
Athou
2e8fd737af
remove complex password requirements ( #1916 )
2026-01-10 17:53:48 +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
f7505298d7
postgresql 18+ changed the docker mount point ( #2008 )
2026-01-03 10:26:59 +01:00
Athou
3bf4a004d4
ReadKit sends the md5 hash of the password in uppercase ( #1602 )
2025-12-30 20:22:41 +01:00
renovate[bot]
7ac5876d2d
chore(deps): update debian:13.2 docker digest to c71b05e
2025-12-30 08:26:00 +00: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
2147aeb4ae
some client seems to send an empty since_id param
2025-12-23 11:16:07 +01:00
Athou
a810b4fc9a
add a test for brotli decompression
2025-12-23 08:53:18 +01:00
Athou
abcbb61b4c
make quarkus add brotli4j to the native image
2025-12-23 08:07:46 +01:00