iCloud: time-range search doesn't match a moved recurrence instance by its new date
メンテナーはふだん 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
- 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.
- 主要言語
- Python
- スター
- 412
- フォーク
- 113
- 平均マージ
- 22時間 43分
- マージ済み PR(30日)
- 43
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
python-caldav/caldav のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
python-caldav/caldav#687 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
python-caldav/caldav#783 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
python-caldav/caldav#782 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
python-caldav/caldav#780 ·
メンテナーはふだん 1 日以内に返信
-
compatibility refactoring
難易度 4/5 3〜5日 初心者へのやさしさ 32/100
python-caldav/caldav#778 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
python-caldav/caldav の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
collective/icalendar#1968 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Deferred from #1869: Complete the companion pytest guardrail update noted in the PR description...オープン
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
NousResearch/hermes-agent#140958 ·
メンテナーはふだん 1 日以内に返信
-
Bug triage/confirmed
難易度 2/5 半日 初心者へのやさしさ 85/100
agentscope-ai/agentscope#3355 ·
メンテナーはふだん 2 日以内に返信