Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#784 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 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

  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 小时 15 分钟
30 天内合并 PR
44

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

python-caldav/caldav 的其他 Issue

查看 python-caldav/caldav 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。