mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-16 09:45:24 -04:00
4ca3b38667
POST /api/calendar/test issues a single PROPFIND with raw httpx Basic auth. CalDAV servers configured for Digest (Baïkal default, SabreDAV-based servers, Radicale with htdigest) reject Basic with 401, so the UI "Test connection" button surfaces "Auth failed — check username/password" even when the URL and credentials are correct. src/caldav_sync.py (the real sync path) uses caldav.DAVClient, which negotiates the scheme via niquests, so production sync already works against these servers. The test endpoint just doesn't match. Bring it to parity: keep the cheap Basic first attempt, and on a 401-with-Digest-challenge retry once with httpx.DigestAuth before deciding it's an auth failure. Repro: configure CalDAV against a stock Baïkal install — test button returns 401, sync succeeds. Co-authored-by: Shatti2 <codered5678@gmail.com>