iCloud: time-range search doesn't match a moved recurrence instance by its new date
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- python
- Lĩnh vực
- api, networking
Hướng nghiên cứu
Start by reading related issue #157 and RFC 4791 section 9.9, then reproduce the narrow and broader time-range queries described here against iCloud. The issue does not identify a code entry point, so first trace how python-caldav builds and handles CalDAV time-range queries. Done means a narrowly scoped compatibility approach handles the moved instance without changing results for other servers, with a test covering the described case.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Apple iCloud CalDAV omits a moved recurring-event instance when the CalDAV time-range filter covers the instance's new date but not its original recurrence date.
Environment
- Server: Apple iCloud CalDAV (not self-hosted)
- Client: Home Assistant Core 2026.10.1, UI-configured CalDAV integration
- python-caldav: 3.3.0a1
- Time zone: Europe/Zurich
Reproduction
- Create an all-day weekly series with occurrences on 2026-10-31, 2026-11-07, and 2026-11-14 (
FREQ=WEEKLY;COUNT=3). - Move only the first occurrence from 2026-10-31 to 2026-10-17. Its actual start is then 2026-10-17 and its
RECURRENCE-IDremains 2026-10-31. - Query the calendar from 2026-10-17 00:00 to 2026-10-18 00:00.
Actual result
The moved instance is absent both from Home Assistant's calendar.get_events result and from the raw iCloud CalDAV XML response.
When querying the broader range 2026-10-17 00:00 to 2026-11-01 00:00, the same moved instance is present in both places. The relevant CalDAV request succeeds; the server response simply omits the event for the narrow range.
Expected result
The instance should match the time-range filter by its current/effective date, 2026-10-17. RFC 4791 section 9.9 describes time-range matching for overridden recurrence instances on their current date.
The identical test works with Radicale, according to a Home Assistant developer. This therefore appears to be an iCloud-specific compatibility problem rather than a Home Assistant-only issue.
Could python-caldav provide an iCloud-specific compatibility workaround, potentially related to #157, such as a deliberately scoped fallback for this server behavior?
Related Home Assistant report: https://github.com/home-assistant/core/issues/179125
Relevant discussion: https://github.com/home-assistant/core/issues/179125#issuecomment-6232748536
Privacy
No real event UIDs, calendar URLs, credentials, XML/log payloads, or unrelated calendar events are included here.
AI assistance
This issue text was assisted by OpenAI ChatGPT. I performed the live test and inspected the raw response myself; I can answer follow-up questions and test a proposed fix.
- Ngôn ngữ chính
- Python
- Star
- 412
- Fork
- 113
- Merge trung bình
- 22 giờ 43 phút
- Pull request đã merge (30 ngày)
- 43
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của python-caldav/caldav
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
python-caldav/caldav#687 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
python-caldav/caldav#783 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
python-caldav/caldav#782 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
python-caldav/caldav#780 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
compatibility refactoring
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 32/100
python-caldav/caldav#778 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của python-caldav/caldav
Issue tương tự
-
documentation good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
drevendev/HungryCrab#273 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
drevendev/BeautifulRepo#19 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Moonshot: Kimi K3 always sends `reasoning_effort="max"`, though the API now accepts `low` and `high`Đang mởaccepted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
UKGovernmentBEIS/inspect_ai#5939 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug linux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Fill paper for Screen2WordsĐang mởarea:data data-quality
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
reacher-z/Awesome-CUA#1468 ·
Maintainer thường phản hồi trong vòng 1 ngày