iCloud: UID lookups fail with 412
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python
調査の方向性
Read the UID research in #733 and the full-download concern in #726, then trace get_event_by_uid(), get_object_by_uid(), and save() for a single occurrence. Check the existing tests for UID lookups and occurrence saves; the issue does not name test files. Before implementing either proposed approach, get a maintainer decision on whether the 412-only fallback is acceptable; done means UID lookup and single-occurrence saves work for the reported iCloud cases without downloading compliant servers' calendars.
索引モデルが issue の本文から書いたものです。
説明
Following up on the UID research from #733. iCloud answers 412 to every prop-filter on UID I tried, so on master get_event_by_uid() fails (with or without features="icloud"), and so does save() of a single occurrence (only_this_recurrence), which looks the master up by UID. Home Assistant, my use case, doesn't pass features.
What I found: 10 of 11 events in my test calendar (made with Apple clients, not caldav) are stored as <UID>.ics. The 11th, a made-up UID with / and +, isn't, and GET <quoted uid>.ics misses it. Expanded occurrences carry the URL of the series file.
I'd like to send two PRs:
- A:
save()of an occurrence first GETs its own URL (the series file), falling back to the UID lookup. - B: on 412,
get_object_by_uid()triesGET <uid>.ics(checking the UID), then lists the calendar and matches the UID locally. Only on 412, so compliant servers never get the full download (the concern from #726).
Is B on the 412 alone, regardless of features, OK with you?
- 主要言語
- Python
- スター
- 412
- フォーク
- 113
- 平均マージ
- 22時間 43分
- マージ済み PR(30日)
- 43
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
python-caldav/caldav のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
python-caldav/caldav#687 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
python-caldav/caldav#784 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
python-caldav/caldav#782 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
python-caldav/caldav#780 ·
メンテナーはふだん 1 日以内に返信
-
compatibility refactoring
難易度 4/5 3〜5日 初心者へのやさしさ 32/100
python-caldav/caldav#778 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
python-caldav/caldav の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
infrastructure qa
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
khuisman/mcp-gee-sweet#1068 ·
メンテナーはふだん 1 日以内に返信
-
area:ecosystem documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Chelis-Lang/chelis#3866 ·
メンテナーはふだん 1 日以内に返信
-
`lvm_compact` has no self-hosted twin, and `docs/158` §5 says every language-face component mustオープンbug sev-3 vm
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
issue: Picking a prompt from the / menu in a channel inserts a command chip instead of the promptオープンbug confirmed issue
難易度 2/5 半日 初心者へのやさしさ 78/100
open-webui/open-webui#32712 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信