iCloud: time-range search doesn't match a moved recurrence instance by its new date
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 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 小时 15 分钟
- 30 天内合并 PR
- 44
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
python-caldav/caldav 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
python-caldav/caldav#788 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
python-caldav/caldav#687 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
python-caldav/caldav#786 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 35/100
python-caldav/caldav#783 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 55/100
python-caldav/caldav#782 ·
维护者通常 1 天内回复
查看 python-caldav/caldav 的全部 Issue
相似的 Issue
-
comp/cli P3 type/security
难度 2/5 1-3 小时 新手友好度 68/100
NousResearch/hermes-agent#141420 · 1 条评论 ·
维护者通常 1 天内回复
-
vendor-pitch
难度 2/5 1-3 小时 新手友好度 87/100
维护者通常 1 天内回复
-
bug llm p2
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
New tool: ZIPZAX Python Notebook Studio可能已有人在做 @github-actions 今天认领。 未关闭submission triage
难度 1/5 1 小时以内 新手友好度 68/100
kausalflow/tools#226 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100