save() increments SEQUENCE by default - wrong for sync and copy use cases
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Python
- Stelle
- 412
- Fork
- 113
- Merge medio
- 1g 2h
- PR unite (30g)
- 41
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di python-caldav/caldav
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
python-caldav/caldav#687 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
python-caldav/caldav#774 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
python-caldav/caldav#769 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 50/100
python-caldav/caldav#765 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
python-caldav/caldav#763 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di python-caldav/caldav
Issue simili
-
md/asciidoc/csv: an explicit `encoding="utf-8"` keeps a leading BOM, the auto-detect path drops itAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
docling-project/docling#4846 ·
I maintainer di solito rispondono entro 1 giorno
-
area/sessions comp/dashboard comp/desktop comp/gateway comp/tui duplicate P2 sweeper:risk-session-state type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
NousResearch/hermes-agent#138914 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bot-triaged module: activation checkpointing module: inductor oncall: pt2 triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
[oblt-aw][autodoc] Update PR Actions Detective E2E prerequisites and fix dashboard-format table typoApertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
elastic/oblt-aw#2382 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno