Files
dashcaddy/dashcaddy-api/__tests__
Hermes f29342695f [pending-judge] fix(DC-167): CalDAV multistatus parsing for default-namespace XML (Radicale) — silent zero-events fix
Connecting the owner's DNS3 Radicale calendar (appt.sami) as a DashCaddy
calendar source exposed a real parser bug: extractCalendarsAndEvents split
multistatus on <\/[\w-]+:response> — the namespace prefix was REQUIRED, but
Radicale emits bare <response> in the default DAV namespace. Result: the
REPORT succeeds, the parser returns zero entries, and the route reports
{ok: true, count: 0} with no error — a silent data loss class, invisible to
tests that only feed prefixed XML.

Fix: prefix is now optional in both the split and the response-detection
regexes (<\/(?:[\w-]+:)?response>). Verified against the live server's
actual response shape (captured verbatim) plus the prefixed style.

Tests: NEW __tests__/calendar/caldav-default-ns.test.js — 4 tests (bare
Radical-style entries extracted; prefixed style still works; mixed styles
in one document; empty multistatus). Existing calendar suites: 15 pass
unchanged. eslint 0 errors on touched files.
2026-10-11 21:57:29 -07:00
..