From 28c24bc3cd85da0b519afa521b09f202f1c865ba Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Sun, 25 Oct 2026 16:00:15 +0100 Subject: [PATCH] Stop dropping the CalDAV login URL after publishing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Publishing a calendar copied caldav_published and caldav_url out of the response and ignored caldav_login_url, which the same response carries. The "CalDAV-URL (with login)" field therefore stayed blank until the next full page load — and that is the URL account-based clients need, so anyone following the hint underneath it had nothing to copy. The token rotation handler dropped it the same way. Co-Authored-By: Claude Opus 5 --- frontend/js/calendar.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/js/calendar.js b/frontend/js/calendar.js index 3175f91..58e57f2 100644 --- a/frontend/js/calendar.js +++ b/frontend/js/calendar.js @@ -4722,6 +4722,9 @@ function renderCalendarTable() { const updated = await api.put(`/local/calendars/${id}`, { caldav_published: newVal }); cal.caldav_published = updated.caldav_published; cal.caldav_url = updated.caldav_url; + // The response carries both URLs; dropping this one left the + // "with login" field blank until the next full page load. + cal.caldav_login_url = updated.caldav_login_url; renderCalendarTable(); } catch (e) { showToast(e.message, true); } }); @@ -4741,6 +4744,7 @@ function renderCalendarTable() { try { const updated = await api.post(`/local/calendars/${id}/dav-token/rotate`); cal.caldav_url = updated.caldav_url; + cal.caldav_login_url = updated.caldav_login_url; renderCalendarTable(); showToast(t('caldav_token_rotated')); } catch (e) { showToast(e.message, true); }