Commit Graph

2871 Commits

Author SHA1 Message Date
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
38a4715a7f imap_append_domain: make "@" mandatory and add some failsafe checks 2026-07-05 12:54:57 +02:00
Michael Bartel
b3770c4f2d Append domain to login before trying IMAP connection
Append email domain to login before trying connect to the IMAP server. Use this instead of strip_domain,
which removes the domain before trying the IMAP connection, to avoid the domain in the folder names of the collection.
2026-07-05 12:27:09 +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
Arkadiusz Juszczyk
828691e3c4 sharing: URL-encode-aware backmap of REPORT/PROPPATCH hrefs
make_href percent-encodes hrefs (an '@' in an email principal becomes
%40), but the backmap compared against the raw PathMapped, so the
rewrite was skipped and the owner's real path leaked -- editing a shared
collection then failed with 403. Compare and rewrite on the quoted form.
2026-06-24 01:02:28 +02:00
Peter Bieringer
3f973a870d add test cases for PERIOD support 2026-06-21 16:31:29 +02:00
Peter Bieringer
8bcd43742a add test whether vobject supports PERIOD 2026-06-21 16:30:53 +02:00
Peter Bieringer
47fdd34058 rename var to avoid name overlap 2026-06-21 16:28:17 +02:00
Peter Bieringer
af8d679e35 include UID in error message 2026-06-21 16:18:36 +02:00
Peter Bieringer
ddaa187e03 catch not resolvable tag 2026-06-19 06:13:49 +02:00
Peter Bieringer
a62e3076ab lost line 2026-06-19 06:05:51 +02:00
Peter Bieringer
ecb0cc8647 extend item verification code on commandline 2026-06-19 06:02:31 +02:00
Peter Bieringer
a5b2303fb2 fix loglevel and indent 2026-06-18 08:32:40 +02:00
Max Berger
ea8f4a4477 UI: disable conversion mode buttons on edit
The conversion type cannot be changed once a share is created, so disable the edit buttons.
2026-06-13 21:13:45 +02:00
Max Berger
d612b00ba0 UI Bugfix: Allow changing of data onn previously unconfigured share 2026-06-12 08:22:42 +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
65282cd828 fix json/csv encoding 2026-06-11 08:55:09 +02:00
Peter Bieringer
21a7467a79 sharing/bday/template: code cleanup related to placeholder replacement 2026-06-11 08:54:47 +02:00
Peter Bieringer
2d4c05a824 sharing/bday/template: improve placeholder replacement 2026-06-11 08:54:10 +02:00
Peter Bieringer
8b57adadc2 sharing/bday: add detection for vcard not having valid year 2026-06-11 08:53:24 +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
a5a42546b4 sharing/update: check given Conversion 2026-06-09 21:34:42 +02:00
Peter Bieringer
26342d2a62 sharing: adjust result codes for unsupported calls 2026-06-09 21:34:15 +02:00
Peter Bieringer
f65dc9d096 sharing: code cosmetics 2026-06-09 21:33:17 +02:00
Peter Bieringer
61b10194b5 Merge pull request #2154 from maxberger/master
ui: Allow action configs for bday conversion
2026-06-09 22:20:29 +03: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
8e9216cd08 sharing: report+propfind honor base_prefix on backmap 2026-06-08 21:59:24 +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
Max Berger
1d8d734dca ui: Allow action configs for bday conversion 2026-06-07 14:21:43 +02:00
Peter Bieringer
5914deff28 add 2nd testcase 2026-06-07 08:24:27 +02:00
Peter Bieringer
20c0eaa236 extend with conditional remove if dtstart has no tzinfo set 2026-06-07 08:23:49 +02:00
Peter Bieringer
fca73efc02 fix typo 2026-06-06 23:22:05 +02:00
Peter Bieringer
787a533dd6 Improve: sanitize item add timezone to EXDATE or RDATE if missing but DTSTART has 2026-06-06 23:21:49 +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
86d373e668 sharing/info: expose supported actions 2026-06-02 06:39:46 +02:00
Peter Bieringer
2f3b6ecaec sharing: remove improper doc line 2026-05-31 16:34:55 +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
043de9d0aa sharing/bday: set description only if template result is not empty 2026-05-31 07:48:14 +02:00