Added
- ICS-URL calendar subscriptions: any user can subscribe to external calendars via HTTPS or webcal:// URL
- Per-subscription visibility (private or shared with all family members), custom color, and manual sync trigger
- REST API:
GET/POST /api/v1/calendar/subscriptions,PATCH/DELETE /api/v1/calendar/subscriptions/:id,POST /api/v1/calendar/subscriptions/:id/sync POST /api/v1/calendar/:id/resetendpoint to clearuser_modifiedon ICS events, allowing the next sync to restore upstream data- ICS visibility filter on
GET /api/v1/calendarand/upcoming: private subscription events are hidden from other users - ICS subscription management card in Settings → Kalender tab (below Apple Calendar): subscription list with color dot, visibility badge, last-sync timestamp; inline add form with URL, name, color picker, and shared toggle; sync and delete actions
- "Auf Original zurücksetzen" link in calendar event popup for user-modified ICS events
user_modified = 1is set automatically when any externally-sourced event (ICS, Google, Apple) is edited by the user- ICS sync integrated into the periodic
runSync()scheduler alongside Google and Apple Calendar - All new UI strings in
public/locales/de.jsonundersettings.ics.*andcalendar.ics.*