fix(ics): harden the import against foreign files (#225)
Review pass over the Fossify import work: - sanitizeRrule whitelists the parts EventRecurrence actually parses, and reports whether it dropped anything — normalising case or a stray ";" no longer warns the user about a faulty repeat rule. - CATEGORIES only stands in for a calendar name when it is single-valued and every event agrees; elsewhere it is a tag list and must not pick the target. - An all-day EXDATE keeps the day it spells out instead of the day its instant lands on in UTC. - An imported all-day reminder is sampled where it will fire, not at a recurrence anchor that Fossify dates to 1970. - Imported colours match against every published key, not the picker's curated subset.
This commit is contained in:
@@ -26,7 +26,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- **All-day reminders survive a backup and an import.** They fire at the hour you
|
||||
chose, not at midnight UTC — the same rule the app already applied to all-day
|
||||
events you create yourself — and an export no longer leaves them out of the
|
||||
file entirely ([#225]).
|
||||
file entirely. An imported yearly birthday fires at the right hour too, even
|
||||
though the file dates it back to the year of birth ([#225]).
|
||||
- **Birthdays and anniversaries imported from Fossify Calendar now show up.**
|
||||
Fossify writes the ones it mirrors from your contacts as events that start and
|
||||
end on the same day, which the calendar read as lasting no time at all: they
|
||||
|
||||
Reference in New Issue
Block a user