mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-04 19:15:33 +08:00
a617da99e2
fixes #14696 iCloud was returning 400 Bad Request for /.well-known/caldav, which caused AFFiNE to fail before reaching the actual CalDAV endpoints. This change makes discovery fall back to the base CalDAV URL for that case, which lets the iCloud account link flow continue successfully. This also adds a GraphQL field resolver for CalendarAccountObjectType.calendarsCount. The field is requested by the frontend, but some mutation return paths were returning a raw account object without that computed value, which caused GraphQL to fail on a non-null field. --- ### Why this was needed iCloud rejected the standard well-known discovery probe with 400, even though the rest of the CalDAV flow worked. calendarsCount is a computed field used by the frontend, so it should be resolved by GraphQL rather than manually attached in individual service methods. --- ### How to test Generate an Apple app-specific password: [Apple Support](https://support.apple.com/en-gb/102654) In AFFiNE, add an iCloud CalDAV account using: your Apple Account email the new app-specific password Confirm the account links successfully and calendars load without the previous GraphQL error. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Calendar accounts now display the total number of calendars. * **Bug Fixes** * Enhanced calendar discovery process to handle additional HTTP error conditions. <!-- end of auto-generated comment: release notes by coderabbit.ai -->