Added
- Migration v10: new
ics_subscriptionstable with fields for name, URL, color, shared flag, created_by, etag, last_modified, last_sync, and created_at - Migration v11:
calendar_eventstable recreated to extend theexternal_sourceCHECK constraint to include'ics', and two new columns added —subscription_id(FK toics_subscriptionswith CASCADE delete) anduser_modified(integer flag, default 0) - Unique partial index
idx_calendar_sub_extidon(subscription_id, external_calendar_id)prevents duplicate UIDs within a single ICS subscription while allowing the same UID across different subscriptions test:ics-subtest suite with 10 tests covering subscription CRUD, ICS event insertion, UNIQUE constraint enforcement, cascade delete, visibility filtering, and CHECK constraint validation