Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

iCloud: UID lookups fail with 412

オープン
#783 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 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() tries GET <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

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

python-caldav/caldav のほかの issue

python-caldav/caldav の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。