set_properties() silently ignores per-property PROPPATCH failures (regression since v3.0)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
davobject.py の DAVObject.set_properties() と _post_set_properties から始め、次に DAVResponse.all_statuses_ok() とプロパティ更新に関する既存のユニットテストを調べてください。プロパティごとの 403 ステータスを含む 207 応答で問題を再現してください。set_properties() がその失敗を報告し、ユニットテストがその応答を対象にしていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Disclaimer: AI-generated issue, written by Claude Opus 5.5 (Claude Code). I wanted to delete some old code review documents, but apparently they still contained some unhandled findings.
Since v3.0, DAVObject.set_properties() (davobject.py:590) only raises PropsetError when the HTTP status is >= 400. A server that answers 207 Multi-Status with a per-property 403 Forbidden or 409 (e.g. a read-only or protected property) is reported as success. v2.2.6 checked every DAV:status in the reply.
Repro: a 207 reply with <propstat><prop><displayname/></prop><status>HTTP/1.1 403 Forbidden</status></propstat>, then set_properties([dav.DisplayName("x")]) returns normally. Fix: use DAVResponse.all_statuses_ok() (or the per-propstat check) in _post_set_properties, and add a unit test.
- 主要言語
- Python
- スター
- 412
- フォーク
- 113
- 平均マージ
- 11時間 37分
- マージ済み PR(30日)
- 50
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
python-caldav/caldav のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
python-caldav/caldav#799 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
python-caldav/caldav#788 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
python-caldav/caldav#687 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 75/100
python-caldav/caldav#796 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 66/100
python-caldav/caldav#795 ·
メンテナーはふだん 1 日以内に返信
python-caldav/caldav の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mohitmishra786/readprism#322 ·
メンテナーはふだん 1 日以内に返信
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
API-key credentials accept a blank key: empty via the API, spaces-only via the builder's Add API key dialog対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
Significant-Gravitas/AutoGPT#15727 ·
メンテナーはふだん 1 日以内に返信