save() increments SEQUENCE by default - wrong for sync and copy use cases
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
- 25/100
Línea de trabajo
Start at CalendarObjectResource.save(), where increase_seqno defaults to True, then check the other save paths the issue names (add_event(), save_object()) for whether they forward the flag. The issue leaves the choice open: flip the default with a deprecation period, or keep it and document it. Get a maintainer decision before coding. Done means the chosen behaviour is applied consistently across the save paths and covered by tests.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Disclaimer: AI-generated text below the line, generated by Claude Opus 5.5 (Claude Code), from the prompt:
https://github.com/pycalendar/calendaring-sync/pull/19 [and the design notes of the calendaring library] - please file the issues mentioned in that pull request
CalendarObjectResource.save() has increase_seqno=True as default, so every save of an object that has a SEQUENCE property bumps it.
RFC 5545 §3.8.7.4 has the organizer increment SEQUENCE for significant revisions, and RFC 5546 uses it to order scheduling messages. A sync engine or a copy/migrate tool that writes an object it read elsewhere is not making a revision: it must store the data unchanged, or the two sides diverge and every sync round bumps the number again. Cosmetic edits (fixing a typo in a description) arguably don't warrant a bump either.
Callers can pass increase_seqno=False, but the default surprises anyone who expects save() to save what they have.
Options:
- flip the default to
False(breaking, would need a deprecation period), or - keep it, but document it prominently and make sure every save path (
add_event(),save_object(), …) passes the flag through.
Found by calendaring-sync, which must disable it in its adapter: https://github.com/pycalendar/calendaring-sync/pull/19
Related discussion on implicit changes to objects: https://github.com/python-caldav/caldav/issues/613
- Lenguaje dominante
- Python
- Estrellas
- 412
- Forks
- 113
- Merge medio
- 9 h 52 min
- PR fusionados (30 d)
- 64
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 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
-
ical + caldavAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
python-caldav/caldav#825 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
python-caldav/caldav#823 ·
Los mantenedores suelen responder en 1 día
Todos los issues de python-caldav/caldav
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
NVIDIA/flare-local-inference#90 ·
Los mantenedores suelen responder en 1 día
-
area/streaming comp/gateway P2 platform/telegram type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NousResearch/hermes-agent#144897 ·
Los mantenedores suelen responder en 1 día
-
request-theme
Dificultad 1/5 Menos de una hora Aptitud para principiantes 66/100
LizardByte/ThemerrDB#9575 ·
Los mantenedores suelen responder en 1 día
-
Author Page: noshin-nawalAbiertoauthor-page correction
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
acl-org/acl-anthology#10599 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
zilliztech/memsearch#818 ·
Los mantenedores suelen responder en 1 día