feat(contacts): drop {age} from default titles, disclaim it when added

A FREQ=YEARLY event has one static title, so {age} is only a sync-time snapshot
and can look wrong on far-future occurrences. Keep it out of the default
templates ({name}'s birthday / anniversary), and when a user does add {age} in
the title-format editor, show a short disclaimer about the snapshot behaviour.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-01 11:51:42 +02:00
parent 030c3e6ce1
commit 0fd579b19b
4 changed files with 19 additions and 5 deletions

View File

@@ -15,7 +15,9 @@ Implementation notes / deviations from this design:
sync-adapter URI).
- **Age is a sync-time snapshot.** A `FREQ=YEARLY` row has one static title, so
`{age}` reflects the upcoming birthday at the last sync (refreshed daily / on
foreground), not a per-occurrence value.
foreground), not a per-occurrence value. Because of this, `{age}` is **kept out
of the default templates**; users can add it, and the title-format editor shows
a disclaimer once they do.
- New managed calendars seed a per-calendar all-day reminder default of
on-the-day + one week before, so birthdays get lead time out of the box.
- Title template is user-editable from day one (`{name}`, `{age}`).