Fix output of html description in icalendar format

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

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
javascript
領域
api, backend

調査の方向性

公開カレンダーの DAV エクスポート URL から始め、その VEVENT DESCRIPTION を、提供されたサンプル ICS ファイルおよびリンクされた iCalendar 仕様と比較します。DESCRIPTION に読みやすいプレーンテキストが含まれ、HTML が 1 つ以上のサポート対象の代替プロパティに保持され、Thunderbird などのクライアントを壊さない状態になれば、作業は完了です。

索引モデルが issue の本文から書いたものです。

説明

bug

When viewing a calendar in iCal format via a link such as "https://.../remote.php/dav/public-calendars/...?export" the DESCRIPTION property for the VEVENT objects contains html formatted text. But as the property is meant to contain plain text, clients such as Mozilla Thunderbird show the html encoding of text which makes the text look very mangled for a user. There seem to be some ways of adding html versions of the description:

  • In the X-ALT-DESC property, which appear to be the first way, as supported by Microsoft's outlook/exchange (I haven't tested that) and eM Client - description (near bottom), spec, example
  • In the ALTREP parameter on the DESCRIPTION property as supported by e.g. Thunderbird (though only when used with data-urls -- which also seems to be easiest) - implementation of detection (note that in data-urls spaces should be encoded as %20 not +, spec, example
  • In the STYLED-DESCRIPTION property which doesn't seem to be well supported but seem most "clean" - spec

Could you please add the html text to one or more of these properties/parameters (ie. X-ALT-DESC and ALTREP, while there is probably no need for STYLED-DESCRIPTION) and put a plain text version in the description field (ideally something akin to a markdown encoding such that links will appear in the text (maybe using a library like this that can convert html to markdown and strip unsupported tags).

This sample file contains an event recurring on Mondays with a html description encoded in all three ways, in addition to html in the description to check how that is handled (remove .txt extension to test in your client).

主要言語
JavaScript
スター
710
フォーク
125
平均マージ
19時間 37分
マージ済み PR(30日)
12

環境構築

はじめの一歩

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

nextcloud/tasks のほかの issue

nextcloud/tasks の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

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

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