Accept optional credentials in PUT /api/sources/:sourceId so the
dashboard can send config and credentials in a single request,
eliminating the race condition between parallel config/credential
updates that left sources uninitialized until server restart.
The existing /credentials endpoint is preserved for independent
credential updates.
Co-authored-by: Ona <no-reply@ona.com>
Add source definition for aelis.caldav with server URL, username,
password, look-ahead days, and timezone fields.
Route per-user credentials through /api/sources/:id/credentials
instead of the admin provider config endpoint, controlled by a
perUserCredentials flag on the source definition.
Co-authored-by: Ona <no-reply@ona.com>
Wrap the session check in beforeLoad with a try/catch so
network errors, 404s, and other failures redirect to the
login page instead of showing an error boundary.
Co-authored-by: Ona <no-reply@ona.com>