Skip to content

Merg Develop#18

Merged
aseigo merged 163 commits intomasterfrom
develop
Feb 19, 2026
Merged

Merg Develop#18
aseigo merged 163 commits intomasterfrom
develop

Conversation

@aseigo
Copy link
Copy Markdown
Contributor

@aseigo aseigo commented Feb 19, 2026

No description provided.

Aaron Seigo added 30 commits February 9, 2026 02:40
to_ics for ICalendar.Event was spending cycles being deterministic:
it was sorting, flattening lists, and creating a final string ...
all so it would produce deterministic output.

this does make testing easier, but it also wastes cycles at
runtime.

adding deterministic order back if needed/desired is easy enough:
add back an `Enum.sort` in `to_kvs`.

This also skips processing empty fields for even less wastage.
these includes:

 * attachments
 * created
 * attendees
 * priority
 * transparency
 * duration
 * contacts
 * related_to
 * resources
 * rdates

needs serialization support for some (e.g. attachments) and unit
tests are missing
* serialize all fields, including the recently added ones
* do not serialize into a string, but an iolist
* ensure correct escaping of all values
* add serializing helpers for dates, numbers, comma lists, strings, ...

the serialization helpers can be refactored later into e.g.
ICalendar.Serialize if/when TODOs, ALARMs, etc. are added which may
also want to use these functions
support tabs or any number of spaces, custom separator character,
only create a final string at the very end
@aseigo aseigo merged commit 9124fa8 into master Feb 19, 2026
7 checks passed
@aseigo aseigo deleted the develop branch February 19, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant