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

Collission avoidance

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

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
python

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

enhancement

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)?

主要语言
Python
星标
412
派生
113
平均合并
10 小时 20 分钟
30 天内合并 PR
57

环境准备

  • 没有 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 摘要。