Migration test: Baikal → Google Calendar - MKCALENDAR not supported #20

Open
opened 2025-10-29 15:34:59 +00:00 by PhilflowIO · 0 comments
PhilflowIO commented 2025-10-29 15:34:59 +00:00 (Migrated from github.com)

Test Summary

Tested migration from Baikal to Google Calendar using the DAV Migration CLI.

Result: Failed

Root Cause: Google Calendar CalDAV API does not support the MKCALENDAR HTTP method.

Test Details

Command:

node dist/cli/index.js run --config my_migration.json

Configuration:

  • Source: Baikal (2 calendars, 3 events)
  • Target: Google Calendar
  • Authentication: Both successfully authenticated

Error Output:

[1/2] Migrating calendar: Unnamed Calendar
  Fetching events from source calendar...
  ✓ Found 3 events
  Creating new calendar on target: Unnamed Calendar

✗ Migration failed: Failed to create calendar: Migrated Calendar

Workaround

Manual pre-creation of calendars works:

  1. Manually create a calendar in Google Calendar with the same name as source calendar
  2. Run migration again
  3. Migration succeeds because calendar already exists (uses existing calendar)

Example: Creating calendar named "Unnamed Calendar" in Google Calendar UI, then re-running migration succeeded.

Google Calendar API Documentation

Source: https://developers.google.com/workspace/calendar/caldav/v2/guide (Last updated: October 13, 2025)

"Google Calendar does not support the HTTP method MKCALENDAR"

Why?

  • CalDAV RFC 4791: MKCALENDAR is only RECOMMENDED, not REQUIRED
  • Google CalDAV API is primarily for reading/syncing events
  • Calendar management requires Google Calendar REST API or Web UI

See discussion in #21 about handling providers that don't support calendar creation.

## Test Summary Tested migration from Baikal to Google Calendar using the DAV Migration CLI. ### Result: ❌ Failed **Root Cause:** Google Calendar CalDAV API does not support the `MKCALENDAR` HTTP method. ### Test Details **Command:** ```bash node dist/cli/index.js run --config my_migration.json ``` **Configuration:** - Source: Baikal (2 calendars, 3 events) - Target: Google Calendar - Authentication: Both successfully authenticated **Error Output:** ``` [1/2] Migrating calendar: Unnamed Calendar Fetching events from source calendar... ✓ Found 3 events Creating new calendar on target: Unnamed Calendar ✗ Migration failed: Failed to create calendar: Migrated Calendar ``` ### Workaround **Manual pre-creation of calendars works:** 1. Manually create a calendar in Google Calendar with the same name as source calendar 2. Run migration again 3. Migration succeeds because calendar already exists (uses existing calendar) **Example:** Creating calendar named "Unnamed Calendar" in Google Calendar UI, then re-running migration succeeded. ### Google Calendar API Documentation Source: https://developers.google.com/workspace/calendar/caldav/v2/guide (Last updated: October 13, 2025) > **"Google Calendar does not support the HTTP method MKCALENDAR"** **Why?** - CalDAV RFC 4791: MKCALENDAR is only `RECOMMENDED`, not `REQUIRED` - Google CalDAV API is primarily for reading/syncing events - Calendar management requires Google Calendar REST API or Web UI ### Related Issues See discussion in #21 about handling providers that don't support calendar creation.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Phil/tsdav#20
No description provided.