Fix output of html description in icalendar format

Abierto
#3,206 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
javascript
Área
api, backend

Línea de trabajo

Comienza con la URL de exportación DAV del calendario público y compara su VEVENT DESCRIPTION con el archivo ICS de ejemplo proporcionado y con las especificaciones de iCalendar enlazadas. El trabajo estará terminado cuando DESCRIPTION contenga texto plano legible y el HTML se conserve en una o más propiedades alternativas compatibles sin alterar clientes como Thunderbird.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
JavaScript
Estrellas
710
Forks
125
Merge medio
19 h 37 min
PR fusionados (30 d)
12

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de nextcloud/tasks

Todos los issues de nextcloud/tasks

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.