Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#784 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python
領域
api, networking

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
412
フォーク
113
平均マージ
22時間 43分
マージ済み PR(30日)
43

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

python-caldav/caldav のほかの issue

python-caldav/caldav の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。