Commit Graph

514 Commits

Author SHA1 Message Date
TowyTowy
a7da8ddd4b tests: guard REPORT response type to satisfy mypy
Assert the response is a dict before indexing, matching the existing
pattern used elsewhere in test_expand.py, so the Lint (mypy) job passes.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 13:00:41 +02:00
TowyTowy
9d46d5b63d Fix: expand REPORT leaves recurrence properties on expanded instances
_strip_single_event() removed the recurrence-defining properties (RRULE,
EXDATE, EXRULE, RDATE) with a single try/except around sequential
delattr() calls. When one of them was absent (e.g. an event with no
EXDATE), the AttributeError aborted the whole block and the following
properties -- notably RDATE -- were left on the expanded
single-occurrence VEVENTs returned by a calendar-data expand REPORT.

Remove each property independently so a missing one no longer prevents
removal of the others. Add a regression test and fixture.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-12 22:30:47 +02:00
TowyTowy
e557c0cd5e Fix: time-range filter matches VEVENT with whole-day DURATION
A calendar-query REPORT with a time-range filter failed to return a
VEVENT that has a whole-day DURATION (e.g. DURATION:P1D or P2D) whenever
the queried range fell inside the event but after DTSTART.

The VEVENT time-range logic in radicale/item/filter.py gated the
"non-zero duration" branch (rfc4791-9.9 line 2) on timedelta.seconds
instead of timedelta.total_seconds(). For a duration that is an exact
multiple of 24h, timedelta.seconds is 0 (the days component holds the
value), so the event was treated as zero-length (line 3) and only
matched a one-second window at its start. An identical event expressed
with DTEND matched correctly, confirming the defect is isolated to the
DURATION path.

Use total_seconds() so multi-day durations are handled correctly. Adds a
regression test (event11, DURATION:P2D) covering both an inside-range
match and an outside-range non-match.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 15:58:39 +02:00
Peter Bieringer
69b265b539 mark also windows for non-reliable sleep times 2026-06-28 22:15:44 +02:00
Peter Bieringer
ed6095620e add test case 2026-06-28 21:19:47 +02:00
Peter Bieringer
64005c967b fix trailing space bug introduced by Microsoft 2026-06-28 21:19:27 +02:00
Peter Bieringer
3f973a870d add test cases for PERIOD support 2026-06-21 16:31:29 +02:00
Peter Bieringer
d76a443c5d sharing/bday/tests: add missing file 2026-06-11 15:27:57 +02:00
Peter Bieringer
048845f615 sharing/bday/template: adjust+add test cases 2026-06-11 08:55:29 +02:00
Peter Bieringer
2c198da3fc sharing/bday/template: change trigger separator 2026-06-11 08:51:54 +02:00
Peter Bieringer
64761ae119 sharing/update: positive test with equal conversion 2026-06-09 21:49:39 +02:00
Peter Bieringer
25e376874e sharing/update: add test case changing Conversion 2026-06-09 21:35:27 +02:00
Peter Bieringer
169d6c3b45 sharing/test: align changed result codes 2026-06-09 21:35:11 +02:00
Peter Bieringer
f684d38147 rework tests with proxy simulation 2026-06-09 07:28:57 +02:00
Peter Bieringer
83b00f1b7b sharing/bday conversion: add additional test cases via proxy 2026-06-08 21:59:57 +02:00
Peter Bieringer
8aec777e16 flake8 fix 2026-06-08 21:44:33 +02:00
Peter Bieringer
9d1cb26f0b add 2 inode test cases 2026-06-08 06:31:55 +02:00
Peter Bieringer
5914deff28 add 2nd testcase 2026-06-07 08:24:27 +02:00
Peter Bieringer
22ea4fe302 testcase for issue-2151 2026-06-06 23:18:47 +02:00
Peter Bieringer
f985d090f4 Merge pull request #2150 from pbiering/sharing-info-bday
Sharing/show supported Actions on info
2026-06-02 08:25:46 +03:00
Peter Bieringer
2c15cb062b sharing/Actions: test "info" 2026-06-02 06:40:29 +02:00
Peter Bieringer
1520dfcfe3 sharing/api: add support for removing per share Action dict entries 2026-05-31 16:34:06 +02:00
Peter Bieringer
f43c4767ba sharing/bday: test status+class 2026-05-31 07:49:22 +02:00
Peter Bieringer
5cbd1d56e5 sharing/bday/description empty: test 2026-05-31 07:48:47 +02:00
Peter Bieringer
d6369588f4 sharing/bday/summary: check for not to be empty 2026-05-31 07:26:19 +02:00
Peter Bieringer
07c5873bdd sharing/bday/templating: default config rework 2026-05-31 07:06:35 +02:00
Peter Bieringer
70ec043423 sharing/bday/add support for custom categories 2026-05-31 06:00:55 +02:00
Peter Bieringer
0d198e56ac sharing/bday: parameter config tests 2026-05-31 06:00:55 +02:00
Peter Bieringer
40330ca800 sharing/bday: fix typo 2026-05-31 06:00:55 +02:00
Peter Bieringer
ebb359c5cc sharing/bday/age_max: input validation 2026-05-31 06:00:55 +02:00
Peter Bieringer
71643860a4 sharing/bday/Actions: align config section 2026-05-31 06:00:55 +02:00
Peter Bieringer
e26a2cfcf4 auth/test: increase delay limit for Windows 2026-05-31 06:00:55 +02:00
Peter Bieringer
ad42f00a27 sharing/bday/age: add test cases 2026-05-31 06:00:55 +02:00
Peter Bieringer
497a0eeb44 sharing/bday/template: fix change of fallback placeholder 2026-05-31 06:00:55 +02:00
Peter Bieringer
7ce3459878 sharing/bday/trigger: test cases 2026-05-31 06:00:55 +02:00
Peter Bieringer
1ef02e9fe3 sharing/bday/template per share test 2026-05-31 06:00:55 +02:00
Peter Bieringer
1ea3933faf sharing/bday/template: test case extension/fixes 2026-05-31 06:00:55 +02:00
Max Berger
19f9d0a8c7 web ui: New setting for browser-based login
This is useful in cases where OIDC login is active
which would then redirect the user to a central
login page.

See https://github.com/Kozea/Radicale/issues/2143
2026-05-27 19:43:57 +02:00
Peter Bieringer
4aa84ffa4a sharing: PROPFIND returns also privilege "write" in case "write-content" and "write-properties" is permitted (test case) 2026-05-15 12:43:06 +02:00
Peter Bieringer
1349714d93 sharing/propfind/owner: return empty element in case of a mapped share / clients try PROPFIND on this not accessable href (extend test case) 2026-05-15 07:50:06 +02:00
Peter Bieringer
8eb681931a validation: extend test cases for unicode-letter 2026-05-12 12:29:26 +02:00
Peter Bieringer
aefa99d5a4 copyright update 2026-05-12 08:35:28 +02:00
Peter Bieringer
da668035ba log on_notice_condition: test cases 2026-05-12 08:35:28 +02:00
Peter Bieringer
b9ec1c223f log on_notice_condition: implementation 2026-05-12 08:35:28 +02:00
Peter Bieringer
db2f8585ba sharing/test: single item + allprop test cases 2026-05-04 21:40:59 +02:00
Peter Bieringer
e5add4c3b9 propfind/test: extend allprop test cases 2026-05-04 21:40:21 +02:00
Peter Bieringer
d496f9ee13 test: sharing: fix get request on single item with not successful bday conversion 2026-04-30 22:51:04 +02:00
Peter Bieringer
39ece55490 test for sharing: fix get request on single items with bday conversion 2026-04-30 22:33:38 +02:00
Max Berger
cdf9e62e0b expose server version via PROPFIND on root collection and display in the UI for authenticated users 2026-04-29 23:13:36 +02:00
Riley Mathews
e5e1e925b7 fix lint 2026-04-28 15:43:51 -05:00