Athou
43588df2b4
prevent users from starring/tagging entries that are not theirs
2026-08-22 08:14:21 +02:00
Athou
10ea5f0b93
move exception to its own package
2026-08-19 22:32:37 +02:00
n200534
3efec5ce58
Use typed backend errors for translations
2026-08-20 01:11:30 +05:30
Athou
7f77cf0268
prevent Host header injection attacks
2026-08-17 22:27:46 +02:00
Athou
fd8bb60daa
google reader api support
2026-08-08 10:22:58 +02:00
Athou
911a5ca099
reorder imports using google java format
2026-07-29 20:36:03 +02:00
Athou
1bd9b71215
use google java formatter to avoid downloading eclipse during build
2026-07-05 11:14:17 +02:00
Athou
f7fcb659f7
fix build
2026-06-07 07:34:00 +02:00
Athou
ce983f4906
fix flaky test
2026-05-10 21:19:35 +02:00
Athou
f207bfaddd
format empty records and anonymous types as a single line
2026-05-08 17:56:26 +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
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
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
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
afe957ba59
create a dedicated password reset page ( #2023 )
2026-01-19 20:55:26 +01:00
Athou
5a95b95801
validate password in the frontend too ( #2017 )
2026-01-15 21:36:00 +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
19663b0f38
Java 25+ is now required
2026-01-05 07:25:26 +01:00
Athou
7e825192d0
enforce user password validation when created in the admin view ( #1937 )
2025-10-17 10:19:02 +02:00
Athou
39e57cb3ef
fix warning
2025-10-02 22:06:24 +02:00
Athou
7f53531489
filter cannot be converted to lowercase ( #1899 )
2025-09-22 03:47:06 +02:00
Athou
c49c31a44e
let quarkus generate the documentation
2025-07-28 08:33:34 +02:00
Athou
865c80f87b
add more integration tests
2025-07-21 20:21:20 +02:00
Athou
f7ae2e6689
add even more integration tests
2025-07-21 11:50:10 +02:00
Athou
427e020d27
add category integration tests
2025-07-20 23:20:30 +02:00
Athou
2f05e53e14
remove feed/refresh rest endpoint as it's unused and does not honor the force-refresh-cooldown-duration setting ( #1802 )
2025-05-30 11:19:26 +02:00
Athou
0b5245643a
increase cache duration of static resources even more ( #1782 )
2025-05-12 15:11:05 +02:00
Athou
eeceda0ca8
increase static resources cache duration ( #1782 )
2025-05-11 18:12:15 +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
cc0440c029
enable quarkus compression (compression in dropwizard was enabled by default)
2025-03-02 09:45:10 +01:00
Athou
8d85b1bcba
tweak tests to be more resilient
2025-02-03 08:55:26 +01:00
Athou
19c8db8b31
add a cooldown on the force refresh action ( #1556 )
2024-09-21 08:24:14 +02:00
Athou
f1b19ebae3
after reading the spec, what we want is actually "no-cache" that actually means "cache but revalidate immediately" using If-Modified-Since request headers and 304 response codes
2024-08-26 11:41:56 +02:00
Athou
63c7679067
make sure the webapp and openapi documentation are always up to date by preventing caching
2024-08-26 00:28:44 +02:00
Athou
5c69daec08
restore welcome page on 401
2024-08-16 14:02:49 +02:00
Athou
815093f1c6
remove STARTUP_TIME because static fields are initialized at compile time in native mode
2024-08-15 12:17:28 +02:00
Athou
69cd90edd8
only use rest-assured for tests
2024-08-14 16:00:47 +02:00
Athou
89405009ec
set a Max-Age on the auth cookie
2024-08-13 12:49:04 +02:00
Athou
aaf237d111
use quarkus mailer for password recovery
2024-08-13 12:49:04 +02:00
Athou
cc32f8ad16
WIP
2024-08-13 12:48:37 +02:00
Athou
43cdf3db3b
add integration tests for postgresql, mysql and mariadb using testcontainers
2024-07-03 09:02:18 +02:00
Athou
cdd4d4b063
change BaseIT test class so that authentication with the "admin" user is not the default
2024-06-19 19:41:02 +02:00
Athou
3997606774
looks like sometimes the websocket connection is not established on github actions, refresh the tree with an interval smaller than the timeout of playwright
2024-06-15 08:46:55 +02:00
Athou
f5b04a783e
remove commons-codec since we already have guava
2024-06-12 16:18:52 +02:00