Skip to content

[pull] develop from LibreBooking:develop - #589

Merged
pull[bot] merged 1 commit into
treborin:developfrom
LibreBooking:develop
Jul 31, 2026
Merged

[pull] develop from LibreBooking:develop#589
pull[bot] merged 1 commit into
treborin:developfrom
LibreBooking:develop

Conversation

@pull

@pull pull Bot commented Jul 31, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Replace the Smarty-templated ICS renderer with programmatic
VCALENDAR/VEVENT/VALARM construction via sabre/vobject and remove the
now-unused tpl/Export/ical.tpl. Render() also accepts an optional
$calendarName, emitted as NAME/X-WR-CALNAME, for use by subscription
feeds.

ExtraIcalLines (plugin-supplied raw ICS text) is parsed with Sabre's own
Reader, wrapped in a throwaway VCALENDAR/VEVENT shell, instead of being
concatenated into the template output verbatim. That preserves property
parameters (e.g. ATTENDEE;CN=...), nested components (e.g.
BEGIN:VALARM), and RFC 5545 line folding, and it stops a plugin from
injecting arbitrary calendar structure. A caught ParseException skips
only the malformed fragment so one bad plugin-supplied fragment can't
break the whole feed.

iCalendarReservationView no longer pre-escapes SUMMARY/DESCRIPTION for
RFC 5545 (removes toRfc5545Text): Sabre's serializer already escapes
TEXT values, so the old pre-escaping caused reserved characters and
newlines to be double-escaped in the output.

Assisted-by: Claude:claude-sonnet-5
@pull pull Bot locked and limited conversation to collaborators Jul 31, 2026
@pull pull Bot added the ⤵️ pull label Jul 31, 2026
@pull
pull Bot merged commit 9c8bf6b into treborin:develop Jul 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant