Birthday sync-device list + guard group-visible against birthday calendar

- new BirthdaySyncDevice table + /api/birthdays/sync-report & /devices so the
  web can show "birthdays come from these devices" (iOS reports its device on
  each Contacts sync)
- settings: reject setting a birthday calendar as the group-visible calendar
  (it can still be shared directly)
- web: Settings > Calendars > Birthdays shows the device list; exclude birthday
  calendars from the group-visible picker

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-13 18:52:02 +02:00
parent 19258096e2
commit aa12b83302
6 changed files with 141 additions and 3 deletions

View File

@@ -297,6 +297,8 @@ const translations = {
birthday_year_ph: 'Jahr',
birthday_settings_title: 'Geburtstage',
birthday_color_hint: 'Farbe und Sichtbarkeit änderst du in der Seitenleiste.',
birthday_devices_title: 'Geburtstage kommen von diesen Geräten:',
birthday_devices_count: '{n} Geburtstage',
error_name_url: 'Bitte Name und URL eingeben',
ical_subscribed: '"{name}" abonniert',
google_synced: 'Kalender synchronisiert',
@@ -639,6 +641,8 @@ const translations = {
birthday_year_ph: 'Year',
birthday_settings_title: 'Birthdays',
birthday_color_hint: 'Change colour and visibility in the sidebar.',
birthday_devices_title: 'Birthdays come from these devices:',
birthday_devices_count: '{n} birthdays',
error_name_url: 'Please enter a name and URL',
ical_subscribed: '"{name}" subscribed',
google_synced: 'Calendar synced',