Respect a source's own event length, cap custom durations (#54)

An imported event no longer has its end rewritten by the default-duration
setting: an .ics file, a duplicate and an insert intent that names its own
end keep their span, while an intent that gives only a start now gets the
default instead of a hardcoded hour.

Also caps the custom-duration editor at 24 hours, which is what the setting
stores, and skips the calendar query when no per-calendar override exists so
a new event's end doesn't shift after the form is on screen.
This commit is contained in:
2026-07-31 16:02:21 +02:00
parent 0f14fd2bfd
commit 5037972fb8
10 changed files with 139 additions and 30 deletions

View File

@@ -13,7 +13,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
length underneath — 8 hours for the calendar you keep work shifts in, 30
minutes for the one you book calls in. A calendar without its own length
follows the default, switching calendars mid-form re-stretches the event, and
setting an end time by hand keeps it. All-day events are unaffected ([#54]).
setting an end time by hand keeps it. An event another app hands over with only
a start gets the default too; one that names its own end — an `.ics` file, a
duplicate — keeps that length. All-day events are unaffected ([#54]).
## [2.17.1] — 2026-07-30