nathank
(Nathan Kershaw)
April 8, 2026, 12:00am
1
I’m loving the new Calendar subscription URLs for external calendar apps functionality - just awesome!
This is a minor bug that I’ve noticed in real world use. When there is an ampersand (i.e. &) in the Title of an Event in my instance, the synchronised Google calendar Event displays the HTML entity (&) instead.
For example, on my site:
While in my Google calendar:
It is fine when an event is directly added to my Google calendar, and I haven’t seen any other characters causing issues.
2 Likes
Thanks for the report @nathank It’ll be fixed by
main ← fix/ics-ampersand-encoding
merged 02:43PM - 08 Apr 26 UTC
ERB's `<%= %>` calls `ERB::Util.html_escape` on all non-`html_safe` strings, eve… n in non-HTML templates like `.ics.erb`. This caused ampersands (and potentially other special characters) to be double-encoded as `&` in calendar subscription feeds, which external calendar apps like Google Calendar displayed verbatim.
Mark `IcalEncoder.encode` output as `html_safe` since it already performs all necessary ICS encoding (HTML sanitization, entity decoding, RFC 5545 escaping). Also route the URL fields in both ICS templates through `IcalEncoder.encode` for consistency.
https://meta.discourse.org/t/400166
3 Likes
nathank
(Nathan Kershaw)
April 8, 2026, 8:26pm
3
Yup, I can confirm that it is fixed now!