nathank
(Nathan Kershaw)
08.Апрель.2026 00:00:42
1
Мне очень нравится новый функционал Calendar subscription URLs for external calendar apps — просто отлично!
Это небольшая ошибка, которую я заметил при реальном использовании. Когда в заголовке события в моём экземпляре встречается амперсанд (то есть &), синхронизированное событие в календаре Google отображается как HTML-сущность (&) вместо него.
Например, на моём сайте:
А в моём календаре Google:
Когда событие добавляется напрямую в календарь Google, всё работает корректно, и я не замечал проблем с другими символами.
2 лайка
Спасибо за отчет @nathank Это будет исправлено в
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 лайка
nathank
(Nathan Kershaw)
08.Апрель.2026 20:26:16
3
Да, могу подтвердить, что это уже исправлено!