iCloud: time-range search doesn't match a moved recurrence instance by its new date
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- api, networking
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 412
- Forks
- 113
- Merge medio
- 11 h 37 min
- PR fusionados (30 d)
- 50
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de python-caldav/caldav
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
python-caldav/caldav#799 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
python-caldav/caldav#792 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
python-caldav/caldav#788 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
python-caldav/caldav#687 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
python-caldav/caldav#796 ·
Los mantenedores suelen responder en 1 día
Todos los issues de python-caldav/caldav
Issues similares
-
get_page_thumbnail modifies cached page images, affecting later thumbnails and picture exportsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
docling-project/docling-mcp#147 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
autowarefoundation/autoware_carla_scenario#405 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
mohitmishra786/readprism#322 ·
Los mantenedores suelen responder en 1 día