# Undefinierter ICS-Dateiname

**URL:** https://meta.discourse.org/t/undefined-ics-file-name/387696
**Category:** Bug
**Tags:** events
**Created:** [5. November 2025 um 17:55 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696 "2025-11-05T17:55:36Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![dax](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dax/32/244677_2.png) [@dax](https://meta.discourse.org/u/dax)
#### Post date: [5. November 2025 um 17:55 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696/1 "2025-11-05T17:55:37Z")

</div>

## ℹ Übersicht

Wenn Sie im Vorschaufenster des Ereignisses (das nach dem Klicken auf das Datum des Ereignisses angezeigt wird) auf „Zum Kalender hinzufügen“ klicken:

 ![msedge_4wsrj0YJvM](https://global.discourse-cdn.com/meta/original/4X/f/4/1/f414c6f5cdab986a6d6cb5e6e1bc43fe70bcebf8.png)

wird die heruntergeladene `.ics`-Datei als `undefined.ics` benannt und der Ereignistitel in der Kalenderdatei wird ebenfalls auf `SUMMARY:undefined` gesetzt. Das Herunterladen des Kalenders über die Option „Zum Kalender hinzufügen“ aus dem 3-Punkte-Menü des Ereignisses funktioniert jedoch wie erwartet, wobei der Titel des Ereignisses sowohl für den Dateinamen als auch für die Kalendersummary verwendet wird.

## 🚶‍♀️ Schritte zur Reproduktion

1. Erstellen oder öffnen Sie ein Thema mit einem Ereignis.
2. Klicken Sie auf das **Datum des Ereignisses** , das im Beitrag angezeigt wird, um das Vorschaufenster zu erweitern.
3. Klicken Sie im Modal auf **Zum Kalender hinzufügen**.
4. Speichern Sie die generierte `.ics`-Datei.
5. Vergleichen Sie optional, indem Sie auf das 3-Punkte-Menü des Ereignisses klicken und dort „Zum Kalender hinzufügen“ verwenden.

## ✅ Erwartete Ergebnisse

- Die heruntergeladene `.ics`-Datei sollte nach dem Titel des Ereignisses benannt sein.
- Der Inhalt der Kalenderdatei sollte eine korrekte `SUMMARY:` mit dem Titel des Ereignisses enthalten.

## ❌ Beobachtete Ergebnisse

- Die heruntergeladene Datei heißt `undefined.ics`.
- Der Titel des Ereignisses in der Kalenderdatei lautet `SUMMARY:undefined`.
- (Beim Herunterladen aus dem 3-Punkte-Menü sind sowohl der Dateiname als auch die Zusammenfassung korrekt.)

## 📚 Zusätzlicher Kontext

- Beispiel für fehlerhaften ICS-Inhalt:

```plaintext
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Discourse//EN
BEGIN:VEVENT
UID:1762794000000_1762801200000
DTSTAMP:20251105T173754Z
DTSTART:20251110T170000Z
DTEND:20251110T190000Z
SUMMARY:undefined
END:VEVENT
END:VCALENDAR

```

Auf Meta und mehreren anderen Discourse-Seiten getestet, gleiches Ergebnis.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [6. November 2025 um 01:24 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696/3 "2025-11-06T01:24:17Z")

</div>

Das ist eine knifflige Sache, Dax, die eine Nebenwirkung unserer Pipeline ist.

Wir generieren hier den BBCode für die Daten:

> <https://github.com/discourse/discourse/blob/d440592f88c425347d9a1115d6357ddcc7ec3ea8/plugins/discourse-calendar/assets/javascripts/discourse/components/discourse-post-event/dates.gjs#L76-L97>

Und kochen ihn hier:

> <https://github.com/discourse/discourse/blob/d440592f88c425347d9a1115d6357ddcc7ec3ea8/plugins/discourse-calendar/assets/javascripts/discourse/components/discourse-post-event/dates.gjs#L141-L141>

Im Kontext des gekochten HTML-Chunks ist der “ICS-Download” nicht über den eigentlichen Beitrag (oder das Ereignis) informiert, auf dem er sich befindet.

Wir haben auch eine **andere** Pipeline für die ICS-Generierung unter:

> <https://github.com/discourse/discourse/blob/d440592f88c425347d9a1115d6357ddcc7ec3ea8/frontend/discourse/app/lib/download-calendar.js#L14-L14>

Wir müssen uns also aus technischer Sicht entscheiden, ob:

1. Wir das “Date Cooking” so lehren, dass es die ICS-Generierung an Discourse Calendar weiterleitet.

ODER

1. Wir Discourse Local Dates genügend Kontext geben, damit es den ICS unabhängig generieren kann und der Code fragmentiert bleibt.

Ich bin mir nicht sicher, was hier das Richtige ist, aber ich habe es priorisiert, damit das Team es sichten und klären kann.

---

<div class="post-metadata">

### Author: ![Ric](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ric/32/455867_2.png) [@Ric](https://meta.discourse.org/u/Ric)
#### Post date: [6. November 2025 um 13:45 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696/5 "2025-11-06T13:45:37Z")

</div>

Hallo ihr beiden, um etwas Kontext zu geben: Wenn ihr auf die drei Punkte bei einem Ereignis klickt, gibt es die Option _ **Zum Kalender hinzufügen** _ und diese funktioniert **tatsächlich**. Ich weiß nicht, ob euch das bei der Untersuchung helfen kann, aber es scheint, als wäre das Problem bereits anderswo im Code gelöst worden.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [7. November 2025 um 05:13 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696/7 "2025-11-07T05:13:06Z")

</div>

Hier gibt es VIEL zu tun:

> <https://github.com/discourse/discourse/pull/35886>
>
> Our "Download to calendar" button in local dates needed more guidance from
> disco…urse calendar ics is not generated by the calendar plugin

Es ist Freitag (zumindest irgendwo ;p ), also warte ich bis Montag mit dem Zusammenführen.

Diese Änderung ist unglaublich umfangreich und sollte uns eine deutlich bessere ICS-Unterstützung bieten.

- Vereinheitlicht die Pipeline für die ICS-Generierung – wir verwenden nur einen Mechanismus sowohl für das Hinzufügen zum Kalender als auch für das Klicken auf Daten
- Korrigiert viele kleine Nuancen im ICS-Format
  - Wir übergeben RRULE, wenn Sie ein wiederkehrendes Ereignis abrufen
  - Korrekte CRLF-Zeilenumbrüche und allgemeine Einhaltung des ICS-Formats
  - Zeitzonenunterstützung, sodass beim Abrufen eines ICS für ein Ereignis die richtige Zeitzone signalisiert wird, anstatt ein UTC-Ereignis zu sein – das bedeutet, dass die Wiederholung funktioniert.

- Erweitert das lokale Datumsformat, um ein optional kodiertes ICS zu unterstützen.

Eine offene Frage, die ich habe, ist **ja, rrule** oder **nein, rrule**.

Wenn Sie hier klicken:

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/a/6/0a6e42df64247d33a2b5cadda8293f2a24231454.png)

Wollen wir das wiederkehrende Ereignis hinzufügen? Oder nur eine einzelne Instanz des Ereignisses?

Ebenso, was ist hier:

 ![image](https://global.discourse-cdn.com/meta/original/4X/e/7/f/e7fd64313a9ba295c20ebaca1ca23316cff0c335.png)

@lindsey Ich bin unschlüssig, ich kann beide Argumente nachvollziehen.

1. Ich habe auf ein wiederkehrendes Ereignis geklickt und wollte die Wiederholung zu meinem Kalender hinzufügen.

ODER

1. Ich habe auf eine INSTANZ einer Wiederholung geklickt und möchte nur diese hinzufügen.

Ich habe (1) implementiert, da ich tendenziell der Meinung bin, dass es korrekter ist, aber ich bin offen dafür, es zu (2) zu ändern, wenn Sie es bevorzugen.

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [7. November 2025 um 08:22 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696/8 "2025-11-07T08:22:48Z")

</div>

Ein Beitrag wurde in ein bestehendes Thema zusammengeführt: [Upcoming events page broken after recent update](https://meta.discourse.org/t/upcoming-events-page-broken-after-recent-update/387845/3)

---

<div class="post-metadata">

### Author: ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)
#### Post date: [7. November 2025 um 14:42 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696/10 "2025-11-07T14:42:24Z")

</div>

> [@sam](#):
>
> 1. Ich habe auf ein wiederkehrendes Ereignis geklickt und wollte die Wiederholung zu meinem Kalender hinzufügen

> [@sam](#):
>
> Ich habe (1) implementiert, da ich der Meinung bin, dass es korrekter ist, aber ich bin offen dafür, es zu (2) zu ändern, wenn Sie es bevorzugen.

Ich kann die Argumentation in beide Richtungen nachvollziehen, aber ich bevorzuge ebenfalls 1. Ich denke, es ist sowohl korrekter als auch einfacher zu “reparieren”, wenn es nicht das war, was der Benutzer wollte, da die meisten Kalendersoftware es ziemlich einfach macht, zusätzliche Ereignisse mit einer einzigen Aktion zu löschen (wie z. B. Google Kalender):

 ![CleanShot 2025-11-07 at 09.40.25](https://global.discourse-cdn.com/meta/original/4X/1/f/6/1f6c0475fce7c73b00328fce4820b2cdf108e49e.png)

Der Aufwand, um:

- Ich wollte nicht auf alle Ereignisse antworten, also muss ich die zusätzlichen entfernen

Ist viel geringer als der Aufwand, um:

- Ich wollte auf alle Ereignisse antworten, also muss ich jede Woche hierher zurückkommen und sicherstellen, dass ich sie weiterhin zu meinem Kalender hinzufüge

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [10. November 2025 um 04:06 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696/11 "2025-11-10T04:06:51Z")

</div>

Cool, ich habe die RSVP auf alle beibehalten.

Es wurde heute zusammengeführt 🎊

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [14. November 2025 um 21:00 UTC](https://meta.discourse.org/t/undefined-ics-file-name/387696/12 "2025-11-14T21:00:13Z")

</div>

Dieses Thema wurde nach 4 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.
