Merge loops/events into architecture: VTIMEZONE iCal export (DST-correct tz recurrence, 376 tests)
This commit is contained in:
@@ -18,7 +18,7 @@ capacity rules, transactional booking, and a flow-driven notification dispatcher
|
||||
|
||||
## Status (rolling)
|
||||
|
||||
`bash lib/events/conformance.sh` → **366/366** (Phases 1-4 + 13 ext + tz-aware iCal export fix)
|
||||
`bash lib/events/conformance.sh` → **376/376** (Phases 1-4 + 13 ext + tz iCal export via TZID + VTIMEZONE)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -88,6 +88,15 @@ lib/events/api.sx ── (events/schedule) (events/book) (events/agenda) ──
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-06-07 — VTIMEZONE iCal export (supersedes the UTC-Z tz fix — full DST
|
||||
fidelity). A tz event now exports DTSTART;TZID=<name>:<local> (+ EXDATE/RDATE
|
||||
in the same TZID-local form; UNTIL stays UTC per RFC), and the VCALENDAR emits
|
||||
a VTIMEZONE per distinct zone with DAYLIGHT/STANDARD sub-components generated
|
||||
from the zone's transition rules (offsets + FREQ=YEARLY;BYMONTH;BYDAY) — the
|
||||
London/Paris blocks match real-world definitions exactly. So a client recurs
|
||||
the event at a fixed WALL-CLOCK time, DST-correct (the prior caveat is gone).
|
||||
`ev-ical-vtimezone`, `ev-ical-offset`, distinct-zone collection; importer now
|
||||
tolerates the ;TZID= parameter. +16 tests (ical 56), 376/376 green.
|
||||
- 2026-06-07 — Fix: timezone-aware iCal export. Bug — tz events store wall-clock
|
||||
LOCAL times, but export stamped them with a `Z` (UTC) suffix, so a London
|
||||
18:00 event falsely read as 18:00 UTC. `ev-ical-conv` now converts a tz
|
||||
|
||||
Reference in New Issue
Block a user