Collission avoidance
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- backend-api-design
Direzione di ricerca
The save method in the caldav library needs improved collision avoidance. Start by locating the save method and understanding its current UID-check and check-then-PUT logic. Research caldav-standard approaches to collision detection, including path-name handling and race-condition prevention. The fix will require changes to how new items are created and existing items are updated.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Also ref #143 ...
The save method have parameter that should prevent one from overwriting existing calendar items or creating new calendar items, but it seems not to be robust enough ...
- caldav objects have a path name which may or may not correspond to the UID. A UID check is not sufficient to prevent overwriting exisitng calendar items (and possibly on some calendar servers it may be possible to create two calendar items with the same UID but different path names).
- There is also a potential race condition as we first check and then PUT the new item.
(This would have been trivial if the caldav standard would have imposed some restrictions on the UID, asserted that the pathname and the UID should match, and used POST for new items and PUT for updating existing items ... did I ever mention that the caldav standard sucks, and the only reason for getting involved in this library was that I wanted to interface with it through some abstracted library rather than having to deal with the standard myself)?
- Lingua principale
- Python
- Stelle
- 412
- Fork
- 113
- Merge medio
- 2g 4h
- PR unite (30g)
- 19
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
-
Todo.complete(rrule_mode="this_and_future") raises AttributeError; only the undeclared "thisandfuture" worksForse già presa @muratatar06 l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
python-caldav/caldav#735 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
python-caldav/caldav#687 ·
I maintainer di solito rispondono entro 1 giorno
-
get_calendars() returns [] for a Nextcloud public calendar share (regression from 2.x)Forse già presa @IT-BAER l’ha presa oggi. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
python-caldav/caldav#743 ·
I maintainer di solito rispondono entro 1 giorno
-
delete() sends no If-Match, so a concurrent change is deleted silentlyForse già presa @tobixen l’ha presa oggi. Aperta
Difficoltà 3/5 Mezza giornata Idoneità per principianti 22/100
python-caldav/caldav#740 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
python-caldav/caldav#739 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di python-caldav/caldav
Issue simili
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
hatchet-dev/hatchet#5179 ·
I maintainer di solito rispondono entro 1 giorno
-
python-version
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
bug javascript P2-medium python release:v3.1
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
adrirubio/claude-deck#546 ·
I maintainer di solito rispondono entro 1 giorno