Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

iCloud: time-range search doesn't match a moved recurrence instance by its new date

Đang mở
#784 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

  1. Create an all-day weekly series with occurrences on 2026-10-31, 2026-11-07, and 2026-11-14 (FREQ=WEEKLY;COUNT=3).
  2. Move only the first occurrence from 2026-10-31 to 2026-10-17. Its actual start is then 2026-10-17 and its RECURRENCE-ID remains 2026-10-31.
  3. 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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của python-caldav/caldav

Tất cả issue của python-caldav/caldav

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.