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
64005c967b
fix trailing space bug introduced by Microsoft
2026-06-28 21:19:27 +02:00
Peter Bieringer
8bcd43742a
add test whether vobject supports PERIOD
2026-06-21 16:30:53 +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
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
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
043de9d0aa
sharing/bday: set description only if template result is not empty
2026-05-31 07:48:14 +02:00
Peter Bieringer
8e519c3fbf
sharing/bday: bugfix
2026-05-31 07:32:16 +02:00
Peter Bieringer
d192cb085d
sharing/bday: add class + status
2026-05-31 07:26:44 +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
2360a50195
sharing/bday: parameter 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
a42d2243c0
sharing/bday/conversion: add support for "age"
2026-05-31 06:00:55 +02:00
Peter Bieringer
c54e41bccd
sharing/bday/trigger: disable by default, adjust fallback pattern
2026-05-31 06:00:55 +02:00
Peter Bieringer
3a5f8ddfd0
sharing/bday/trigger: implementation
2026-05-31 06:00:55 +02:00
Peter Bieringer
66e97cbc5b
sharing/bday/template: implementation of placeholder replacement
2026-05-31 06:00:55 +02:00
Joonas Rautiola
b8977aaa21
Fix bday conversion hrefs for vCard filenames ending in v/c/f
2026-05-16 13:49:25 +03:00
Peter Bieringer
529210a30d
item/filter: replace legacy trace log
2026-04-08 21:49:55 +02:00
Peter Bieringer
41b21f081f
item/log: replace legacy trace log
2026-04-08 21:49:55 +02:00
Peter Bieringer
0ea20ab038
sharing/fix: indent bug
2026-04-05 14:31:49 +02:00
Peter Bieringer
7c50944ccc
sharing/bday: add birthday to event description
2026-03-21 07:31:08 +01:00
Peter Bieringer
9781281b5e
sharing/bday: fix a leftover union
2026-03-15 22:03:41 +01:00
Peter Bieringer
541e6bc57f
sharing/bday: fix date format
2026-03-15 18:20:49 +01:00
Peter Bieringer
cda4a44fe8
sharing/bday: ics generation fix
2026-03-15 18:20:49 +01:00
Peter Bieringer
07e8c24bfa
generic/datetime
2026-03-15 18:20:49 +01:00
Peter Bieringer
582dd05a7f
sharing/bday: fix ics generation
2026-03-15 18:20:49 +01:00
Peter Bieringer
4cc1f96ada
sharing/bday/item: add conversion function
2026-03-15 18:20:49 +01:00
Peter Bieringer
a143c5d765
Workaround delete all empty lines to avoid vobject parsing errors
2026-01-22 21:36:07 +01:00
Peter Bieringer
b3ccd39d11
update copyright
2026-01-22 21:36:07 +01:00
Peter Bieringer
17a3816e91
add comment, code review
2025-12-28 13:12:41 +01:00
Peter Bieringer
b60718a21b
extend content output for verify-item
2025-12-28 12:39:39 +01:00
Peter Bieringer
baacba191b
adjust/extend copyright
2025-12-28 09:13:18 +01:00
Peter Bieringer
fdcd3e2deb
fix tox issues
2025-12-28 09:13:07 +01:00
Peter Bieringer
9b43b8e3de
catch broken event
2025-12-01 18:52:20 +01:00
Peter Bieringer
e1b19f1a22
catch items having tzinfo only on dtstart or dtend set for whatever reason, overtake tzinfo from the other one
2025-08-22 07:49:54 +02:00
Peter Bieringer
74d21f011c
enrich for optional tzinfo
2025-08-22 07:49:09 +02:00
Peter Bieringer
41ac453eb7
try applying timerange-filter on VCALENDAR entries
2025-07-20 17:50:07 +02:00
Peter Bieringer
18a61f209d
catch time-filter on level 0
2025-07-20 17:50:07 +02:00
Peter Bieringer
b756e21c31
add some trace logging
2025-07-20 17:50:07 +02:00
Peter Bieringer
4bbbc3c384
fix for Python < 3.10
2025-05-16 07:24:57 +02:00
Peter Bieringer
c09a098866
limit only to VALARM, VFREEBUSY support was not added so far
2025-05-16 05:39:19 +02:00
Peter Bieringer
f56416b2fb
honor TRIGGER of VALARM for timerange filtering
2025-05-15 21:35:00 +02:00