3137abcef265335e0ae7ec99d4049bec8925107e
/api/caldav/events now returns an "errors" array alongside "events" for calendars that failed to sync (e.g. expired credentials) while still reporting success overall. Previously such failures were silently swallowed, so a calendar could appear enabled/visible while showing zero events with no explanation. - CalendarRepository.fetchEvents now returns EventsResult(events, errors), parsing the new "errors" array the same way importIcs's Triple return handles multi-value results. - CalendarUiState gains syncErrors, populated in loadRange's onSuccess. - CalendarScreen shows a second error-style banner for sync errors, additive to the existing network-failure banner. - CalendarFilterSheet shows a warning icon next to calendar rows whose source+name matches a sync error (best-effort suffix match, since the server's error name is "<account> – <calendar name>").
Description
Languages
Kotlin
100%